Welcome to WORKBENCH version 7.04.

You found the A1-ReadMe.txt.  Good start.  

To install WORKBENCH software upload each of the 9 files to the mainframe to rebuild PDS libraries.  The 10th file M1- is the User Manual in MSWord document. 



STEP
-1- Download WORKBENCH v7.04 zip file from the website www.eagle88.com   Either Windows or Apple Mac, expand the zip file to download 9 files.  They are labeled F1- through F9- .  Any order is fine.   

Unzipped file:

A1-ReadMe.txt

F1-SYSTECH-BENV704-CNTL-XMIT
F2-SYSTECH-BENV704-DBRMLIB-XMIT
F3-SYSTECH-BENV704-LOADLIB-XMIT
F4-SYSTECH-BENV704-OBJLIB-XMIT
F5-SYSTECH-BENV704-PROCLIB-XMIT
F6-SYSTECH-BENV7TUT-CNTL-XMIT
F7-SYSTECH-BENV7TUT-CTLCARD1-XMIT
F8-SYSTECH-BENV7TUT-CTLCARD2-XMIT
F9-SYSTECH-BENV7TUT-DATA-XMIT

M1-WORKBENCHUserManualV74.doc


These files are binary image.  Upload them back to the mainframe also as binary.  We are using the XMIT / RECEIVE method to rebuild the PDS.  

As an example, the original name for F1 is SYSTECH.BENV704.CNTL. The dash (-) is replacing the dot (.) naming scheme.  


STEP
-2- Pre-allocate the 9 XMIT files.  To bring F1 file back, you need to pre-allocate SYSTECH.BENV704.CNTL.XMIT as a lrecl=80, blksize=3120, DSORG=PS.  Must be this block size and lrecl or the RECEIVE command will fail.

Example JCL below. Change the SYSTECH name to your company/project/userid name.  


SYSTECH.BENV704.CNTL(ALLOC4)   


//SYSTECHA JOB (123),'SYSTECH',CLASS=A,MSGCLASS=T,MSGLEVEL=(1,1),
//           NOTIFY=SYSTECH
//**********************************************************
//**  PREALLOCATE 9 FILES                                 **
//**  ALLOCATE 9 FILES AS 80/3120/PS F OR THE BINARY FILES**
//******************************************** *************
//DELETE   EXEC PGM=IEFBR14
//F1      DD DSN=SYSTECH.BENV704.CNTL.XMIT,
// DISP=(MOD,DELETE,DELETE),UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)
//F2      DD DSN=SYSTECH.BENV704.DBRMLIB.XMIT,
// DISP=(MOD,DELETE,DELETE),UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)
//F3      DD DSN=SYSTECH.BENV704.LOADLIB.XMIT,
// DISP=(MOD,DELETE,DELETE),UNIT=SYSDA,SPACE=(TRK,(50,10),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)
//F4      DD DSN=SYSTECH.BENV704.OBJLIB.XMIT,
// DISP=(MOD,DELETE,DELETE),UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)
//F5      DD DSN=SYSTECH.BENV704.PROCLIB.XMIT,
// DISP=(MOD,DELETE,DELETE),UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)
//F6      DD DSN=SYSTECH.BENV7TUT.CNTL.XMIT,
// DISP=(MOD,DELETE,DELETE),UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)
//F7      DD DSN=SYSTECH.BENV7TUT.CTLCARD1.XMIT,
// DISP=(MOD,DELETE,DELETE),UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)
//F8      DD DSN=SYSTECH.BENV7TUT.CTLCARD2.XMIT,
// DISP=(MOD,DELETE,DELETE),UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)
//F9      DD DSN=SYSTECH.BENV7TUT.DATA.XMIT,
// DISP=(MOD,DELETE,DELETE),UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)
//*
//**********************************************************
//**  ALLOCATE 9 FILES AS 80/3120/PS FOR THE BINARY FILES **
//******************************************** *************
//ALLOC1   EXEC PGM=IEFBR14
//F1      DD DSN=SYSTECH.BENV704.CNTL.XMIT,
// DISP=(NEW,CATLG,CATLG),UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)
//F2      DD DSN=SYSTECH.BENV704.DBRMLIB.XMIT,
// DISP=(NEW,CATLG,CATLG),UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)
//F3      DD DSN=SYSTECH.BENV704.LOADLIB.XMIT,
// DISP=(NEW,CATLG,CATLG),UNIT=SYSDA,SPACE=(TRK,(50,10),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)
//F4      DD DSN=SYSTECH.BENV704.OBJLIB.XMIT,
// DISP=(NEW,CATLG,CATLG),UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)
//F5      DD DSN=SYSTECH.BENV704.PROCLIB.XMIT,
// DISP=(NEW,CATLG,CATLG),UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)
//F6      DD DSN=SYSTECH.BENV7TUT.CNTL.XMIT,
// DISP=(NEW,CATLG,CATLG),UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)
//F7      DD DSN=SYSTECH.BENV7TUT.CTLCARD1.XMIT,
// DISP=(NEW,CATLG,CATLG),UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)
//F8      DD DSN=SYSTECH.BENV7TUT.CTLCARD2.XMIT,
// DISP=(NEW,CATLG,CATLG),UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)
//F9      DD DSN=SYSTECH.BENV7TUT.DATA.XMIT,
// DISP=(NEW,CATLG,CATLG),UNIT=SYSDA,SPACE=(TRK,(5,1),RLSE),
// DCB=(LRECL=80,RECFM=FB,BLKSIZE=3120,DSORG=PS)

 



    
STEP
-3- FTP the 9 files to the pre-allocate the 9 XMIT files you just built.

