CECI (Command Level Interpreter) and CECS (Syntax Checker)
To check the syntax of, interpret, and run EXEC CICS® commands.
Syntax
{CECI | CECS} [commandName]
Options
- commandName
- is the name of the CICS API command whose syntax you want to check, or that you want to interpret.
Examples
CECI READ FILE('FILEA') RIDFLD('009000')Description
CECI allows you to check the syntax of, interpret, and run EXEC CICS commands. CECS allows you to check the syntax of EXEC CICS commands, but does not allow you to run them.
The CECI and CECS transactions perform a dual role in the operation of a CICS system.
- When writing application programs, you can check the syntax of the whole CICS command level application programming interface. If you are using CECI, you can carry through most of the commands to invocation, and you can request to see the results of the invocation.
- Using CECI provides a means of interaction with the system. For example, you can correct a file control record that has been overwritten with invalid data, create or delete a temporary storage queue, and so on. CECI provides a useful extension to the facilities that are provided by the runtime resource management transaction, CEMT.
Starting and ending CECI or CECS
Start the CECI or CECS transaction directly by entering the transaction identifier CECI or CECS, respectively and, optionally, a CICS command. End the transaction by pressing PF3.
Using the CECI and CECS screens
The command checker and interpreter divides the screen into four areas:
- Command Input (the first line of the screen)
- Status (the second line of the screen)
- Information (21 lines on a 24 x 80 screen)
- PF Key Values (the last line of the screen)
Command input
This is the first line of the screen. You use this line to enter the command whose syntax is to be checked, or that is to be performed, either in the normal format, or in an abbreviated or condensed form that reduces the number of keystrokes involved. The condensed form of the command is obtained because of the following reasons:
- The keywords EXEC CICS are optional.
- You can abbreviate the options of a command to the minimum number of characters that is needed to make each option unique. Valid abbreviations are shown in uppercase characters in the syntax displayed on screen.
- The quotes around character strings are optional, and all strings of characters are handled as character-string constants unless they are preceded by an ampersand (&), when they are treated as variables.
- Command options that receive a value from CICS at runtime are called “receivers”, and do not have to be specified. The value that is received from CICS is included in the syntax screen after CICS performs the command.
EXEC CICS READ FILE('FILEA') RIDFLD('009000') INTO(data area)READ FIL(FILEA) RID(009000)READ F(FILEA) R(009000)In this example, the INTO option is a receiver (as defined previously), and you can omit it.
Status
COMMAND SYNTAX CHECK ABOUT TO EXECUTE COMMAND COMMAND EXECUTION COMPLETE (or COMMAND NOT EXECUTED) EXEC INTERFACE BLOCK VARIABLES SYNTAX MESSAGES EXPANSION OFThe status message describes the type of information that is in the information area of the screen.
The COMMAND SYNTAX CHECK status message indicates that CICS has checked the syntax of the entered command, but is not about to perform the command. This is always the status for CECS, and for CECI with a question mark before the command. It is also the status when the syntax check of the command gives severe error messages and for those commands that cannot be run (for example, HANDLE CONDITION and HANDLE AID).
The ABOUT TO EXECUTE COMMAND status message appears when none of the reasons for stopping at COMMAND SYNTAX CHECK applies.
The COMMAND EXECUTION COMPLETE status message appears in response to the ENTER key after an ABOUT TO EXECUTE COMMAND. CICS performs the command and displays the results on the screen.
The EXEC INTERFACE BLOCK status message appears when you press PF4.
The VARIABLES status message appears when you press PF5.
The SYNTAX MESSAGES status message appears when you press PF9.
The EXPANSION OF status message appears when you position the cursor at an option value or a variable, and press ENTER.
Information
This area consists of the remainder of the screen between the command input and status areas at the top, and PF key values at the bottom of the screen. CICS uses this area to display the syntax of the entered command, error message information, the response to the run, and any other information that can be obtained by using the PF keys or the cursor.
A line at the bottom of this area is reserved for messages that describe errors in the conversation with you (for example, INVALID PACKED DECIMAL). CICS highlights these messages to attract attention.
The content of the information area varies, depending on which message is in the status area. The information area of the screen for COMMAND SYNTAX CHECK, ABOUT TO EXECUTE COMMAND, and COMMAND EXECUTION COMPLETE contains information that is common to all three screens.
Command syntax check
CICS displays the full syntax of the command and error information at the bottom of the screen. CICS intensifies options in the syntax panel to show those that are specified on the command input line, those that are assumed by default, and any receivers.
You can modify the command on the command input line at any time by overtyping and pressing the ENTER key.
When an argument is to be displayed in character format, some of the characters might not be displayable. CECI replaces each nondisplayable character by a period (.). You must be aware that periods can indicate either a valid period character, or storage that contains data other than a period. You cannot overtype characters with a period in character format. To overtype a character with a period, you must use PF2 to switch the screen to hexadecimal format and type hexadecimal 2E.
If the command has more options than can be held in one screen, a plus sign (+) appears to the left side of the last option on the current screen to indicate that more exist. You can view these by using one of the scrolling PF keys.
The syntax that is on screen differs slightly from the syntax notation that is used in this book in the following ways:
- Square brackets ([ ]) are replaced by the less than (<) and greater than (>) symbols.
- Braces { } are not used. If a mandatory option is left out, CICS displays an error message and does not continue performing the command until you specify the option.
- Parentheses ( ) are used to indicate that an option requires a value or data field, but you have not specified one.
The error information consists either of a single error message, or an indication of the number and severity of the messages that are generated.
About to execute command
The information area of this screen is similar to that of COMMAND SYNTAX CHECK, but shows no error information. You can modify option values by overtyping them in the syntax information.
This modification is a temporary modification for the duration of the command and does not affect the command input line. It is similar to the modification of option values that is possible with the Execution Diagnostic Facility (EDF) when debugging an application program.
Command execution complete
The information area of this screen is similar to that of COMMAND SYNTAX CHECK, but it displays the results after CICS has performed the command. CICS displays any receivers as intensified, whether they were specified or not, together with their CICS-supplied values. If the value of an option is too long for the line, CICS displays characters only to the end of the line, followed by … to indicate that more information is available. To produce an expanded display of the whole option value, use the tab key to position the cursor at the start of the option value, then press the ENTER key.
CICS displays the appropriate response code (for example, NORMAL) together with the contents of the EIBRESP field of the Exec Interface Block (EIB) at the bottom of the information area.
Because CECI is an interactive transaction, CICS processes all commands that are running under its control as if the NOHANDLE option were active, thus forcing all responses back to CECI when the command has completed.
EXEC interface block
The information area shows, in response to pressing the PF4 key, the exec interface block. For further information, see EXEC interface block (EIB) fields.
Variables
The information area shows, in response to the PF5 key, all the variables that are associated with the current interpreter session. It shows the name, length, and value of each one.
Normally, the value that is supplied for an option in the command input area is taken as a character string constant. However, sometimes this value must be represented by a variable. The command interpreter recognizes a value as a variable only if it is preceded by an ampersand (&).
You can specify a variable when connecting two associated commands through the values that are supplied in their options; for example, READ INTO (data-area), UPDATE, and REWRITE FROM (data-area). You can use a variable to make the data area in the FROM option the same as that in the INTO option.
A variable is also useful when the values of options cause the command to exceed the line length of the command input area. The commands can be used by creating variables with the required values and specifying the variable names in the command.
You can also use variables to contain commands, and you can enter variable names in a command input line that contains complete or partial commands.
CICS deletes variables at the end of a command interpreter session unless you take action to save them; for example, in temporary storage.
You can use one of the following methods to create variables, which can be of data type character, 32-bit binary, 16-bit binary, or packed decimal:
- By naming the variable in a receiver. CICS creates the variable when performing the command. The data type is implied by the type of receiver.
- By adding one or more new entries to the list of variables already
defined. You request this list by pressing PF5. The screen shows all
defined variables giving, for each, its name, length in bytes, and
its value. CICS displays the value in character form, but
you can use PF2 to switch from character to hexadecimal. You obtain
an expanded display of each variable by positioning the cursor under
the ampersand (&) of the name and pressing ENTER. To create a
new character variable, enter its name and its length and press ENTER.
CECI initializes the variable to blanks, which you can then overtype.
Enter F (32-bit binary), H (16-bit binary) or P (packed decimal) in
the length field. CECI initializes these fields to zero.
You can modify variable names, lengths, and their values, by overtyping. You can delete variables by positioning the cursor under the ampersand (&) of the name and pressing ERASE EOF. You can copy variables by obtaining the expanded display of the variable and overtyping the name field.
- By associating a variable name with the value of an option. Using the tab key to position the cursor at the start of the line of the syntax display and pressing ENTER produces an expanded display of the whole option value. You can now assign a variable name to the displayed data.
- By entering a name in the NAME= field of the syntax display on screen. This creates a variable containing the current command.
Three variables are provided initially:
- &DFHC
- A sample.
- &DFHW
- Contains a temporary storage EXEC CICS WRITEQ command.
- &DFHR
- Contains an EXEC CICS READQ command.
CECI WRITEQ TS QUEUE(QUEUE1) FROM (&DFHC)Syntax messages
The information area shows, in response to pressing the PF9 key, any syntax messages that are associated with the entered command. Each message has an associated severity, which is displayed as a single character and a colon preceding the error message. An example is an error message, which is preceded by “E:”.
If more than one message is generated for a command, the number of messages is also displayed.
Expansion of screen area
The whole of the information area of the screen is used to display an area that is selected by means of the cursor. You can position the cursor at the start of the value of an option on a syntax screen, or under the ampersand of a variable in a variables screen. Press ENTER to get the expanded area screen. You can use the scrolling keys to display all the information if it exceeds a full screen.
Program function (PF) key values
The single line at the bottom of the screen provides a menu that indicates the effect of the PF keys for the display. If your terminal has no PF keys, you can obtain the same effect by using the tab keys to position the cursor under the required item in the menu, and pressing ENTER.
The following PF keys are available:
- PF1
- Displays help about using the command interpreter or syntax checker and about the meanings of the PF keys.
- PF2
- Toggles between displaying data in character and hexadecimal forms. All further screens stay in the chosen mode until the next time you press the PF2 key.
- PF3
- Exits from CECI or CECS, so ends the current session of the interpreter or syntax checker.
- PF4
- Shows the contents of the EXEC interface block (EIB). This key is not available in the EIB display.
- PF5
- Shows all the variables that are associated with the current command interpreter session, giving for each its name, length, and value. This key is not available in the variables display.
- PF6
- Shows what you would see if the terminal had been running a transaction that contained the screen access commands that have been run by using the interpreter. This key is not available from CECS or when you are viewing the user display.
- PF7
- Scrolls half a page backward.
- PF8
- Scrolls half a page forward.
- PF9
- Shows all the messages that are generated during the syntax check of a command. This key is not available in the syntax messages display.
- PF10
- Scrolls a page backward.
- PF11
- Scrolls a page forward.
- PF12
- Undefined.
READ FILE('FILEA') RIDFLD('009000')
STATUS: ABOUT TO EXECUTE COMMAND NAME=
EXEC CICS READ
Dataset() | File(FILEA )
SEt() | Into()
<Length()>
RIdfld(009000)
<Keylength() <GEneric> | RBa | RRn>
<SYsid()>
<GTeq | Equal>
<Update>
PF 1 HELP 2 HEX 3 END 4 EIB 5 VAR 6 USER 7 SBH 8 SFH 9 MSG 10 SB 11 SF
Running CECI or CECS
To run the command interpreter and syntax checker, you must have a transaction security key (TSL) that matches the transaction security key that is defined in the Transaction Definitions (TD).
The TD entry for the CECI transaction specifies, by default, that resource level security checking is required for any resources that are referenced with the interpreter. This checking applies to files, transient data queues, temporary storage queues, programs, transaction identifiers of the EXEC CICS START command, and journal file identifiers.
If the resource security level (RSL) that is specified in the appropriate resource definition, such as the File Definitions (FD) for a file, is not matched by RSL keys of the user that is signed on, the resource security check fails, and the response to the command is the NOTAUTH condition. This response is given on the command execution complete screen.
CECI READ FILE('FILEA') READ FILE('FILEA')
STATUS: COMMAND SYNTAX CHECK NAME=
EXEC CICS READ
Dataset() | File(FILEA )
SEt() | Into()
<Length( +00020)>
RIdfld()
<Keylength() <GEneric> | RBa | RRn>
<SYsid()>
<GTeq | Equal>
<Update>
E: Command requires the option: 'RIDFLD'
PF 1 HELP 2 HEX 3 END 4 EIB 5 VAR 6 USER 7 SBH 8 SFH 9 MSG 10 SB 11 SF
READ FILE('FILEA') RIDFLD('009000') READ FILE('FILEA') RIDFLD('009000')
STATUS: ABOUT TO EXECUTE COMMAND NAME=
EXEC CICS READ
Dataset() | File(FILEA )
SEt() | Into()
<Length()>
RIdfld(009000)
<Keylength() <GEneric> | RBa | RRn>
<SYsid()>
<GTeq | Equal>
<Update>
PF 1 HELP 2 HEX 3 END 4 EIB 5 VAR 6 USER 7 SBH 8 SFH 9 MSG 10 SB 11 SF
READ FILE('FILEA') RIDFLD('009000')
STATUS: COMMAND EXECUTION COMPLETE
EXEC CICS READ
Dataset() | File(FILEA )
SEt() | Into( 'HDGDJH KDFKSJDF KSDJ')
<Length( +00020)>
RIdfld(009000)
<Keylength() <GEneric> | RBa | RRn>
<SYsid()>
<GTeq | Equal>
<Update>
RESPONSE: NORMAL EIBRESP=+000000000
PF 1 HELP 2 HEX 3 END 4 EIB 5 VAR 6 USER 7 SBH 8 SFH 9 MSG 10 SB 11 SF
A question mark (?) before the command gives the command syntax check screen and prevents CICS from performing the command.
The use of CECS forces a question mark before the command. This gives the command syntax check screen and prevents CICS from performing the command. In a system where security is important, you can make CECS more widely available than CECI.