SlideShare a Scribd company logo
CICS – PROGRAM, INTERVAL AND
TASK CONTROL COMMANDS
Day2- Session5
Updated in Nov 2004
SESSION 5 : OBJECTIVESTo Understand the
Logical levels in CICS operation
LINK command
XCTL command
RETURN command
Static and Dynamic calls
Conversational modes
Errors in program control
Interval Control Commands
Task Control Commands
PROGRAM TO PROGRAM
TRANSITION
The programs within a task can execute at
different logical levels using the following
commands
CICS LINK
CICS XCTL
CICS RETURN
CICS CALL
LOGICAL LEVELS
CICS Sub SystemLEVEL 0
LEVEL 1
LEVEL 2
Program A
XCTL ‘Pgm B’
LINK C
RETURN
Program C
RETURN
Program B
RETURN
LINK’ING TO ANOTHER PROGRAM
PROGRAM A
PROGRAM C
PROCEDURE DIV.
LINK ... PGM C
PROCEDURE DIV.
.
.
.
.
.
.
RETURN
PASSING DATA USING LINK
PROG000A
PROG000C
WORKING STORAGE
WS-DATA
.
PROCEDURE ...
LINK PROG000C
COMMAREA(WS-DATA)
LINKAGE SECTION
DFHCOMMAREA
.
PROCEDURE ...
RETURN
LINK COMMAND
EXEC CICS LINK PROGRAM(pgm-name)
COMMAREA(comm-area)
LENGTH(length)
END-EXEC.
Example :
EXEC CICS LINK PROGRAM(‘PROG000C’)
COMMAREA(WS-DATA)
LENGTH(WS-DATA-LENGTH)
END-EXEC.
XCTL’ING TO ANOTHER
PROGRAM
PROGRAM A
PROGRAM B
PROCEDURE DIV.
XCTL ... PGM B
.
.
.
PROCEDURE DIV...
.
.
.
.
.
.
RETURN
CICS SYSTEM
PASSING DATA USING XCTL
PROG000A PROG000B
WORKING STORAGE
WS-DATA
.
PROCEDURE ...
XCTL PROG000B
COMMAREA(WS-DATA)
LINKAGE SECTION
DFHCOMMAREA
.
PROCEDURE ...
RETURN
CICS SYSTEM
XCTL COMMAND
EXEC CICS XCTL PROGRAM(pgmname)
COMMAREA(comm-area)
LENGTH(length)
END-EXEC.
Example:
EXEC CICS XCTL PROGRAM(‘PGMSAMP’)
COMMAREA(WS-COMMAREA)
LENGTH(WS-COMM-LENGTH)
END-EXEC.
RETURN COMMAND
EXEC CICS
RETURN
[TRANSID(next-id)]
[COMMAREA(comm-area)]
[LENGTH(length)]
END-EXEC.
EXEC CICS
RETURN
END-EXEC.
STATIC CALL
PROCEDURE DIVISION
.
.
.
CALL ‘PGM0002’
.
.
.
THE CALLER AND THE CALLED PROGRAM
MUST BE LINK-EDITED TOGETHER INTO
A SINGLE LOAD MODULE
PGM00001
DYNAMIC CALL
PROCEDURE DIVISION
.
MOVE ‘PGM0001’ TO WS-PGM.
.
CALL WS-PGM
.
.
.
THE CALLER AND THE CALLED
PROGRAM ARE LINK EDITED AS
SEPARATE LOAD MODULES
PGM00001
PASSING DATA IN CALL
PROG000A
PROG000C
LINKAGE SECTION
01 DFHEIBLK
....
01 DFHCOMMAREA
01 WS-DATA
.
PROCEDURE DIVISION USING DFHEIBLK DFHCOMMAREA
WS-DATA . ..
GOBACK
PROCEDURE DIV ...
CALL ‘ PROG000C’ USING DFHEIBLK DFHCOMMAREA WS-DATA
CONVERSATIONAL MODES
• NON-CONVERSATIONAL
• CONVERSATIONAL
• PSEUDO CONVERSATIONAL
NON-CONVERSATIONAL
TRANSACTION
• Does not involve any user interaction (e.g. all
Batch programs)
• Transaction has to be initiated by special ways
•Automatic task initiation
•Using START command from another
transaction
CONVERSATIONAL
TRANSACTIONProgram converses with the user using SEND
and RECEIVE command pair
The program waits and resources held until
the user responds
Applications written in conversational mode are
very inefficient.
PSEUDO-CONVERSATIONAL
TRANSACTION
Program terminates after sending a message with a
pointer to the next task.
Resources are freed while waiting for the user’s
response
More efficient than the Conversational approach.
When the user completes the response, the next
task is automatically initiated by CICS.
PSEUDO CONVERSATIONAL MODE:
METHOD 1
TXN1 PGM00001
TXN2 PGM00002
PGM00001
SEND MAP .....
....
RETURN
TRANSID(‘TXN2’)
PGM00002
RECEIVE
MAP .....
.....
SEND
RETURN
PCT ENTRIES
PSEUDO CONVERSATIONAL MODE:
METHOD 2
TXN1 PGM00001
PGM00001 PARA- A
SEND MAP .....
....
RETURN
TRANSID(‘TXN1’)
COMMAREA(WS-DATA)
RECEIVE MAP .....
..…
SEND MAP ...
RETURN
TRANSID(‘TXN1’)
COMMAREA(WS-COMM-AREA)
PCT ENTRIES
PGM00001 PARA- B
IF EIBCALEN = 0
PERFORM PARA-A
ELSE
PERFORM PARA-B
Zero for 1st
time entry into pgm
ERRORS CONDITIONS IN PROGRAM
CONTROL COMMANDS
• INVREQ
• LENGERR
• NOAUTH
• PGMIDERR
INTERVAL CONTROL -
COMMANDSASKTIME
FORMATTIME
DELAY
START
RETRIEVE
CANCEL
ASKTIME - SYNTAX
To request current date and time.
EXEC CICS
ASKTIME[ABSTIME(data_area)]
END-EXEC
FORMATTIME - SYNTAX
EXEC CICS FORMATTIME
ABSTIME(data-area)
[YYDDD(data-area)]
[YYMMDD(data-area)]
[YYDDMM(data-area)]
[DDMMYY(data-area)]
[MMDDYY(data-area)]
[DATASEP(data-value)]
[DAYOFWEEK(data-area)]
[DAYOFMONTH(data-area)]
[MONTHOFYEAR(data-area)]
[YEAR(data-area)]
[TIME(data-area)
[TIMESEP(data-value)]]
END-EXEC.
FORMATTIME - EXAMPLE
WORKING STORAGE SECTION.
77 WS-ABS-DATE PIC S9(15)
COMP-3
01 WS-DATE.
05 WS-D-MM PIC 99.
05 FILLER PIC X.
05 WS-D-DD PIC 99.
05 FILLER PIC X.
05 WS-D-YY PIC 99.
01 WS-TIME.
05 WS-T-HH PIC 99.
05 FILLER PIC X.
05 WS-T-MM PIC 99.
05 FILLER PIC X.
05 WS-T-SS PIC 99.
PROCEDURE DIVISION.
EXEC CICS ASKTIME
ABSTIME(WS-ABS-DATE)
END-EXEC.
EXEC CICS FORMATTIME
ABSTIME(WS-ABS-DATE)
MMDDYY(WS-DATE)
DATESEP(‘-’)
TIME(WS-TIME)
TIMESEP(:)
END-EXEC.
Result :
WS-DATE : 08-28-97
WS-TIME : 12:23:37
DELAY COMMAND
To delay a task for the specified time interval or
until the specific time
EXEC CICS DELAY
INTERVAL(data-value) | TIME (data-value)
END-EXEC
Example 1: Example 2 :
EXEC CICS DELAY EXEC CICS DELAY
INTERVAL(001500) TIME(163000)
END-EXEC. END-EXEC.
ASYNCHRONOUS TRANSACTION
STARTING - START COMMAND
To initiate a transaction from current task.
EXEC CICS START
TRANSID(data-value)
[TIME(hhmmss) | INTERVAL (hhmmss)]
[AFTER [HOURS(hh)] [MINUTES(mm)] [SECONDS(ss)] |
AT [HOURS(hh)] [MINUTES(mm)] [SECONDS(ss)]]
[TERMID(data-value)]
[FROM(data-area)]
[LENGTH(data-value)]
[REQID(NAME)]
END-EXEC
RETRIEVE COMMAND
To retrieve data passed by a task issuing a START
transaction
EXEC CICS RETRIEVE
INTO (data-area)
LENGTH(data-value)
END-EXEC.
Example :
EXEC CICS RETRIEVE
INTO (WS-DATA)
LENGTH(100)
END-EXEC.
START & RETRIEVE : EXAMPLE
WORKING STORAGE.
77 WS-DATA PIC X(100).
PROCEDURE DIVISION.
....
Update data in WS-DATA.
EXEC CICS START
TRANSID(‘TRN2’)
FROM(WS-DATA)
LENGTH(100)
END-EXEC.
....
WORKING STORAGE.
77 WS-IN-DATA PIC X(100).
PROCEDURE DIVISION.
....
EXEC CICS RETRIEVE
INTO (WS-IN-DATA)
LENGTH(100)
END-EXEC.
....
PROG001 PROG002
TRN1 PROG001
TRN2 PROG002
PCT
CANCEL COMMAND
To Cancel a previously issued START
command
Transaction to be cancelled identified by
REQID
Cannot be cancelled if the transaction had
already started.
EXEC CICS CANCEL
REQID(data-value)
END-EXEC
Example :
EXEC CICS START
TRNSID(‘TRN1’)
REQID(‘START1’)
TIME (084000)
END-EXEC.
....
EXEC CICS CANCEL
REQID(‘START1’)
END-EXEC
TASK CONTROL COMMANDSSUSPENDCommand
Task suspended and control given to other tasks
with higher priority
Control returns back to the suspended task once
other tasks are executed
Similar to the DELAY Command
EXEC CICS SUSPEND
END-EXEC.
ENQ AND DEQ COMMANDSENQ Command
To gain exclusive control over a resource
EXEC CICS ENQ
RESOURCE(resource-id)
END-EXEC.
DEQ Command
To free the exclusive control from a resource
EXEC CICS DEQ
RESOURCE(resource-id)
END-EXEC.
SESSION 5 : SUMMARY
Logicallevels inCICSoperation
PassingdatausingLINK
PassingdatausingXCTL
RETURN command
Static andDynamic calls - PassingdatainaCall
Pseudo-conversational mode- Examples
Errors inprogramcontrol
IntervalControlCommands
TaskControlCommands

