You are on page 1of 19

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
Copyright © 2005, Infosys Technologies Ltd 2 ER/CORP/CRS/TP01/003 Version No: 1.0

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

Copyright © 2005, Infosys Technologies Ltd

3

ER/CORP/CRS/TP01/003 Version No: 1.0

Program Control Commands
• • • • • • XCTL LINK RETURN ABEND LOAD RELEASE

Copyright © 2005, Infosys Technologies Ltd

4

ER/CORP/CRS/TP01/003 Version No: 1.0

Logic Levels
CICS PGM A LINK B RETURN PGM B XCTL C PGM C LINK D RETURN PGM D RETURN LEVEL 0

LEVEL 1

LEVEL 2

LEVEL 3

Copyright © 2005, Infosys Technologies Ltd

5

ER/CORP/CRS/TP01/003 Version No: 1.0

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.

Copyright © 2005, Infosys Technologies Ltd

6

ER/CORP/CRS/TP01/003 Version No: 1.0

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.

Copyright © 2005, Infosys Technologies Ltd

7

ER/CORP/CRS/TP01/003 Version No: 1.0

XCTL Vs LINK
• 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.

Copyright © 2005, Infosys Technologies Ltd

8

ER/CORP/CRS/TP01/003 Version No: 1.0

XCTL Vs LINK Continues...
• 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.

Copyright © 2005, Infosys Technologies Ltd

9

ER/CORP/CRS/TP01/003 Version No: 1.0

CALL Vs XCTL/LINK
• 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.

Copyright © 2005, Infosys 10 Technologies Ltd

ER/CORP/CRS/TP01/003 Version No: 1.0

CALL Vs XCTL/LINK Continues...
• 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.

Copyright © 2005, Infosys 11 Technologies Ltd

ER/CORP/CRS/TP01/003 Version No: 1.0

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.

Copyright © 2005, Infosys 12 Technologies Ltd

ER/CORP/CRS/TP01/003 Version No: 1.0

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.

Copyright © 2005, Infosys 13 Technologies Ltd

ER/CORP/CRS/TP01/003 Version No: 1.0

Storage Control

• GETMAIN - to get main memory • FREEMAIN - to release the memory acquired by GETMAIN

Copyright © 2005, Infosys 14 Technologies Ltd

ER/CORP/CRS/TP01/003 Version No: 1.0

Interval Control
• • • • ASKTIME FORMATTIME START CANCEL

Copyright © 2005, Infosys 15 Technologies Ltd

ER/CORP/CRS/TP01/003 Version No: 1.0

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.

Copyright © 2005, Infosys 16 Technologies Ltd

ER/CORP/CRS/TP01/003 Version No: 1.0

Interval Control Continues...
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)
Copyright © 2005, Infosys 17 Technologies Ltd ER/CORP/CRS/TP01/003 Version No: 1.0

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?
Copyright © 2005, Infosys 18 Technologies Ltd ER/CORP/CRS/TP01/003 Version No: 1.0

Thank You!
Copyright © 2005, Infosys 19 Technologies Ltd ER/CORP/CRS/TP01/003 Version No: 1.0