PDFService Example

This service uses files that have been shipped in the JSM instance folder.

Function Options(*DIRECT)

*

Define Field(#PRDID) Type(*CHAR) Length(10)

Define Field(#PRDAVL) Type(*CHAR) Length(200)

Define Field(#PRDDSC) Type(*CHAR) Length(250)

Define Field(#PRDAMTMP) Type(*DEC) Length(10) Decimals(2)

Define Field(#PRDAMTYP) Type(*DEC) Length(10) Decimals(2)

Define Field(#PRDAMTB10) Type(*DEC) Length(10) Decimals(2)

Define Field(#PRDAMTB20) Type(*DEC) Length(10) Decimals(2)

Define Field(#PRDAMTB30) Type(*DEC) Length(10) Decimals(2)

*

Define Field(#TEXT) Type(*CHAR) Length(30)

Def_List Name(#LST1) Fields(#TEXT) Type(*WORKING)

*

Define Field(#COL1) Type(*CHAR) Length(10)

Define Field(#COL2) Type(*CHAR) Length(10)

Define Field(#COL3) Type(*DEC) Length(10) Decimals(2)

Def_List Name(#LST2) Fields(#COL1 #COL2 #COL3) Type(*WORKING)

*

#PRDID := 'CORD443'

#PRDAVL := 'Available in 24 hours'

#PRDDSC := '18V Compact Hammer. Power output 350W'

*

#PRDAMTMP := 499.99

#PRDAMTYP := 499.99

#PRDAMTB10 := 431.99

#PRDAMTB20 := 413.99

#PRDAMTB30 := 359.99

*

* JSMX_BEGIN

*

Use Builtin(JSMX_BEGIN)

*

* JSMX_OPEN

*

Use Builtin(JSMX_OPEN) With_Args('LOCALHOST:7560') To_Get(#JSMXSTS #JSMXMSG #JSMXHDLE1)

Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)

*

* SERVICE_LOAD

*

#JSMXCMD := 'SERVICE_LOAD SERVICE(PDFDocumentService) TRACE(*YES)'

Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMXSTS #JSMXMSG)

Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)

*

* CREATE

*

#JSMXCMD := 'CREATE DOCUMENT(demo.pdf) CONTENT(demo-product.xml)'

Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMXSTS #JSMXMSG)

Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)

*

* ADD PRODUCT

*

#TEXT := '4-piece combo kit'

Add_Entry To_List(#LST1)

#TEXT := '3-speed transmission'

Add_Entry To_List(#LST1)

*

#JSMXCMD := 'ADD CONTENT(PRODUCT) SERVICE_EXCHANGE(*FIELD)'

Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMXSTS #JSMXMSG #LST1)

Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)

*

* ADD TABLE

*

#COL1 := 'Text 11'

#COL2 := 'Text 12'

#COL3 := 100.34

Add_Entry To_List(#LST2)

#COL1 := 'Text 21'

#COL2 := 'Text 22'

#COL3 := 145.67

Add_Entry To_List(#LST2)

*

#JSMXCMD := 'ADD CONTENT(TABLE)'

Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMXSTS #JSMXMSG #LST2)

Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)

*

* CLOSE

*

#JSMXCMD := 'CLOSE'

Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 #JSMXCMD) To_Get(#JSMXSTS #JSMXMSG)

Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)

*

* SERVICE_UNLOAD

*

Use Builtin(JSMX_COMMAND) With_Args(#JSMXHDLE1 'SERVICE_UNLOAD') To_Get(#JSMXSTS #JSMXMSG)

Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)

*

* JSMX_CLOSE

*

Use Builtin(JSMX_CLOSE) With_Args(#JSMXHDLE1) To_Get(#JSMXSTS #JSMXMSG)

Execute Subroutine(CHECK) With_Parms(#JSMXSTS #JSMXMSG)

*

* JSMX_END

*

Use Builtin(JSMX_END)

*

* SUB ROUTINES

*

Subroutine Name(CHECK) Parms((#JSMXSTS *RECEIVED) (#JSMXMSG *RECEIVED))

*

If Cond('#JSMXSTS *NE OK')

*

Use Builtin(JSMX_CLOSE) With_Args(#JSMXHDLE1) To_Get(#JSMXSTS #JSMXMSG)

*

Menu Msgtxt('Java service error has occurred')

*

Endif

*

Endroutine