View previous topic :: View next topic |
Author |
Message |
MFdigger Beginner
Joined: 09 Sep 2005 Posts: 124 Topics: 52 Location: Chicago
|
|
Back to top |
|
 |
kolusu Site Admin

Joined: 26 Nov 2002 Posts: 12378 Topics: 75 Location: San Jose
|
Posted: Tue Mar 31, 2009 10:58 am Post subject: |
|
|
MFdigger,
You need to have the CICS libraries concatenated to your steplib in step 3. The set up varies from shop to shop , so it would be better if you ask your colleagues about this
Kolusu |
|
Back to top |
|
 |
MFdigger Beginner
Joined: 09 Sep 2005 Posts: 124 Topics: 52 Location: Chicago
|
Posted: Wed Apr 01, 2009 11:55 am Post subject: |
|
|
Hi Kolusu,
Thank you for your response. When I run the same JCL for a small test program with EXEC CICS commands its working perfectly fine but I'm not sure why its showing up this message when I'm trying to compile the clients code.
Its showing the error message exactly at the first 'EXEC CICS' Statement.
Any ideas on this?
Thank you
 _________________ Tx
Digger |
|
Back to top |
|
 |
kolusu Site Admin

Joined: 26 Nov 2002 Posts: 12378 Topics: 75 Location: San Jose
|
Posted: Wed Apr 01, 2009 12:25 pm Post subject: |
|
|
MFdigger,
Just a wild guess , did the first EXEC CICS statement which resulted in error is a part of a COPY BOOK?
Kolusu |
|
Back to top |
|
 |
MFdigger Beginner
Joined: 09 Sep 2005 Posts: 124 Topics: 52 Location: Chicago
|
Posted: Wed Apr 01, 2009 12:42 pm Post subject: |
|
|
Hi Kolusu
Thats exactly correct, its in a copybook.
Thank you _________________ Tx
Digger |
|
Back to top |
|
 |
dbzTHEdinosauer Supermod
Joined: 20 Oct 2006 Posts: 1411 Topics: 26 Location: germany
|
Posted: Wed Apr 01, 2009 12:56 pm Post subject: |
|
|
and you used COPY to expand the copybook?
if so, COPY is a compiler directive.
use INCLUDE so that the db2 pre-compiler will expand the copybook for the SQL conversion. _________________ Dick Brenholtz
American living in Varel, Germany |
|
Back to top |
|
 |
kolusu Site Admin

Joined: 26 Nov 2002 Posts: 12378 Topics: 75 Location: San Jose
|
Posted: Wed Apr 01, 2009 1:18 pm Post subject: |
|
|
MFdigger,
I am guessing that you are running ENTERPRISE COBOL compiler along with Pre-compiler step. The pre-compiler does not convert EXEC CICS commands inside copybooks. Therefore, the COBOL compiler is seeing EXEC CICS when it expands the copybooks.
To resolve this you need to specify the compiler option CICS on the complie. Add this line before the ID division.
Make sure that SYSLIB dd has the pds name where EXEC CICS reside
Kolusu |
|
Back to top |
|
 |
MFdigger Beginner
Joined: 09 Sep 2005 Posts: 124 Topics: 52 Location: Chicago
|
Posted: Thu Apr 02, 2009 12:27 pm Post subject: |
|
|
Thank you dbzTHEdinosauer, Kolusu.
I changed the COPY statement to EXEC SQL INCLUDE xxxx END EXEC Statement and it worked and compiled.
Thank you very much for all your help  _________________ Tx
Digger |
|
Back to top |
|
 |
MFdigger Beginner
Joined: 09 Sep 2005 Posts: 124 Topics: 52 Location: Chicago
|
Posted: Thu Apr 02, 2009 2:08 pm Post subject: |
|
|
we have a dynamic call as shown below in the same copybook
Code: |
MOVE 'ABCDTT' TO KX-PROG
CALL X-PROG USING XYPNTR XYTAD
|
I've compiled the main CICS program XYEPDEF successfully but when I'm trying to run the transaction in CICS, its showing the error message as
DFHAC2206 23:34:01 CICS2 Transaction XYAB failed with abend 4038. Updates to local recoverable resources backed out.
spool shows as:
Code: |
DFHAC2236 04/02/2009 14:34:01 CICS2 Transaction XYAB abend 4038 in program XYEPDEF term BC29. Updates to local
recoverable resources will be backed out.
CEE3501S The module ABCDTT was not found.
From compile unit XYEPDEF at entry point XYEPDEF at compile unit offset +000113D6 at entry offset +000113D6 at address
0CB113F6.
CEE3DMP V1 R4.0: Condition processing resulted in the unhandled condition.
|
I compiled the program ABCDTT and the load module is placed in the same libary as of the CICS program.
When the transaction is executed again, I'm facing the same error message as above.
I tried using the NEWC <program name> so the program gets refreshed but its showing up with the below error message
DFHAC2001 04/03/2009 00:27:03 CICS2 Transaction 'NEWC' is not recognized. Check that the transaction name is correct.
Could some one please help me if I'm doing any thing wrong here.
Thank you  _________________ Tx
Digger |
|
Back to top |
|
 |
