Print01.files processing

 

Contents:
Bottom
1. Print01.files information

2.  Prosessing steps

     2.1. Daily backup of Print01.files and delete

     2.2. Saved summary backup  on TAPE

     2.3. Restore a report from saved backup tape


 

          1. Print01.files  information

The z/os files with prefix PRINT01 may be created from different sources:

– Print01 z/os  file ’print01.restroz’  created from JES2 queue  using print function  of  TSO ISPF for  sending later via FTP  to PC.

Intermediate file PRINT01.SMFEXTR.FEB  produced by SMFEXTRA tool  of Sub-Capacity for z/OS to  minimize charges SMFEXTRA and to be processed by the next job SCPTOOL that calc- ulate  the extract of smf data  creating  print01.scptool.csv report.

– Intermediate file PRINT01.KCI02.B6600.HDESK.HISGLACC.G10 cteated by PGM=GLVKALL (banking GL inquiry)  to be sent to PC via FTP.

– Any Cobol program can produce Print01  sequential file (PRTFILE) as follows :

BCI05.LIB.BASE.SOURCE(COLLTYPE)

COLLTYPE:

IDENTIFICATION DIVISION.

PROGRAM-ID. COLLTYPE.

ENVIRONMENT DIVISION.

INPUT-OUTPUT SECTION.

FILE-CONTROL.

SELECT PRTFile

ASSIGN TO PRTFILE

FILE STATUS IS FS-CODE.

SELECT BAKMSTR

ASSIGN TO BAKMSTR

ORGANIZATION IS INDEXED

ACCESS DYNAMIC

RECORD KEY IS BAKM-KEY

FILE STATUS IS FS-CODE VSAM-CODE.

DATA DIVISION.

FILE SECTION.

FD PRTFILE

RECORDING MODE F

RECORD 34 CHARACTERS.

01  PRT-RECORD.

03  PRT-TYPE                PIC 9(4).

03  FILLER                  PIC X(1).

03  PRT-COLL-PROV-RATE      PIC 9(3).

03  FILLER                  PIC X(1).

03  PRT-COLL-NAME           PIC X(20).

03  FILLER                  PIC X(1).

03  PRT-ISO-CODE            PIC X(3).

03  FILLER                  PIC X(1).

FD  BAKMSTR.

01  BAKM-RECORD.

05  BAKM-KEY.

07  BAKM-KEY-BANK         PIC X(02).

07  BAKM-KEY-APL          PIC X(01).

07  BAKM-KEY-CODE         PIC X(01).

07  BAKM-KEY-GL-TAB       PIC X(02).

07  BAKM-KEY-CODE1        PIC X(01).

05  BAKM-REC-COLLATERAL.

07  BAKM-COLL-DATE       PIC S9(7)           COMP-3.

07  BAKM-COLL-TIME       PIC S9(7)           COMP-3.

07  FILLER               PIC X(1).

07  BAKM-COLL-NAME       PIC X(20).

07  FILLER               PIC X(2).

07  BAKM-COLL-CUR        PIC 9(4) BINARY.

07  BAKM-COLL-CODE-PROV  PIC 9(1).

07  BAKM-COLL-PROV-RATE  PIC 9(3).

07  BAKM-COLL-USER1      PIC X(20).

07  BAKM-COLL-USER2      PIC X(20).

07  BAKM-COLL-USER3      PIC X(20).

07  FILLER               PIC X(100).

07  FILLER               PIC X(2331).

05  BAKM-GL-BUF             PIC X(5650).

WORKING-STORAGE SECTION.

01  RETURN-STATUS.

05  FS-CODE             PIC XX.

05  VSAM-CODE.

10  VSAM-RET            PIC 9(2) COMP.

10  VSAM-COMP           PIC 9(1) COMP.

10  VSAM-REAS           PIC 9(3) COMP.

01  WRK-FIELDS.

03 LEN                       PIC 9(2).

