ExcelService Example

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