広告
広告
If you do not specify an expiration time or interval option on the EXEC CICS
DELAY, EXEC CICS POST, or EXEC CICS START command, CICS responds using the default of INTERVAL(0), which means immediately.
Because each end of an intersystem link may be in a different time zone, you should use the INTERVAL form of expiration time when the transaction to be started is in a remote system.
If the system fails, the times you have specified are retained as interval control elements (ICEs) in recoverable temporary storage.
Request identifiers
As a means of identifying the request and any data associated with it, a unique request identifier is assigned by CICS to each EXEC CICS DELAY, EXEC CICS
POST, and EXEC CICS START command. You can specify your own request identifier by means of the REQID option but it must be unique. If you do not,
CICS assigns (for EXEC CICS POST and EXEC CICS START commands only) a unique request identifier and places it in field EIBREQID in the EXEC interface block (EIB). You must specify a request identifier if you want the request to be canceled at a later time by an EXEC CICS CANCEL command.
196
CICS for iSeries Application Programming Guide V5
Chapter 19. Task control
The CICS task control program provides functions that synchronize task activity, or that control the use of resources. Within CICS/400, enqueuing and dequeuing of resources occurs in the CICS/400 user shells. The OS/400 system administrator should distribute shell priorities so that a user shell does not enqueue a resource, and then not have a priority high enough to allow it to complete processing.
OS/400 processes tasks according to priorities assigned by the CICS/400 system administrator. Control is given to the highest priority task that is ready to be processed, and is returned to the operating system when no further work can be done by CICS or by your application programs.
Task control supports the EXEC CICS ENQ and EXEC CICS DEQ commands. In
CICS/400 the EXEC CICS SUSPEND command is acceptable as a current command, but is treated as a null operation. These commands are described in
more detail in “DEQ” on page 350 and “ENQ” on page 355.
You can schedule the use of a resource by a task (ENQ and DEQ). This is often useful in protecting a resource from concurrent use by more than one task; that is, making that resource serially reusable. Each task that is to use the resource issues an enqueue (EXEC CICS ENQ) command. The first task to enqueue has the use of the resource immediately. Subsequent EXEC CICS ENQ commands for the resource, issued by other tasks, result in those tasks being suspended until the resource is available (assuming that an EXEC CICS HANDLE CONDITION
ENQBUSY command has not been issued). Using the ENQ/DEQ mechanism, there is no way to guarantee that two or more tasks issuing EXEC CICS ENQ and EXEC
CICS DEQ commands will issue these commands in a given sequence relative to each other. By inspecting the contents of the EIBRESP field, you can check whether the EXEC CICS ENQ command was successful or not. For more information, see
“How to use the RESP and RESP2 options” on page 87.
Each task using a resource should issue a dequeue (EXEC CICS DEQ) command when finished, to release the resource for use by other tasks. The enqueue is also released automatically at the end of the task, or of the logical unit of work (LUW) if task is not specified on the EXEC CICS ENQ command.
© Copyright IBM Corp. 1998, 2004
197
198
CICS for iSeries Application Programming Guide V5
ダウンロード
広告