More Related Content

What's hot (20)

PPTX
JCL UTILITIES IEBCOPY
janaki ram
 
PPT
An Hour of DB2 Tips
Craig Mullins
 
DOC
DB2 utilities
Udayakumar Suseendran
 
PDF
Jcl
shivas
 
PPTX
DB2 on Mainframe
Skillwise Group
 
DOC
Teknik kompilasi
Muhammad Saparizan
 
PPT
DB2 Interview Questions - Part 1
ReKruiTIn.com
 
PDF
IBM DB2 for z/OS Administration Basics
IBM
 
DOC
Jcl interview questions
ganjigirish
 
PPT
Sistem bus
Afdan Rojabi
 
PDF
Cics tutorial
HarikaReddy115
 
PDF
Db2 performance tuning for dummies
Angel Dueñas Neyra
 
PPTX
Mantenimiento de impresoras sena 2017
Gabriela Albarracin
 
PDF
Kumpulan perintah command prompt
Fakhri Cool
 
PPTX
20 DFSORT Tricks For Zos Users - Interview Questions
Srinimf-Slides
 
PDF
Mainframe IPL Process.pdf
ssuseraa0df4
 
DOCX
Tugas topologi jaringan
Fandi Rahmat
 
DOCX
Cobol interview-questions
SreenivasaRao Bathula
 
