JCL Compiler COBOL 6+

OS/VS COBOL, COBOL II, Enterprise COBOL for z/OS. OpenCOBOL and OOCobol.
Post Reply
User avatar
vagner.bellacosa
New Member
Posts: 4
Joined: Sat Oct 07, 2023 2:30 am

JCL Compiler COBOL 6+

Post by vagner.bellacosa »

Good afternoon, I use an academic environment in which until recently we used COBOL 4.2.

They recently changed to version 6.3, but my compilation jobs no longer work. Could anyone please provide a jcl copy for the new version?

- COBOL compilation
- COBOL + DB2 compilation
- COBOL + CICS compilation
- COBOL + DB2 + CICS compilation

Thank you very much
Vagner
User avatar
zum13
Registered Member
Posts: 85
Joined: Thu May 04, 2023 12:58 am

Re: JCL Compiler COBOL 6+

Post by zum13 »

Hello.

In general, there should not be much change required to the JCL for an upgrade of the compiler. It's rare for the inputs/outputs required to change between versions. The one thing that will change between versions is going to be the load dataset for the compiler on the "STEPLIB" DD statement. I know that the ADCD uses a high level qualifier of the form "IGYvrm" (e.g. "IGY630", so the compiler's load dataset would be "IGY630.SIGYCOMP"), but the one used at your installation may not be the same. The V4.2 dataset name may give some clues as to what the new dataset will be called.

If you can't find the compiler installation datasets yourself, I'd suggest having a word with your sysprogs. Without having seen your existing JCL, it might also be possible that installation-specific library procedures haven't been updated when they should have, in which case, they'd be the people to fix it.
User avatar
Anuj Dhawan
Founder
Posts: 2802
Joined: Sun Apr 21, 2013 7:40 pm
Location: Mumbai, India
Contact:
India

Re: JCL Compiler COBOL 6+

Post by Anuj Dhawan »

vagner.bellacosa wrote: Sat Oct 07, 2023 2:36 am
They recently changed to version 6.3, but my compilation jobs no longer work.
Along with what zum13 said, when you say, "jobs no longer work" - what happens, any error you get? Could you share the message/s from failed run?
Thanks,
Anuj

Disclaimer: My comments on this website are my own and do not represent the opinions or suggestions of any other person or business entity, in any way.
User avatar
Robert Sample
Global Moderator
Global Moderator
Posts: 1895
Joined: Fri Jun 28, 2013 1:22 am
Location: Dubuque Iowa
United States of America

Re: JCL Compiler COBOL 6+

Post by Robert Sample »

Are you using IGYWC for your COBOL compiles? If not, you are using a custom set up and MUST contact your site support group for assistance. There are many, many, many ways to set up COBOL compiles and each site typically does it a little differently. If you are using IGYWC, then you need to find the high-level and mid-level qualifiers for the SIGYPROC data set that is part of the 6.3 installation. Again, your site support group can help you with that.
User avatar
vagner.bellacosa
New Member
Posts: 4
Joined: Sat Oct 07, 2023 2:30 am

Re: JCL Compiler COBOL 6+

Post by vagner.bellacosa »

Thanks for your help, after a lot of back and forth, I discovered the errors, adjusted the Load file to the PDSE format and included new temporary libraries.
User avatar
vagner.bellacosa
New Member
Posts: 4
Joined: Sat Oct 07, 2023 2:30 am

Re: JCL Compiler COBOL 6+

Post by vagner.bellacosa »

