FUNCTION OPTIONS(*DIRECT)**********DEFINE FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(20)DEFINE FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(256)DEFINE FIELD(#JSMCMD) TYPE(*CHAR) LENGTH(256)**********DEFINE FIELD(#BNDMAPS) TYPE(*CHAR) LENGTH(10)DEFINE FIELD(#BNDMAPL) TYPE(*CHAR) LENGTH(30)DEFINE FIELD(#BNDRTNCDE) TYPE(*CHAR) LENGTH(2)DEFINE FIELD(#BNDPRONME) TYPE(*CHAR) LENGTH(10)DEFINE FIELD(#BNDFUNNME) TYPE(*CHAR) LENGTH(7)DEFINE FIELD(#BNDFUNDSC) TYPE(*CHAR) LENGTH(40)DEFINE FIELD(#BNDFUNFIL) TYPE(*CHAR) LENGTH(13)**********DEF_LIST NAME(#MAPLST) FIELDS((#BNDMAPS) (#BNDMAPL)) TYPE(*WORKING)**********DEF_LIST NAME(#FUNLST) FIELDS((#BNDFUNNME) (#BNDFUNDSC) (#BNDFUNFIL)) TYPE(*WORKING) ENTRYS(100)**********DEF_LIST NAME(#FUNTABLE) FIELDS((#BNDPRONME) (#BNDFUNNME) (#BNDFUNDSC)) TYPE(*WORKING) ENTRYS(100)******************** フィールド/列マップの作成**********EXECUTE SUBROUTINE(BLDMAP)******************** サービスを開く**********USE BUILTIN(JSM_OPEN) TO_GET(#JSMSTS #JSMMSG)EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)******************** サービスのロード - PRONAME の受信**********CHANGE FIELD(#JSMCMD) TO('SERVICE_LOAD SERVICE(RFIDataSourceService) SERVICE_LIST(BNDMAPS,BNDMAPL) BIND(*FIELD) TRACE(*NO)')USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG #MAPLST)EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)******************** データソースの作成**********USE BUILTIN(JSM_COMMAND) WITH_ARGS('CREATE DATASOURCE(REPOSITORY)') TO_GET(#JSMSTS #JSMMSG)EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)******************** ファンクション取得**********USE BUILTIN(GET_FUNCTION_LIST) WITH_ARGS(#BNDPRONME) TO_GET(#FUNLST #BNDRTNCDE)**********IF COND('#BNDRTNCDE *EQ OK')**********SELECTLIST NAMED(#FUNLST)**********ADD_ENTRY TO_LIST(#FUNTABLE)**********ENDSELECT**********CHANGE FIELD(#JSMCMD) TO('PUT OBJECT(*TABLE) NAME(FUNCTION_LIST) SERVICE_LIST(BNDPRONME,BNDFUNNME,BNDFUNDSC)')USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG #FUNTABLE)EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)**********ENDIF******************** データソース送信**********USE BUILTIN(JSM_COMMAND) WITH_ARGS('SEND OBJECT(*DATASOURCE)') TO_GET(#JSMSTS #JSMMSG)EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)******************** サービスを閉じ、HTTP 応答を送信**********USE BUILTIN(JSM_CLOSE) TO_GET(#JSMSTS #JSMMSG)EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)******************** サブルーチン**********SUBROUTINE NAME(CHECK) PARMS((#JSMSTS *RECEIVED) (#JSMMSG *RECEIVED))**********IF COND('#JSMSTS *NE OK')******************** サービスのクローズ**********USE BUILTIN(JSM_CLOSE) TO_GET(#JSMSTS #JSMMSG)**********ENDIF**********ENDROUTINE**********SUBROUTINE NAME(BLDMAP)**********CHANGE FIELD(#BNDMAPS) TO(BNDPRONME)CHANGE FIELD(#BNDMAPL) TO(PROCESS_NAME)ADD_ENTRY TO_LIST(#MAPLST)**********CHANGE FIELD(#BNDMAPS) TO(BNDFUNNME)CHANGE FIELD(#BNDMAPL) TO(FUNCTION_NAME)ADD_ENTRY TO_LIST(#MAPLST)**********CHANGE FIELD(#BNDMAPS) TO(BNDFUNDSC)CHANGE FIELD(#BNDMAPL) TO(FUNCTION_DESC)ADD_ENTRY TO_LIST(#MAPLST)**********ENDROUTINE