Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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)


Info

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.

...

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.

...