PDF
Mainframe refresher-part-1
vishwas17
 
JCL UTILITIES IEBCOPY
janaki ram
 
An Hour of DB2 Tips
Craig Mullins
 
DB2 utilities
Udayakumar Suseendran
 
Jcl
shivas
 
DB2 on Mainframe
Skillwise Group
 
Teknik kompilasi
Muhammad Saparizan
 
DB2 Interview Questions - Part 1
ReKruiTIn.com
 
IBM DB2 for z/OS Administration Basics
IBM
 
Jcl interview questions
ganjigirish
 
Sistem bus
Afdan Rojabi
 
Cics tutorial
HarikaReddy115
 
Db2 performance tuning for dummies
Angel Dueñas Neyra
 
Mantenimiento de impresoras sena 2017
Gabriela Albarracin
 
Kumpulan perintah command prompt
Fakhri Cool
 
20 DFSORT Tricks For Zos Users - Interview Questions
Srinimf-Slides
 
Mainframe IPL Process.pdf
ssuseraa0df4
 
Tugas topologi jaringan
Fandi Rahmat
 
Cobol interview-questions
SreenivasaRao Bathula
 
Mainframe refresher-part-1
vishwas17
 

Similar to Cics program, interval and task control commands-session 5 (20)

PPTX
Skillwise cics part 1
Skillwise Group
 
