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

IKF6006I-E Error during XPED


IBM Mainframe Forums -> COBOL Programming
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
sureshmurali
Warnings : 1

New User


Joined: 25 Nov 2010
Posts: 70
Location: Sivakasi, India

PostPosted: Fri Feb 03, 2012 5:52 pm
Reply with quote

I have got the follwing error during XPED.
Code:
CARD   ERROR MESSAGE                                                           
                                                                               
8      IKF1083I-C     ILLEGAL CHARACTER. SCAN RESUMED AT NEXT VALID CHARACTER.
8      IKF1083I-C     ILLEGAL CHARACTER. SCAN RESUMED AT NEXT VALID CHARACTER.
8      IKF3001I-E     WELCOME NOT DEFINED. DISCARDED.                         
8      IKF4002I-E     DISPLAY STATEMENT INCOMPLETE. STATEMENT DISCARDED.       
                                                                               
       ERROR MESSAGE                                                           
                                                                               
       IKF6006I-E     SUPMAP SPECIFIED AND E-LEVEL DIAGNOSTIC HAS OCCURRED. PMAP CLIST LOAD DECK IGNORE

This is my COBOL

Code:
IDENTIFICATION DIVISION.         
PROGRAM-ID. COBOL1.             
ENVIRONMENT DIVISION.           
DATA DIVISION.                   
WORKING-STORAGE SECTION.         
01 A PIC IS X(3).               
PROCEDURE DIVISION.             
       DISPLAY "WELCOME".       
   STOP RUN.                     


