View previous topic :: View next topic
|
Author |
Message |
vbhat
New User
Joined: 29 Apr 2005 Posts: 38
|
|
|
|
How do you make your program pseudo-conversational?
by using return command we can achive this?
can you please give me the answer for the same
thanks
vbhat |
|
Back to top |
|
|
vasanthanc
New User
Joined: 01 Apr 2005 Posts: 58
|
|
|
|
CICS itself is pseudo conversational. CICS doesnt keep your program under execution all the time. It starts executing your program once you press any of the alert keys(enter / esc / function keys)
You also should write your program with the reactions for each alert key. For example, initially you will display input map and execution will stop. On Enter key you may validate the data entered and save if ok. On escape / PF3 exit. On some function key call some other program etc...
But evertime, on each alert key your program will do some thing and will come out of execution.
Because of this reason, you are not able to retain any values in variables in your program in CICS.
kindly let me know if anything wrong |
|
Back to top |
|
|
ankyhunk
Moderator
Joined: 05 May 2005 Posts: 98 Location: Navi Mumbai, India
|
|
|
|
Quote: |
You are not able to retain any values in variables in your program in CICS. |
For a program to be pseudo-conversational it should also support re-entrancy. This means the control should return to the program again as stated above. While it is true that data cannot be sustained in working storage section in such programs but u can transfer data through DFHCOMMAREA (Linkage Section) and Temporary Storage Queues. |
|
Back to top |
|
|
Deepa.m
New User
Joined: 28 Apr 2005 Posts: 99
|
|
|
|
By giving the tranid in the Return statement you can make it pseudoconversional thus making the control to enter the same program by specifying the tranid corresponding to that program.
EXEC CICS
RETURN
TRANSID('TN23')
COMMAREA(COMMAREA)
END-EXEC.
you should pass the commarea data too. |
|
Back to top |
|
|
jctgf Currently Banned Active User
Joined: 04 Nov 2006 Posts: 109
|
|
|
|
could some one pls provide a code example of a pseudo conversational program?
in a conversational program, after the send command i would place a receive command.
in a pseudo conversational one, which command would come after the send command?
thanks |
|
Back to top |
|
|
William Thompson
Global Moderator
Joined: 18 Nov 2006 Posts: 3156 Location: Tucson AZ
|
|
|
|
jctgf wrote: |
in a conversational program, after the send command i would place a receive command.
in a pseudo conversational one, which command would come after the send command? |
In a pseudo conversational program, after the send command, you would save any information you might need and return to CICS with either a next trans id pointed to you or the upper left-hand corner of the map you sent, your tranid (with the MDT on).
You can save info by specifying a commarea in the return, putting in a tctua or stashing it in a TS queue. |
|
Back to top |
|
|
UmeySan
Active Member
Joined: 22 Aug 2006 Posts: 771 Location: Germany
|
|
|
|
Hi !
After SEND-MAP, as Will told, save needed information in COMMAREA and
then RETURN to yourself. Then after the user filles out map and pressed ENTER, control comes back to your programm. So then you could issue
RECEIVE-MAP.
EXEC CICS RETURN
TRANSID('TranId')
COMMAREA(COMMAREA)
END-EXEC.
The correct difference between pseudo an non-pseudo conversational i pointed out on question befor in this CICS-Forum.
Regards, UmeySan |
|
Back to top |
|
|
|