FTP 11.234.5.789        <<==your ftp IP address
FTP> USERID
FTP> PW

FTP> BIN 

FTP> put F1-SYSTECH-BENV704-CNTL-XMIT      'SYSTECH.BENV704.CNTL.XMIT' 
FTP> put F2-SYSTECH-BENV704-DBRMLIB-XMIT   'SYSTECH.BENV704.DBRMLIB.XMIT'
FTP> put F3-SYSTECH-BENV704-LOADLIB-XMIT   'SYSTECH.BENV704.LOADLIB.XMIT'
FTP> put F4-SYSTECH-BENV704-OBJLIB-XMIT    'SYSTECH.BENV704.OBJLIB.XMIT'
FTP> put F5-SYSTECH-BENV704-PROCLIB-XMIT   'SYSTECH.BENV704.PROCLIB.XMIT'
FTP> put F6-SYSTECH-BENV7TUT-CNTL-XMIT      'SYSTECH.BENV7TUT.CNTL.XMIT'
FTP> put F7-SYSTECH-BENV7TUT-CTLCARD1-XMIT  'SYSTECH.BENV7TUT.CTLCARD1.XMIT'
FTP> put F8-SYSTECH-BENV7TUT-CTLCARD2-XMIT  'SYSTECH.BENV7TUT.CTLCARD2.XMIT'
FTP> put F9-SYSTECH-BENV7TUT-DATA-XMIT      'SYSTECH.BENV7TUT.DATA.XMIT'


Browse each file sent on the mainframe and see if the allocations are still correct and the transmit did fill in the file.

What is in each file, you ask?   

F1 is typical test jcl, just misc WORKBENCH runs.  In the User manual under file M1- there are many examples with explanations that are better.  Also there are tutorial lessons to better help learn the WORKBENCH product.

F2 contains WORKBENCH19 DBRM object code to bind WORKBENCH to the DB2 environment.  This is a later step to perform.

F3 contains the WORKBENCH load module we execute to perform commands.

F4 contains the OBJLIB that builds the WORKBENCH load module.  A link step is later performed using this file.

F5 contains PROCLIB the WORKBENCH procs.

F6 Contains Tutorial jcl for lessons.   Later you will update the JCL for a valid job card and the company file naming scheme.

F7 contains Tutorial ctlcard lib1 for test cases

F8 contains Tutorial Ctlcard lib2 for test cases

F9 contains Tutorial data for test cases



STEP
-4- Rebuild the 9 PDS files using the RECEIVE command.  Change the output files to match the company naming scheme.  


Example to change on each job step:

/RECVDSN DD DISP=SHR,DSN=SYSTECH.BENV704.CNTL.XMIT   <<<== the RECVDSN should match the downloaded file name you created. 
                
//SYSTSIN  DD  *                                                      
     RECEIVE  INDDNAME(RECVDSN)                                         
                  DSNAME('SYSTECH.BENV704.CNTL')     <<<== the DSNAME will be the final PDS name you intend to use



For reference SYSTECH.BENV704.CNTL(AXMIT4) contains the following JCL.  

If you run the first job steps for F1-, those JCL members are inside the PDS.




//SYSTECHD JOB (123),'SYSTECH',CLASS=A,MSGCLASS=T,MSGLEVEL=(1,1),       00010000
//             NOTIFY=SYSTECH                                           00020000
//PLIB    JCLLIB ORDER=(SYSTECH.BENV704.PROCLIB)                        00030000
//*********************************************************             00040000
//*                                                                     00050000
//* RELOAD THE XMIT FILE TO WHICH EVER COMPANY NAME NEEDED              00060000
//*                                                                     00070000
//* THIS EXAMPLE CHANGES FROM BENV704 CHANGED BENV704                   00080000
//*                           BENV7TUT         BENV7TUT                 00090000
//*********************************************************             00100000
//* F1-SYSTECH.BENV704.CNTL                                             00110000
//* F2-SYSTECH.BENV704.DBRMLIB                                          00120000
//* F3-SYSTECH.BENV704.LOADLIB                                          00130000
//* F4-SYSTECH.BENV704.OBJLIB                                           00140000
//* F5-SYSTECH.BENV704.PROCLIB                                          00150000
//* F6-SYSTECH.BENV7TUT.CNTL                                            00160000
//* F7-SYSTECH.BENV7TUT.CTLCARD1                                        00170000
//* F8-SYSTECH.BENV7TUT.CTLCARD2                                        00180000
//* F9-SYSTECH.BENV7TUT.DATA                                            00190000
//*                                                                     00200000
//*                                                                     00210000
//*SCRATCH XMIT WORK FILE                                               00220000
//*********************************************************             00230000
//DELF1    EXEC PGM=IEFBR14                                             00240000
//XMITDS     DD DSN=SYSTECH.BENV704.CNTL,                               00250000
//          DISP=(MOD,DELETE,DELETE),                                   00260000
//          UNIT=SYSDA,SPACE=(TRK,(50,20,20),RLSE),                     00270000
//          DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)                         00280000
//*********************************************************             00290000
//*  F1 RELOAD XMIT CNTL  RECEIVED                                      00300000
//*********************************************************             00310000
//XMITF1   EXEC PGM=IKJEFT01                                            00320000
//SYSPRINT   DD SYSOUT=*                                                00330000
//SYSTSPRT DD  SYSOUT=*                                                 00340000
//RECVDSN DD DISP=SHR,DSN=SYSTECH.BENV704.CNTL.XMIT                     00350000
//SYSTSIN  DD  *                                                        00360000
     RECEIVE  INDDNAME(RECVDSN)                                         00370000
                  DSNAME('SYSTECH.BENV704.CNTL')                        00380000
//*                                                                     00390000
//*SCRATCH XMIT WORK FILE                                               00400000
//*********************************************************             00410000
//DELF3    EXEC PGM=IEFBR14                                             00420000
//XMITDS     DD DSN=SYSTECH.BENV704.DBRMLIB,                            00430000
//          DISP=(MOD,DELETE,DELETE),                                   00440000
//          UNIT=SYSDA,SPACE=(TRK,(50,20,20),RLSE),                     00450000
//          DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)                         00460000
//*********************************************************             00470000
//*  F2 RELOAD XMIT DBRMLIB RECEIVED                                    00480000
//*********************************************************             00490000
//XMITF2   EXEC PGM=IKJEFT01                                            00500000
//SYSPRINT   DD SYSOUT=*                                                00510000
//SYSTSPRT DD  SYSOUT=*                                                 00520000
//RECVDSN DD DISP=SHR,DSN=SYSTECH.BENV704.DBRMLIB.XMIT                  00530000
//SYSTSIN  DD  *                                                        00540000
     RECEIVE  INDDNAME(RECVDSN)                                         00550000
                  DSNAME('SYSTECH.BENV704.DBRMLIB')                     00560000