The following is my compile JCL (Prepared using COMPILE FACILITY of XPED)
Code:
//COMPILE EXEC PGM=CWPCMAIN,REGION=4M,COND=(8,LT),             
// PARM=('SOURCE,PMAP,DMAP,NOTEST,XREF,NONUM,NOBATCH,NOCDECK', 
//       'NOFDECK,NOFLOW,NOLST,BUF=1024K,SIZE=2048K')           
//STEPLIB  DD  DISP=SHR,DSN=SYS3.ECC.CSS.SLCXLOAD               
//SYSTERM  DD  SYSOUT=(*)                                       
//SYSPRINT DD  SYSOUT=(X)                                       
//CWPERRM  DD  SYSOUT=(X)                                       
//SYSPUNCH DD  DUMMY                                           
//SYSUT1   DD  SPACE=(CYL,(2,2)),UNIT=SYSDA                     
//SYSUT2   DD  SPACE=(CYL,(2,2)),UNIT=SYSDA                     
//SYSUT3   DD  SPACE=(CYL,(2,2)),UNIT=SYSDA                     
//SYSUT4   DD  SPACE=(CYL,(2,2)),UNIT=SYSDA                     
//SYSUT5   DD  SPACE=(CYL,(2,2)),UNIT=SYSDA                     
//SYSUT6   DD  SPACE=(CYL,(2,2)),UNIT=SYSDA                     
//SYSLIN   DD  DISP=(NEW,PASS),                                 
//             DCB=(LRECL=80,RECFM=FB,BLKSIZE=4000),           
//             SPACE=(CYL,(1,1)),UNIT=SYSDA                     
//*---------------------------------------------------------
//*         INPUT DATATSET                                 
//*---------------------------------------------------------
//SYSIN    DD  DISP=(SHR,PASS),                             
//         DSN=XX9331.ABCD5IJ.TECH.PROG(COBOL1)             
//*                                                         
//*---------------------------------------------------------
//* COMPUWARE DD'S                                         
//*---------------------------------------------------------
//XOPTIONS DD  DISP=SHR,DSN=SYSLOC.XPEDITER.XOPTIONS       
//CWPDDIO  DD  DISP=SHR,                                   
//         DSN=XX9331.COBOL.LISTING.DDIO                   
//CWPPRMO  DD  *                                           
COBOL(OUTPUT(PRINT,DDIO))                                   
PROCESSOR(OUTPUT(NOPRINT,NODDIO),TEXT(NONE))               
LANGUAGE(VSCOBOL)                                           
DDIO(OUTPUT(NOLIST,NOXREF,FIND,NODMAP,NOOFFSET,COMPRESS))   
/*                                                         
//*                                                         
//*---------------------------------------------------------
//* LINKEDIT STEP                                           
//*---------------------------------------------------------
//LINK   EXEC  PGM=IEWL,REGION=4M,COND=(8,LE)               
//SYSPRINT DD  SYSOUT=(X)                                   
//SYSLIN   DD  DISP=(SHR,PASS),                             
//         DSN=*.COMPILE.SYSLIN                             
//SYSLIB   DD  DSN=XX9331.K194689.PGMLIB,                   
//             DISP=SHR,DCB=BLKSIZE=32760                   
//*------------------------------------------------------------------
//* LINKEDIT OUTPUT DATASET                                         
//*------------------------------------------------------------------
//SYSLMOD  DD  DISP=SHR,                                             
//         DSN=XX9331.K194689.PGMLIB(COBOL1)                         
//SYSUT1   DD  SPACE=(CYL,(2,2)),UNIT=SYSDA                         
//*                                                                 
//*------------------------------------------------------------------
//* ABEND; POSSIBLE E37, CHECK OUTPUT LISTING FOR DETAILS           
//* EXECUTE THIS STEP ONLY IF A PREVIOUS STEP ABENDS                 
//*------------------------------------------------------------------
//ABEND    EXEC PGM=IKJEFT01,                                       
// COND=ONLY                                                         
//SYSTSPRT DD SYSOUT=*                                               
//SYSTSIN  DD *                                                     
 SE 'COBOL1 : JOB ABENDED; SEE LISTING FOR DETAILS.' USER(*) LOGON   
//*                                                                 
//*------------------------------------------------------------------
//* COMPILE RETURN CODE MESSAGE                                     
//*------------------------------------------------------------------
//COMP00   EXEC PGM=IKJEFT01,                                       
// COND=((00,NE,COMPILE))                                           
//SYSTSPRT DD SYSOUT=*                                               
//SYSTSIN  DD *                                                     
 SE 'COBOL1 RC=00: COMPILE    ' USER(*) LOGON                       
//*                                                                 
//COMP04   EXEC PGM=IKJEFT01,                                       
// COND=((04,NE,COMPILE))                                           
//SYSTSPRT DD SYSOUT=*                             
//SYSTSIN  DD *                                     
 SE 'COBOL1 RC=04: COMPILE    ' USER(*) LOGON       
//*                                                 
//COMP08   EXEC PGM=IKJEFT01,                       
// COND=((08,GT,COMPILE))                           
//SYSTSPRT DD SYSOUT=*                             
//SYSTSIN  DD *                                     
 SE 'COBOL1 RC>=08: COMPILE    ' USER(*) LOGON     
//*                                                 
//*-------------------------------------------------
//* LINKEDIT RETURN CODE MESSAGE                   
//*-------------------------------------------------
//LINK00   EXEC PGM=IKJEFT01,                       
// COND=((00,NE,LINK),(8,LE,COMPILE))               
//SYSTSPRT DD SYSOUT=*                             
//SYSTSIN  DD *                                     
 SE 'COBOL1 RC=00: LINKEDIT   ' USER(*) LOGON       
//*                                                 
//LINK04   EXEC PGM=IKJEFT01,                       
// COND=((04,NE,LINK),(8,LE,COMPILE))               
//SYSTSPRT DD SYSOUT=*                             
//SYSTSIN  DD *                                     
 SE 'COBOL1 RC=04: LINKEDIT   ' USER(*) LOGON       
//*                                                 
//LINK08   EXEC PGM=IKJEFT01,                       
// COND=((08,GT,LINK),(8,LE,COMPILE))               
//SYSTSPRT DD SYSOUT=*                             
//SYSTSIN  DD *                                 
 SE 'COBOL1 RC>=08: LINKEDIT   ' USER(*) LOGON 
//*                                             


As per the given logic the code should work. But it says
Code:
WELCOME NOT DEFINED

Can some one help me on this one to proceed further?
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Fri Feb 03, 2012 6:30 pm
Reply with quote

Try with apostrophes (single quotes) around WELCOME. See if your compile options have QUOTE or APOST. I guess APOST.

EDIT: Meaning when you previously compiled outside Xpediter, if this is a continuation from your previous.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Fri Feb 03, 2012 7:20 pm
Reply with quote

Checking back on your compile shown outside Xpediter, then I can see you did have APOST (which is the "double quotes"). I believe the "default" if not changed at installation is QUOTE (single quotes).

Are you using "non-standard" (to your site) compile JCL? It seems unlikely that everyone at your site changes the definition of their literals to use Xpediter.
Back to top
View user's profile Send private message
don.leahy

Active Member


Joined: 06 Jul 2010
Posts: 765
Location: Whitby, ON, Canada

PostPosted: Fri Feb 03, 2012 7:32 pm
Reply with quote

Bill Woodger wrote:
Checking back on your compile shown outside Xpediter, then I can see you did have APOST (which is the "double quotes"). I believe the "default" if not changed at installation is QUOTE (single quotes).

Are you using "non-standard" (to your site) compile JCL? It seems unlikely that everyone at your site changes the definition of their literals to use Xpediter.
APOST means single quotes ('), QUOTE means double quotes ("). It does at our shop, at any rate.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Fri Feb 03, 2012 7:41 pm
Reply with quote

Quote:
I have got the follwing error during XPED.

plain wrong, IKF messages are issued by the VS cobol compiler ...
as per
publib.boulder.ibm.com/infocenter/zvm/v6r1/index.jsp?topic=/com.ibm.zvm.v610.hcpw1/hcsb6c0006.htm

You did not even get to the bind(linkedit) step

the various flavors of IBM COBOL do not provide a messages and codes manual


Quote:
You can generate a complete listing of compiler diagnostic messages with their explanations by compiling a program that has the program-name ERRMSG.



You can code just the PROGRAM-ID paragraph, as shown below. Omit the rest of the program.


Identification Division.
Program-ID. ErrMsg.
Back to top
View user's profile Send private message
sureshmurali
Warnings : 1

New User


Joined: 25 Nov 2010
Posts: 70
Location: Sivakasi, India

PostPosted: Fri Feb 03, 2012 7:52 pm
Reply with quote

The problem was not with the QUOTES or Apostrophe...
I have chosen a wrong LANGUAGE OPTION in the COMPILER.

This should be

Code:
LANGUAGE(COBOL/MVS)

But i had used as -
Code:
LANGUAGE(VSCOBOL)


That caused this issue. Now i could able to get the return codes 0 to both COMPILE and LINKEDIT. But now i get new message during XPED.

Code:
SOURCE LISTING TIME STAMP DOES NOT MATCH LOAD MODULE

Code:
   XPED TSO SPF                                                               
   TEST COBOL1                                                                 
*** COBOL1   FROM XX9331.K194689.PGMLIB                          LINK 02/03/12
XPD2214  ADSRA221 LANGUAGE ENVIRONMENT SUPPORT INITIATED (RC=0)               
XPD6070  ADSRA194 SOURCE COBOL1 HAS CONFLICTING DATE - TIME STAMP             
XPD6071  ADSRA194 *** SOURCE MEMBER 02/03/12 09:07:56 ***                     
XPD6072  ADSRA194 *** LOAD MODULE 02/02/12 12.16.27 ***                       
XPD6073  ADSRA194 ANY SOURCE REFERENCE TO MODULE COBOL1 WILL BE REJECTED       
XPD6074  ADSRA194 NOTE: CHECK MESSAGES AND CODES FOR FURTHER ACTION           


Same issue was discussed many times in different sites. Suggestions are to recompile this program. But even after recompiling i am getting this message again. I am unable to solve this...

Thanks
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 Feb 03, 2012 8:28 pm
Reply with quote

Code:
XPD6071  ADSRA194 *** SOURCE MEMBER 02/03/12 09:07:56 ***                     
XPD6072  ADSRA194 *** LOAD MODULE 02/02/12 12.16.27 ***   
This is telling you the program was compiled with Xpediter at 9:07 AM on February 3rd. However, the load module was updated February 2nd at 12:16 PM. Therefore the load library you compiled into at 9:07 on February 3rd is NOT the load library used in the JCL executing the program. You need to change either (1) the compile JCL to use the same load library as the run JCL, or (2) the run JCL to use the same load library as the compile JCL.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Fri Feb 03, 2012 8:37 pm
Reply with quote

Good spot Don.

Code:
DISPLAY "HERE"           
DISPLAY 'THERE'           
DISPLAY "AND" 'EVERYWHERE'


This compiles.

APOST, QUOTE currently are only for the value of the figurative constant QUOTE/QUOTES. However, I'm pretty sure this used not to be the case.

Back to the original thing then.

Having a look for the message prefix, is it possible it is from a very old compiler, as the only reference I can find is to running on Hercules under MVS? Plus this.

Whilst putting this together (and other things) I see now that things have moved on. Now to find confirmation that APOST/QUOTE changed...

EDIT: Didn't take long.

So, changing to single quotes, or changing APOST to QUOTE on Xpediter would have got you clean with the wrong compiler. As it turns out, in the wrong load library.
Back to top
View user's profile Send private message
sureshmurali
Warnings : 1

New User


Joined: 25 Nov 2010
Posts: 70
Location: Sivakasi, India

PostPosted: Fri Feb 03, 2012 8:49 pm
Reply with quote

Thanks Robert. Now i have modified this compiler JCL to like this.


Code:
//STEP1 EXEC IGYWCL,                                         
// PARM.COBOL='LIB,APOST,XREF,MAP,OFFSET'                     
//COBOL.SYSIN DD DISP=SHR,DSN=XX9331.TSUE5IJ.TECH.PROG(COBOL1)
//XOPTIONS DD  DISP=SHR,DSN=SYSLOC.XPEDITER.XOPTIONS         
//CWPDDIO  DD  DISP=SHR,                                     
//         DSN=XX9331.COBOL.LISTING.DDIO                     
//CWPPRMO  DD  *                                             
COBOL(OUTPUT(PRINT,DDIO))                                     
PROCESSOR(OUTPUT(NOPRINT,NODDIO),TEXT(NONE))                 
LANGUAGE(COBOL/MVS)                                           
DDIO(OUTPUT(NOLIST,NOXREF,FIND,NODMAP,NOOFFSET,COMPRESS))     
/*                                                           
//LKED.SYSLMOD DD DISP=SHR,DSN=XX9331.K194689.PGMLIB(COBOL1) 
//SYSPRINT DD SYSOUT=           


Exped Message -

Code:
XPD2214  ADSRA221 LANGUAGE ENVIRONMENT SUPPORT INITIATED (RC=0)         
XPD6070  ADSRA194 SOURCE COBOL1 HAS CONFLICTING DATE - TIME STAMP       
XPD6071  ADSRA194 *** SOURCE MEMBER 02/03/12 09:07:56 ***               
XPD6072  ADSRA194 *** LOAD MODULE 02/03/12 10.13.05 ***                 
XPD6073  ADSRA194 ANY SOURCE REFERENCE TO MODULE COBOL1 WILL BE REJECTED
XPD6074  ADSRA194 NOTE: CHECK MESSAGES AND CODES FOR FURTHER ACTION     

Now i observe there is a small variation in the timestamp and i understand one represent the SOURCE file compilation time and the other one is the LOAD updated time. Is there any way to modify the above JCL to produce the same timestamp to both ?
Thanks in advance.
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Fri Feb 03, 2012 10:06 pm
Reply with quote

That means you still don't have the "same" module in the load and in Xpediter (where it is using, I imagine, its own copy of the compiler output listing).

The "delay" is not between the compile and the link, because from the loadmodule (output from the linkedit/bind) the compile time is extracted, and it should be identical to the smallest unit to the complie-listing timestamp.

Compile, produces Object, with timestamp, plus listing with same timesamp. Linker/binder takes object (and other objects/loads) and make loadmodule, compile timestamp unaffected, completely different information for date of link/bind.

So, you still have "something" not in step.
Back to top
View user's profile Send private message
Ed Goodman

Active Member


Joined: 08 Jun 2011
Posts: 556
Location: USA

PostPosted: Fri Feb 03, 2012 10:09 pm
Reply with quote

Yes there is a way. Slow down and actually read what people are telling you, then it will work.

The exped meessages are from another job/run that you are doing after the compile/link. Think about what they are telling you.

They are saying, "Hey, you know that source code you want to step through? That load module you're pointing to didn't come from there."

What they are really trying to tell you is "HEY, SLOW DOWN AND DO IT RIGHT! Get your DDIO built and get a load module built in the same compile job, then make sure I know where they both are, then get back to me."
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 Feb 03, 2012 10:30 pm
Reply with quote

After taking a closer look at your JCL, I have no idea what you think you are accomplishing. Program CWPCMAIN is the Compuware COBOL language preprocessor module (CWPCDRVR is the Compuware COBOL postprocessor module -- one of these needs to be invoked to prepare the program for use with Xpediter). IGYWCL is one of the IBM standard compile procedures for COBOL. As an IBM product, programs compiled with IGYWCL will not be able -- in any way -- to use Xpediter unless you have a postprocessor step in your job.

From the Compuware Enterprise Common Components (ECC) Installation and Customization Guide manual:
Quote:
| There are two methods by which the language processor can be run:

| • preprocessor
| • postprocessor

| You must determine the type of processing that is best for your site,
| and you should run only one type of processor.

| The Compuware language preprocessor invokes both the compiler and the
| postprocessor. The preprocessor, in addition to gathering information
| from the compiler listing, gathers information from SYSIN and SYSLIB.

| The postprocessor is executed as a separate step after the compile step.
| It reads in the listing created from the compiler. Information is
| gathered from the source listing, XREF, data maps, and object code
| sections of the listing.

So what it looks like you've done is taken an Xpediter compile job, removed the Xpediter compile processing, and now question why the date / time stamp of the load module doesn't match the source. It doesn't matter if you use the preprocessor or postprocessor as long as the Compuware language processor generates a member of the DDIO that contains the source. Without that source in the DDIO, your Xpediter session cannot access the source when debugging.

So, basically, you need two jobs: one to compile the program and one to execute the program. Both jobs need to point to the same DDIO and load library (SYSLMOD in the linkage editor / binder step of the compile and STEPLIB / JOBLIB of the execution job). If the compile job is set up correctly, the date / time stamps match and the error messages you see will NOT be generated.
Back to top
View user's profile Send private message
sureshmurali
Warnings : 1

New User


Joined: 25 Nov 2010
Posts: 70
Location: Sivakasi, India

PostPosted: Fri Feb 03, 2012 11:26 pm
Reply with quote

Thanks everyone. Finally i am done with the EXPED using the XPEDITOR COMPILE JCL generated from the options
1 PREPARE in the XPED home screen
1 CONVERT COMPILE JCL in the subsequent screen.
It is working now. For the sake of future users i have given the code generated from the above options.

Code:

//#      PROC  LNGPRFX='SYS1.ADCOB',SYSLBLK=3200,         
//             LIBPRFX='SYS1',                           
//             PGMLIB='&&GOSET',GOPGM=GO                 
//COBOL  EXEC PGM=CWPCMAIN,REGION=2048K                   
//STEPLIB  DD  DISP=SHR,DSN=SYS3.ECC.CSS.SLCXLOAD         
//         DD  DSNAME=&LNGPRFX..LINKLIB,                 
//             DISP=SHR                                   
//SYSPRINT DD  SYSOUT=*                                   
//SYSLIN   DD  DSNAME=&&LOADSET,UNIT=SYSDA,               
//             DISP=(MOD,PASS),SPACE=(TRK,(3,3)),         
//             DCB=(BLKSIZE=&SYSLBLK)                     
//SYSUT1   DD  UNIT=SYSDA,SPACE=(CYL,(1,1))               
//SYSUT2   DD  UNIT=SYSDA,SPACE=(CYL,(1,1))               
//SYSUT3   DD  UNIT=SYSDA,SPACE=(CYL,(1,1))               
//SYSUT4   DD  UNIT=SYSDA,SPACE=(CYL,(1,1))               
//SYSUT5   DD  UNIT=SYSDA,SPACE=(CYL,(1,1))               
//SYSUT6   DD  UNIT=SYSDA,SPACE=(CYL,(1,1))               
//SYSUT7   DD  UNIT=SYSDA,SPACE=(CYL,(1,1))               
//XOPTIONS DD  DISP=SHR,DSN=SYSLOC.XPEDITER.XOPTIONS     
//CWPDDIO  DD  DISP=SHR,DSN=XX9331.SURESH.COBOL.XPED     
//LKED   EXEC PGM=HEWL,COND=(8,LT,COBOL),REGION=1024K     
//SYSLIB   DD  DSNAME=&LIBPRFX..SCEELKED,                 
//             DISP=SHR                                   
//SYSPRINT DD  SYSOUT=*                                   
//SYSLIN   DD  DSNAME=&&LOADSET,DISP=(OLD,DELETE)         
//         DD  DDNAME=SYSIN                                   
//SYSLMOD  DD  DSNAME=&PGMLIB(&GOPGM),                         
//             SPACE=(TRK,(10,10,1)),                         
//             UNIT=SYSDA,DISP=(MOD,PASS)                     
//SYSUT1   DD  UNIT=SYSDA,SPACE=(TRK,(10,10))                 
//#        PEND                                               
//STEP1 EXEC      #,                                           
// PARM.COBOL='LIB,APOST,XREF,MAP,OPT(FULL),OFFSET'           
//COBOL.SYSIN DD DISP=SHR,DSN=XX9331.TSUE5IJ.TECH.PROG(COBOL1)
//COBOL.SYSLIB DD DISP=SHR,DSN=TSUE5IJ.COBOL.PROGRAMS         
//COBOL.CWPPRMO  DD  *                                         
COBOL(OUTPUT(PRINT,DDIO))                                     
PROCESSOR(OUTPUT(NOPRINT,NODDIO),TEXT(NONE))                   
LANGUAGE(COBOL/390)                                           
DDIO(OUTPUT(NOLIST,NOXREF,FIND,NODMAP,NOOFFSET,COMPRESS))     
//*                                                           
//LKED.SYSLMOD DD DISP=SHR,DSN=XX9331.K194689.PGMLIB(COBOL1)   
//SYSPRINT DD SYSOUT=                                         


Thanks again to all for your help...
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Sat Feb 04, 2012 12:08 am
Reply with quote

Quote:
For the sake of future users


Talk to your site support personnel.

a job from one site will rarely work at another.
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 -> COBOL Programming

 


Similar Topics
Topic Forum Replies
No new posts Error to read log with rexx CLIST & REXX 11
No new posts Error when install DB2 DB2 2
No new posts CLIST - Virtual storage allocation error CLIST & REXX 5
No new posts Error while running web tool kit REXX... CLIST & REXX 5
No new posts Getting Error while trying to establi... DB2 3
Search our Forums:

Back to Top