JSMLR07 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(#BNDRTNCDE) TYPE(*CHAR) LENGTH(2)
DEFINE FIELD(#BNDFLDSTS) TYPE(*CHAR) LENGTH(2)
DEFINE FIELD(#BNDFLDNME) TYPE(*CHAR) LENGTH(10) DECIMALS(0)
DEFINE FIELD(#BNDFLDTYP) TYPE(*CHAR) LENGTH(1)
DEFINE FIELD(#BNDFLDLEN) TYPE(*DEC) LENGTH(3) DECIMALS(0)
DEFINE FIELD(#BNDFLDDEC) TYPE(*DEC) LENGTH(3) DECIMALS(0)
DEFINE FIELD(#BNDFLDREF) TYPE(*CHAR) LENGTH(10)
DEFINE FIELD(#BNDFLDDSC) TYPE(*CHAR) LENGTH(40)
DEFINE FIELD(#BNDFLDFIL) TYPE(*CHAR) LENGTH(122)
**********
DEF_LIST NAME(#MAPLST) FIELDS((#BNDMAPS) (#BNDMAPL)) TYPE(*WORKING)
**********
DEF_LIST NAME(#FLDTABLE) FIELDS((#BNDFLDSTS) (#BNDFLDNME) (#BNDFLDTYP) (#BNDFLDLEN) (#BNDFLDDEC) (#BNDFLDREF) (#BNDFLDDSC)) TYPE(*WORKING) ENTRYS(1)
**********
-
-
-
-
-
-
-
-
-
- フィールド/列マップの作成
**********
EXECUTE SUBROUTINE(BLDMAP)
********** - サービスを開く
**********
USE BUILTIN(JSM_OPEN) TO_GET(#JSMSTS #JSMMSG)
EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
********** - サービスのロード - FLDNAME の受信
**********
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)
**********
CHANGE FIELD(#BNDFLDLEN) TO(*ZERO)
CHANGE FIELD(#BNDFLDDEC) TO(*ZERO)
CHANGE FIELD(#BNDFLDREF) TO(*BLANK)
CHANGE FIELD(#BNDFLDTYP) TO(*BLANK)
CHANGE FIELD(#BNDFLDDSC) TO(*BLANK)
**********
USE BUILTIN(GET_FIELD) WITH_ARGS(#BNDFLDNME) TO_GET(#BNDRTNCDE #BNDFLDTYP #BNDFLDLEN #BNDFLDDEC #BNDFLDREF #BNDFLDDSC)
********** - OK - リポジトリで定義
- ER - ファンクションで定義
- ジョブログ・メッセージのサンプル
********** フィールド名 STATE がデータディクショナリに見つかりませんでした
**********
CHANGE FIELD(#BNDFLDSTS) TO(#BNDRTNCDE)
********** - Send data as datasource fields
**********
CHANGE FIELD(#JSMCMD) TO('PUT OBJECT(*FIELD) SERVICE_LIST(BNDMAPS,BNDMAPL)')
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('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(BNDFLDSTS)
CHANGE FIELD(#BNDMAPL) TO(FIELD_STATUS)
ADD_ENTRY TO_LIST(#MAPLST)
**********
CHANGE FIELD(#BNDMAPS) TO(BNDFLDNME)
CHANGE FIELD(#BNDMAPL) TO(FIELD_NAME)
ADD_ENTRY TO_LIST(#MAPLST)
**********
CHANGE FIELD(#BNDMAPS) TO(BNDFLDTYP)
CHANGE FIELD(#BNDMAPL) TO(FIELD_TYPE)
ADD_ENTRY TO_LIST(#MAPLST)
**********
CHANGE FIELD(#BNDMAPS) TO(BNDFLDLEN)
CHANGE FIELD(#BNDMAPL) TO(FIELD_LENGTH)
ADD_ENTRY TO_LIST(#MAPLST)
**********
CHANGE FIELD(#BNDMAPS) TO(BNDFLDDEC)
CHANGE FIELD(#BNDMAPL) TO(FIELD_DECIMAL)
ADD_ENTRY TO_LIST(#MAPLST)
**********
CHANGE FIELD(#BNDMAPS) TO(BNDFLDREF)
CHANGE FIELD(#BNDMAPL) TO(FIELD_REF)
ADD_ENTRY TO_LIST(#MAPLST)
**********
CHANGE FIELD(#BNDMAPS) TO(BNDFLDDSC)
CHANGE FIELD(#BNDMAPL) TO(FIELD_DESC)
ADD_ENTRY TO_LIST(#MAPLST)
**********
ENDROUTINE
- フィールド/列マップの作成
-
-
-
-
-
-
-
-