DOC
Cics faqs
kapa rohit
 
PPT
cics day7.pptvvcxdsfsgssdsdgdsgsdsddsgsggsdggs
solomonrajuRD
 
PPT
SDNSADNASDSANDSJADNJSADNJSADNSASASASAD SAD AS DSASASDSS
solomonrajuRD
 
PPT
ASDSADSADSADSADSAFFFSASASAFSAFSAFAASSSFFASASFFFS
solomonrajuRD
 
PPT
Cics application programming - session 2
Srinimf-Slides
 
PPT
cics day6.pptccxzcxzcxzcxzxzxcxzvcsacfffdfafasfafasffsafasfsa
solomonrajuRD
 
PDF
CICS and Java - Within Business Critical Mainframe Environments - Tobias Leicher
mfrancis
 
PPTX
2844 inter connect cics policy (2844)
nick_garrod
 
PPTX
2844 CICS Policy Based Management – There’s a new sheriff in town
nick_garrod
 
PPT
Cics testing and debugging-session 7
Srinimf-Slides
 
PPT
MAINFRAME IBM/ IMS Information managerment System
WILSON990330
 
PPT
CICS error and exception handling-recovery and restart-session 6
Srinimf-Slides
 
PDF
Meeting 5.1 : telnet
Syaiful Ahdan
 
PPTX
SCSI Protocol
Rakesh T
 
ODP
SHARE 2014, Pittsburgh CICS scalability
nick_garrod
 
ODP
SHARE 2014, Pittsburgh CICS scalability
nick_garrod
 
PPTX
Share cics policy (2844)
nick_garrod
 
PPT
dsfdsfdsfdsdqiasunuiqdnqoiwdoqwioqoiwdsdsfdsfdsfds
solomonrajuRD
 
PPT
SAHBIASBASBASASDASDSADSADfdgfdfdgdfgfdgdfgdfgfgd
solomonrajuRD
 
Skillwise cics part 1
Skillwise Group
 
Cics faqs
kapa rohit
 
cics day7.pptvvcxdsfsgssdsdgdsgsdsddsgsggsdggs
solomonrajuRD
 
SDNSADNASDSANDSJADNJSADNJSADNSASASASAD SAD AS DSASASDSS
solomonrajuRD
 