PROCEDURE DIVISION.

OPEN OUTPUT PRTFile 

IF FS-CODE > ’00’ AND FS-CODE < ’97’

DISPLAY ‘OPEN PRTFile ERR -‘ FS-CODE

STOP RUN

END-IF

OPEN INPUT BAKMSTR

IF FS-CODE > ’00’ AND FS-CODE < ’97’

DISPLAY ‘OPEN BAKMSTR ERR -‘ FS-CODE

CLOSE PRTFile

STOP RUN

END-IF

MOVE X’6600′  TO BAKM-KEY-BANK

MOVE X’20’    TO BAKM-KEY-APL

MOVE X’0000′  TO BAKM-KEY-GL-TAB

MOVE X’15’    TO BAKM-KEY-CODE BAKM-KEY-CODE1

START BAKMSTR KEY IS GREATER BAKM-KEY INVALID KEY

DISPLAY ‘START BAKMSTR ERR -‘ FS-CODE

STOP RUN

END-START.

RD-BAKMSTR.

READ BAKMSTR NEXT AT END GO TO END-PROG

END-READ

IF BAKM-KEY-APL NOT = X’20’

GO TO END-PROG

END-IF

INITIALIZE PRT-RECORD

MOVE 2 TO LEN

CALL ‘ACCUNPK’ USING BAKM-KEY-GL-TAB  LEN  PRT-TYPE

MOVE BAKM-COLL-PROV-RATE TO PRT-COLL-PROV-RATE

MOVE BAKM-COLL-NAME      TO PRT-COLL-NAME

MOVE BAKM-COLL-PROV-RATE TO PRT-COLL-PROV-RATE

EVALUATE BAKM-COLL-CUR

WHEN  1  MOVE ‘USD’ TO PRT-ISO-CODE

WHEN  4  MOVE ‘AUD’ TO PRT-ISO-CODE

WHEN  7  MOVE ‘DKK’ TO PRT-ISO-CODE

WHEN 11  MOVE ‘SEK’ TO PRT-ISO-CODE

WHEN 12  MOVE ‘CHF’ TO PRT-ISO-CODE

WHEN 14  MOVE ‘JPY’ TO PRT-ISO-CODE

WHEN 15  MOVE ‘CAD’ TO PRT-ISO-CODE

WHEN 17  MOVE ‘NOK’ TO PRT-ISO-CODE

WHEN 18  MOVE ‘GBP’ TO PRT-ISO-CODE

WHEN 20  MOVE ‘EUR’ TO PRT-ISO-CODE

WHEN 32  MOVE ‘BGN’ TO PRT-ISO-CODE

WHEN 36  MOVE ‘HRK’ TO PRT-ISO-CODE

WHEN 56  MOVE ‘RUB’ TO PRT-ISO-CODE

WHEN 57  MOVE ‘RON’ TO PRT-ISO-CODE

WHEN 58  MOVE ‘TRY’ TO PRT-ISO-CODE

END-EVALUAT

INSPECT PRT-RECORD REPLACING ALL LOW-VALUE BY ‘;’

WRITE PRT-RECORD

GO TO RD-BAKMSTR.

END-PROG.

CLOSE PRTFile BAKMSTR

STOP RUN.

Compilation the above program  in BCI05.LIB.BASE.LOAD as (COLLTYPE):

//COBBATCH JOB (ACCTNUM),’CORNERST’,     

//     USER=,

//     GROUP=,

//     PASSWORD=,

//         TIME=1440,

//         NOTIFY=&SYSUID,

//         REGION=6500K,

//        ,

//         MSGCLASS=X,

//         MSGLEVEL=(1,1)

//*—————————————

//*  COBOL JCL – 07/2003

//*

//*  CHANGE PARMS BELOW:

//*  BCCSLIB  = SOURCE LIBRARY                                       –

//*  BCCTLOAD = LOAD LIBRARY                                         –