//*                                                                     00570000
//*                                                                     00580000
//*SCRATCH XMIT WORK FILE                                               00590000
//*********************************************************             00600000
//DELF3    EXEC PGM=IEFBR14                                             00610000
//XMITDS     DD DSN=SYSTECH.BENV704.LOADLIB,                            00620000
//          DISP=(MOD,DELETE,DELETE),                                   00630000
//          UNIT=SYSDA,SPACE=(TRK,(50,20,20),RLSE),                     00640000
//          DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)                         00650000
//*********************************************************             00660000
//*  F3 RELOAD XMIT LOADLIB RECEIVED                                    00670000
//*********************************************************             00680000
//XMITF3   EXEC PGM=IKJEFT01                                            00690000
//SYSPRINT   DD SYSOUT=*                                                00700000
//SYSTSPRT DD  SYSOUT=*                                                 00710000
//RECVDSN DD DISP=SHR,DSN=SYSTECH.BENV704.LOADLIB.XMIT                  00720000
//SYSTSIN  DD  *                                                        00730000
     RECEIVE  INDDNAME(RECVDSN)                                         00740000
                  DSNAME('SYSTECH.BENV704.LOADLIB')                     00750000
//*                                                                     00760000
//*SCRATCH XMIT WORK FILE                                               00770000
//*********************************************************             00780000
//DELF4    EXEC PGM=IEFBR14                                             00790000
//XMITDS     DD DSN=SYSTECH.BENV704.OBJLIB,                             00800000
//          DISP=(MOD,DELETE,DELETE),                                   00810000
//          UNIT=SYSDA,SPACE=(TRK,(50,20,20),RLSE),                     00820000
//          DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)                         00830000
//*********************************************************             00840000
//*  F4 RELOAD XMIT OBJLIB RECEIVED                                     00850000
//*********************************************************             00860000
//XMITF4   EXEC PGM=IKJEFT01                                            00870000
//SYSPRINT   DD SYSOUT=*                                                00880000
//SYSTSPRT DD  SYSOUT=*                                                 00890000
//RECVDSN DD DISP=SHR,DSN=SYSTECH.BENV704.OBJLIB.XMIT                   00900000
//SYSTSIN  DD  *                                                        00910000
     RECEIVE  INDDNAME(RECVDSN)                                         00920000
                  DSNAME('SYSTECH.BENV704.OBJLIB')                      00930000
//*                                                                     00940000
//*SCRATCH XMIT WORK FILE                                               00950000
//*********************************************************             00960000
//DELF5    EXEC PGM=IEFBR14                                             00970000
//XMITDS     DD DSN=SYSTECH.BENV704.PROCLIB,                            00980000
//          DISP=(MOD,DELETE,DELETE),                                   00990000
//          UNIT=SYSDA,SPACE=(TRK,(50,20,20),RLSE),                     01000000
//          DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)                         01010000
//*********************************************************             01020000
//*  F5 RELOAD XMIT PROCLIB RECEIVED                                    01030000
//*********************************************************             01040000
//XMITF5   EXEC PGM=IKJEFT01                                            01050000
//SYSPRINT   DD SYSOUT=*                                                01060000
//SYSTSPRT DD  SYSOUT=*                                                 01070000
//RECVDSN DD DISP=SHR,DSN=SYSTECH.BENV704.PROCLIB.XMIT                  01080000
//SYSTSIN  DD  *                                                        01090000
     RECEIVE  INDDNAME(RECVDSN)                                         01100000
                  DSNAME('SYSTECH.BENV704.PROCLIB')                     01110000