ASDSADSADSADSADSAFFFSASASAFSAFSAFAASSSFFASASFFFS
solomonrajuRD
 
Cics application programming - session 2
Srinimf-Slides
 
cics day6.pptccxzcxzcxzcxzxzxcxzvcsacfffdfafasfafasffsafasfsa
solomonrajuRD
 
CICS and Java - Within Business Critical Mainframe Environments - Tobias Leicher
mfrancis
 
2844 inter connect cics policy (2844)
nick_garrod
 
2844 CICS Policy Based Management – There’s a new sheriff in town
nick_garrod
 
Cics testing and debugging-session 7
Srinimf-Slides
 
MAINFRAME IBM/ IMS Information managerment System
WILSON990330
 
CICS error and exception handling-recovery and restart-session 6
Srinimf-Slides
 
Meeting 5.1 : telnet
Syaiful Ahdan
 
SCSI Protocol
Rakesh T
 
SHARE 2014, Pittsburgh CICS scalability
nick_garrod
 
SHARE 2014, Pittsburgh CICS scalability
nick_garrod
 
Share cics policy (2844)
nick_garrod
 
dsfdsfdsfdsdqiasunuiqdnqoiwdoqwioqoiwdsdsfdsfdsfds
solomonrajuRD
 
SAHBIASBASBASASDASDSADSADfdgfdfdgdfgfdgdfgdfgfgd
solomonrajuRD
 
Ad

More from Srinimf-Slides (20)

PPTX
software-life-cycle.pptx
Srinimf-Slides
 
PDF
Python Tutorial Questions part-1
Srinimf-Slides
 
PPT
Cics data access-session 4
Srinimf-Slides
 
PPT
CICS basic mapping support - session 3
Srinimf-Slides
 
PPTX
100 sql queries
Srinimf-Slides
 
PDF
The best Teradata RDBMS introduction a quick refresher
Srinimf-Slides
 
PDF
The best ETL questions in a nut shell
Srinimf-Slides
 
PDF
IMS DC Self Study Complete Tutorial
Srinimf-Slides
 
PPT
How To Master PACBASE For Mainframe In Only Seven Days
Srinimf-Slides
 
PPT
Assembler Language Tutorial for Mainframe Programmers
Srinimf-Slides
 
PPT
The Easytrieve Presention by Srinimf
Srinimf-Slides
 
PPTX
Writing command macro in stratus cobol
Srinimf-Slides
 
PPT
PLI Presentation for Mainframe Programmers
Srinimf-Slides
 
PPTX
PL/SQL Interview Questions
Srinimf-Slides
 
PPTX
Macro teradata
Srinimf-Slides
 
PPTX
DB2-SQL Part-2
Srinimf-Slides
 
PPTX
DB2 SQL-Part-1
Srinimf-Slides
 
PDF
Teradata - Utilities
Srinimf-Slides
 
PPT
Oracle PLSQL Step By Step Guide
Srinimf-Slides
 
PPTX
Hirarchical vs RDBMS
Srinimf-Slides
 
software-life-cycle.pptx
Srinimf-Slides
 
Python Tutorial Questions part-1
Srinimf-Slides
 
Cics data access-session 4
Srinimf-Slides
 
CICS basic mapping support - session 3
Srinimf-Slides
 
100 sql queries
Srinimf-Slides
 
The best Teradata RDBMS introduction a quick refresher
Srinimf-Slides
 
The best ETL questions in a nut shell
Srinimf-Slides
 
IMS DC Self Study Complete Tutorial
Srinimf-Slides
 
How To Master PACBASE For Mainframe In Only Seven Days
Srinimf-Slides
 
Assembler Language Tutorial for Mainframe Programmers
Srinimf-Slides
 
The Easytrieve Presention by Srinimf
Srinimf-Slides
 
Writing command macro in stratus cobol
Srinimf-Slides
 
PLI Presentation for Mainframe Programmers
Srinimf-Slides
 
