I had a little time and looked at this closer. I am trying to determine what they are really doing and why.

Here is the JCL that they use to compile:

... translate step
... cobol step with output going to
//SYSLIN   DD DSN=&&LOADSET,DISP=(MOD,PASS),
//            UNIT=&WORK,SPACE=(80,(250,100))
... then
//COPYLINK EXEC PGM=IEBGENER,COND=(7,LT,COB)
//SYSUT1   DD DSN=&INDEX..SDFHMAC(DFHEXLI),DISP=SHR
//SYSUT2   DD DSN=&&COPYLINK,DISP=(NEW,PASS),
//            DCB=(LRECL=80,BLKSIZE=400,RECFM=FB),
//            UNIT=&WORK,SPACE=(400,(20,20))
//SYSPRINT DD SYSOUT=&OUTC
//SYSIN    DD DUMMY
//*------------------------------------------------
//LKED   EXEC PGM=IEWL,REGION=&REG,
//            PARM='&LNKPARM',COND=(5,LT,COB)
//SYSLIB   DD DSN=&INDEX..SDFHEXCI,DISP=SHR
//         DD DSN=&INDEX..SDFHLOAD,DISP=SHR
//         DD DSN=&LE370HLQ..SCEELKED,DISP=SHR
//         DD DSN=&INDEX..SDFHCOB,DISP=SHR
//         DD DSN=&INDEX..SDFHMAC,DISP=SHR
//         DD DSN=&INDEX..SDFHSAMP,DISP=SHR
//SYSLMOD  DD DSN=XXXX.&CICS..USER.LOADLIB,DISP=SHR
//SYSUT1   DD UNIT=&WORK,DCB=BLKSIZE=1024,
//            SPACE=(1024,(200,20))
//SYSPRINT DD SYSOUT=&OUTC
//SYSLIN   DD DSN=&&COPYLINK,DISP=(OLD,DELETE)
//         DD DSN=&&LOADSET,DISP=(OLD,DELETE)
//         DD DDNAME=SYSIN

They run the compile using:
/HBCC08  EXEC CICSCCLH,.....
//TRN.SYSIN DD *
./ INCLUDE HBCC08,LIB=PROD
/*
//LKED.SYSIN DD *
    NAME HBCC08(R)
/*
//

It seems that ..SDFHMAC(DFHEXLI) only contains one line:
  INCLUDE SYSLIB(DFHXCSTB)

DFHXCSTB is in ..SDFHEXCI

It appears that during the link stage, DFHEI1 is being pulled in automatically.

BATCH EMULATOR JOB(HBCC08 ) STEP(HBCC08 ) PGM= IEWL PROCEDURE(LKED ) IEW2278I B352 INVOCATION PARAMETERS - AMODE(31),RMODE(ANY),LIST,XREF
IEW2322I 1220  1     INCLUDE SYSLIB(DFHXCSTB)
IEW2322I 1220  2       NAME HBCC08(R)
C R O S S - R E F E R E N C E T A B L E

_________________________________________
TEXT CLASS = B_TEXT --------------- R E F E R E N C E -------------------------- T A R G E T --- CLASS ELEMENT | OFFSET SECT/PART(ABBREV) OFFSET TYPE | SYMBOL(ABBREV) SECTION (ABB 2A0 HBCC08 50 V-CON | IGZCBSO IGZCBSO 30A HBCC08 BA V-CON | CEESTART CEESTART 32A HBCC08 DA V-CON | CEESTART CEESTART 32E HBCC08 DE V-CON | CEEBETBL CEEBETBL 384 HBCC08 134 V-CON | DFHEI1 DFHEAI 388 HBCC08 138 V-CON | CEELOCT CEELOCT 33BC CEEBETBL 4 V-CON | CEEBXITA $UNRESOLVED(

So, what are they really doing by including something from the EXCI library instead of the normal INCLUDE?

Tony Thigpen

[email protected] wrote on 04/22/2017 09:59 AM:
Hi Tony

I found two references to DFHEXLI
and also refer to the external interface guide as you mentioned

CICS.SDFHPROC(DFHYXTDL)

CICS.SDFHPROC(DFHEXTAL)

---------- Original Message ----------
From: Tony Thigpen <[email protected]>
To: [email protected]
Subject: DFHEXLI vs DFHECI
Date: Fri, 21 Apr 2017 21:09:07 -0400

I am working with a site, and their CICS COBOL compile procs include
DFHEXLI instead of DFHECI.

I thought DFHEXLI was only for batch programs using the external
interface link. But, there is not much information about it when I
google it.

Can DFHEXLI safely be used for "normal" CICS programs?


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to