//*SCRATCH XMIT WORK FILE                                               01120000
//*********************************************************             01130000
//DELF6    EXEC PGM=IEFBR14                                             01140000
//XMITDS     DD DSN=SYSTECH.BENV7TUT.CNTL,                              01150000
//          DISP=(MOD,DELETE,DELETE),                                   01160000
//          UNIT=SYSDA,SPACE=(TRK,(50,20,20),RLSE),                     01170000
//          DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)                         01180000
//*********************************************************             01190000
//*  F6 RELOAD XMIT TUTORIAL CNTL RECEIVED                              01200000
//*********************************************************             01210000
//XMITF6   EXEC PGM=IKJEFT01                                            01220000
//SYSPRINT   DD SYSOUT=*                                                01230000
//SYSTSPRT DD  SYSOUT=*                                                 01240000
//RECVDSN DD DISP=SHR,DSN=SYSTECH.BENV7TUT.CNTL.XMIT                    01250000
//SYSTSIN  DD  *                                                        01260000
     RECEIVE  INDDNAME(RECVDSN)                                         01270000
                  DSNAME('SYSTECH.BENV7TUT.CNTL')                       01280000
//*                                                                     01290000
//*********************************************************             01300000
//*SCRATCH XMIT WORK FILE                                               01310000
//*********************************************************             01320000
//DELF7    EXEC PGM=IEFBR14                                             01330000
//XMITDS     DD DSN=SYSTECH.BENV7TUT.CTLCARD1,                          01340000
//          DISP=(MOD,DELETE,DELETE),                                   01350000
//          UNIT=SYSDA,SPACE=(TRK,(50,20,20),RLSE),                     01360000
//          DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)                         01370000
//*********************************************************             01380000
//*  F7 RELOAD XMIT TUTORIAL CTLCARD1 RECEIVED                          01390000
//*********************************************************             01400000
//XMITF7   EXEC PGM=IKJEFT01                                            01410000
//SYSPRINT   DD SYSOUT=*                                                01420000
//SYSTSPRT DD  SYSOUT=*                                                 01430000
//RECVDSN DD DISP=SHR,DSN=SYSTECH.BENV7TUT.CTLCARD1.XMIT                01440000
//SYSTSIN  DD  *                                                        01450000
     RECEIVE  INDDNAME(RECVDSN)                                         01460000
                  DSNAME('SYSTECH.BENV7TUT.CTLCARD1')                   01470000
//*********************************************************             01480000
//*SCRATCH XMIT WORK FILE                                               01490000
//*********************************************************             01500000
//DELF8    EXEC PGM=IEFBR14                                             01510000
//XMITDS     DD DSN=SYSTECH.BENV7TUT.CTLCARD2,                          01520000
//          DISP=(MOD,DELETE,DELETE),                                   01530000
//          UNIT=SYSDA,SPACE=(TRK,(50,20,20),RLSE),                     01540000
//          DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)                         01550000
//*********************************************************             01560000
//*  F8 RELOAD XMIT TUTORIAL CTLCARD2 RECEIVED                          01570000
//*********************************************************             01580000
//XMITF8   EXEC PGM=IKJEFT01                                            01590000
//SYSPRINT   DD SYSOUT=*                                                01600000
//SYSTSPRT DD  SYSOUT=*                                                 01610000
//RECVDSN DD DISP=SHR,DSN=SYSTECH.BENV7TUT.CTLCARD2.XMIT                01620000
//SYSTSIN  DD  *                                                        01630000
     RECEIVE  INDDNAME(RECVDSN)                                         01640000
                  DSNAME('SYSTECH.BENV7TUT.CTLCARD2')                   01650000
//*                                                                     01660000
//*SCRATCH XMIT WORK FILE                                               01670000
//*********************************************************             01680000
//DELF9    EXEC PGM=IEFBR14                                             01690000
//XMITDS     DD DSN=SYSTECH.BENV7TUT.DATA,                              01700000
//          DISP=(MOD,DELETE,DELETE),                                   01710000
//          UNIT=SYSDA,SPACE=(TRK,(50,20,20),RLSE),                     01720000
//          DCB=(LRECL=80,RECFM=FB,BLKSIZE=800)                         01730000
//*********************************************************             01740000
//*  F9 RELOAD XMIT TUTORIAL DATA RECEIVED                              01750000
//*********************************************************             01760000
//XMITF9   EXEC PGM=IKJEFT01                                            01770000
//SYSPRINT   DD SYSOUT=*                                                01780000
//SYSTSPRT DD  SYSOUT=*                                                 01790000
//RECVDSN DD DISP=SHR,DSN=SYSTECH.BENV7TUT.DATA.XMIT                    01800000
//SYSTSIN  DD  *                                                        01810000
     RECEIVE  INDDNAME(RECVDSN)                                         01820000
                  DSNAME('SYSTECH.BENV7TUT.DATA')                       01830000
