BBJSMXCMD Source Code

LANSA Integrator

BBJSMXCMD Source Code

Create RDMLX Templates

@@QUESTION PROMPT('Use this template to build a command in a function generated by JSMXSKEL.') ANSWER(@@CANS999) EXTEND('The code generated by this template assumes the existence of a KEYWRD and' 'a CHECK_STS subroutines as generated by the JSMXSKEL template.' 'Press Enter to continue.') LOWER(*NO)
@@COMMENT  'BUILD THE JSM COMMAND '
L01: @@LABEL
@@QUESTION PROMPT('Type in the JSM command you want to build') ANSWER(@@CANS001) LOWER(*NO)
#JSMXCMD := @@CANS001
@@QUESTION PROMPT('How many keywords do you want to specify?') ANSWER(@@NANS001) EXTEND('If you reply 0, you will not be prompted to specify any keyword-values. ' 'Otherwise, type in a number of up to 20 keyword-value to be prompted') LOWER(*NO) RANGE((0 20))
@@IF       COND((*IF @@NANS001 *EQ 0)) GOTO(L05)
@@SET_IDX  IDX_NAME(II) TO(1)
LOP: @@LABEL
@@QUESTION PROMPT('Type in the keyword name.') ANSWER(@@CANS002) EXTEND('Type in the name of a valid keyword for the command you are building. ') LOWER(*NO)
@@QUESTION PROMPT('Type in the value for the @@CANS002 keyword') ANSWER(@@CANS003) EXTEND('Leave blank if the keyword has no value.' 'The value can be a FIELD name or an ALPHANUMERIC string.' 'If the value is a FIELD it must be prefixed with the #.' 'If the value is an ALPHANUMERIC string you must enclose it within triple' 'quotes.') LOWER(*NO)
@@IF       COND((*IF @@CANS003 *EQ ' ')) GOTO(L02)
@@IF       COND((*IF @@CANS002 *EQ 'URI')) GOTO(L07)
@@GOTO     LABEL(L08)
L07: @@LABEL
IF         COND('#CPUTYPE = AS400')
#STD_TEXTL := '/CGI-BIN/JSMDIRECT?' + @@CANS003
ELSE
#STD_TEXTL := '/CGI-BIN/JSMDIRECT.EXE?' + @@CANS003
ENDIF
EXECUTE    SUBROUTINE(KEYWRD) WITH_PARMS(#JSMXCMD @@CANS002 #STD_TEXTL)
@@GOTO     L03
L08: @@LABEL
EXECUTE    SUBROUTINE(KEYWRD) WITH_PARMS(#JSMXCMD @@CANS002 @@CANS003)
@@GOTO     L03
L02: @@LABEL
EXECUTE    SUBROUTINE(KEYWRD) WITH_PARMS(#JSMXCMD @@CANS002 *BLANKS)
L03: @@LABEL
@@INC_IDX  IDX_NAME(II)
@@CMP_IDX  IDX_NAME(II) IDX_VALUE(@@NANS001) IF_GT(L04)
@@GOTO     LABEL(LOP)
L04: @@LABEL
@@QUESTION PROMPT('Type in the name of a working list if this command uses one.') ANSWER(@@CANS004) EXTEND('Leave blank if no list is passed with the command. ' 'Do NOT prefix the list name with a #') LOWER(*NO)
@@IF       COND((*IF @@CANS004 *EQ ' ')) GOTO(L05)
USE        BUILTIN(JSMX_COMMAND) WITH_ARGS(#JSMXHDLE1 #JSMXCMD) TO_GET(#JSMSTS #JSMMSG #@@CANS004)
EXECUTE    SUBROUTINE(CHECK_STS) WITH_PARMS(#JSMXCMD)
@@COMMENT  '    '
@@GOTO     LABEL(L06)
L05: @@LABEL
USE        BUILTIN(JSMX_COMMAND) WITH_ARGS(#JSMXHDLE1 #JSMXCMD) TO_GET(#JSMSTS #JSMMSG)
EXECUTE    SUBROUTINE(CHECK_STS) WITH_PARMS(#JSMXCMD)
@@COMMENT  '    '
L06: @@LABEL
@@QUESTION PROMPT('Do you wish to enter another JSM command?') ANSWER(@@CANS005) EXTEND('Reply Y or N only.' 'If you reply Y you will be prompted to enter another command and keywords.') LOWER(*NO) VALUES(Y N)
@@IF       COND((*IF @@CANS005 *EQ Y)) GOTO(L01)
END: @@LABEL
/* **********                                                         */
@@COMMENT  '         '