200 likes | 429 Views
Control Operations. Day 5. Objectives. Task Control ENQUEUE/DEQUEUE SUSPEND Program Control Usage of COMMAREA in LINK, XCTL RETURN LOAD, RELEASE Storage Control GETMAIN FREEMAIN Interval Control ASKTIME, FORMATTIME START, ATI CANCEL, RETRIEVE DELAY, POST, WAIT EVENT. Task Control.
E N D
Control Operations Day 5
Objectives • Task Control • ENQUEUE/DEQUEUE • SUSPEND • Program Control • Usage of COMMAREA in LINK, XCTL • RETURN • LOAD, RELEASE • Storage Control • GETMAIN • FREEMAIN • Interval Control • ASKTIME, FORMATTIME • START, ATI • CANCEL, RETRIEVE • DELAY, POST, WAIT EVENT
Task Control • SUSPEND • Suspend a task • To relinquish control to a task of higher dispatching priority • Control returns to the task issuing the command when there is no other task of higher priority to be processed • ENQ/DEQ • Schedule the use of a resource by a task • Protects the resource from concurrent use by more than one task ENQ RESOURCE (data-area) [LENGTH (data-value)] [NOSUSPEND] Conditions: ENQBUSY, LENGERR DEQ RESOURCE (data-area) [LENGTH (data-value)] Conditions: LENGERR
Program Control Commands • XCTL • LINK • RETURN • ABEND • LOAD • RELEASE
Logic Levels LEVEL 0 LEVEL 0 CICS CICS PGM A PGM A LINK B LINK B LEVEL 1 LEVEL 1 RETURN RETURN PGM C PGM C PGM B PGM B LEVEL 2 LEVEL 2 LINK D LINK D XCTL C XCTL C RETURN RETURN PGM D PGM D LEVEL 3 LEVEL 3 RETURN RETURN
XCTL • EXAMPLE EXEC CICS XCTL PROGRAM (‘example3’) COMMAREA (ws-commarea) LENGTH (100) END-EXEC. • This causes control to be passed to ‘example3’, with 100 bytes of data.
LINK • EXAMPLE EXEC CICS LINK PROGRAM (‘example3’) COMMAREA (ws-commarea) LENGTH (100) END-EXEC. • The calling program expects control back. • Control to example3 with 100 bytes of data.
XCTL does not expect control back. Handle conditions in the main program are not available to the called program. Establish new handle conditions. LINK expects control back. Handle conditions in the calling program are needed again. Hence use PUSH and POP commands to restore them again. XCTL Vs LINK
XCTL does not expect control back and hence less overhead on system resources like memory etc. Similar to GO TO. LINK expects control back and hence the overhead is more in this case on memory etc. Similar to perform, and control will be passed back to the instruction following this. XCTL Vs LINK Continues...
Linkedited along with the main module. Higher module size and higher memory requirement. Single copy can not be used. Separately compiled and link edited. Single copy be shared. Dynamic loading may slow down execution speed. CALL Vs XCTL/LINK
Any changes in this require compiling of all other modules using this. A CALLed program remains in the last used state after it returns control. Changes in this will not effect other modules using this. A LINKed or XCTLed program always brings a NEW copy. CALL Vs XCTL/LINK Continues...
RETURN • Return, always passes control back to the program at one logic level higher when used without any options. • Return with TRANSID option passes control to another program, in pseudo-conversation mode. • It is important to note that RETURN is not at all a replacement for LINK or XCTL.
ABEND • When a situation arises that the program can not handle the program condition, can terminate itself by giving an abend code to help the user. EXEC CICS ABEND ABCODE (‘abcd’) END-EXEC.
Storage Control • GETMAIN - to get main memory • FREEMAIN - to release the memory acquired by GETMAIN
Interval Control • ASKTIME • FORMATTIME • START • CANCEL
Interval Control Continues... • START can be used for starting a Transaction from a remote terminal. EXEC CICS START TRANSID (‘TA01’) [INTERVAL (hhmmss)/TIME (hhmmss)] [TERMID (terminal-no)] END-EXEC. • CANCEL command can be used to cancel the interval control commands given previously.
Interval Control Continues... FORMATTIME ABSTIME (data-value) [YYDDD (data-area)] [YYMMDD (data-area)] [YYDDMM (data-area)] [DDMMYY (data-area)] [MMDDYY (data-area)] [DATE (data-area)] [DATEFORM (data-area)] [DATESEP [(data-area)]] [YEAR (data-area)] [TIME (data-area) [TIMESEP [(data-area)]] ASKTIME [ABSTIME (data-area)]
Summary • What are the task control statements and what are they used for? • What is the difference between XCTL and LINK? • How is CALL different from XCTL and LINK? • Why is RETURN used? • What are the commands for Storage control? • How can we format the date and time from the system?