Problem:
Beim Compile von Cics Programmen kommt die Fehlermeldung, daß die Variable EIBRESP aus DFHEIBLK nicht nur einmal definiert ist.
Resolution:
Der CICS Preprocessor fügt automatisch die Copystrecken DFHCOMMAREA and DFHEIBLK
in die LINKAGE Section eines Cicsprogrammes ein.
Ist eine der Variablen, die in DFHEIBLK enthalten sind, bereits als eigenständige Variable im Cicsprogramm definiert kommt es zu dieser Fehlermeldung.
Diese automatische Einfügung kann vermieden werden durch die Compiler Directive
/CICSECM(LINKAGE=NO).
Der relevante Auszug aus der Online Hilfe sagt hierzu:
LINKAGE
The CICS preprocessor LINKAGE option enables you to control whether or not the preprocessor inserts the DFHEIBLK and COMMAREA into a program's Linkage Section and updates the USING clause of the PROCEDURE DIVISION header
LINKAGE=NO Do not insert the DFHEIBLK and COMMAREA into a program's Linkage Section or update the USING clause of the PROCEDURE DIVISION header
LINKAGE=YES Do insert the DFHEIBLK and COMMAREA into a program's Linkage Section and update the USING clause of the PROCEDURE DIVISION header. This is the default
You can shorten LINKAGE to LINK, YES to Y and NO to N.
For example, /CICSECM(LINKAGE=NO).
#MFDS
#EnterpriseDeveloper