//                                                                      01840000
 




STEP
-5- Browse each of the 9 PDSs just built to see if they have content.  If the RECEIVE commands, fails, you will get messages in the job.  Problems occur if the XMIT file sent down was not pre-allocated to 80/3120/PS.  Or possibly the binary ftp was not correct.  

If you see members built, chances are 99.5% all is good.





STEP
-6- Link the executable WORKBENCH composite module.  

Locate the main link job in 'SYSTECH.BENV704.CNTL(LINKB). Change the file names to match your scheme.  Save it the changed name for later use with your names.   

CC=4 is acceptable.  It indicates a warning on the DB2 overrides.  That is normal and correct.

If LINK fails badly, check the OBJLIB for damaged members, call if you have issues.  I am guessing your FTP didn't come in clean, or I sent you a bad file, or gremlins. Email jrmull@eagle88.com with questions.

If the link worked, chances are 99.6% all is good.  



 
//*********************************************************
//*Link the WORKBENCH load module using the following JCL.  *
//*********************************************************
//LINK1  EXEC PGM=HEWL,PARM='LIST,LET,XREF,CALL,AMODE=31,RMODE=24'
//SYSLIB   DD DSN=company.BENV704.LOADLIB,DISP=SHR
//SYSUT1   DD UNIT=SYSDA,SPACE=(1024,(100,10))
//SYSPRINT DD SYSOUT=*
//SYSLMOD  DD DSN=SYSTECH.BENV704.LOADLIB,DISP=SHR
//SYSLIN   DD DSN=SYSTECH.BENV704.OBJLIB(BENCH01),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH02),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH03),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH04),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH05),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH06),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH07),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH08),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH09),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH10),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH11),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH11T),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH12),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH13),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH14),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH15),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH16),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH17),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH18),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH19),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(BENCH20),DISP=SHR
//         DD DSN=SYSTECH.BENV704.OBJLIB(IDMSTABL),DISP=SHR
//         DD DDNAME=SYSIN
//SYSIN    DD *
  ENTRY BENCH01
  INCLUDE SYSLIB(DSNTIAR)
  INCLUDE SYSLIB(DSNHLI) 
  INCLUDE SYSLIB(IEFBR14)
  NAME BENCH(R)

