|
View previous topic :: View next topic
|
| Author |
Message |
sureshmurali Warnings : 1 New User
Joined: 25 Nov 2010 Posts: 70 Location: Sivakasi, India
|
|
|
|
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 |
|
 |
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
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 |
|
 |
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
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 |
|
 |
don.leahy
Active Member
Joined: 06 Jul 2010 Posts: 767 Location: Whitby, ON, Canada
|
|
|
|
| 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 |
|
 |
enrico-sorichetti
Superior Member

Joined: 14 Mar 2007 Posts: 10900 Location: italy
|
|
|
|
| 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 |
|
 |
sureshmurali Warnings : 1 New User
Joined: 25 Nov 2010 Posts: 70 Location: Sivakasi, India
|
|
|
|
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 -
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 |
|
 |
Robert Sample
Global Moderator

Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
|
|
|
|
| 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 |
|
 |
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
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 |
|
 |
sureshmurali Warnings : 1 New User
Joined: 25 Nov 2010 Posts: 70 Location: Sivakasi, India
|
|
|
|
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 |
|
 |
Bill Woodger
Moderator Emeritus
Joined: 09 Mar 2011 Posts: 7309 Location: Inside the Matrix
|
|
|
|
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 |
|
 |
Ed Goodman
Active Member
Joined: 08 Jun 2011 Posts: 556 Location: USA
|
|
|
|
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 |
|
 |
Robert Sample
Global Moderator

Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
|
|
|
|
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 |
|
 |
sureshmurali Warnings : 1 New User
Joined: 25 Nov 2010 Posts: 70 Location: Sivakasi, India
|
|
|
|
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 |
|
 |
dbzTHEdinosauer
Global Moderator

Joined: 20 Oct 2006 Posts: 6965 Location: porcelain throne
|
|
|
|
| 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 |
|
 |
|
|
 |
All times are GMT + 6 Hours |
|