kolusu Site Admin

Joined: 26 Nov 2002 Posts: 12378 Topics: 75 Location: San Jose
|
|
Back to top |
|
 |
jsharon1248 Intermediate
Joined: 08 Aug 2007 Posts: 291 Topics: 2 Location: Chicago
|
Posted: Thu Apr 02, 2009 3:22 pm Post subject: |
|
|
Code: | You can use CALL identifier with the NODYNAM compiler option to dynamically call a
program. Called programs can contain any function supported by CICS for the
language. You must define dynamically called programs in the CICS program
processing table (PPT) if you are not using CICS autoinstall. |
You're issuing a dynamic call. Do you have a PPT for the called pgm? If you don't, for a temporary workaround, recompile and change the CALL to a static CALL. |
|
Back to top |
|
 |
MFdigger Beginner
Joined: 09 Sep 2005 Posts: 124 Topics: 52 Location: Chicago
|
Posted: Thu Apr 02, 2009 7:09 pm Post subject: |
|
|
Hi Kolusu
Yes, its a new program. The main program XYEPDEF is defined in CICS system tables.
Do we have to also defined the calling program in the PCT/PPT table?
As per jsharon post, its seems like we have to also define the calling program in PPT table. I was not sure on that
Thank you  _________________ Tx
Digger |
|
Back to top |
|
 |
MFdigger Beginner
Joined: 09 Sep 2005 Posts: 124 Topics: 52 Location: Chicago
|
Posted: Fri Apr 03, 2009 11:26 am Post subject: |
|
|
Hi Sharon, Kolusu.
I have asked our CICS admin to define the subprograms which were called dynamically in system tables and they have been defined.
I'm facing with the same message
Code: |
DFHAC2236 04/02/2009 14:34:01 CICS2 Transaction XYAB abend 4038 in program XYEPDEF term BC29. Updates to local
recoverable resources will be backed out.
CEE3501S The module ABCDTT was not found.
From compile unit XYEPDEF at entry point XYEPDEF at compile unit offset +000113D6 at entry offset +000113D6 at address
0CB113F6.
CEE3DMP V1 R4.0: Condition processing resulted in the unhandled condition.
|
I have used the DISPLAY statement at the beginning of the PROCEDURE DIVISION to see whether the control is atleast steping into the program
I dont see that its even stepping into the program.
Could some one please advice ?  _________________ Tx
Digger |
|
Back to top |
|
 |
jsharon1248 Intermediate
Joined: 08 Aug 2007 Posts: 291 Topics: 2 Location: Chicago
|
Posted: Fri Apr 03, 2009 11:55 am Post subject: |
|
|
First verify that the PPT was created properly. Run the CEMT command for the program to verify that you can see the PPT. The next item you'll probably need to discuss with the CICS guys at your shop. The PPT's might not be defined in the same region where your transaction is executing. That being said, you need to make sure that the load lib where your load module is stored is accessible from the region where your transaction is executing. Since you're executing a COBOL CALL, not a CICS LINK or XCTL, you have to make sure that the z/OS can find the module. I think there's a STEPLIB in the CICS startup deck, but I'll be honest, I don't remember. As a last resort, try making the CALL a static call. |
|
Back to top |
|
 |
MFdigger Beginner
Joined: 09 Sep 2005 Posts: 124 Topics: 52 Location: Chicago
|
Posted: Fri Apr 03, 2009 2:08 pm Post subject: |
|
|
Hi Sharon
I verified the Program 'ABCDTT' and is defined in PPT and also made sure that the program load is available in the library which is accessible from the region where tranaction is executed.
Code: |
V GR(*) PROG(ABCDTT)
STATUS: RESULTS - OVERTYPE TO MODIFY
Prog(ABCDTT) Leng(0000000000) Pro Ena Pri Req Ced
Res(000) Use(0000000000) Bel Uex Ful Qua
|
I compiled the program successfully commenting out the CALL statement which is called dynamically and tried executing the transaction just to see whether it executes the program but its showing the same error message with 4038.
Code: |
* MOVE 'ABCDTT' TO KX-PROG
* CALL X-PROG USING XYPNTR XYTAD
|
As per my knowledge we have to use the NEWC to refresh the program in CICS to run in the test region. But when I use the NEWC command its showing the message as below
DFHAC2001 04/03/2009 00:27:03 CICS2 Transaction 'NEWC' is not recognized. Check that the transaction name is correct.
Could some one please advice/suggest.
 _________________ Tx
Digger |
|
Back to top |
|
 |
|
|