PL/SQL Interview Questions
Srinimf-Slides
 
Macro teradata
Srinimf-Slides
 
DB2-SQL Part-2
Srinimf-Slides
 
DB2 SQL-Part-1
Srinimf-Slides
 
Teradata - Utilities
Srinimf-Slides
 
Oracle PLSQL Step By Step Guide
Srinimf-Slides
 
Hirarchical vs RDBMS
Srinimf-Slides
 
Ad

Recently uploaded (20)

PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PDF
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
PDF
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
PDF
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Advancing WebDriver BiDi support in WebKit
Igalia
 
PDF
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
PPTX
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
PDF
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
PPTX
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
PDF
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
LOOPS in C Programming Language - Technology
RishabhDwivedi43
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
Empower Inclusion Through Accessible Java Applications
Ana-Maria Mihalceanu
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
The Rise of AI and IoT in Mobile App Tech.pdf
IMG Global Infotech
 
How Startups Are Growing Faster with App Developers in Australia.pdf
India App Developer
 
Transcript: New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Advancing WebDriver BiDi support in WebKit
Igalia
 
Go Concurrency Real-World Patterns, Pitfalls, and Playground Battles.pdf
Emily Achieng
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Bitcoin for Millennials podcast with Bram, Power Laws of Bitcoin
Stephen Perrenod
 
Future Tech Innovations 2025 – A TechLists Insight
TechLists
 
What Makes Contify’s News API Stand Out: Key Features at a Glance
Contify
 
AUTOMATION AND ROBOTICS IN PHARMA INDUSTRY.pptx
sameeraaabegumm
 
"AI Transformation: Directions and Challenges", Pavlo Shaternik
Fwdays
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 

