This example is self-contained and requires no additional work besides compilation.

FUNCTION   OPTIONS(*DIRECT)
**********
DEFINE     FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(20)
DEFINE     FIELD(#JSMCMD) TYPE(*CHAR) LENGTH(256)
DEFINE     FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(256)
**********
DEFINE     FIELD(#PRDID)  TYPE(*CHAR) LENGTH(10)
DEFINE     FIELD(#PRDNME) TYPE(*CHAR) LENGTH(20)
DEFINE     FIELD(#PRDAMT) TYPE(*DEC)  LENGTH(10) DECIMALS(2)
DEFINE     FIELD(#TEMP)   TYPE(*CHAR) LENGTH(10)
DEFINE     FIELD(#COUNT)  TYPE(*DEC)  LENGTH(5) DECIMALS(0)
**********
DEF_LIST   NAME(#LST1) FIELDS((#PRDID) (#PRDNME) (#PRDAMT)) TYPE(*WORKING)
**********
********** JSM_OPEN
**********
USE        BUILTIN(JSM_OPEN) WITH_ARGS('LOCALHOST:7560') TO_GET(#JSMSTS #JSMMSG)
EXECUTE    SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
**********
********** SERVICE_LOAD
**********
CHANGE     FIELD(#JSMCMD) TO('SERVICE_LOAD SERVICE(ExcelService) TRACE(*YES)')
USE        BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG)
EXECUTE    SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
**********
********** CREATE
**********
CHANGE     FIELD(#JSMCMD) TO('CREATE')
USE        BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG)
EXECUTE    SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
**********
********** ADD OBJECT(*SHEET)
**********
USE        BUILTIN(JSM_COMMAND) WITH_ARGS('''ADD OBJECT(*SHEET) SHEET(MyTest)''') TO_GET(#JSMSTS #JSMMSG)
EXECUTE    SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
**********
********** ADD OBJECT(*CELLSTYLE)
**********
CHANGE     FIELD(#JSMCMD) TO('ADD OBJECT(*CELLSTYLE) TYPE(*NUMBER) COLUMN(5) RANGE(10,20)
           FONT(*TAHOME) FORMAT(*FORMAT4) HALIGN(*RIGHT) BACKGROUND(*YELLOW)')
USE        BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG)
EXECUTE    SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
**********
********** WRITE LIST
**********
BEGIN_LOOP USING(#COUNT) FROM(1) TO(20)
USE        BUILTIN(NUMERIC_STRING) WITH_ARGS(#COUNT) TO_GET(#TEMP)
USE        BUILTIN(TCONCAT) WITH_ARGS('ID' #TEMP) TO_GET(#PRDID)
USE        BUILTIN(TCONCAT) WITH_ARGS('''Product''' #TEMP) TO_GET(#PRDNME)
CHANGE     FIELD(#PRDAMT) TO('1000.45 + #COUNT')
ADD_ENTRY  TO_LIST(#LST1)
END_LOOP
**********
CHANGE     FIELD(#JSMCMD) TO('WRITE R1C1(10,3) SERVICE_LIST(PRDID,PRDNME,PRDAMT)')
USE        BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG #LST1)
EXECUTE    SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
**********
********** READ LIST
**********
CLR_LIST   NAMED(#LST1)
**********
CHANGE     FIELD(#JSMCMD) TO('READ R1C1(10,3) ROWCOUNT(5) SERVICE_LIST(PRDID,PRDNME,PRDAMT)')
USE        BUILTIN(JSM_COMMAND) WITH_ARGS(#JSMCMD) TO_GET(#JSMSTS #JSMMSG #LST1)
EXECUTE    SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
**********
SELECTLIST NAMED(#LST1)
DISPLAY    FIELDS((#PRDID) (#PRDNME) (#PRDAMT))
ENDSELECT
**********
********** SAVE FILE
**********
USE        BUILTIN(JSM_COMMAND) WITH_ARGS('''SAVE FILE(demo.xlsx)''') TO_GET(#JSMSTS #JSMMSG)
EXECUTE    SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
**********
********** CLOSE
**********
USE        BUILTIN(JSM_COMMAND) WITH_ARGS('CLOSE') TO_GET(#JSMSTS #JSMMSG)
EXECUTE    SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
**********
********** SERVICE_UNLOAD
**********
USE        BUILTIN(JSM_COMMAND) WITH_ARGS('SERVICE_UNLOAD') TO_GET(#JSMSTS #JSMMSG)
EXECUTE    SUBROUTINE(CHECK) WITH_PARMS(#JSMSTS #JSMMSG)
**********
********** JSM_CLOSE
**********
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')
DISPLAY    FIELDS((#JSMSTS) (#JSMMSG))
**********
USE        BUILTIN(JSM_CLOSE) TO_GET(#JSMSTS #JSMMSG)
**********
MENU       MSGTXT('Java service error has occurred')
**********
**********
ENDIF
**********
ENDROUTINE
  • No labels