このステップでは、JSMを開いて終了し、テンプレートJSMXSKELを使用して、FTPServiceサービスをロードするテスト・ファンクションを作成します。
以下の表に示すように、テンプレートの質問に回答します。
質問 | 回答 | コメント |
|---|---|---|
JSMサービスをロードしますか? | FTPSERVICE |
* ====================================================
* Process ........: IIIPRO01
* Function .......: IIIFN01
* Created on .....: 16/07/13 at 12:19:30
* Description ....: Test 01
* Template........: JSMXSKEL
* ====================================================
Function Options(*DIRECT)
*
* OPEN JSM AND VERIFY STATUS
Use Builtin(JSMX_OPEN) To_Get(#JSMSTS #JSMMSG #jsmxhdle1)
Execute Subroutine(CHECK_STS) With_Parms(#jsmxhdle1)
*
* BUILD THE SERVICE LOAD COMMAND
#JSMXCMD := 'SERVICE_LOAD'
Execute Subroutine(KEYWRD) With_Parms(#JSMXCMD 'SERVICE' 'FTPSERVICE')
Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMSTS #JSMMSG)
Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)
*
* YOUR OWN LOGIC HERE
*
* UNLOAD SERVICE
#JSMXCMD := 'SERVICE_UNLOAD'
Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMSTS #JSMMSG)
Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)
* CLOSE JSM AND VERIFY STATUS
Use Builtin(JSMX_CLOSE) With_Args(#JSMXHDLE1) To_Get(#JSMSTS #JSMMSG)
Execute Subroutine(CHECK_STS) With_Parms(#JSMXHDLE1)
*
Return
*
* Subroutine to build JSM commands. existing JSM command
*
Subroutine Name(KEYWRD) Parms((#W_CMDX *BOTH) (#W_KEYWRD *RECEIVED) (#W_KEYVAL *RECEIVED))
Define Field(#W_CMDX) Reffld(#JSMXCMD)
Define Field(#W_KEYWRD) Reffld(#STD_TEXT)
Define Field(#W_KEYVAL) Reffld(#STD_TEXTL)
#W_CMDX += ' ' + #W_KEYWRD + '(' + #W_KEYVAL + ')'
Endroutine
*
* Check the status of the JSM command issued
*
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
*
Endroutine
JSM を開く際に利用されるコマンド、JSM、FTPService サービスをロードするコマンド、サービスをアンロードするコマンド、JSMXを終了するコマンドに着目してください。