7.118.3 SUBMIT の使用例

例1:請求書番号および照会日の2つのパラメータをリテラルとして渡して、ライブラリPRODLIB内のINVOICEというプログラムの呼び出しを送信します。

SUBMIT PGM(INVOICE.PRODLIB) PARM('INV123' '010187')
 

例2:フィールド#BATCH、#ORDER、および現在の日付(システム変数*DATEから取得)をパラメータとして渡して、プログラムPUTBATCHの呼び出しを送信します。ジョブの送信には、ジョブ記述GLEDGERおよびジョブ待ち行列QNIGHTを使用します。

SUBMIT PGM(PUTBATCH) PARM(#BATCH #ORDER *DATE) JOBD(GLEDGER) JOBQ(QNIGHT)

例3:LANSAプロセスORDERSの呼び出しを送信し、プロセス内の最初のファンクションを実行するよう要求します。

SUBMIT PROCESS(ORDERS)
 

例4:LANSAプロセスORDERS2の呼び出しを送信し、ファンクションPURGEを実行するよう要求します。このファンクションとの間で、受注番号およびバッチ番号を交換します。

SUBMIT PROCESS(ORDERS2) FUNCTION(PURGE) EXCHANGE(#ORDER #BATCH)
 

例5:PRNTBCHというファンクション(プロセスGLPROC01に属する)を作成します。このファンクションは、対話方式で呼び出されると、印刷条件を指定するようユーザーに要求して、それ自体をバッチに送信します。また、バッチ方式で呼び出されると、その印刷条件を使用して、ユーザーが要求したレポートを作成します。また、この例では、拡張可能なグループを使用することによって、フィールド・リストを簡略化しています。

GROUP_BY NAME(#XG_EXCH) FIELDS(#GLNUMB #BATCH #MINCREDIT)
IF COND('*JOBMODE = I')
          REQUEST FIELDS(#XG_EXCH)
          SUBMIT  PROCESS(GLPROC01) FUNCTION(PRNTBCH) EXCHANGE(#XG_EXCH)
ELSE
          SELECT  FIELDS(#CREDIT #DEBIT) FROM_FILE(GLMASTV3) WITH_KEY(#GLNUMB #BATCH) WHERE('#CREDIT *GE #MINCREDIT')
          UPRINT  FIELDS(#GLNUMB #BATCH #CREDIT #DEBIT)
          ENDSELECT
          ENDPRINT
ENDIF
 

対話方式(*JOBMODE = I)で実行した場合、このファンクションは、元帳番号、バッチ番号、および貸方金額の最小値を入力するようユーザーに要求します。その後、それ自体をバッチに送信して、ユーザーが入力したこれらの情報を交換します。

また、バッチ方式で呼び出された場合は、論理ファイルGLMASTV3から、ユーザーの要求に一致するレコードのみを選択して印刷します。#GLNUMB、#BATCH、#MINCREDITの各フィールドの初期値は、対話的に起動されたファンクションから呼び出される際に渡された、パラメータによって決まります。

例6:ORDERFRMというフォームを送信します。

    CHANGE FIELD(#FORM) TO ('''*FORM''')
    SUBMIT PROCESS(ORDERFRM) FUNCTION (#FORM)