//*  BCCMEMBR = SOURCE AND OUTPUT MEMBER NAME                        –

//*——————————————————————-

//       SET  BCCSLIB=’BCI05.LIB.BASE.SOURCE’     ** SOURCE LIBRARY

//       SET  BCCCPBK=’BCI05.LIB.BASE.COPY’       ** COPYBOOK LIBRARY

//       SET  BCCTLOAD=’BCI05.LIB.BASE.LOAD’      ** LOAD LIBRARY

//       SET  BCCTOBJ=’BCI05.LIB.BASE.OBJECT’     ** OBJ LIBRARY

//       SET  BCCMEMBR= COLLTYPE

//*——————————————————————-

//*- JCL BELOW                                                       –

//*——————————————————————-

//*- COBOL BATCH COMPILE         – 07/03                             –

//*——————————————————————-

//COBOL   EXEC PGM=IGYCRCTL,REGION=2048K,PARM=(LIB,MAP,XREF,LIST)

//STEPLIB  DD  DSNAME=IGY.SIGYCOMP,

//             DISP=SHR

//SYSPRINT DD SYSOUT=*

//SYSUT1   DD UNIT=VIO,SPACE=(CYL,(5,1))

//SYSUT2   DD UNIT=VIO,SPACE=(CYL,(5,1))

//SYSUT3   DD UNIT=VIO,SPACE=(CYL,(5,1))

//SYSUT4   DD UNIT=VIO,SPACE=(CYL,(5,1))

//SYSUT5   DD UNIT=VIO,SPACE=(CYL,(5,1))

//SYSUT6   DD UNIT=VIO,SPACE=(CYL,(5,1))

//SYSUT7   DD UNIT=VIO,SPACE=(CYL,(5,1))

//SYSUT2   DD UNIT=SYSDA,SPACE=(CYL,(5,1))

//SYSLIN   DD DSN=&&LOADSET,DISP=(MOD,PASS,DELETE),

//            DCB=BLKSIZE=800,

//            UNIT=VIO,SPACE=(TRK,(15,5),RLSE)

//SYSLIB   DD DSN=&BCCCPBK,DISP=SHR

//SYSIN    DD DSN=&BCCSLIB(&BCCMEMBR),DISP=SHR

//*

//*LINKEDT EXEC PGM=HEWL,REGION=1024K,

//LINKEDT EXEC PGM=HEWL,REGION=1024K,PARM=’XCAL’,

//            COND=(7,LT)

//SYSLIB   DD DSN=CEE.SCEELKED,DISP=SHR

//         DD DSN=&BCCTLOAD,DISP=SHR

//         DD DSN=&BCCTOBJ,DISP=SHR

//SYSUT1   DD UNIT=VIO,SPACE=(CYL,(10,5))

//SYSLMOD  DD DSN=&BCCTLOAD(&BCCMEMBR),DISP=SHR

//SYSPRINT DD SYSOUT=*

//SYSLIN   DD DSN=&&LOADSET,DISP=(OLD,DELETE,DELETE),

//            UNIT=VIO

//*

 

SYSPRINT COBOL              101 BCP1RTS  X LOCAL                  693

SYSPRINT LINKEDT            102 BCP1RTS  X LOCAL                  123

When program COLLTYPE is executed it uses the following JCL definition:

//PRTFILE DD PRINT01.KCI01.COLLATER.TXT,

DCB=(RECFM=F,LRECL=143,DSORG=PS,BUFNO=100)

 

Any program can produce Print01 sequential file with different name of DD statement and parameters:

TSO/ISPF – p.3.4 –  information:

PRINT01.KCI05.B6600.LOCAL.CS000023.X111:

Organization  . . . : PS

Record format . . . : FB

Record length . . . : 133

Block size  . . . . : 27930

 

PRINT01.KCI05.LOCAL.S531060.T0016600

Organization  . . . : PS

Record format . . . : FBM

Record length . . . : 133

Block size  . . . . : 3990

 

