View previous topic :: View next topic
|
Author |
Message |
Maddipatla Rajasekhar
New User
Joined: 10 Mar 2009 Posts: 16 Location: Hyderabad
|
|
|
|
Hello,
I have an issue as follows
I am passing the control from one program to another using LINK
In the LINKed (Called) program i have to send the map first to the user and after user enters the data i want to validate the data and then accordingly i want to get back to calling program
Here after sending the map i am using response code to bring the control back to beginning of the program for validation using return command
But here it is giving response code 16 (May be becasue i am using LINK to call this program)
Can anyone suggest, how should i acheive this, meaning LINK the program then send the map validate the user data in LINKed program and then pass the control back to Calling program
Note: I don't want to use XCTL for calling the program (Some other issues are there if i use XCTL)
Thanks in advance |
|
Back to top |
|
|
Bill O'Boyle
CICS Moderator
Joined: 14 Jan 2008 Posts: 2501 Location: Atlanta, Georgia, USA
|
|
|
|
An EIBRESP of 16 in an INVREQ. What is the value in EIBRESP2 as well as EIBRCODE?
In order for the user to enter screen data, you must terminate the task and return with a TRANSID, COMMAREA and COMMAREA-LENGTH.
This MUST be done by the root program, which is defined to the TRANSID in the PCT entry or optionally, a program which the root program transfers control and it issues the above return.
In any case, all of this must be issued at CICS Logical Level ZERO. You're attempting to issue this from Logical Level 1 or greater, which is invalid (INVREQ).
You CANNOT issue an above RETURN with a TRANSID (or anything else for that matter) from a sub-ordinate, non level zero, program.
That's just how it works....
Bill |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
Prog A links to Prog B.
prog B sends map, sets some kind of indicator in dfhcommarea so:
when user enters data and sends map from the terminal, which will invoke prog A,
prog a will know to link to prog B - so prog B can receive map and process.
CICS will always invoke Prog A. prog A must know (from flag in dfhcomm ?)
that it needs to link to B so B can process the map.
Besides the RETURN isssued by PROG B will return it to PGM A.
you need to learn how cics functions.
As Bill said, the pct controls everything.
and I think the only issues involved with XCTL vs LINK is your lack of knowledge. |
|
Back to top |
|
|
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
I echo Dick. XCTL has been around from before you were born (probably). Millions upon millions are performed daily. If there was a genuine "issue" someone else would have noticed as well.
That is the way CICS works, and it is for a reason. I have used a different terminal monitor, even. Works the same way, as far as returning/not returning to where it left or back up at the top and with a block of information which wings about with it which tells you what you need to know. |
|
Back to top |
|
|
|