//CATCOB63 JOB ('00'),TSO.&SYSUID,NOTIFY=&SYSUID, 00010001
// MSGCLASS=T,MSGLEVEL=1,CLASS=A,REGION=0M 00020000
//*------------------------------------------------------------------* 00030000
//* COMPILA E LINKEDITA PROGRAMA COBOL BATCH VERSAO 6.3 00040001
//*------------------------------------------------------------------* 00050000
//COMPCOB PROC MOD=COBOL006, 00060000
// DSN='KC02746.WORKBOOK.COBOL', 00070000
// LIB='KC02746.LIB.CBLPDSE' 00080002
//*------------------------------------------------------------------* 00090000
//*------------------------IMPORTANTE--------------------------------* 00091001
//* DEVIDO A MUDANCAS NO COMPILADOR O ARQUIVO DE LIB DEVE ESTAR NO * 00092001
//* FORMATO PDSE, CASO CONTRARIO ABENDARA POR ERRO DE ALOCACAO * 00092101
//*------------------------------------------------------------------* 00093001
//*------------------------------------------------------------------* 00094001
//COB EXEC PGM=IGYCRCTL, 00100000
// PARM='BUFSIZE(32760),LIB,,NOOPT,FLAG(I,W),RENT,LIST,ARITH(EXTEND)' 00110000
//STEPLIB DD DISP=SHR,DSN=IGY630.SIGYCOMP 00120000
//SYSLIB DD DSN=&DSN,DISP=SHR 00130000
// DD DSN=CEE.SCEESAMP,DISP=SHR 00140000
//SYSPRINT DD SYSOUT=* 00150000
//SYSIN DD DSN=&DSN(&MOD),DISP=SHR 00160000
//SYSLIN DD DSN=&&LOADSET,DISP=(MOD,PASS), 00170000
// UNIT=SYSDA,SPACE=(180,(250,100)) 00180000
//SYSUT1 DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)),VOL=(,,,1) 00190000
//SYSUT2 DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)),VOL=(,,,1) 00200000
//SYSUT3 DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)),VOL=(,,,1) 00210000
//SYSUT4 DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)),VOL=(,,,1) 00220000
//SYSUT5 DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)),VOL=(,,,1) 00230000
//SYSUT6 DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)),VOL=(,,,1) 00240000
//SYSUT7 DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)),VOL=(,,,1) 00250000
//SYSUT8 DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)),VOL=(,,,1) 00260000
//SYSUT9 DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)),VOL=(,,,1) 00270000
//SYSUT10 DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)),VOL=(,,,1) 00280000
//SYSUT11 DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)),VOL=(,,,1) 00290000
//SYSUT12 DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)),VOL=(,,,1) 00300000
//SYSUT13 DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)),VOL=(,,,1) 00310000
//SYSUT14 DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)),VOL=(,,,1) 00320000
//SYSUT15 DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)),VOL=(,,,1) 00330000
//SYSMDECK DD UNIT=SYSALLDA,SPACE=(CYL,(1,1)),VOL=(,,,1) 00340000
//* 00350000
//******************************************************************** 00360000
//LKED EXEC PGM=IEWL, 00370000
// PARM='XREF,RENT',COND=(5,LT,COB) 00380000
//SYSLIB DD DSN=CEE.SCEELKED,DISP=SHR 00390000
// DD DSN=SYS1.LINKLIB,DISP=SHR 00400000
// DD DSN=&LIB,DISP=SHR 00410000
//SYSLMOD DD DSN=&LIB(&MOD),DISP=SHR 00420000
//SYSUT1 DD UNIT=SYSDA,DCB=BLKSIZE=1024, 00430000
// SPACE=(1024,(200,20)) 00440000
//SYSPRINT DD SYSOUT=A 00450000
//SYSLIN DD DSN=&&LOADSET,DISP=(OLD,DELETE) 00460000
// PEND 00470000
/* 00480000
//*------------------------------------------------------------------* 00481000
//CATCOB EXEC COMPCOB 00490000
//*------------------------* FIM PROCEDURE *------------------------* 00500000
User avatar
zum13
Registered Member
Posts: 85
Joined: Thu May 04, 2023 12:58 am

Re: JCL Compiler COBOL 6+

Post by zum13 »

Something you can do to make your job reusable is put the inline procedure into one of your own PDS(E) datasets somewhere. If you put the block from the "PROC" to "PEND" statements into it's own member, you can use the "JCLLIB" statement to add the PDS to the list of PROCLIBs to be used by the job so that all you need to run a compile is something like this...

Code: Select all

//CATCOB63 JOB ('00'),TSO.&SYSUID,NOTIFY=&SYSUID,
//             MSGCLASS=T,MSGLEVEL=1,CLASS=A,REGION=0M
//      JCLLIB ORDER=(your.proc.dataset)
//CATCOB  EXEC COMPCOB MOD=program-name
This has the advantage that if you have a bit of JCL for each program you're working on then the next time the compiler version changes, you'll only have to update the procedure and not each of the individual jobs.
Post Reply

Create an account or sign in to join the discussion

You need to be a member in order to post a reply

Create an account

Not a member? register to join our community
Members can start their own topics & subscribe to topics
It’s free and only takes a minute

Register

Sign in

Return to “IBM COBOL, GnuCOBOL (OpenCOBOL), OOCobol.”