For  PGM=LOANSNEW:

//PRTFILO DD PRINT01.KCI01.LOAN0995.TXT

DCB=(RECFM=F,LRECL=143,DSORG=PS,BUFNO=100)

 

For  PGM=CKUNTI03:

//PRTFICK DD DSN=PRINT01.KCI01.CK31075.TXT,

DCB=(RECFM=F,LRECL=172,DSORG=PS,BUFNO=150)

 

Preparing/allocation all files used by KBI during UPDATE stages (before  starting execution  writer reports):

//PRALLC1  JOB   (9999,IPO,10,10),

//         ‘CORNERSTONE’,

//        ,

//         MSGCLASS=X,

//         MSGLEVEL=(1,1),

//         TIME=1440

//BR14    EXEC PGM=IEFBR14

//PR1 DD DSN=PRINT01.KCI01.LOCAL.EWRQRP3.E7546600,

//     SPACE=(CYL,(1,1),RLSE),DISP=(MOD,CATLG,DELETE)

//PR2 DD DSN=PRINT01.KCI01.LOCAL.EWRQRP3.E0446600,

//     SPACE=(CYL,(1,1),RLSE),DISP=(MOD,CATLG,DELETE)

… etc.

 

If start job LISTCAT to find  the prefix Print01 (ALLIAS) information:

 

//LISTCAT EXEC PGM=IDCAMS,REGION=1024K

//SYSPRINT DD  SYSOUT=X

//SYSIN    DD  *

LISTCAT  ALIAS  ALL –

CAT(CATALOG.MVSICFM.VBC2MCC)

You will find that files with Print01 prefix are put in storage group SGOTHER  with catalog CATALOG.MVSICF1.VPRD801 (on volumes PRD801, PRD802, PRD803 etc.):

 

ALIAS ——— PRINT01

HISTORY

RELEASE—————-2

ASSOCIATIONS

USERCAT–CATALOG.MVSICF1.VPRD801

 

If system print is used in program DAU9000, the result is routed not as Print01.file but  to JES output with   DD name PRINTO:

JOB source:

/SYSPRINT DD SYSOUT=A

//SYSOUT   DD   SYSOUT=*

//SYSUDUMP DD   SYSOUT=*

//SYSPRINT DD   SYSOUT=*

JOB output:

PRINT0   DAU9000  105 BC2AC10A P LOCAL   202

           2.  Prosessing steps 

                2.1. Daily backup of Print01.files and delete

Output files are saved every day on VTS1 environment by job PRTBK01:

//PRTBK01  JOB (9999),                                                  

//        ,

//         REGION=0M,TIME=1440,

//         MSGCLASS=X,MSGLEVEL=(1,1)

//*

//****************************************************************

//* BKPRINT  BACKUP DATA SET PRINT01* FILES

//****************************************************************

//JOBLIB DD   DSN=KCI00.LIB.PROD.LOAD,DISP=SHR

//*      DD   DSN=D3500.R050100.LOAD.LIB,DISP=SHR

//*

//BACKUP   EXEC PGM=ADRDSSU

//SYSOUT   DD   SYSOUT=*

//SYSPRINT DD   SYSOUT=*

//SYSUDUMP DD   SYSOUT=*

//DEPHSTR  DD   DSN=BKPRT02.REPORT.TEMP(+1),

//         DCB=(KCI01.DMNSNTAP.MODEL.DCB,

//         RECFM=U,LRECL=0,BLKSIZE=32760,

//         DSORG=PS),VOL=(,,,15),

//         UNIT=(VTS1,,DEFER),

//         LABEL=(1,SL),DISP=(NEW,CATLG,KEEP)

//SYSIN    DD   *

DUMP    –

OUTDDNAME(DEPHSTR) –

DATASET(INCLUDE –

(PRINT01.KCI01.**)  –

)  –

ALLDATA(*)                        –

DELETE                            –

SPHERE                            –

