IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

DFHCOMMAREA not being passed.


IBM Mainframe Forums -> CICS
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
awkksgovus

New User


Joined: 22 Jan 2010
Posts: 14
Location: Topeka, KS

PostPosted: Fri Jan 22, 2010 10:55 pm
Reply with quote

In short we have this sitituation.

Main PGMA calls PGMB
PGMB (Doesn't use DFHCOMMAREA) returns to PGMA
PGMA calls PGMB (second time)
PGMB returns to PGMA
PGMA calls PGMC (uses commarea) DFHCOMMAREA (working storeage area) is correct before the call
PGMC is invoked - DFHCOMMAREA - does not contain any information that looks like it came from PGMA

The call to PGMC from PGMA looks like this:
EXEC CICS LINK
PROGRAM (PGMC)
COMMAREA (WS-PGMA-DATA)
LENGTH (WS-MAX-LENGTH)
END-EXEC.

It seems from CEDF that the variables for PGMC for COMMAREA and LENGTH is somehow trashed. Via Intertest - Intertest shows data in COMMAREA and LENGTH before the call.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Fri Jan 22, 2010 11:15 pm
Reply with quote

Quote:
PGMA calls PGMC (uses commarea) DFHCOMMAREA (working storeage area) is correct before the call
PGMC is invoked - DFHCOMMAREA - does not contain any information that looks like it came from PGMA
It seems from CEDF that the variables for PGMC for COMMAREA and LENGTH is somehow trashed.
Personally, I've never heard of communications areas being trashed except by application programmer illogic, but let's start out right with this one.

You use the term DFHCOMMAREA very loosely here. When you say PGMA DFHCOMMAREA is correct before the call, you are referring to WS-PGMA-DATa, right?

What is the definition for WS-MAX-LENGTH? What is the value of WS-MAX-LENGTH? How long is WS-PGMA-DATA?

You are looking at the LINKAGE SECTION variable for DFHCOMMAREA in PGMC when you say it does not contain any information from PGMA?

When you say "from CEDF that the variables for PGMC for COMMAREA and LENGTH is (sic) somehow trashed" -- what do you mean? Is this when CEDF stops on the EXEC CICS LINK, or when PGMC is invoked in its initial state, or when? What are the specific "trash" values?
Back to top
View user's profile Send private message
awkksgovus

New User


Joined: 22 Jan 2010
Posts: 14
Location: Topeka, KS

PostPosted: Fri Jan 22, 2010 11:57 pm
Reply with quote

Quote:
You use the term DFHCOMMAREA very loosely here. When you say PGMA DFHCOMMAREA is correct before the call, you are referring to WS-PGMA-DATA, right?
Yes – not really loose as you pass working storage information from PGMA into the DFHCOMMAREA of PGMC.

Quote:
What is the definition for WS-MAX-LENGTH?
PIC S9(5) COMP VALUE +12000.

Quote:
How long is WS-PGMA-DATA?
+12000

Quote:
You are looking at the LINKAGE SECTION variable for DFHCOMMAREA in PGMC when you say it does not contain any information from PGMA?
Correct

Trashed - as in Intertest sees the values (of WS-PGMA-DATA and WS-MAX-LENGTH) before the LINK if you display the value in Intertest. CEDF does not see any value before the LINK.

CEDF:
STATUS: ABOUT TO EXECUTE COMMAND
EXEC CICS LINK PROGRAM
PROGRAM ('PGMC')
COMMAREA ('')
LENGTH (0)

That is what I call trashed from CEDF's view. As Intertest and CEDF have different versions from each other.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Sat Jan 23, 2010 12:08 am
Reply with quote

You should contact CA and IBM about this. There may be some interaction between CEDF and Intertest causing a problem.

I suggest you try commenting out the calls to PGMB and see if the same issue occurs, but as long as WS-PGMA-DATA is in the WORKING-STORAGE section of PGMA there should be addressability to the data. If commenting out the calls and going straight to the LINK to PGMC gives the same results, you definitely need to contact CA and IBM.
Back to top
View user's profile Send private message
awkksgovus

New User


Joined: 22 Jan 2010
Posts: 14
Location: Topeka, KS

PostPosted: Sat Jan 23, 2010 12:20 am
Reply with quote

Nice idea, it might come to that of contacting either or both CA and IBM. I've chatted some with our systems programmer before I posted here. He was the one that pointed out the differences with CEDF and Intertest.

I'll dig a little more.

Some of the additional background is that we have one program that acts almost the same way from the same menu program(PGMA). However there are about a half dozen programs that are driven by the same menu program that seem to work just fine.
Back to top
View user's profile Send private message
Ronald Burr

Active User


Joined: 22 Oct 2009
Posts: 293
Location: U.S.A.

PostPosted: Sat Jan 23, 2010 2:19 am
Reply with quote

The LENGTH operand of the LINK command must point to a binary HALFWORD ( i.e., a 2-byte COMP field ) NOT a FULLWORD ( i.e., a 4-byte COMP field ). Hence, your COBOL definition must be S9(4) COMP-5, not S9(5) COMP.
If you pass a 4-byte COMP field ( i.e. S9(5) COMP ), CICS only looks at the first halfword ( 2 bytes ) of the fullword, which will always be x'0000' ( zero ) for any positive value less than 65536.
Back to top
View user's profile Send private message
awkksgovus

New User


Joined: 22 Jan 2010
Posts: 14
Location: Topeka, KS

PostPosted: Sat Jan 23, 2010 3:07 am
Reply with quote

The S9(4) COMP-5 worked.

As did the hard coding of;

EXEC CICS LINK
PROGRAM (PGMC)
COMMAREA (WS-PGMA-DATA)
LENGTH (+12000)
END-EXEC

Thanks Ronald icon_exclaim.gif
Back to top
View user's profile Send private message
Ronald Burr

Active User


Joined: 22 Oct 2009
Posts: 293
Location: U.S.A.

PostPosted: Sat Jan 23, 2010 3:33 am
Reply with quote

You're more than welcome.
Glad to hear it's now working. icon_smile.gif
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Sat Jan 23, 2010 5:08 am
Reply with quote

Good catch Ronald!
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CICS

 


Similar Topics
Topic Forum Replies
No new posts DB2 Event passed to the Application P... DB2 1
This topic is locked: you cannot edit posts or make replies. PS file data should be passed as symb... JCL & VSAM 15
No new posts DFHCOMMAREA addressing CICS 4
No new posts Data passing using DFHCOMMAREA CICS 2
No new posts Data not getting passed from sub pgm ... CICS 32
Search our Forums:

Back to Top