/*



STEP
-7-  Optional...If you have IDMS, Run LINKIDMS using this JCL line to allow IDMS database usage.

Locate the IDMS link job in 'SYSTECH.BENV704.CNTL(LINKIDMS).


           SPECIAL CA-DATACOM LINK

//install JOB (12345,12345),'PROGRAMMER',CLASS=A,MSGCLASS=A
//LINK4 EXEC PGM=HEWL,PARM='LIST,LET,XREF,CALL,AMODE=31,RMODE=24'
//*****************************
//* LINK CA-DATACOM WORKWORKBENCH *
//*****************************
//SYSLIB   DD DSN=COMPANY.BENV704.LOADLIB,DISP=SHR
//         DD DSN=COMPANY.datacom.modules,DISP=SHR
//         DD DSN=SYS1.LINKLIB,DISP=SHR
//         DD DSN=SYS1.RESLIB,DISP=SHR
//SYSUT1   DD UNIT=SYSDA,SPACE=(1024,(100,10))
//SYSPRINT DD SYSOUT=A
//SYSLMOD  DD DSN=COMPANY.LOADLIB,DISP=SHR
//SYSLIN   DD DDNAME=SYSIN
//SYSIN    DD *
  INCLUDE SYSLIB(DBURINF1)
  INCLUDE SYSLIB(BENCH)
  ENTRY BEGIN
  NAME BENCHDB(R)
//




STEP
-8-  Optional...If you have DB2, Run this DBRM bind allow DB2 database usage.  Check with your DBA for validation.

Locate the DB2 Bind for WORKBENCH19 module in 'SYSTECH.BENV704.CNTL(DB2BIND4).

If your bind succeeds, chances are 99.7% all is good.


//SYSTECHD JOB (123),'SYSTECH',CLASS=A,MSGCLASS=T,MSGLEVEL=(1,1),  
//             NOTIFY=SYSTECH                                      
//PLIB    JCLLIB ORDER=(SYSTECH.BENV704.PROCLIB)  
//***************************************************                                                                                    
//*  DB2 BIND JCL FOR PROGRAM WORKBENCH19                              
//*  PLAN SYSTECHA, SYSTECHB, SYSTECHC, SYSTECHD			
//***************************************************                   
//BIND     EXEC PGM=IKJEFT01                                       
//STEPLIB  DD  DISP=SHR,DSN=DSNA10.DBAG.SDSNEXIT                   
//         DD  DISP=SHR,DSN=DSNA10.SDSNLOAD                        
//DBRMLIB  DD  DSN=SYSTECH.BENV704.DBRMLIB,DISP=SHR                    
//SYSPRINT DD  SYSOUT=*                                                    
//SYSTSPRT DD  SYSOUT=*                                            
//SYSUDUMP DD  SYSOUT=*                                            
//SYSTSIN  DD  *                                                   
 DSN SYSTEM (DBAG   )              
 BIND  MEMBER    (BENCH19 )  -     
       PLAN      (SYSTECHA)  -     
       ACTION    (REP)       -     
       ISOLATION (CS)        -     
       VALIDATE  (BIND)      -     
       RELEASE   (COMMIT)    -     
       OWNER     (SYSTECH )  -     
       QUALIFIER (SYSTECH )  -     
       ENCODING  (1047)            
 END                               
 /*                                


Another illustration sample:  (talk to your DBA for advise)
//*********************************************************

//*   db2 bind information

//*********************************************************
          DSN SYSTEM(DB2T)
          BIND PLAN (BENCH19) -
          LIBRARY(your.COMPANY.lib) ACTION(REPLACE) RETAIN -
          EXPLAIN(NO) VALIDATE(BIND) ISOLATION(CS) -
          ACQUIRE(USE) RELEASE(COMMIT)
          END





STEP
-9-  PROCLIB changes.  Review each member in 'SYSTECH.BENV704.PROCLIB' and change the LOADLIB name to match your company naming scheme.


 
//WORKBENCH PROC RGN=4M,ERRORS=                                 
//******************************************                  
//*  EXEC WORKBENCH UTILITY                  *                  
//******************************************                  
//RUNBENL EXEC PGM=BENCH,PARM=&ERRORS,REGION=&RGN          
//STEPLIB   DD DSN=SYSTECH.BENV704.LOADLIB,DISP=SHR          
//         DD DSN=DSNA10.SDSNLOAD,DISP=SHR                    
//         DD DSN=DSNA10.DBAG.SDSNEXIT,DISP=SHR               
//BENCHR01  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA) 
//BENCHR02  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA) 
//BENCHR03  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA) 
//BENCHR04  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA) 
//BENCHR05  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA) 
//BENCHR06  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA) 
//BENCHR07  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA) 
//BENCHR08  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA) 
//WORKBENCHWRD  DD DUMMY,DCB=(LRECL=34,BLKSIZE=6000,RECFM=VB)
//WORKBENCHMD  DD DDNAME=SYSIN
//*       PEND




Optional, create this WORKBENCH proc for IMS usages:


//WORKBENCHIMS PROC RGN=4M,PSB=
//******************************************
//*  EXEC WORKBENCH UTILITY FOR IMS          *
//******************************************
//WORKBENCHIMS EXEC PGM=DFSRRC00,REGION=&RGN,
//     PARM='DLI,BENCH,&PSB'
//STEPLIB   DD DSN=COMPANY.BENV704.LOADLIB,DISP=SHR
//          DD DSN=COMPANY.ims.reslib,DISP=SHR
//          DD DSN=COMPANY.ims.modlib,DISP=SHR
//IMS       DD DSN=COMPANY.ims.pgmlib,DISP=SHR
//DFSVSAMP  DD DSN=COMPANY.ctlcard(bufdef),DISP=SHR
//IEFRDER   DD DUMMY
//SYSPRINT  DD SYSOUT=*
//DFSSTAT   DD DUMMY
//BENCHR01  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA)
//BENCHR02  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA)
//BENCHR03  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA)
//BENCHR04  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA)
//BENCHR05  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA)
//BENCHR06  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA)
//BENCHR07  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA)
//BENCHR08  DD SYSOUT=*,DCB=(BLKSIZE=133.LRECL=133,RECFM=FBA)
//WORKBENCHWRD  DD DUMMY,DCB=(LRECL=34,BLKSIZE=6000,RECFM=VB)
//WORKBENCHMD  DD DDNAME=SYSIN
//*       PEND




Optional, create this WORKBENCH proc for IDMS usages:

          SPECIAL CA-DATACOM PROC

//WORKBENCHDB PROC RGN=4M,URT='XXXXXXXX'
//******************************************
//*  EXEC WORKWORKBENCH UTILITY FOR CA-DATACOM *
//******************************************
//WORKBENCHDB EXEC PGM=BENCHDB,PARM='URT=&URT',REGION=&RGN
//STEPLIB   DD DSN=COMPANY.BENV704.LOADLIB,DISP=SHR
//          DD DSN=COMPANY.urt.LOADLIB,DISP=SHR
//          DD DSN=COMPANY.db.LOADLIB,DISP=SHR
//BENCHR01  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA)
//BENCHR02  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA)
//BENCHR03  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA)
//BENCHR04  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA)
//BENCHR05  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA)
//BENCHR06  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA)
//BENCHR07  DD SYSOUT=*,DCB=(BLKSIZE=133,LRECL=133,RECFM=FBA)
//BENCHR08  DD SYSOUT=*,DCB=(BLKSIZE=133.LRECL=133,RECFM=FBA)
//WORKBENCHWRD  DD DUMMY,DCB=(LRECL=34,BLKSIZE=6000,RECFM=VB)
//WORKBENCHMD  DD DDNAME=SYSIN
//*       PEND



STEP
-10-  Run TESTPRT from the provided JCL lib.  Return code = 0 should occur.   

If this job runs, chances are 100% all is good.  



SYSTECH.BENV704.CNTL(TESTPRT)


//SYSTECH1 JOB (123),'SYSTECH',CLASS=A,MSGCLASS=T,MSGLEVEL=(1,1), 
//             NOTIFY=SYSTECH                                     
//PLIB    JCLLIB ORDER=(COMPANY.BENV704.PROCLIB)              <<<change this to match your name        
//STEP001 EXEC BENCH                                            
//IN  DD *                                                        
REC1                                                              
REC2                                                              
REC3                                                              
//SYSIN     DD *                                                  
************************                                          
* WORKBENCH COMMANDS     *                                          
************************                                          
LOOP  READ  IN                                                    
      PRINT IN                                                    
      DUMP  IN                                                    
      DUMPH IN                                                    
      GOTO  LOOP.                                                 
/*  
//  



STEP
-11-   

The User manual has a Tutorial section with 12 lessons.  The test data and JCL are prebuilt and stored in the "Tutorial" files. 
 
A valid job card needs to be pasted in and file names matching your company naming scheme is needed.  Each job will execute with cc=0 and provide useful reports for the students. 


If these job runs, chances are 101% all is good.  



WRAPUP
========

Most jobs run with proc BENCH.  

For DB2, Use the same BENCH proc.  DB2 requires the DSNA libraries in the proc.

For running a job connecting IMS to DB2 or other IMS unloads, BENCH uses the BENCHIMS proc. See samples in the User manual.   For IDMS shops (AKA CA-DATACOM), the BENCHDB proc is used for access.    
 

Changes to file names and file allocations are at your discretion.  There are only 3 proc's under the name of BENCH, BENCHIMS, BENCHDB.
 

Your comments and corrections are welcome to make this install easier.  Feel free to email a specific business task you would like to perform.  I will return with a possible solution using Workbench.
 

Regards 

John Mull
630-759-4805
jrmull@eagle88.com



