How CECI runs
The interpreter runs as a conversational transaction, using programs supplied by CICS®. Everything you do between the start of a session and the end is a single logical unit of work in a single task.
Locks and enqueues produced by commands that you execute remain for the duration of your session. If you read a record for update from a recoverable file, for example, that record is not available to any other task until you end CECI.
Abends
CECI runs all commands with the NOHANDLE option, so that execution errors do not ordinarily cause abends.
CECI also issues a HANDLE ABEND command at the beginning of the session, so that it does not lose control even if an abend occurs. Consequently, when you get one, CECI handles it and there is no resource backout. If you are doing a series of related updates to protected resources, make sure that you can complete all the updates. If you cannot complete all the updates, use a SYNCPOINT ROLLBACK command or an ABEND command with the CANCEL option to remove the effects of your earlier commands on recoverable resources.
Exception conditions
For some commands, CECI might return exception conditions even when all specified options are correct. These conditions return because, on some commands, CECI uses options that you do not specify explicitly. For example, the ASSIGN command always returns the exception condition INVREQ under CECI. Even though CECI might return the information you requested correctly, it attempts to get information from other options, some of which are invalid.
Program control commands
Because the interpreter is itself an application program, the interpretation of some program control commands might produce different results from an application program executing those commands. For example, an ABEND command is intercepted unless you use the CANCEL option.
If you use a LINK command, the target program runs in the environment of the interpreter. In particular, if you modify a user display during a linked-to program, the interpreter is not aware of the changes.
Similarly, if you interpret an XCTL command, CECI passes control to the named program and never gets control back, so the CECI session is ended.
Terminal sharing
When the command that is being interpreted is one that uses the same screen as the interpreter, the command interpreter manages the sharing of the screen between the interpreter display and the user display.
- When the command that is being processed requires data from the operator
- When the command that is being processed is about to modify the user display
- When USER DISPLAY is requested
When a SEND command is followed by a RECEIVE command, the display sent by the SEND command appears twice; once when the SEND command is processed and again when the RECEIVE command is processed. You do not have to respond to the SEND command, but if you do, the interpreter stores and displays it when the screen is restored for the RECEIVE command.
When the interpreter restores the user display, it does not sound the alarm or affect the keyboard in the same way as when a SEND command is processed.