JSMLR0A LANSAタイプ・リスト
FUNCTION OPTIONS(*DIRECT)
**********
DEFINE FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(20)
DEFINE FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(255)
DEFINE FIELD(#JSMCMD) TYPE(*CHAR) LENGTH(255)
**********
DEFINE FIELD(#BNDMAPS) TYPE(*CHAR) LENGTH(10)
DEFINE FIELD(#BNDMAPL) TYPE(*CHAR) LENGTH(30)
**********
DEF_LIST NAME(#MAPLST) FIELDS((#BNDMAPS) (#BNDMAPL)) TYPE(*WORKING)
**********
DEF_LIST NAME(#TYPTABLE) FIELDS((#BNDCCDE) (#BNDCTYP) (#BNDCETY) (#BNDCDSC)) TYPE(*WORKING) ENTRYS(5000)
**********
********** Build field/column map
**********
EXECUTE SUBROUTINE(BLDMAP)
**********
********** Open service
**********
USE BUILTIN(JSM_OPEN) TO_GET(#JSMSTS #JSMMSG)
EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
**********
********** Load service
**********
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)
**********
********** Create datasource
**********
USE BUILTIN(JSM_COMMAND) WITH_ARGS('CREATE DATASOURCE(REPOSITORY)') TO_GET(#JSMSTS #JSMMSG)
EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
**********
********** Add complex types
**********
SELECT FIELDS((#BNDCCDE) (#BNDCTYP) (#BNDCETY) (#BNDCDSC)) FROM_FILE(BNDCTPS) WITH_KEY(#BNDGCDE)
**********
ADD_ENTRY TO_LIST(#TYPTABLE)
**********
ENDSELECT
**********
CHANGE FIELD(#JSMCMD) TO('PUT OBJECT(*TABLE) NAME(TYPE_LIST) SERVICE_LIST(BNDCCDE,BNDCTYP,BNDCETY,BNDCDSC)')
USE BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG #TYPTABLE)
EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
**********
********** Send datasource
**********
USE BUILTIN(JSM_COMMAND) WITH_ARGS('SEND OBJECT(*DATASOURCE)') TO_GET(#JSMSTS #JSMMSG)
EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
**********
********** Close service and send the HTTP response
**********
USE BUILTIN(JSM_CLOSE) TO_GET(#JSMSTS #JSMMSG)
EXECUTE SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
**********
********** SUB ROUTINES
**********
SUBROUTINE NAME(CHECK) PARMS((#JSMSTS *RECEIVED) (#JSMMSG *RECEIVED))
**********
IF COND('#JSMSTS *NE OK')
**********
********** Close service
**********
USE BUILTIN(JSM_CLOSE) TO_GET(#JSMSTS #JSMMSG)
**********
ENDIF
**********
ENDROUTINE
**********
SUBROUTINE NAME(BLDMAP)
**********
CHANGE FIELD(#BNDMAPS) TO(BNDCCDE)
CHANGE FIELD(#BNDMAPL) TO(TYPE_KEY)
ADD_ENTRY TO_LIST(#MAPLST)
**********
CHANGE FIELD(#BNDMAPS) TO(BNDCTYP)
CHANGE FIELD(#BNDMAPL) TO(NAME)
ADD_ENTRY TO_LIST(#MAPLST)
**********
CHANGE FIELD(#BNDMAPS) TO(BNDCETY)
CHANGE FIELD(#BNDMAPL) TO(ENTITY)
ADD_ENTRY TO_LIST(#MAPLST)
**********
CHANGE FIELD(#BNDMAPS) TO(BNDCDSC)
CHANGE FIELD(#BNDMAPL) TO(DESC)
ADD_ENTRY TO_LIST(#MAPLST)
**********
ENDROUTINE