Cics program, interval and task control commands-session 5

  • 1. CICS – PROGRAM, INTERVAL AND TASK CONTROL COMMANDS Day2- Session5 Updated in Nov 2004
  • 2. SESSION 5 : OBJECTIVESTo Understand the Logical levels in CICS operation LINK command XCTL command RETURN command Static and Dynamic calls Conversational modes Errors in program control Interval Control Commands Task Control Commands
  • 3. PROGRAM TO PROGRAM TRANSITION The programs within a task can execute at different logical levels using the following commands CICS LINK CICS XCTL CICS RETURN CICS CALL
  • 4. LOGICAL LEVELS CICS Sub SystemLEVEL 0 LEVEL 1 LEVEL 2 Program A XCTL ‘Pgm B’ LINK C RETURN Program C RETURN Program B RETURN
  • 5. LINK’ING TO ANOTHER PROGRAM PROGRAM A PROGRAM C PROCEDURE DIV. LINK ... PGM C PROCEDURE DIV. . . . . . . RETURN
  • 6. PASSING DATA USING LINK PROG000A PROG000C WORKING STORAGE WS-DATA . PROCEDURE ... LINK PROG000C COMMAREA(WS-DATA) LINKAGE SECTION DFHCOMMAREA . PROCEDURE ... RETURN
  • 7. LINK COMMAND EXEC CICS LINK PROGRAM(pgm-name) COMMAREA(comm-area) LENGTH(length) END-EXEC. Example : EXEC CICS LINK PROGRAM(‘PROG000C’) COMMAREA(WS-DATA) LENGTH(WS-DATA-LENGTH) END-EXEC.
  • 8. XCTL’ING TO ANOTHER PROGRAM PROGRAM A PROGRAM B PROCEDURE DIV. XCTL ... PGM B . . . PROCEDURE DIV... . . . . . . RETURN CICS SYSTEM
  • 9. PASSING DATA USING XCTL PROG000A PROG000B WORKING STORAGE WS-DATA . PROCEDURE ... XCTL PROG000B COMMAREA(WS-DATA) LINKAGE SECTION DFHCOMMAREA . PROCEDURE ... RETURN CICS SYSTEM
  • 10. XCTL COMMAND EXEC CICS XCTL PROGRAM(pgmname) COMMAREA(comm-area) LENGTH(length) END-EXEC. Example: EXEC CICS XCTL PROGRAM(‘PGMSAMP’) COMMAREA(WS-COMMAREA) LENGTH(WS-COMM-LENGTH) END-EXEC.
  • 12. STATIC CALL PROCEDURE DIVISION . . . CALL ‘PGM0002’ . . . THE CALLER AND THE CALLED PROGRAM MUST BE LINK-EDITED TOGETHER INTO A SINGLE LOAD MODULE PGM00001
  • 13. DYNAMIC CALL PROCEDURE DIVISION . MOVE ‘PGM0001’ TO WS-PGM. . CALL WS-PGM . . . THE CALLER AND THE CALLED PROGRAM ARE LINK EDITED AS SEPARATE LOAD MODULES PGM00001
  • 14. PASSING DATA IN CALL PROG000A PROG000C LINKAGE SECTION 01 DFHEIBLK .... 01 DFHCOMMAREA 01 WS-DATA . PROCEDURE DIVISION USING DFHEIBLK DFHCOMMAREA WS-DATA . .. GOBACK PROCEDURE DIV ... CALL ‘ PROG000C’ USING DFHEIBLK DFHCOMMAREA WS-DATA
  • 15. CONVERSATIONAL MODES • NON-CONVERSATIONAL • CONVERSATIONAL • PSEUDO CONVERSATIONAL
  • 16. NON-CONVERSATIONAL TRANSACTION • Does not involve any user interaction (e.g. all Batch programs) • Transaction has to be initiated by special ways •Automatic task initiation •Using START command from another transaction
  • 17. CONVERSATIONAL TRANSACTIONProgram converses with the user using SEND and RECEIVE command pair The program waits and resources held until the user responds Applications written in conversational mode are very inefficient.
  • 18. PSEUDO-CONVERSATIONAL TRANSACTION Program terminates after sending a message with a pointer to the next task. Resources are freed while waiting for the user’s response More efficient than the Conversational approach. When the user completes the response, the next task is automatically initiated by CICS.
  • 19. PSEUDO CONVERSATIONAL MODE: METHOD 1 TXN1 PGM00001 TXN2 PGM00002 PGM00001 SEND MAP ..... .... RETURN TRANSID(‘TXN2’) PGM00002 RECEIVE MAP ..... ..... SEND RETURN PCT ENTRIES
  • 20. PSEUDO CONVERSATIONAL MODE: METHOD 2 TXN1 PGM00001 PGM00001 PARA- A SEND MAP ..... .... RETURN TRANSID(‘TXN1’) COMMAREA(WS-DATA) RECEIVE MAP ..... ..… SEND MAP ... RETURN TRANSID(‘TXN1’) COMMAREA(WS-COMM-AREA) PCT ENTRIES PGM00001 PARA- B IF EIBCALEN = 0 PERFORM PARA-A ELSE PERFORM PARA-B Zero for 1st time entry into pgm
  • 21. ERRORS CONDITIONS IN PROGRAM CONTROL COMMANDS • INVREQ • LENGERR • NOAUTH • PGMIDERR
  • 23. ASKTIME - SYNTAX To request current date and time. EXEC CICS ASKTIME[ABSTIME(data_area)] END-EXEC
  • 24. FORMATTIME - SYNTAX EXEC CICS FORMATTIME ABSTIME(data-area) [YYDDD(data-area)] [YYMMDD(data-area)] [YYDDMM(data-area)] [DDMMYY(data-area)] [MMDDYY(data-area)] [DATASEP(data-value)] [DAYOFWEEK(data-area)] [DAYOFMONTH(data-area)] [MONTHOFYEAR(data-area)] [YEAR(data-area)] [TIME(data-area) [TIMESEP(data-value)]] END-EXEC.
  • 25. FORMATTIME - EXAMPLE WORKING STORAGE SECTION. 77 WS-ABS-DATE PIC S9(15) COMP-3 01 WS-DATE. 05 WS-D-MM PIC 99. 05 FILLER PIC X. 05 WS-D-DD PIC 99. 05 FILLER PIC X. 05 WS-D-YY PIC 99. 01 WS-TIME. 05 WS-T-HH PIC 99. 05 FILLER PIC X. 05 WS-T-MM PIC 99. 05 FILLER PIC X. 05 WS-T-SS PIC 99. PROCEDURE DIVISION. EXEC CICS ASKTIME ABSTIME(WS-ABS-DATE) END-EXEC. EXEC CICS FORMATTIME ABSTIME(WS-ABS-DATE) MMDDYY(WS-DATE) DATESEP(‘-’) TIME(WS-TIME) TIMESEP(:) END-EXEC. Result : WS-DATE : 08-28-97 WS-TIME : 12:23:37
  • 26. DELAY COMMAND To delay a task for the specified time interval or until the specific time EXEC CICS DELAY INTERVAL(data-value) | TIME (data-value) END-EXEC Example 1: Example 2 : EXEC CICS DELAY EXEC CICS DELAY INTERVAL(001500) TIME(163000) END-EXEC. END-EXEC.
  • 27. ASYNCHRONOUS TRANSACTION STARTING - START COMMAND To initiate a transaction from current task. EXEC CICS START TRANSID(data-value) [TIME(hhmmss) | INTERVAL (hhmmss)] [AFTER [HOURS(hh)] [MINUTES(mm)] [SECONDS(ss)] | AT [HOURS(hh)] [MINUTES(mm)] [SECONDS(ss)]] [TERMID(data-value)] [FROM(data-area)] [LENGTH(data-value)] [REQID(NAME)] END-EXEC
  • 28. RETRIEVE COMMAND To retrieve data passed by a task issuing a START transaction EXEC CICS RETRIEVE INTO (data-area) LENGTH(data-value) END-EXEC. Example : EXEC CICS RETRIEVE INTO (WS-DATA) LENGTH(100) END-EXEC.
  • 29. START & RETRIEVE : EXAMPLE WORKING STORAGE. 77 WS-DATA PIC X(100). PROCEDURE DIVISION. .... Update data in WS-DATA. EXEC CICS START TRANSID(‘TRN2’) FROM(WS-DATA) LENGTH(100) END-EXEC. .... WORKING STORAGE. 77 WS-IN-DATA PIC X(100). PROCEDURE DIVISION. .... EXEC CICS RETRIEVE INTO (WS-IN-DATA) LENGTH(100) END-EXEC. .... PROG001 PROG002 TRN1 PROG001 TRN2 PROG002 PCT
  • 30. CANCEL COMMAND To Cancel a previously issued START command Transaction to be cancelled identified by REQID Cannot be cancelled if the transaction had already started. EXEC CICS CANCEL REQID(data-value) END-EXEC Example : EXEC CICS START TRNSID(‘TRN1’) REQID(‘START1’) TIME (084000) END-EXEC. .... EXEC CICS CANCEL REQID(‘START1’) END-EXEC
  • 31. TASK CONTROL COMMANDSSUSPENDCommand Task suspended and control given to other tasks with higher priority Control returns back to the suspended task once other tasks are executed Similar to the DELAY Command EXEC CICS SUSPEND END-EXEC.
  • 32. ENQ AND DEQ COMMANDSENQ Command To gain exclusive control over a resource EXEC CICS ENQ RESOURCE(resource-id) END-EXEC. DEQ Command To free the exclusive control from a resource EXEC CICS DEQ RESOURCE(resource-id) END-EXEC.
  • 33. SESSION 5 : SUMMARY Logicallevels inCICSoperation PassingdatausingLINK PassingdatausingXCTL RETURN command Static andDynamic calls - PassingdatainaCall Pseudo-conversational mode- Examples Errors inprogramcontrol IntervalControlCommands TaskControlCommands