7.118.2 SUBMIT についてのコメント/警告

SUBMITコマンドでのフィールド(変数)の使用

SUBMITコマンドのパラメータPGM、PROCESS、FUNCTION、JOB、JOBD、JOBQ、およびOUTQには、英数字リテラル(GLR001など)またはLANSAフィールド名(#PGMNAMEなど)を指定できます。

そのため、1つのSUBMITコマンド内で非常に柔軟にコーディングすることができます。以下のRDMLプログラムについて考えます。

REQUEST FIELDS(#OPTION)
 
CASE OF_FIELD(#OPTION)
    WHEN VALUE_IS('= 1')
         CHANGE FIELD(#FUNCTION) TO(PRINT)
    WHEN VALUE_IS('= 2')
         CHANGE FIELD(#FUNCTION) TO(BATCH)
    WHEN VALUE_IS('= 3')
         CHANGE FIELD(#FUNCTION) TO(PURGE)
    WHEN VALUE_IS('= 4')
         CHANGE FIELD(#FUNCTION) TO(BACKUP)
ENDCASE
 
SUBMIT PROCESS(ORDERS) FUNCTION(#FUNCTION) JOB(#FUNCTION)
 

このプログラムでは、ユーザーが1、2、3、または4のオプションを指定することにより、それぞれファンクションPRINT、BATCH、PURGE、またはBACKUP (すべてプロセスORDERSに属する)を送信することができます。送信されるジョブの名前は、ファンクションと同じになります。

プロセスまたはファンクションの送信 ユーザー・プログラムの呼び出し フォームの送信

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