Page 1 of 1

Query regarding pseudo conversation & COMMAREA

PostPosted: Fri Mar 23, 2012 5:47 pm
by sinmani
How can tell whether a program is pseudo conversational just by looking at it?
Any program which ends like
EXEC CICS RETURN
TRANSID (EIBTRNID)
COMMAREA (WS-COMMAREA)
LENGTH (1)
END-EXEC.
IS pseudo conversational??
Secondly we check EIBCALEN to check whether its first call of program or not.
If I do not pass any value in the COMMAREA then EIBCALEN will be 0 even on second call. Now how can we say the program is called for the first time or second time?

Re: Query regarding pseudo conversation & COMMAREA

PostPosted: Fri Mar 23, 2012 6:26 pm
by Robert Sample
If I do not pass any value in the COMMAREA then EIBCALEN will be 0 even on second call. Now how can we say the program is called for the first time or second time?
In order to know whether or not this is the first time through the program, you MUST set something that can so indicate. Depending upon various factors, that's usually a byte in DFHCOMMAREA, but it could be a TS queue flag, or a byte in a VSAM file, or even something in the TWA. However, unless you have something to check, your program cannot (easily) determine whether or not this is the first call or not.

A conversational program will have EXEC CICS SEND MAP and EXEC CICS RECEIVE MAP without a return to CICS. If there is no logic path through the program that allows this, then the program is pseudo conversational.

Re: Query regarding pseudo conversation & COMMAREA

PostPosted: Mon Mar 26, 2012 12:32 pm
by mongan
According to the code you posted you will have an EIBCALEN of 1 the second time the program is used, regardless if there is a usefull value in that field or not.

Re: Query regarding pseudo conversation & COMMAREA

PostPosted: Mon Mar 26, 2012 7:53 pm
by Monitor
The first time you enter the program, the EIBCALEN is 0: no Commarea has been given to the program. This is a normal way to know when you should do a Send Map and then a Return with Commarea, where you can specify Length or let the CICS translator decide, to tell that the next time you should Receive Map etc.