You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

JSMLR01 LANSA プロセス・リスト

 
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(#BNDPROSTR) TYPE(*CHAR) LENGTH(10)
DEFINE     FIELD(#BNDPRONME) TYPE(*CHAR) LENGTH(10)
DEFINE     FIELD(#BNDPRODSC) TYPE(*CHAR) LENGTH(40)
DEFINE     FIELD(#BNDPROFIL) TYPE(*CHAR) LENGTH(10)
**********
DEF_LIST   NAME(#MAPLST) FIELDS((#BNDMAPS) (#BNDMAPL)) TYPE(*WORKING)
**********
DEF_LIST   NAME(#PROLST) FIELDS((#BNDPRONME) (#BNDPRODSC) (#BNDPROFIL)) TYPE(*WORKING) ENTRYS(2000)
**********
DEF_LIST   NAME(#PROTABLE) FIELDS((#BNDPRONME) (#BNDPRODSC)) TYPE(*WORKING) ENTRYS(2000)
**********

                    • フィールド/列マップの作成
                      **********
                      EXECUTE    SUBROUTINE(BLDMAP)
                      **********
                    • サービスを開く
                      **********
                      USE        BUILTIN(JSM_OPEN) TO_GET(#JSMSTS #JSMMSG)
                      EXECUTE    SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
                      **********
                    • サービスのロード
                      **********
                      CHANGE     FIELD(#JSMCMD) TO('SERVICE_LOAD SERVICE(RFIDataSourceService) SERVICE_LIST(BNDMAPS,BNDMAPL) 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_PROCESS_LIST) WITH_ARGS(#BNDPROSTR) TO_GET(#PROLST)
                      **********
                      SELECTLIST NAMED(#PROLST)
                      **********
                      ADD_ENTRY  TO_LIST(#PROTABLE)
                      **********
                      ENDSELECT
                      **********
                      CHANGE     FIELD(#JSMCMD) TO('PUT OBJECT(*TABLE) NAME(PROCESS_LIST) SERVICE_LIST(BNDPRONME,BNDPRODSC)')
                      USE        BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG #PROTABLE)
                      EXECUTE    SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
                      **********
                    • データソース送信
                      **********
                      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(BNDPRODSC)
                      CHANGE     FIELD(#BNDMAPL) TO(PROCESS_DESC)
                      ADD_ENTRY  TO_LIST(#MAPLST)
                      **********
                      ENDROUTINE
                       
  • No labels