The command parameter list
The first parameter in the list points to a string of data known as argument 0. The other parameters point to the values specified for the parameters passed on the command.
existence bits, which indicate whether arguments are passed on the command. For example, consider the command:
EXEC CICS LINK PROGRAM(‘MYPROG') Here,
argument 0 begins with the function code X'0E02' (LINK).
Existence bit 1 is set, indicating that there is an argument 1 (namely,
‘MYPROG').The correspondence between command parameters (such as PROGRAM) and their positions and values in the parameter list (in this case, argument 1, ‘MYPROG') can be deduced from the translated code for the particular command.
Modifying CICS® commands by changing argument 0 is not supported, and leads to unexpected errors or results.
For example, if an application program is written in assembler or PL/I and you modify argument 0, you will be writing to program storage (that is, storage occupied by the program itself), which could cause 0C4 abends. Furthermore, modifying argument 0 not only alters the CICS command for this execution of the command in the application program, it changes the CICS command in the virtual storage copy of the application program. This means that the next task to invoke the same copy of the program will also execute the modified command.
This particular example of the danger of modifying argument 0 does not apply to COBOL or C application programs, but nevertheless you should not modify CICS commands for application programs written in any supported language.