このステップでは、各JSMステートメントの実行後にステータスとメッセージを保存する作業リストをCHECK_STSサブルーチンに定義し、JSMがさまざまな操作を実行したときのファンクションのステータスを示します。

  1. これは RDMLX ファンクションであるため、DISPLAY コマンドや参照リストは使用できません。次のステップでは、iiiFN01を呼び出してメッセージを含む作業リストを受け取るRDMLファンクションを作成します。CHECK_STSサブルーチンの最後で、JSMSTSフィールドとJSMMSGフィールドを含む作業リストWL_MSGSを定義し、そのリストにエントリーを追加します。
    RDMLX コードは以下のようになります。
     

    SUBROUTINE NAME(CHECK_STS) PARMS(#W_HDLE)
    *
    DEFINE FIELD(#MSGDTA) TYPE(*CHAR) LENGTH(132)
    DEFINE FIELD(#W_HDLE) TYPE(*CHAR) LENGTH(4)
    *
    IF COND('#JSMSTS *NE OK')
    *
    #MSGDTA := 'Error Status Code: ' + #JSMSTS
    MESSAGE MSGID(DCM9899) MSGF(DC@M01) MSGDTA(#MSGDTA)
    #MSGDTA := 'Error Message: ' + #JSMMSG
    MESSAGE MSGID(DCM9899) MSGF(DC@M01) MSGDTA(#MSGDTA)
    ENDIF
    *
    Def_List Name(#WL_MSGS) Fields(#JSMSTS #JSMMSG) Type(*WORKING) ENTRYS(*max)
    Add_Entry To_List(#WL_MSGS)
    ENDROUTINE
     

  2. ファンクション iiiFN01 を呼び出し、作業リストを渡して受け取るには、FUNCTION コマンドを以下のように変更します。

    Function Options(*DIRECT) Rcv_List(#WL_MSGS)
     

  3. ファンクション iiiFN01 を保存してコンパイルします。

  • No labels