RDML Reserved Keywords

The following keywords are reserved:

SERVICE_LIST

SERVICE_EXCHANGE

TRIM

TRUNCATE

When using a working list argument with the JSM_COMMAND BIF, a SERVICE_LIST keyword must be included with the command.

The SERVICE_LIST keyword is used to describe the list argument being passed to the JSM command as shown in the following example:

 

DEFINE FIELD(#JSMSTS) TYPE(*CHAR) LENGTH(20)

DEFINE FIELD(#JSMMSG) TYPE(*CHAR) LENGTH(256)

DEF_LIST NAME(#WRKLIST) FIELDS(#DEPTMENT,#DEPTDESC) TYPE(*WORKING)

 

USE BUILTIN(JSM_COMMAND) WITH_ARGS('RECEIVE HANDLER(IXML) XSL(ORDER) SERVICE_LIST(DEPTMENT,DEPTDESC)') TO_GET(#JSMSTS #JSMMSG #WRKLIST)

 

Note: The SERVICE_LIST keyword fields do not require the # prefix.

If the list of fields is very long, it may exceed the size limit of a JSM command string. In this case, externalize the list of fields to an entry in the list.properties file located in the instance system sub-directory as shown in the following example:

 

list.js016.receive01=DEPTMENT,DEPTDESC

 

USE BUILTIN(JSM_COMMAND) WITH_ARGS('RECEIVE HANDLER(IXML) XSL(ORDER) SERVICE_LIST(JS016.RECEIVE01)') TO_GET(#JSMSTS #JSMMSG #WRKLIST)

 

If the SERVICE_LIST keyword only contains one entry then the command parser will check if this single value is a program field. If this value is not a program field, then it is used as a lookup value on the list.properties file to locate a field list entry. It is recommended that you use a naming convention of function name plus dot plus command + sequence (JS016.RECEIVE01). This allows for an easy identification of what programs are using a particular entry when the list.properties file is viewed.

Note: An implied SERVICE_EXCHANGE(*FIELD) is done when the SERVICE_LIST keyword is used.

The SERVICE_EXCHANGE keyword is used to trigger the exchange between the LANSA function field values and the currently loaded JSM service. The only values supported by this keyword is *FIELD or *FIELDS.

The LANSA BIF performs a scan on the command string and searches for the following pattern:

SERVICE_EXCHANGE(*FIELD)

SERVICE_EXCHANGE(*FIELDS)

The keyword and its value must be identical to the examples above and without imbedded spaces.

Note: If a working list and the associated SERVICE_LIST keyword is used, then all fields are passed and a SERVICE_EXCHANGE(*FIELD) or SERVICE_EXCHANGE(*FIELDS) is not required on the same command.