JSMLR0B LANSA Type Information

LANSA Integrator

JSMLR0B LANSA Type Information

 

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((#BNDECDE) (#BNDESEQ) (#BNDENME) (#BNDEETY) (#BNDEDSC) (#BNDSCDE) (#BNDSTYP) (#BNDSARY) (#BNDCCDE) (#BNDCTYP) (#BNDCARY)) TYPE(*WORKING) ENTRYS(300)

**********

********** 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) BIND(*FIELD) 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)

**********

SELECT     FIELDS((#BNDESEQ) (#BNDEDSC) (#BNDSCDE) (#BNDCCDE) (#BNDCARY) (#BNDENME) (#BNDEETY)) FROM_FILE(BNDETPS) WITH_KEY(#BNDGCDE #BNDECDE)

**********

IF         COND('#BNDSCDE *NE *BLANK')

**********

********** Simple Type

**********

CHANGE     FIELD(#BNDCARY) TO('N')

CHANGE     FIELD(#BNDCCDE) TO(*BLANK)

CHANGE     FIELD(#BNDCTYP) TO(*BLANK)

**********

FETCH      FIELDS((#BNDSDSC) (#BNDSTYP) (#BNDSARY) (#BNDSNME) (#BNDSETY)) FROM_FILE(BNDSTPS) WITH_KEY(#BNDGCDE #BNDSCDE)

**********

********** Inherit simple name

**********

IF         COND('#BNDENME *EQ *BLANK')

CHANGE     FIELD(#BNDENME) TO(#BNDSNME)

ENDIF

**********

********** Inherit simple description

**********

IF         COND('#BNDEDSC *EQ *BLANK')

CHANGE     FIELD(#BNDEDSC) TO(#BNDSDSC)

ENDIF

**********

********** Inherit simple field

**********

IF         COND('#BNDEETY *EQ *BLANK')

CHANGE     FIELD(#BNDEETY) TO(#BNDSETY)

ENDIF

**********

ENDIF

**********

IF         COND('#BNDCCDE *NE *BLANK')

**********

********** Complex Type

**********

CHANGE     FIELD(#BNDSARY) TO('N')

CHANGE     FIELD(#BNDSCDE) TO(*BLANK)

CHANGE     FIELD(#BNDSTYP) TO(*BLANK)

**********

FETCH      FIELDS((#BNDCDSC) (#BNDCTYP)) FROM_FILE(BNDCTPS) WITH_KEY(#BNDGCDE #BNDCCDE)

**********

********** Inherit complex description

**********

IF         COND('#BNDEDSC *EQ *BLANK')

CHANGE     FIELD(#BNDEDSC) TO(#BNDCDSC)

ENDIF

**********

ENDIF

**********

IF         COND('#BNDENME *EQ *BLANK')

CHANGE     FIELD(#BNDENME) TO('NONAME')

ENDIF

**********

ADD_ENTRY  TO_LIST(#TYPTABLE)

**********

CHANGE     FIELD(#BNDESEQ) TO(*DEFAULT)

CHANGE     FIELD(#BNDEDSC) TO(*DEFAULT)

CHANGE     FIELD(#BNDENME) TO(*DEFAULT)

CHANGE     FIELD(#BNDEETY) TO(*DEFAULT)

**********

CHANGE     FIELD(#BNDSCDE) TO(*DEFAULT)

CHANGE     FIELD(#BNDSDSC) TO(*DEFAULT)

CHANGE     FIELD(#BNDSTYP) TO(*DEFAULT)

CHANGE     FIELD(#BNDSARY) TO(*DEFAULT)

CHANGE     FIELD(#BNDSNME) TO(*DEFAULT)

CHANGE     FIELD(#BNDSETY) TO(*DEFAULT)

**********

CHANGE     FIELD(#BNDCCDE) TO(*DEFAULT)

CHANGE     FIELD(#BNDCDSC) TO(*DEFAULT)

CHANGE     FIELD(#BNDCTYP) TO(*DEFAULT)

CHANGE     FIELD(#BNDCARY) TO(*DEFAULT)

**********

ENDSELECT

**********

CHANGE     FIELD(#JSMCMD) TO('PUT OBJECT(*TABLE) NAME(TYPE_ELEMENT_LIST) SERVICE_LIST(BNDECDE,BNDESEQ,BNDENME,BNDEETY,BNDEDSC,BNDSCDE,BNDSTYP,BNDSARY,BNDCCDE,BNDCTYP,BNDCARY)')

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(BNDECDE)

CHANGE     FIELD(#BNDMAPL) TO(TYPE_KEY)

ADD_ENTRY  TO_LIST(#MAPLST)

**********

CHANGE     FIELD(#BNDMAPS) TO(BNDESEQ)

CHANGE     FIELD(#BNDMAPL) TO(SEQUENCE)

ADD_ENTRY  TO_LIST(#MAPLST)

**********

CHANGE     FIELD(#BNDMAPS) TO(BNDENME)

CHANGE     FIELD(#BNDMAPL) TO(NAME)

ADD_ENTRY  TO_LIST(#MAPLST)

**********

CHANGE     FIELD(#BNDMAPS) TO(BNDEETY)

CHANGE     FIELD(#BNDMAPL) TO(ENTITY)

ADD_ENTRY  TO_LIST(#MAPLST)

**********

CHANGE     FIELD(#BNDMAPS) TO(BNDEDSC)

CHANGE     FIELD(#BNDMAPL) TO(DESC)

ADD_ENTRY  TO_LIST(#MAPLST)

**********

CHANGE     FIELD(#BNDMAPS) TO(BNDSCDE)

CHANGE     FIELD(#BNDMAPL) TO(SIMPLE_CODE)

ADD_ENTRY  TO_LIST(#MAPLST)

**********

CHANGE     FIELD(#BNDMAPS) TO(BNDSTYP)

CHANGE     FIELD(#BNDMAPL) TO(SIMPLE_TYPE)

ADD_ENTRY  TO_LIST(#MAPLST)

**********

CHANGE     FIELD(#BNDMAPS) TO(BNDSARY)

CHANGE     FIELD(#BNDMAPL) TO(SIMPLE_ARRAY)

ADD_ENTRY  TO_LIST(#MAPLST)

**********

CHANGE     FIELD(#BNDMAPS) TO(BNDCCDE)

CHANGE     FIELD(#BNDMAPL) TO(COMPLEX_CODE)

ADD_ENTRY  TO_LIST(#MAPLST)

**********

CHANGE     FIELD(#BNDMAPS) TO(BNDCTYP)

CHANGE     FIELD(#BNDMAPL) TO(COMPLEX_TYPE)

ADD_ENTRY  TO_LIST(#MAPLST)

**********

CHANGE     FIELD(#BNDMAPS) TO(BNDCARY)

CHANGE     FIELD(#BNDMAPL) TO(COMPLEX_ARRAY)

ADD_ENTRY  TO_LIST(#MAPLST)

**********

ENDROUTINE