OPT(4)                            –

TOL(ENQF)

/*

//*

 

               2.2. Saved summary backup  on TAPE (summary of daily backups from 26.11 to )03.12.2006
//BACKPR01 JOB   (9999,IPO,10,10),                    

//         ‘OPERATOR’,

//        ,

//         MSGCLASS=X,

//         MSGLEVEL=(1,1),

//         TIME=1440

//*

//*  COPIES DAILY BIOCHIM REPORTS

//*

//*  |||    THIS JOB IS A TRY||

//*

//*

//COPYB01  EXEC PGM=IEBGENER

//SYSPRINT DD  SYSOUT=*

//SYSIN    DD  DUMMY

//SYSUT1   DD  DISP=OLD,DSN=BKPRT02.REPORT.TEMP.G0597V00

//SYSUT2   DD  DSN=BKPRT02.REPORT.BACKUP.D112606,

//         UNIT=CART35,DISP=(,CATLG,KEEP),LABEL=(,SL),

//         DCB=*.SYSUT1,VOL=(,RETAIN)

//*

//COPYB02  EXEC PGM=IEBGENER

//SYSPRINT DD  SYSOUT=*

//SYSIN    DD  DUMMY

//SYSUT1   DD  DISP=OLD,DSN=BKPRT02.REPORT.TEMP.G0598V00

//SYSUT2   DD  DSN=BKPRT02.REPORT.BACKUP.D112706,

//         UNIT=CART35,DISP=(,KEEP,DELETE),LABEL=(2,SL),

//         DCB=*.SYSUT1,VOL=(,RETAIN,REF=*.COPYB01.SYSUT2)

//*

//COPYB03  EXEC PGM=IEBGENER

//SYSPRINT DD  SYSOUT=*

//SYSIN    DD  DUMMY

//SYSUT1   DD  DISP=OLD,DSN=BKPRT02.REPORT.TEMP.G0599V00

//SYSUT2   DD  DSN=BKPRT02.REPORT.BACKUP.D112806,

//         UNIT=CART35,DISP=(,KEEP,DELETE),LABEL=(3,SL),

//         DCB=*.SYSUT1,VOL=(,RETAIN,REF=*.COPYB01.SYSUT2)

//*

//COPYB04  EXEC PGM=IEBGENER

//SYSPRINT DD  SYSOUT=*

//SYSIN    DD  DUMMY

//SYSUT1   DD  DISP=OLD,DSN=BKPRT02.REPORT.TEMP.G0600V00

//SYSUT2   DD  DSN=BKPRT02.REPORT.BACKUP.D112906,

//         UNIT=CART35,DISP=(,KEEP,DELETE),LABEL=(4,SL),

//         DCB=*.SYSUT1,VOL=(,RETAIN,REF=*.COPYB01.SYSUT2)

//*

//COPYB05  EXEC PGM=IEBGENER

//SYSPRINT DD  SYSOUT=*

//SYSIN    DD  DUMMY

//SYSUT1   DD  DISP=OLD,DSN=BKPRT02.REPORT.TEMP.G0601V00

//SYSUT2   DD  DSN=BKPRT02.REPORT.BACKUP.D113006,

//         UNIT=CART35,DISP=(,KEEP,DELETE),LABEL=(5,SL),

//         DCB=*.SYSUT1,VOL=(,RETAIN,REF=*.COPYB01.SYSUT2)

//*

//COPYB06  EXEC PGM=IEBGENER

//SYSPRINT DD  SYSOUT=*

//SYSIN    DD  DUMMY

//SYSUT1   DD  DISP=OLD,DSN=BKPRT02.REPORT.TEMP.G0602V00

//SYSUT2   DD  DSN=BKPRT02.REPORT.BACKUP.D120106,

//         UNIT=CART35,DISP=(,KEEP,DELETE),LABEL=(6,SL),

//         DCB=*.SYSUT1,VOL=(,RETAIN,REF=*.COPYB01.SYSUT2)

//*

//COPYB07  EXEC PGM=IEBGENER

//SYSPRINT DD  SYSOUT=*

//SYSIN    DD  DUMMY

//SYSUT1   DD  DISP=OLD,DSN=BKPRT02.REPORT.TEMP.G0603V00

//SYSUT2   DD  DSN=BKPRT02.REPORT.BACKUP.D120206,

//         UNIT=CART35,DISP=(,KEEP,DELETE),LABEL=(7,SL),

//         DCB=*.SYSUT1,VOL=(,RETAIN,REF=*.COPYB01.SYSUT2)

//*

//COPYB08  EXEC PGM=IEBGENER

//SYSPRINT DD  SYSOUT=*

//SYSIN    DD  DUMMY

//SYSUT1   DD  DISP=OLD,DSN=BKPRT02.REPORT.TEMP.G0604V00

//SYSUT2   DD  DSN=BKPRT02.REPORT.BACKUP.D120306,

//         UNIT=CART35,DISP=(,KEEP,DELETE),LABEL=(8,SL),

//         DCB=*.SYSUT1,VOL=(,,,REF=*.COPYB01.SYSUT2)

//*

 

               2.3. Restore a report (PRINT01.KCI01.B6600.LPRT.D6600001.D) from saved backup tape:

//RESTPRT1   JOB (9999),                                                  

//          ,

//           REGION=0M,

//           MSGCLASS=X,MSGLEVEL=(1,1)

//*

//*     THIS JOB RESTORES SELECTED FILE(S) FROM THE DAILY BACKUP

//*     PRINT01

//*

//* ||| CAUTION |||

//*     MAKE SURE TO SPECIFY THE PROPER DSNAME, FILE SEQUENCE NUMBER

//*     ON THE TAPE AS WELL AS THE FILENAME(S) SELECTED FOR RESTORE

//*     BEFORE SUBMIT IN DD STATEMENT TAPEBIO AS FOLLOWS:

//*

//*     1. REPLACE “DD” IN DSN   WITH THE DAY   THE BACKUP IS CREATED

//*     2. REPLACE “MM” IN DSN   WITH THE MONTH THE BACKUP IS CREATED

//*     3. REPLACE “YY” IN DSN   WITH THE YEAR  THE BACKUP IS CREATED

//*     4. REPLACE “DD” IN LABEL WITH THE DAY   THE BACKUP IS CREATED

//*

//RESTPRT  EXEC PGM=ADRDSSU,REGION=0M,TIME=1440 PARM=’TYPRUN=NORUN’

//SYSPRINT DD  SYSOUT=*

//TAPEPRT  DD  DSN=BKPRT02.REPORT.BACKUP1.G0145V00,

//         VOL=SER=(CB0677),

//         UNIT=CART35,DISP=(OLD),LABEL=(1,SL)

//SYSIN    DD  *

RESTORE –

DS(INC(      –

PRINT01.KCI01.B6600.LPRT.D6600001.D

))  –

INDDNAME(TAPEPRT)  –

RENAMEU(PRINT01.KCI01.**,PRINT01.KCI06.**) –

SPHERE

/*

//*

End

Leave A Reply

Comments

No comments yet, be the first to add one!

Places

 

Clef two-factor authentication

woolrich outlet woolrich outlet online tiffany milano tiffany outlet tiffany outlet tiffany outlet tiffany outlet tiffany milano tiffany outlet peuterey outlet peuterey uomo hogan outlet hogan rebel hogan outlet hogan rebel hogan outlet hogan rebel hogan outlet hogan rebel hogan outlet hogan rebel hogan outlet hogan rebel roshe run pas cher roshe run parajumpers pas cher parajumpers soldes parajumpers pas cher parajumpers soldes parajumpers pas cher parajumpers soldes louboutin pas cher louboutin pas cher louboutin pas cher nike tn pas cher nike tn pas cher