Hello, I cannot give you our processor but I can show you the basic DD statements for Db2/CICS/C++ processor.
//XXXCOBJ PROC @CPP='N', IS IT C++(Y) OR C(N)
// CCOMP=CBC, CBC OS390 ,CCN POST ZOS - notice 2 possible pgm prefix for the //COMPILE step
// CICOPN='SP,NOSOURCE', CICS OPTION FOR C
// CICOPT='&CICOP&@CPP',
// CPARM='&CPAR&@CPP',
// CPARMT='&C&CCOMP',
// CPARM1='&ARCH OPT(2)',
// CPARM2=,
// CPARM3='OPTF(DD:SEARCH)',
// CRUN=, COMPILER RUNTIME OPTS
// DB2OPT='VERSION(AUTO),HOST(&HOST),NOSOURCE',
//INIT EXEC PGM=BC1PDSIN,MAXRC=0
//WRITE EXEC PGM=CONWRITE,PARM='EXPINCL(N)'
//DB2 EXEC PGM=DSNHPC,PARM='&DB2OPT',MAXRC=4,
//CICS EXEC PGM=DFHEDP1$,PARM='&CICOPT',MAXRC=4,
//COMPILE EXEC PGM=&CCOMP.DRVR,MAXRC=8,
// PARM=('&CRUN/&CPARM &CPARM1 &CPARM2 &CPARMT &CPARM3')
//STEPLIB DD DSN=SYS1.SCEERUN2,DISP=SHR
// DD DSN=&SYS1..S&CCOMP.CMP,DISP=SHR
// DD DSN=SYS1.SCEERUN,DISP=SHR
//SYSLIB DD DISP=SHR,DSN=SYS1.SCEECPP,
//COPTS DD DSN=&OPTSDSN(&OPTIONS),DISP=SHR
//SEARCH DD *
SEARCH(
//'SYS1.SCEECPP.+',
//'SYS1.SCEEH.SYS.H.+',
//'SYS1.SCEEH.+',
//'SYS1.SCLBH.+',
//'&MQLIB')
/*
//SYSMSGS DD DUMMY,DSN=SYS1.SCBC3MSG(EDCMSGE),DISP=SHR
//SYSXMSGS DD DUMMY,DSN=SYS1.SCBC3MSG(CBCMSGE),DISP=SHR
//SYSIN DD DSN=&&ELMOUT,DISP=(OLD,DELETE)
//SYSLIN DD DSN=&&OBJLIB(&OBJ),DISP=(NEW,PASS,DELETE),
// UNIT=&C1VIOUNIT,SPACE=(CYL,(1,,1)),
// DCB=(LRECL=80,RECFM=FB)
//SYSPRINT DD DSN=&&LIST2,DISP=(OLD,PASS)
//SYSCPRT DD DSN=&&LIST3,DISP=(OLD,PASS)
//SYSOUT DD DSN=&&LIST4,DISP=(OLD,PASS)
//SYSEVENT DD SYSOUT=&SYSOUT
------------------------------
Russ
------------------------------
Original Message:
Sent: Nov 17, 2023 07:24 AM
From: Charles Gaskell
Subject: C++ Compile Processor
I'm converting from another SCM and need to create a C++ compile processor. I've looked at Community Thread 730331 but unfortunately it's missing an initial step to expand #include statements in the C++ source, which is required (a) because it includes EXEC SQL statements and (b) the include(s) needs converting from codepage 273 to codepage 1047 (which it does in the next step, using EDCICONV, on the consolidated source).
So, two questions:
- Is there a BroadCom utility which expands #include statements in C++ source (in a way that I can use MONITOR=COMPONENTS)
- Does anyone have a generate processor which does the C++ compile using the DB2 and CICS co-processors, rather than having separate DB2 and CICS pre-compile steps beforehand? And which ideally does inbuilt codepage translation as well?
Any help or pointers gratefully received!
Thanks
Charles Gaskell