//SYMBOL PROC ADMINSTG=ADMIN, // PRODSTG='&C1EN(1,1)PROD', // CICSOBSO='&PROJECT..&GROUP..&PRODSTG..CICSLOAD', // LOADLIB='&PROJECT..&GROUP..&STG1..BCHLOAD', // BASELIB=&C1BASELIB, // OBSOLETE='&C1BASELIB...OBSOLETE', // ELEMENT=&C1ELEMENT, // ELEM10=&C1ELMNT10, // ELEM255="&C1ELMNT255(1,8)", // DOBIND=N, // UPGMREGN=&C1ST., // VALBIND=Y, // STG1BASE=&C1BASELIB, // SRC1BASE=&C1SBASLIB, // STG2=&C1ST2, // STG1=&C1ST., // TGTSTG2=&C1TSTAGE2, // STG2BASE=&C1BASELIB, // TGT2BASE=&C1TBASLIB, // ZFSBASE=&#ZFSBASE, // SRCSTG=&C1SSTAGE, // TGTSTG=&C1STAGE, // SRCSYS=&C1SSYSTEM, // TGTSYS=&C1TSYSTEM, // BBS='&C1ST(2)', // BBNDENV1=&#BBNDENV1, // BBD=&#BBNDENV1..(2,4), // DB2SYS=&#DB2SYS, // DB2SYSD=&#DB2SYS..., // DB2SYS1=&#DB2SYS1, // DB2SYS2=&#DB2SYS2, // DB2APF=TTA&DB2VERS..TS2.DB2.APFLIB, // DB2APF2=&#DB2APF, // DB2VERS=&#DB2VERS, // DB2FENCE=Y, ++INCLUDE GSYMCICS // FFENCMAX='&FNC&C1TY(1,3)RC', // FNCCOBRC=4, // FNCBINRC=12, // CICSREL1=&#CICSREL..., // GROUP=END, // CICS5=N, // CICS7=N, // DB2SP=P, // LISTLIB=&VPROJECT..END.LISTLIB, // LISTLB#=&PROJECTV..END.LISTLIB, // PROJECT=&#PROJECT.., // VPROJECT=V&PROJECT.., // PROJECTV='&#PROJECTV..', // VPROJCT1='&#PROJECTV..', // FOOTPRNT=&C1FOOTPRT, // XPED=X //* //IFADD IF ((&C1ACTION = 'ADD' OR &C1ACTION = 'UPDATE') AND // (&VALBIND = 'Y')) THEN //VALIDATE EXEC PGM=IEFBR14 //IFADD ENDIF //IFDB2 IF ((&DB2SYS NE 'NO') AND // ((&C1ACTION = 'GENERATE') OR (&DOBIND = 'Y'))) THEN //BIND EXEC PGM=IEFBR14 //IFDB2 ENDIF //* //IFXPED IF (&XPED = 'X') THEN //COPYBXPD EXEC PGM=IEFBR14 //IFCICS IF ((&CICS5 = 'C') OR // (&CICS7 = 'C') OR // (&DB2SP = 'P')) THEN //COPYXPDC EXEC PGM=IEFBR14 //IFCICS ENDIF //IFNCPY IF ((&UPGMREGN NE 'NO') AND (&UPGMREGN NE &STG1)) THEN //NEWCOPY EXEC PGM=IEFBR14 //IFNCPY ENDIF //IFXPED ENDIF //GENR EXEC PGM=IEBGENER //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY //SYSUT2 DD SYSOUT=* //SYSUT1 DD * LOADLIB = &LOADLIB,DISP=SHR LOADOBSO = &LOADLIB..OBSOLETE BASELIB = &BASELIB OBSOLETE = &OBSOLETE PRODSTG = &PRODSTG CICSOBSO = &CICSOBSO..OBSOLETE FFENCMAX = &FFENCMAX C1ELEMENT = &ELEMENT ELEMENT10 = &ELEM10 ELEMENT255= &ELEM255 C1ST = &STG1 C1BASELIB = &STG1BASE C1SBASLIB = &SRC1BASE C1ST2 = &STG2 C1TSTAGE2 = &TGTSTG2 C1BASELIB = &STG2BASE C1TBASLIB = &TGT2BASE ZFSBASE = &ZFSBASE C1SSTAGE = &SRCSTG C1STAGE = &TGTSTG C1SSYSTEM = &SRCSYS C1TSYSTEM = &TGTSYS BBS &BBS BBD &BBD CICSLOAD &CICSLOAD CICSREGN &CICREGN CICSREL &CICSREL CICSREL1 &CICSREL1 CICSSCOB &CICSSCOB CICSSLOD &CICSSLOD CICSSMAC TTE&CICSVER..TSK.P.&CICSREL..SYS.MACLIB CICSSMAC1 TTE&CICSVER..TSK.P.&CICSREL1..SYS.MACLIB CICSSMAC# &#CICSSMAC CICSVER = &CICSVER CICSREL = &CICSREL CICSSMTS = &CICSSMTS CICSSMAC = &CICSSMAC CICSSLOD = &CICSSLOD CICSSCOB = &CICSSCOB CICSMAC = &CICSMAC CICSLOAD = &CICSLOAD CICSDSCT = &CICSDSCT CICSDLOD = &CICSDLOD CICSEXCL = &CICSEXCL CICSCCPY = &CICSCCPY LISTLIBVPROJECT=&LISTLIB LISTLIB#PROJECT=&LISTLB# FOOTPRINT=&FOOTPRT SUBSRSTG1=&&STG1(2).LIB SUBSRSTG2=&&STG2(2).LIB SUBFRMSTG=&&STG3(2).LIB COPYLIB =&STG1...COPYLIB COPYLIB2 =&STG2...COPYLIB COPYLIB3 =&STG3...COPYLIB SQLDSN = &C1ELEMENT..&DB2SYSD..GENGRNTS.LOG SQLDSN2 = &C1ELEMENT..&DB2SYS..GENGRNTS.LOG DB2SYS#DOT = &#DB2SYS... CURRENT STAGE DB2SYS = &DB2SYS CURRENT STAGE DB2SYS11 = &DB2SYS(1,1) CURRENT STAGE DB2SYS11D= &DB2SYSD(1,1) CURRENT STAGE DB2SYS1 = &DB2SYS1 FROM STAGE DB2SYS2 = &DB2SYS2 TARGET STAGE DB2APF = &DB2APF #DB2APF = &#DB2APF DB2APF2 = &DB2APF2 DB2VERS = &DB2VERS #DB2VERS = &#DB2VERS C1STAGE = &C1ST TARGET STAGE C1SSTAGE = &C1SSTAGE FROM STAGE PROJECT = &PROJECT..&GROUP..&C1ST..&C1TY PROJECT1 = &PROJECT1..&GROUP..&C1ST..&C1TY VPROJECT = &VPROJECT..&GROUP..&C1ST..&C1TY VPROJECT1 = &VPROJCT1..&GROUP..&C1ST..&C1TY //IFENV1 IF (&#BBNDENV1 NE '') THEN // DD * BBNDENV1 = &#BBNDENV1 BBNDSTG1 = &#BBNDSTG1 //IFENV1 ENDIF //IFENV2 IF (&#BBNDENV2 NE '') THEN // DD * BBNDENV2 = &#BBNDENV2 BBNDSTG2 = &#BBNDSTG2 //IFENV2 ENDIF //IFENV3 IF (&#BBNDENV3 NE '') THEN // DD * BBNDENV3 = &#BBNDENV3 BBNDSTG3 = &#BBNDSTG3 //IFENV3 ENDIF //*+++ PERFORM BIND *** BEGIN BINDDB2 INCLUDE +++* //********************************************************************* 01050001 //* //* THIS INCLUDE USED BY BINDCTL/BINDPLAN AND COBOL DB2 PROCESSORS //* //********************************************************************* 01050001 //* DELETE TEMPORARY CATALOGED FILES: //* TEMP BINDCARD FILE //* TEMP DBRMLIB //* TEMP DBRM.DB2FENCE FILE //************************************************YY******************* 01050001 //******************************************************************* //* //* ASSUMING DBRM IS FOUND, CONTINUE TO FIND DB2FENCE CARDS //* //******************************************************************* //* USE CONWRITE TO FIND DB2FENCE CARDS UP THE MAP //* (STEP NOT EXECUTED FOR BINDPLAN) //* //* CHECK FOR FENCING ON BINDBACK -- 'FENCBACK' VARIABLE Y/N //* PASSED BACK THRU BINDBACK GENERATE ACTION POS 10 OF COMMENT //* POSSIBLE RC: 0 -- FENCE CARDS FOUND //* 4 -- FENCE CARDS NOT FOUND //* 12 -- TYPE DB2FENCE NOT DEFINED //* //* ASSUMPTIONS: COBOL -- &C1PRGRP PROC GROUP OVERRIDE DB2FENCE=Y //* RC=0 IS ONLY ACCEPTABLE RC. IF &DB2SYS //* SHOULD NOT BE FENCED, CHANGE //* &C1EN/&C1SY/COBOL/&C1SI DB2FENCE=N //* BINDCTL -- RC=4 IS ACCEPTABLE SINCE FENCBACK=Y //* IS APPLICABLE TO ALL STAGES, AND SOME //* DO NOT FENCE .. NO WAY AROUND THAT //* RC=12 SHOULD BE INVESTIGATED, FENCBACK=Y //* CAN'T WORK IF TYPE DB2FENCE IS NOT DEFINED, //* BUT WE DON'T WANT IT TO STOP THE BINDBACK //* PROCESS SO WE LET IT GO THRU AND SIMPLY //* SKIP THE FENCE STEP BY TESTING FINDFENC RC. //* //******************************************************************* //IFFENCY IF ((&DB2FENCE = Y) OR // (('&C1COM(1,8)' = 'BINDBACK') AND // ('&C1COM(11,1)' = 'Y'))) THEN //FINDFENC EXEC PGM=IEFBR14,MAXRC=&FFENCMAX, // EXECIF=(&C1TY,NE,BINDPLAN) //DDC DD DUMMY //IFFENC IF (FINDFENC.RC > 0) THEN //IFFENC ENDIF //IFFENCY ENDIF