This Standard Operating Procedures Manual contains many of the procedures that are the responsibility of the Production Support Group. It contains many of the tools frequently used by PSG Members to solve Production problems, to maintain current Production Jobs, and to improve existing Production Job performance.
The nature of the Production Support Group requires constantly changing applications of these tools. As a result, there are numerous tasks that are not repeated often enough to warrant being placed in a Standard Operating Procedure manual.
Production Support Group General areas of responsibility:
AUTODOC
OVERVIEW
Autodoc Exec
Other Execs
Autodoc Diagram
Cobol Programs
Focus Databases
Focus Modules
Focus Synchronous User Machine - FOCADM4
Jobsdbc, Jobsdbm, Panels, Display, And SBCOBRA
Libraries For JCL And Msglib
Passid Data File
Vsam Table File
Vsamtest Focexec
BRINGING SYNC MACHINE UP OR DOWN
Checking For AUTODOC Users
Bringing The Sync Machine Down
Bringing The Sync Machine Up
PRO1
DBDELETE
UPDATING THE VSAM TABLE FILE
CHANGING AUTODOC COBOL PROGRAMS AND FOCUS MODULES
UPDATING JOBSDBC COPY MEMBER
CHANGING THE ORDER OF STEPS IN AN EXISTING AUTODOC JOB
PRODOWN and DEVCOPY
PRODOWN
DEVCOPY
UPDATING AUTODOC FOR A NEW AUTODOC USER
ADDING A NEW PROC TO JCL GENERATOR AND VSAM TABLE
RESTORING A LOST JOB TO THE PRODUCTION OR DEVELOPMENT FOCUS DATABASE
RESTORING A LOST JOB TO THE PRODUCTION FOCUS DATABASE
RESTORING A LOST JOB TO THE DEVELOPMENT FOCUS DATABASE
REBUILDING THE TEST DATABASE ON DOCUTEST
Restoring DEV or PRO Library Members Using FDR
Restoring MVS Datasets Using FDRABR
Restoring VM Datasets
Adding New DEV or PRO Libraries to PROCOPY Procedure
Adding New Libraries
SCHEDDEV Libraries
EXECs and Commands
Scanning PRO.JOBLIB and DEV.JOBLIB.
SCANLIB
Overlay Generation Language and Page Segments.
Creating Overlays, Form and Page Definitions
Creating an Overlay
Creating a FORMDEF
Creating a PAGEDEF
Using Overlays, Form and Page definitions.
Creating a Page Segment from an Overlay
Creating the Overlay
Modifying the Compiled Pattern to Create a Page Segment
Updating the Page Segment Library
Using Page Segments
Library Procedures
Glossary
This section describes AUTODOC. This section is not a user's guide. It describes tasks that the Production Support Group must know how to do to maintain and upgrade AUTODOC.
AUTODOC is the automated JCL generator that must be used by the programming staff to produce new JCL. AUTODOC consists of:
1 AUTODOC EXEC E
1 SBCOBRA EXEC
8 COBOL FOCUS Modules
8 COBOL Programs
3 Development Libraries
Execs called by the AUTODOC EXEC
2 Execs for use through the Sync Machine by the Programmers
2 Execs for use in batch mode by PDUC1
2 FOCUS Synchronous User CMS Machines (FOCADM4 & FOCADM31)
4 FOCUS Databases: Test (DEV) and production
Y2K Test (YR2) and production
1 JOBSDBC COPY Member
1 PANELS COPY Member
1 JOBSDBC COPY File
1 PANELS COPY File
1 PASSID DATA E
6 Synchronous (simultaneous user) FOCUS Modules
1 VSAM Table File
1 VSAMTEST FOCEXEC E
The AUTODOC Exec is stored on the E disk. It drives the entire AUTODOC system. It contains execs that call the FOCUS modules which generate screens, JCL, msglibs, runbooks, etc.
There are two more execs frequently used in AUTODOC:
The following is a diagram that illustrates how all of the components of AUTODOC are related. Locations are boxed and in upper case. Procedures and Execs are in lower case. Arrows indicate data flow.
-------------------------- ------------
| PROGRAMMER'S CMS MACHINE |--------PUTPDS ADD/REPL------------->| DEV JOBLIB |
-------------------------- (for non-AUTODOC jobs) | DEV MSGLIB |
| /|\ ------------
| | |
| | PROCOPY
AUTODOC AUTODOC |
Entry JCL \|/
| Runbook ------------- ------------
| MSGLIB --->| DEV AUTOJOB |--PROCOPY->| PRO JOBLIB |
| | | | DEV AUTOMSG | | | PRO MSGLIB |
\|/ | | ------------- Copy to ------------
--------------------- | UAPCTLM?
| <--DEVCOPY--> | | |
| Test FOCUS Database |--------PRO1 | Y ------------
| Y2K FOCUS Database | | ---->| UAPCTLM. |
| D2230F00/D2230T00 | | | PROD.JCLLIB|
--------------------- | ------------
| /|\ |
| | | ---------------------------
| | ---->| Production FOCUS Database |
DBDELETE | | D2230F01 |
| | ---------------------------
| | | |
| ------PRODOWN-------------- DBDELETE
\|/ |
\|/
AUTODOC uses 8 COBOL programs:
ADCOPYSU - Copies PRO to DEV, and DEV to DEV
ADECTLSU - Editor
ADESU - AUTODOC screen generator and entry system
ADJCTLSU - JCL Generator
ADMCTLSU - MSGLIB Generator
ADRCTLSU - Runbook Generator
DBDELETD - Database Deletes DEV
PROCOPI - Copies DEV to PRO
There are two FOCUS Databases used by AUTODOC: D2230F00 is the Test (DEV) Database and it is located on the FOC308 disk. D2230F01 is the Production (PRO) Database and it is located on the FOC309 disk. When the programming staff uses AUTODOC they are working with the Test Database. The only jobs in the Production Database are jobs that have been Turned Over into production.
In order for AUTODOC to use the COBOL programs, they must have FOCUS Modules generated from them. AUTODOC uses two types of FOCUS Modules:
ADCOPY - Copies PRO to DEV, and DEV to DEV
ADECTL - Editor
ADJCTL - JCL Generator
ADMCTL - MSGLIB Generator
ADRCTL - Runbook Generator
DBDELETD - Database Deletes DEV
DELETD - Database deletes PRO
PROCOPI - Copies DEV to PRO
There are 6 Synchronous (simultaneous user) FOCUS Modules:
ADCOPYSU - Copies PRO to DEV, and DEV to DEV
ADECTLSU - Editor
ADESU - AUTODOC screen generator and entry system
ADJCTLSU - JCL Generator
ADMCTLSU - MSGLIB Generator
ADRCTLSU - Runbook Generator
Focus Synchronous User Machine - FOCADM4
The FOCUS Synchronous User Machine FOCADM4 is the machine the programming staff links to when in AUTODOC. It is this machine that updates the Test and Production Databases. FOCADM4 is AUTODOC as far as the programming staff is concerned. It is the Sync Machine. This is the machine that is logged on or off to bring the Sync Machine up or down.
Jobsdbc, Jobsdbm, Panels, Display, And SBCOBRA
The JOBSDBC COPY Member, PANELS COPY Member, and COPY members stored in Source Bank are all related. The COPY members are stored in Source Bank and are also stored in PRO.COPYLIB. They contain working storage information that is copied into the COBOL Programs when they are compiled. AUTODOC Cobol programs must be compiled on DOCUTEST using the SBCOBRA EXEC.
AUTODOC uses 3 DEV Libraries:
The Passid Data File is located on the E disk. It contains the names of the CMS Machines that are authorized to use AUTODOC. A CMS Machine must be included in the Passid Data File on the E disk in order to use AUTODOC.
AUTODOC uses a VSAM Table File to perform edits on information entered by the programming staff and to insert code into generated JCL. The VSAM Table File T2230X00 is on the PDUC1 Machine. The values are stored in a VSAM Table File so they can be updated, added to, or deleted quickly and in one place.
The VSAMTEST FOCEXEC is a Focus Exec that is on the E disk. It can only be changed by the Focus Administrator. This exec controls an AUTODOC user's access to the VSAM Table File. All AUTODOC users are allowed access to the VSAM Table File through an ACF2 rule.
BRINGING SYNC MACHINE UP OR DOWN
Before bringing the Sync machine down, make sure there are no programmers working in AUTODOC. You can do this by running the CHKAD EXEC. Run this EXEC by entering the following at the command line. enter:
CHKAD
If someone is using AUTODOC, you'll receive the following message:
USER ID FILEID QUEUE
HARLAND D2230F00FOCUS M1
USER ID FILEID QUEUE
CMS machine D2230T00FOCUS M1
THE VSAMTEST (1AA) DISK HAS BEEN LINKED FOR YOUR USE AS DISK 'P'
DOCUTEST 01AA, HARLAND 01AA R/O
DASD 01AA DETACHED
This means whomever belongs to the CMS machine(s) listed under USER ID
is using AUTODOC. The CMS machine(s) listed under USER ID will also
be listed under VSAMTEST (1AA) DISK.
Note: Your user ID will always be listed under VSAMTEST (1AA) DISK.
If no one is using the Sync machine, you'll receive the following message:
NO SIMULTANEOUS USERS ARE ACTIVE ON FOCADM4
NO SIMULTANEOUS USERS ARE ACTIVE ON FOCADM31
THE VSAMTEST (1AA) DISK HAS BEEN LINKED FOR YOUR USE AS DISK 'P'
HARLAND 01AA R/O
DASD 01AA DETACHED
This means no one is working on a job in the Test Database. However,
someone may be generating JCL, a Runbook, or a MSGLIB. If a user ID,
other than your own, is listed under VSAMTEST (1AA) DISK, that user
is probably in AUTODOC.
Bringing The Sync Machine Down
To bring the Sync Machine down, log on to FOCADM4. The machine will reconnect. Do not enter B or IPL CMS. Simply type in STOP and hit enter. Then logoff. If the system will not accept STOP, type in #CP LOG and hit enter. This will stop the Sync Machine and log FOCADM4 off. The Sync Machine is now "Down".
To bring the Sync Machine up, log onto FOCADM4. When the machine connects itself, it immediately disconnects itself and prompts you with HIT ENTER OR CLEAR KEY TO CONTINUE. Do so, then logon to your machine and Q FOCADM4. It must be disconnected. If it isn't, bring it up again.
A PRO1 is used to move a job from the AUTODOC Test FOCUS Database to the AUTODOC Production Focus Database and to generate JCL and MSGLIB which is placed in the DEV AUTOJOB and DEV AUTOMSG (respectively). This is done as part of the PROCOPY process. PRO1s are the responsibility of the Data Administration Group. PRO1s are normally done first thing in the morning, just after lunch, and then again at the end of the day. Before doing a PRO1 you should check to see that the Turnover Form has a new copy of JCL attached to it. If the Turnover Form is part of a Runbook, check to make sure that the Runbook has been signed off by Scheduling. There should be two copies of the Turnover Form.
To do a PRO1:
PRO SCREEN 1
AUTODOC PRO EXEC
PLEASE ENTER JOB NUMBER AND AN A TO ADD OR A C TO CHANGE A JOB
JOB NUMBER "A" OR "C"
(1) (2)
ENTER TO PROCESS PF3 TO QUIT
PRO SCREEN 2
AUTODOC PRO EXEC
THE JOB NUMBER (1) WILL BE (2) THE
AUTODOC PRODUCTION LIBRARY AND DELETED FROM THE TEST LIBRARY.
IF YOU WANT TO CONTINUE PRESS THE ENTER KEY TO PROCESS
ELSE PRESS PF3 TO QUIT.
ENTER TO PROCESS PF3 TO QUIT
DBDELETE is used to delete a job from the AUTODOC Test Focus Database or the AUTODOC Production Focus Database. This is done at the request of a member of the programming staff. There is a sign up sheet for "SCRATCHES" that the programming staff fills out. DBDELETEs are the responsibility of the Data Administration Group. DBDELETEs are normally done first thing in the morning, just after lunch, and then again at the end of the day. To do a DBDELETE:
EXECUTING DBDELETE OF THE JOB FROM DATABASE
ENTER JOB NUMBER YOU WISH TO DELETE
ENTER "P" IF YOU WISH TO DELETE THE JOB FROM THE PRODUCTION
DATABASE OR ENTER "T" TO DELETE THE JOB FROM THE TEST DATABASE
JOB NUMBER (1) WILL BE DELETED FROM THE (2) DATABASE
IF THE INFORMATION IS CORRECT ENTER "Y" ELSE ENTER "END"
AUTODOC uses a VSAM Table File to perform edits on information entered by the programming staff and to insert code into generated JCL. The VSAM Table File T2230X00 is on the PDUC1 Machine. The values are stored in a VSAM Table File so they can be updated, added to, or deleted quickly and in one place. To change the VSAM Table File:
CHANGING AUTODOC COBOL PROGRAMS AND FOCUS MODULES
This calls the SBCOBRA EXEC to compile the program and creates programname LISTING Z and programname TEXT Z CMS files.
Enter: FOCUS GENHLI programnamesu (SU
To create an SU module in this case:
Enter: FOCUS GENHLI programnamesu (SU COBOL
This creates a FOCUS simultaneous user module from the programnamesu
TEXT Z file called programnamesu MODULE A.
Enter: COPYFILE programnamesu MODULE A = = D
Enter: ERASE programname MODULE A
Enter: RENAME programnamesu TEXT Z programname TEXT Z.
This creates a COBOL SU module from the programname TEXT Z file called
programname MODULE A. All of the programs EXCEPT ADESU require COBOL
modules.
Enter: CONNECT F W
then copy the two modules to the F disk.
Enter: COPYFILE programname MODULE A = = F
Enter: COPYFILE programnamesu MODULE D = = F
Enter: CONNECT F
to release the write access from the F disk.
The source code for "programnamesu TEXT" could not be determined.
Please re-run GENHLI specifying the language from which the TEXT was
produced.'
FOCUS GENHLI txt1 txt2..... (PLI/FORTRAN/COBOL/ASSEMBLE
The JOBSDBC Copy member is copied into all AUTODOC COBOL programs when they are recompiled. It contains Working Storage definitions that are common to (and required by) all programs. Rarely are these definitions changed, but this section describes how to change them. The JOBSDBC Copy member that is used during the compile is stored in Source Bank. To change the JOBSDBC Copy member:
CHANGING THE ORDER OF STEPS IN AN EXISTING AUTODOC JOB
If a programmer wants to add a step at the beginning of an AUTODOC job, the programmer must add the new step as STEP02 after the old STEP01. The Production Support Group must then rename STEP01 and STEP02 so they are in the proper sequence. For example, if a job J0000M01 has three steps:
STEP01 PROGRAMA
STEP02 PROGRAMB
STEP03 PROGRAMC
and the programmer wishes to add a new step at the beginning of the
job that uses PROGRAMD, the programmer would add the new step after the
old STEP01 as STEP02, and you would do the following:
EX WRITEACC D2230F00
TABLE FILE D2230F00
PRINT JOBNUM STEP PROGRAM
IF JOBNUM IS J0000M01
END
This will produce a table file report of what the Test AUTODOC Database looks like for J0000M01. The report will look like this:
J0000M01 STEP01 PROGRAMA
J0000M01 STEP02 PROGRAMD
J0000M01 STEP03 PROGRAMB
J0000M01 STEP04 PROGRAMC
Enter:
SCAN FILE D2230F00
System Responds:
SCAN:
Enter:
SHOW JOBNUM STEP PROGRAM
Enter:
TOP
System Responds:
TOF:
Enter:
LOCATE JOBNUM=J0000M01,STEP=STEP02,PROGRAM=PROGRAMD
System Responds:
JOBNUM=J0000M01 STEP=STEP02 PROGRAM=PROGRAMD
Enter:
REPLACE KEY STEP=STEP01,$
System Responds:
JOBNUM=J0000M01 STEP=STEP01 PROGRAM=PROGRAMD
KEY VALUE RESEQUENCED
The old J0000M01 STEP02 PROGRAMD is now changed to the new J0000M01 STEP01 PROGRAMD. Now repeat the process for the old STEP01 PROGRAMA:
Enter:
TOP
LOCATE JOBNUM=J0000M01,STEP=STEP01,PROGRAM=PROGRAMA
REPLACE KEY STEP=STEP02,$
FILE
TABLE FILE D2230F00
PRINT JOBNUM STEP PROGRAM
IF JOBNUM IS J0000M01
END
This will show you a table file report of what the new Test AUTODOC
Database looks like for J0000M01. The report will look like this:
J0000M01 STEP01 PROGRAMD
J0000M01 STEP02 PROGRAMA
J0000M01 STEP03 PROGRAMB
J0000M01 STEP04 PROGRAMC
PROPOWN and DEVCOPY are currently the responsibility of the Programming Staff. PRODOWN and DEVCOPY are accessed from the AUTODOC Main Menu.
PRODOWN
See the "AUTODOC Main Menu" section in the AUTODOC Instruction Manual for
detailed information.
DEVCOPY
See the "AUTODOC Main Menu" section in the AUTODOC Instruction Manual for
detailed information.
UPDATING AUTODOC FOR A NEW AUTODOC USER
When a new programmer joins the staff, or a staff member gets a new CMS Machine, or a staff member has their CMS Machine renamed, it is the Production Support Group's responsibility to add the new (or renamed) CMS Machine to AUTODOC. To add a new user to AUTODOC:
ADDING A NEW PROC TO JCL GENERATOR AND VSAM TABLE
Currently, AUTODOC allows 46 executable Procs:
BACKUP FILESAVE
BLDINDEX FLEETCK1
BLDINDX2 FOCCAT
BLDINDX3 FOCUS
BLDINDX4 FOCUSSRT
CATRPTS FRSPROD
DADSA330 GENSPROD
DADSBTCH GENSTEST
DADSPREP MIC6COM
DADSP330 MVSFTP
DADSP410 PROCARD
DADSR330 P8528PRT
DADSS330 P8628OFT
DADSS410 P8628PRO
DSNUPROC P8628PRT
EZTPCG RESTORE
EZTPCG2K SARSJRN1
EZTSCG2K SARSJRN2
EZTSQLCG SARSJRN3
FDRCPK SARSJRN4
FDRDSF SAS
FDRFULL SORT
FDRTCOPY UCCQYS
To add a new Proc to AUTODOC:
RESTORING A LOST JOB TO THE PRODUCTION OR DEVELOPMENT FOCUS DATABASE
Occasionally a job in the Production or Development Focus Database must
be restored from information stored on a backup tape. This can happen in
the Production Database when a programmer inadvertently Procopies
incorrect JCL (replacing the good JCL in the Production Database with bad
JCL). Or it can happen in the Production or Development Database if a
DBDELETE is accidently executed on the wrong job (it happens).
The process of restoring a job to the Production or Development Focus Database is accomplished in cooperation with the Focus Administrator.
RESTORING A LOST JOB TO THE PRODUCTION FOCUS DATABASE
To restore a job to the Production Database:
If there were no changes to be made to the job, do a PRO1 on the job as soon as the programmer says it's the correct version of the job.
RESTORING A LOST JOB TO THE DEVELOPMENT FOCUS DATABASE
The following procedure is for jobs that are not yet in Production, and
the copy of the job that was in the Development Database was lost. It
could be altered to accomodate a job that is in Production, where a
major update (change) that was in the Development Database was lost.
Remember: If a job is erased from the Development Database, and there is a copy in the Production Database, you need only do a Prodown to restore the job to the Development Database (provided the copy in the Production Database is fairly close to what was lost from the Developement Database).
To restore a Non-Production job to the Development Database:
REBUILDING THE TEST DATABASE ON DOCUTEST
When a field is to be added to the the Development and Production Autodoc
Focus Databases, it is first added to the database on DOCUTEST for
testing. To add the field and rebuild the database:
> rebuild ENTER OPTION (REBUILD,REORG,INDEX OR CHECK)= reorg ENTER THE REORG PHASE (DUMP OR LOAD)= dump ENTER NAME OF FOCUS FILE (FN FT FM)= d2230f00 focus d ANY RECORD SELECTION TESTS? (YES/NO)= no STARTING.. FILEDEF REBUILD DISK REBUILD FOCTEMP Z4 (LRECL 00952 BLKSIZE 29516 RECFM VB) REFERENCE..AT SEGMENT 1000 REFERENCE..AT SEGMENT 2000 REFERENCE..AT SEGMENT 3000 NUMBER OF SEGMENTS RETRIEVED= 3380 >
> rebuild ENTER OPTION (REBUILD,REORG,INDEX OR CHECK)= reorg ENTER THE REORG PHASE (DUMP OR LOAD)= load ENTER NAME OF FOCUS FILE (FN FT FM)= d2230f00 focus d STARTING.. NEW FILE D2230F00FOCUS D ON 05/21/91 AT 12.51.32 REFERENCE..AT SEGMENT 1000 REFERENCE..AT SEGMENT 2000 REFERENCE..AT SEGMENT 3000 NUMBER OF SEGMENTS INPUT= 3380 >
> rebuild ENTER OPTION (REBUILD,REORG,INDEX OR CHECK)= reorg ENTER THE REORG PHASE (DUMP OR LOAD)= dump ENTER NAME OF FOCUS FILE (FN FT FM)= d2230f00 focus d ANY RECORD SELECTION TESTS? (YES/NO)= no STARTING.. FILEDEF REBUILD DISK REBUILD FOCTEMP Z4 (LRECL 00956 BLKSIZE 29640 RECFM VB) REFERENCE..AT SEGMENT 1000 REFERENCE..AT SEGMENT 2000 REFERENCE..AT SEGMENT 3000 NUMBER OF SEGMENTS RETRIEVED= 3380 >
> rebuild ENTER OPTION (REBUILD,REORG,INDEX OR CHECK)= reorg ENTER THE REORG PHASE (DUMP OR LOAD)= load ENTER NAME OF FOCUS FILE (FN FT FM)= d2230f00 focus d STARTING.. NEW FILE D2230F00FOCUS D ON 05/21/91 AT 12.54.22 REFERENCE..AT SEGMENT 1000 REFERENCE..AT SEGMENT 2000 REFERENCE..AT SEGMENT 3000 NUMBER OF SEGMENTS INPUT= 3380 >
Restoring DEV or PRO Library Members Using FDR
If a programmer scratches a member from a library (Dev Srclib, Dev
Eztlib, Pro Eztlib, Pro Joblib, etc), and needs to recover the
member, there is a procedure that must be followed to restore the
member from backup tapes. There are five generations of the backups
kept from the past five days that a production schedule was run.
Consequently, if the member was scratched more than five days ago, it
can not be recovered. To restore a member to a library that was
scratched within five days:
SYSTEMS SUPPORT UTILITIES---IEHLIST PAGE 1
DATE: 1990.338 TIME: 12.54.14
GENERAL INFORMATION FOR CATALOG ON VOL USR011
DS OR INDEX NAME ENTRY TYPE VOL.ID. SEQ.NO. DEV.TYPE ALIAS OF
LISTING OF CATALOG BELOW NODE POINT PRO.ADMSYS.F8112M00
PRO.ADMSYS.F8112M00.G1379V00 001016 000001 32008003
PRO.ADMSYS.F8112M00.G1378V00 001002 000001 32008003
PRO.ADMSYS.F8112M00.G1377V00 000993 000001 32008003
PRO.ADMSYS.F8112M00.G1376V00 000982 000001 32008003
PRO.ADMSYS.F8112M00.G1375V00 001020 000001 32008003
PRO.ADMSYS.F8112M00.G1374V00 001016 000001 32008003
In a LISTCTLG listing the most recent backup (the 0 generation) is at the
top, and the oldest backup is second from the bottom (the dummy
generation is the last dataset listed). Determine which generation you
need based on when the member was created and scratched.
//TRECOVER JOB (9700,0004,2,99),'*PROG-MMOSTOWY',
// CLASS=D,TIME=2,MSGCLASS=A
/*ROUTE PRINT UCONNVM.MMOSTOWY
//JOBLIB DD DSN=FDRABR.LOADLIB,DISP=SHR
//STEP1 EXEC PGM=FDRDSF,REGION=500K
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//DISK1 DD UNIT=3380,VOL=SER=SCR002,DISP=SHR
//TAPE1 DD UNIT=TAPE,LABEL=1,
// DSN=PRO.ADMSYS.F8112M00.G1375V00,DISP=(OLD,KEEP)
//SYSIN DD *
RESTORE TYPE=DSF
RESTORE DSN=DEV.SRCLIB,NEWNAME=BKDEV.SRCLIB
/*
//** RESTORE DSN=DEV.SRCLIB,NEWNAME=BKDEV.SRCLIB,NOCAT
//** RESTORE DSN=DEV.SRCLIB,NEWNAME=BKDEV.SRCLIB,RECAT
//** RESTORE DSN=DEV.SRCLIB,NEWNAME=BKDEV.SRCLIB
//** WITH RECAT EITHER AN ALIAS MUST EXIST (PRO) OR
//** MUST SPECIFY A STEPCAT SOMEWHERE IN JCL
//** JOB WILL ABEND WITH U0888 IF IT ATTEMPTS TO RECATALOG
//** A DATASET WITHOUT AN ALIAS OR STEPCAT.
//** (BUT THE DATASET WILL STILL HAVE BEEN RESTORED)
In the TAPE1 DD Name, replace PRO.ADMSYS.F8112M00.G1375V00 with the DSN
you wish to restore (remember to use the correct generation).
FDR998** RESTORE COMPLETED WITH ERRORS VOL=SCR002A partial sample listing of a TRECOVER job:
IEF375I JOB /TRECOVER / START 90334.1440 IEF376I JOB /TRECOVER / STOP 90334.1453 CPU 0MIN 50.63SEC SRB 0MIN 01.31SEC FDR101 FAST DUMP RESTORE DATA SET FUNCTIONS - VER. 5.0C- INNOVATION DATA PROC FDR303 CARD IMAGE -- RESTORE TYPE=DSF FDR303 CARD IMAGE -- RESTORE DSN=DEV.SRCLIB,NEWNAME=BKDEV.SRCLIB FDR101 FAST DUMP RESTORE DATA SET FUNCTIONS - VER. 5.0C- INNOVATION DATA PROC FDR007 STARTING TIME OF DATA SET RESTORE 14.40.30 UNIT=3380,IN=TAPE1,OUTPUT=DISK1 FDR334** FDR FAILED TO CATALOG COMP=X'000800380000' DSN=BKDEV.SRCLIB FDR311 FDR RESTORED DSN=DEV.SRCLIB ALLOCATED FDR311 TO NEWN=BKDEV.SRCLIB FDR007 ENDING TIME OF DATA SET RESTORE 14.52.27 UNIT=3380,IN=TAPE1,OUTPUT=DISK1 FDR122 BYTES DSK TRK T BLKS RESTART STIMERS ERRS ACT DSK LOW HGH FDR122N 0241230501 006261 000 002814 FDR998** RESTORE COMPLETED WITH ERRORS VOL=SCR002
&IF &2 EQ BKDEV &DISK = *
USE OSD 2
This procedure must be followed to restore a dataset from these backup
tapes.
First find the FDRABR tapes you will need to restore the dataset.
When you are ready to restore the file, change the SIMREST
command to RESTORE and run the job.
A restore has two control statements, RESTORE statement and at least
one SELECT statement. Any number of datasets can be restored. Some
keywords can go on either the RESTORE statement where the affect is
global, or individually on each SELECT statement. These keywords are
NOCAT, RECAT, COPY, DSNENQ(not used the same way on RESTORE and SELECT),
PRESTAGE, RLSE, %FREE, and VRECAT.
Following is a brief summary of suggested RESTORE statement
specifications.
FULL DISK BACKUP:
Backup starts on Sunday morning and runs for several hours. All
files are backed up. Backups are stored offsite for 14 days and
are retained for 35 days.
INCREMENTAL BACKUP:
All files changed since the last full (base) backup are backed
up. This is called a cumulative incremental backup. Backup is
retained for 35 days. Backup starts every day shortly after
midnight and runs for a few hours.
END-OF-SEMESTER BACKUP:
Run at the end of each semester (Fall, Spring, Summer).
Identical to a full (base) backup except it is retained for 5
semesters.
To restore a VM/CMS file, you must fill out a C M S - DISK
RESTORE FORM and submit it to Operations.
The EXECs and commands in this chapter are not exclusive to the
Production Support Group, but are commonly used by the Production Support
Group.
Step 1
PRO.JOBLIB and DEV.JOBLIB are dumped to tape by job J2218M01.
This job runs on the first Friday of each month and dumps PRO.JOBLIB
to the first file on the tape and DEV.JOBLIB to the second file.
This is used to create the FOCUS files use by the CROSSREF EXEC. It
can also be used to scan PRO.JOBLIB and DEV.JOBLIB.
Job J2218M01 can be scheduled at anytime during the month to
update the tape with new jobs.
Step 2
XEDIT SCANPRO JCL for PRO.JOBLIB or SCANDEV for DEV.JOBLIB.
Locate the line that begins with:
If you need to scan for more than one character string, copy the
entire STEP01 in SCANLIB, rename it STEP02, and change the string
between the quotes in the line that begins:
SCANPRO JCL, SCANDEV JCL, and T2218M01 (to update the tape) are
located on PSGUTIL.
CAUTION: SCANPRO and SCANDEV use a SAS program that does a literal
search of the JCL. Consider carefully the string for which you search.
Overlays are images that can be printed on a page over the printed
output. Examples are letterhead, special forms, signatures, and/or
anything that needs to be printed that is somewhat constant throughout
the printed output. This is done with Print Services Facility software
installed on the mainframe. Information about PSF is in Book Manager.
Enter:
There are several PDS libraries used for OGL. They are:
The P3829 libraries are for the 3829 Page Printer, the others
were used for the 3800 printer. The PSEG and SIG libraries are for
page segments and electronic signatures used in overlays. All source
code for OGL is stored in library RDSL08 of Source Bank.
All new overlay development is done on the 3829 printer.
Some of the OGL statements required to create an overlay are:
CONTROL, OVERLAY, ORIENT, POSITION and PLACE. Overlay source code is
stored in Source Bank. Use the SBANK EXEC to look at the source for
these overlays.
Use these commands to create the overlay:
See the PSF/MVS, PPFA/370, and OGL/370 manuals in Book Manager
for additional commands and information.
Follow these steps to compile an overlay and optionally store it
in the DEV.P3829.OVERLIB.
FORMDEFS define the form used for output. FORMDEF statements position
the form on the paper using OFFSET, PRESENT, and DIRECTION statements.
They can include overlays, control paper bin assignments, and set duplex
modes. Several overlays can be used in each FORMDEF. An example could
be to print output on a header page and then finish the output on a
continuation page.
See the PSF/MVS, PPFA/370, and OGL/370 manuals in Book Manager
for commands and information.
Follow these steps to compile a FORMDEF and store it in the
FORMDEF library.
PAGEDEFS define the page used for output. PAGEDEFs are printed
on FORMDEFs. PAGEDEFs can define channel skips, fonts available for
use, and can be used to print text in addition to the report and
overlay.
See the PSF/MVS, PPFA/370, and OGL/370 manuals in Book Manager
for commands and information.
Follow these steps to compile a PAGEDEF and store it in the
PAGEDEF library.
Here is a sample of the OUTPUT statement.
Due to the sensitive nature of the State Seal and UCONN Tower that
appear on letter heads and special forms, it was decided to remove the
coding that defines these patterns and create page segments for them.
Page segments can then be "Called in" where the pattern is neccessary.
This prevents any alteration of the coding and also allows ease of update
for these patterns. The PSG runs these procedures from OGLSIG, which is
a group logon. Some programmers may also have access to this account.
Other accounts may also be able to run these procedures as well.
The first step in creating a Page Segment is to use OGL to define
the pattern. The OGL statements required are: CONTROL, OVERLAY,
ORIENT, the pattern definition, POSITION and PLACE.
Use these commands to create the overlay:
The pattern definition for the seal or tower follows the ORIENT
command, followed by the POSITION and PLACE commands.
To get an understanding of what you will have to do, you can look
at the PSF Data Stream Reference manual. Figure 40 on
page 51 shows the components of the page seqment. Figure 41
on page 53 shows a diagram of the components of an electronic
overlay. You will have to modify the overlay changing the Begin/End
Medium Overlay Structured fields to Begin/End Page Segment Structured
fields. You must also remove any structured fields that might be
present in the overlay such as Begin/End Active Environment Group and
Page Descriptors.
After the overlay has been compiled successfully, you must
retrieve the overlay object code from DEV.P3829.OVERLIB. The overlay
is always prefixed by "O1".
Updating the Page Segment Library (DEV.PSEGLIB) requires breaking
down the coding into 80 character records so it can be sent to MVS.
Using the Page Segments is quite simple. You must tell the
printer about a segment in the same way you tell it what fonts to
use. Write a separate SEGMENT command for each Seqment to be used.
The Segment commands can be grouped with your font definitions, and
need be defined only once. The Segment command is as follows:
When moving your overlay into production, use the SBCOPY EXEC and
select the compile option to compile and store it in the production
libraries.
Restoring MVS Datasets Using FDRABR
All general user packs (USRnnn) are being backed up by FDRABR as of
January 1, 1994. These backups are being retained for 5 weeks. MVS
backups are run at midnight on Friday. The 2 most recent MVS backups are
kept offsite. The remaining backups are stored in the data center. Hard
copy lists of each backup are kept in Operations. These can be used to
find information about the backups.
FDRPRINT will submit three types of FDR print jobs to MVS. A
sample of each type is listed below.
****** BACKUP INFORMATION ******
BDATE(00)-94.127 SFX-C1003000 FN-010 VOLS-006093,006239,006277
BDATE(01)-94.120 SFX-C1002900 FN-010 VOLS-004119,004206
BDATE(02)-94.113 SFX-C1002800 FN-011 VOLS-007623,007707
BDATE(03)-94.106 SFX-C1002700 FN-012 VOLS-008194,008265
BDATE(04)-94.099 SFX-C1002600 FN-010 VOLS-005187,005332,005368
Now setup and run the restore job. The following is an example
of the restore JCL. The job simulates the restore of PRO.JOBLIB from
backup '00' (BDATE(00) from the FDR print job) to a new dataset on
SCR002 named BKPRO.JOBLIB.
//FDRPBKUP JOB (9600,0004,1,99),'*PROG-HARLAND',
// CLASS=D,MSGCLASS=I,TIME=(,20),REGION=1024K
/*ROUTE PRINT UCONNVM.HARLAND
//STEP01 EXEC PGM=FDRABRP
//STEPLIB DD DSN=FDRABR.LOADLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//ABRMAP DD SYSOUT=*
//ABRSUM DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//DISK0001 DD UNIT=SYSDA,VOL=SER=USR004,DISP=SHR
//DISK0002 DD UNIT=SYSDA,VOL=SER=USR011,DISP=SHR
//DISK0003 DD UNIT=SYSDA,VOL=SER=USR026,DISP=SHR
//* DISK0099 DD UNIT=SYSDA,VOL=SER=VOLSER,DISP=SHR
//SYSIN DD *
PRINT BACKUP,DSN=PRO.JOBLIB,SELTERR=NO,
OLDBACKUP=ALL,COMBINE,FORMAT=CRT
/*
//
//FDRPSCR JOB (9600,0004,1,99),'*PROG-HARLAND',
// CLASS=D,MSGCLASS=I,TIME=(,20),REGION=1024K
/*ROUTE PRINT UCONNVM.HARLAND
//STEP01 EXEC PGM=FDRABRP
//STEPLIB DD DSN=FDRABR.LOADLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//ABRMAP DD SYSOUT=*
//ABRSUM DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//DISK0001 DD UNIT=SYSDA,VOL=SER=USR004,DISP=SHR
//DISK0002 DD UNIT=SYSDA,VOL=SER=USR011,DISP=SHR
//DISK0003 DD UNIT=SYSDA,VOL=SER=USR026,DISP=SHR
//* DISK0099 DD UNIT=SYSDA,VOL=SER=VOLSER,DISP=SHR
//SYSIN DD *
PRINT SCRATCH,DSN=DEV.JOBLIB,SELTERR=NO,VOLG=USR,
OLDBACKUP=ALL,FORMAT=CRT,XREF
/*
//
//FDRPCATL JOB (9600,0004,1,99),'*PROG-HARLAND',
// CLASS=D,MSGCLASS=I,TIME=(,20),REGION=1024K
/*ROUTE PRINT UCONNVM.HARLAND
//STEP01 EXEC PGM=FDRABRP
//STEPLIB DD DSN=FDRABR.LOADLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//ABRMAP DD SYSOUT=*
//ABRSUM DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//DISK0001 DD UNIT=SYSDA,VOL=SER=USR004,DISP=SHR
//DISK0002 DD UNIT=SYSDA,VOL=SER=USR011,DISP=SHR
//DISK0003 DD UNIT=SYSDA,VOL=SER=USR026,DISP=SHR
//* DISK0099 DD UNIT=SYSDA,VOL=SER=VOLSER,DISP=SHR
//SYSIN DD *
PRINT CATLG,
FORMAT=CRT
/*
//
//FDRABRR JOB (9601,0004,2,99),'*PROG-LH',
// CLASS=D,TIME=2,MSGCLASS=A,REGION=4M
/*ROUTE PRINT UCONNVM.HARLAND
//STEP1 EXEC PGM=FDRABR
//STEPLIB DD DSN=FDRABR.LOADLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//DISK1 DD UNIT=3380,VOL=SER=SCR002,DISP=SHR
//TAPE1 DD DSN=FDR,VOL=SER=FDR,
// UNIT=T38K,
// DISP=(OLD,KEEP)
//SYSIN DD *
SIMREST TYPE=ABR,DATA=ALL
SELECT DSN=PRO.JOBLIB,VOL=USR004,OLDBACKUP=00,NOCAT,
NEWNAME=BKPRO.JOBLIB,NVOL=SCR002
/*
//
The restore should be simulated first. FDRABR will restore over an
existing non-VSAM dataset by default, if it exists on the target
volume.
RESTORE TYPE=ABR,DATA=ALL
SELECT DSN=PRO.JOBLIB,VOL=USR004,OLDBACKUP=00,NOCAT,
NEWNAME=BKPRO.JOBLIB,NVOL=SCR002
Following is a brief summary of suggested SELECT statement
specifications.
Refer to the FDR manual for complete command syntax.
Restoring VM Datasets
All permanent disk space on VM accounts (CMS user ids) is backed up
on a regular basis. The backup include files on all permanent disks
including filemode 0 (e.g. A0) files. The 2 most current backups are
stored offsite, all others are stored at the data center. The
schedule of disk backups is as follows:
Adding New DEV or PRO Libraries to PROCOPY Procedure
Adding New Libraries
When a library is added that the programming staff must procopy from
or to, there is a certain procedure that must be followed to add the
library to Computer Scheduling's Procopy Procedure. Normally, this
will involve two libraries: A Development Library (Dev) and a
Production Library (Pro). To add the libraries to the Procopy
Procedure:
This will replace the version that was ruined, with the previous
unchanged version, and you can start again.
SCHEDDEV Libraries
SCHEDDEV Panel Libraries (ISPPCONT MACLIB):
CONT600
CONT100
CONT130
CONTMSTR
CONT200
CONT210 Procopy
CONT212
CONT250 Compress
CONT260 Scratch Exec
CONT221
CONT610
CONT211 Procopy Panel Editor (Index)
CONT230
CONT110
CONT120
CONT214 Procopy (Exec)
SCHEDDEV Skeleton Libraries (ISPSCONT MACLIB):
CONT260
CONT210
CONT610
CONT110
CONT120
CONT130
CONT250
SCHEDDEV Message Libraries (ISPMCONT MACLIB):
CONT01
CONT02
Scanning PRO.JOBLIB and DEV.JOBLIB.
SCANLIB
This procedure is used by the Production Support Group to search for
character strings in JCL on the PRO and DEV JOBLIB. There are two
steps to the SCANLIB procedure:
IF INDEX(JCL,'
Change whatever is between the single quotes to the character string
you wish to select from the PRO or DEV JOBLIB. If the character
string is located in comments, they will not appear on your list. If
you want to include comments too, delete the line:
IF SUBSTR(JCL,1,3) = '//*' THEN DELETE;
You should also change the title line (enclosed in single quotes):
TITLE 'LOOKING FOR JOBS THAT USE LOADER PROC ON PRO.JOBLIB';
to a meaningful title for your scan listing. You should also
indicate DEV or PRO JOBLIB, since the title is the only place on the
report you can see which library was on the tape input.
IF INDEX(JCL,'
Overlay Generation Language and Page Segments.
Creating Overlays, Form and Page Definitions
DEV.OVERLIB DEV.FDEFLIB DEV.PDEFLIB
PRO.OVERLIB PRO.FDEFLIB PRO.PDEFLIB
DEV.P3829.OVERLIB DEV.P3829.FDEFLIB DEV.P3829.PDEFLIB
PRO.P3829.OVERLIB PRO.P3829.FDEFLIB PRO.P3829.PDEFLIB
DEV.PSEGLIB PRO.PSEGLIB
DEV.P3829.PSEGLIB PRO.P3829.PSEGLIB
DEV.SIGLIB PRO.SIGLIB
CONTROL STORE SUMMARY;
The CONTROL Statement specifies the storage of the overlay in the
libraries. STORE must be changed to REPLACE after the first time the
overlay is stored in the library. You can use NOSTORE to compile and
get a sample of the overlay without storing it in a library.
OVERLAY ADM001 SIZE 208 PELS 192 PELS OFFSET 0 IN 0 IN;
OVERLAY ADM002 SIZE 8.5 IN 11 IN OFFSET 0 IN 0 IN;
The OVERLAY command names the overlay and specifies its size and
placement.
ORIENT 0;
The ORIENT command specifies the orientation of the overlay relative
to the paper. In most cases it will be 0 degrees. This will create
a portrait oriented overlay.
POSITION 0.5 IN 0.5 IN;
The POSITION command specifies the coordinates of a point relative to
the overlay. This is used as a starting point to insert text, draw a
line or a box, include a page segment, or some similar operation.
Using Overlays, Form and Page definitions.
An OUTPUT statement in the JCL is needed to identify the FORMDEF and
PAGEDEF required for the printed output. This is input before the first
EXEC card in the JCL. The OUTPUT statement can also define the output
class, type of forms, destination, character set, burst and TRC options,
print mode, and the number of copies. An OUTPUT= parameter is coded on
the DD statement for the report to refer back to the required OUTPUT
statement at the beginning of the job.
//LASER1 OUTPUT CLASS=*,
// FORMS=0161,
// DEST=UCONNMVS,
// CHARS=(GT12),
// FCB=(8H08),
// BURST=NO,
// PRMODE=LINE,
// COPIES=001
And a sample of a DD statement with the OUTPUT= parameter.
//SYSUT2 DD SYSOUT=(,),
// OUTPUT=(*.LASER1)
Multiple references to OUTPUT statements are also allowed.
//SYSUT2 DD SYSOUT=(,),
// OUTPUT=(*.LASER1,*.LASER2,*.LASER3)
Creating a Page Segment from an Overlay
CONTROL STORE SUMMARY;
The CONTROL Statement specifies the storage of the overlay in the
libraries. STORE must be changed to REPLACE after the first time the
overlay is stored in the library.
OVERLAY UCSEAL SIZE 208 PELS 192 PELS OFFSET 0 IN 0 IN;
The OVERLAY command names the overlay and specifies its size and
placement. The size for the Seal and Tower were taken from a compile
of an overlay that had the Seal and Tower pattern defined within.
ORIENT 90;
The ORIENT command specifies the orientation of the overlay relative
to the paper. In this case it is always 90 degrees.
POSITION 0 IN 0 IN;
PLACE PATTERN SSEAL SHADE XDARK;
The POSITION command specifies the coordinates of a point relative to
the overlay, in the page segment it will always be 0,0. When the
PLACE command is issued, the printer draws the graphic with the
pattern modifications.
Modifying the Compiled Pattern to Create a Page Segment
GETPDS O1UCSEAL DEV OVERLIB O1UCSEAL OGL A
XEDIT the overlay. Before you begin altering the overlay, enter the
following statements. They will prevent any changes in the Hex
values.
SET IMAGE OFF
SET CASE M
Change the Overlay name on the first and last lines to the Page
Segment Name.
change: "UCSEAL "
to: "S1UCSEAL".
You must work in HEX to alter the command statements. Follow these
steps to change the command statements.
The Page Segment code is now complete.
5A0016D38A5F.......
5A0016D3A87B.......
5A0020D3A77B.......
5A002CD3A67B.......
5A0900D3EE7B.......
5A0010D3A97B.......
5A0010D3A95F.......
COPY O1UCSEAL OGL Z = = A (SPECS
at the SPECS prompt, enter: 5-5005 1
Updating the Page Segment Library
The page segment is now in DEV.P3829.PSEGLIB and ready to used
as a page segment.
SEGMENT SSEAL UCSEAL DDNAME SEGDD;
SEGMENT TOWER UTOWER DDNAME SEGDD;
Placing the Segment on the overlay is the same as placing a pattern.
You must have the POSITION command, and the PLACE command. When
positioning the segment a little adjustment may be needed for correct
placement, we found we had to move the segments down .8 IN or 190
pels. The PLACE command is a little different because now you are
placing a segment not a pattern. The PLACE command looks like this:
PLACE SEGID SSEAL;
For additional information on Page Segment use, refer to the
Overlay Generation Language User's Guide and Reference pages
67-90, "Adding Graphics".
Library Procedures
A new library has been established to store all the OGL source
statments in one central place, that is accessible by all. We were
hesitant about putting the source code with the UCONN Tower and State
Seal out into the libraries for all to see, but with the development
of the page seqments this can now be accomplished.
| UConn Web | UCC | Data Administration | UCC Index |