MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CICS Compilation - Issue
Goto page 1, 2  Next
 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> CICS and Middleware
View previous topic :: View next topic  
Author Message
MFdigger
Beginner


Joined: 09 Sep 2005
Posts: 124
Topics: 52
Location: Chicago

PostPosted: Tue Mar 31, 2009 10:02 am    Post subject: CICS Compilation - Issue Reply with quote

Hi Kolusu,

I'm trying to compile a COBOL/CICS/DB2 program and created the compile JCL as per the link found mentioned below after searching the forum.

http://www.mvsforums.com/helpboards/viewtopic.php?t=1165

As in the above topic, I've created the compile JCL following the link
mentioned

http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/DSNAPH10/5.1.2.4?SHELF=&DT=20010209162045

While compiling I'm facing with the following error message:

8980 IGYPS0228-S An "EXEC CICS" statement was found, but the "CICS" compiler option was not in effect. The statement was discarded.


Could some one please help me what could be the issue.

Thank you
_________________
Tx
Digger
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12378
Topics: 75
Location: San Jose

PostPosted: Tue Mar 31, 2009 10:58 am    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website
MFdigger
Beginner


Joined: 09 Sep 2005
Posts: 124
Topics: 52
Location: Chicago

PostPosted: Wed Apr 01, 2009 11:55 am    Post subject: Reply with quote

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
Rolling Eyes
_________________
Tx
Digger
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12378
Topics: 75
Location: San Jose

PostPosted: Wed Apr 01, 2009 12:25 pm    Post subject: Reply with quote

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
View user's profile Send private message Send e-mail Visit poster's website
MFdigger
Beginner


Joined: 09 Sep 2005
Posts: 124
Topics: 52
Location: Chicago

PostPosted: Wed Apr 01, 2009 12:42 pm    Post subject: Reply with quote

Hi Kolusu

Thats exactly correct, its in a copybook.

Thank you
_________________
Tx
Digger
Back to top
View user's profile Send private message
dbzTHEdinosauer
Supermod


Joined: 20 Oct 2006
Posts: 1411
Topics: 26
Location: germany

PostPosted: Wed Apr 01, 2009 12:56 pm    Post subject: Reply with quote

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
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12378
Topics: 75
Location: San Jose

PostPosted: Wed Apr 01, 2009 1:18 pm    Post subject: Reply with quote

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.

Code:

CBL CICS,LIB


Make sure that SYSLIB dd has the pds name where EXEC CICS reside

Kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
MFdigger
Beginner


Joined: 09 Sep 2005
Posts: 124
Topics: 52
Location: Chicago

PostPosted: Thu Apr 02, 2009 12:27 pm    Post subject: Reply with quote

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 Smile
_________________
Tx
Digger
Back to top
View user's profile Send private message
MFdigger
Beginner


Joined: 09 Sep 2005
Posts: 124
Topics: 52
Location: Chicago

PostPosted: Thu Apr 02, 2009 2:08 pm    Post subject: Reply with quote

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 Rolling Eyes
_________________
Tx
Digger
Back to top
View user's profile Send private message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12378
Topics: 75
Location: San Jose

PostPosted: Thu Apr 02, 2009 2:54 pm    Post subject: Reply with quote

MFdigger,

Is this a new program? if so did you define the program in PCT? And how are you issuing the new copy command?

Check this link for the command CEMT SET program

http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/DFHA7P03/11.103?

Kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
jsharon1248
Intermediate


Joined: 08 Aug 2007
Posts: 291
Topics: 2
Location: Chicago

PostPosted: Thu Apr 02, 2009 3:22 pm    Post subject: Reply with quote

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
View user's profile Send private message
MFdigger
Beginner


Joined: 09 Sep 2005
Posts: 124
Topics: 52
Location: Chicago

PostPosted: Thu Apr 02, 2009 7:09 pm    Post subject: Reply with quote

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 Confused
_________________
Tx
Digger
Back to top
View user's profile Send private message
MFdigger
Beginner


Joined: 09 Sep 2005
Posts: 124
Topics: 52
Location: Chicago

PostPosted: Fri Apr 03, 2009 11:26 am    Post subject: Reply with quote

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 ? Question
_________________
Tx
Digger
Back to top
View user's profile Send private message
jsharon1248
Intermediate


Joined: 08 Aug 2007
Posts: 291
Topics: 2
Location: Chicago

PostPosted: Fri Apr 03, 2009 11:55 am    Post subject: Reply with quote

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
View user's profile Send private message
MFdigger
Beginner


Joined: 09 Sep 2005
Posts: 124
Topics: 52
Location: Chicago

PostPosted: Fri Apr 03, 2009 2:08 pm    Post subject: Reply with quote

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.
bonk
_________________
Tx
Digger
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> CICS and Middleware All times are GMT - 5 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group