For examples of RDMLX client applications, refer to RDMLX Examples.
Following is a very simple LANSA function that opens and then closes a connection to the JSM. If an error occurs, the status and message can be evaluated. This program does not use any services. Enable connection tracing to see the open and close being traced.
Example 1 - Using default (JSMCLTDTA data area)
FUNCTION OPTIONS(*DIRECT)
USE BUILTIN(JSMX_BEGIN)
USE BUILTIN(JSMX_OPEN) TO_GET(#JSMXSTS #JSMXMSG #JSMXHDLE1)
IF COND('#JSMXSTS *NE OK')
ENDIF
USE BUILTIN(JSMX_CLOSE) WITH_ARGS(#JSMXHDLE1) TO_GET(#JSMXSTS #JSMXMSG)
IF COND('#JSMXSTS *NE OK')
ENDIF
USE BUILTIN(JSMX_END)
Example 2 - Using server argument
FUNCTION OPTIONS(*DIRECT)
USE BUILTIN(JSMX_BEGIN)
#JSMSRV := 'LOCALHOST:4560'
USE BUILTIN(JSMX_OPEN) WITH_ARGS(#JSMSRV) TO_GET(#JSMXSTS #JSMXMSG #JSMXHDLE1)
IF COND('#JSMXSTS *NE OK')
ENDIF
USE BUILTIN(JSMX_CLOSE) WITH_ARGS(#JSMXHDLE1) TO_GET(#JSMXSTS #JSMXMSG)
IF COND('#JSMXSTS *NE OK')
ENDIF
USE BUILTIN(JSMX_END)
The following example shows how the JSMX BIFs are used together and in what order. This is not a complete RDML function. In this example JSMX_OPEN opens a connection to the Java Service Manager and starts a thread.
A series of JSMX_COMMANDs are issued to:
Load the FTPService service
Connect to the host
Login using the specified user/password
Change the directory path
Set mode to binary
Put the file to the FTP site
Quit the FTP session
Unload the service.
JSM_CLOSE ends the connection.
FUNCTION OPTIONS(*DIRECT)
USE BUILTIN(JSMX_BEGIN)
USE BUILTIN(JSMX_OPEN) WITH_ARGS(#JSMSRV) TO_GET(#JSMXSTS #JSMXMSG #JSMXHDLE1)
JSMXCMD := 'SERVICE_LOAD SERVICE(FTPSERVICE)'
USE BUILTIN(JSMX_COMMAND) WITH_ARGS(#JSMXHDLE1 JSMXCMD) TO_GET(#JSMSTS #JSMMSG)
JSMXCMD := 'CONNECT HOST(LOCALHOST)'
USE BUILTIN(JSMX_COMMAND) WITH_ARGS(#JSMXHDLE1 JSMXCMD) TO_GET(#JSMSTS #JSMMSG)
JSMXCMD := 'LOGIN USER(user) PASSWORD(code)'
USE BUILTIN(JSMX_COMMAND) WITH_ARGS(#JSMXHDLE1 JSMXCMD) TO_GET(#JSMSTS #JSMMSG)
JSMXCMD := 'CHGDIR PATH(/JSM)'
USE BUILTIN(JSMX_COMMAND) WITH_ARGS(#JSMXHDLE1 JSMXCMD) TO_GET(#JSMSTS #JSMMSG)
JSMXCMD := 'BINARY'
USE BUILTIN(JSMX_COMMAND) WITH_ARGS(#JSMXHDLE1 JSMXCMD) TO_GET(#JSMSTS #JSMMSG)
JSMXCMD := PUT FROM(file) TO(/TMP/DIR/file)'
USE BUILTIN(JSMX_COMMAND) WITH_ARGS(#JSMXHDLE1 JSMXCMD) TO_GET(#JSMSTS #JSMMSG)
JSMXCMD := 'QUIT'
USE BUILTIN(JSMX_COMMAND) WITH_ARGS(#JSMXHDLE1 JSMXCMD) TO_GET(#JSMSTS #JSMMSG)
JSMXCMD := 'SERVICE_UNLOAD')
USE BUILTIN(JSMX_COMMAND) WITH_ARGS(#JSMXHDLE1 JSMXCMD) TO_GET(#JSMSTS #JSMMSG)
USE BUILTIN(JSMX_CLOSE) WITH_ARGS(#JSMXHDLE1) TO_GET(#JSMXSTS #JSMXMSG)
USE BUILTIN(JSMX_END)