Previous Topic: LINKed DocumentationNext Topic: Moving Jobs


Database Extraction

Database extraction is an iterative process. It uses multiple BTI runs alternated with steps that examine database data. These steps produce command data sets that are used in another BTI run to explode the database definitions. The last step produces commands with which the user can accomplish the movement of the data from one database to another.

You provide standard LJOB commands, LSYS commands, or both to first identify those jobs that are moving. These commands can use any combination of selection options but must omit the LIST= parameter because later programs expect the default formats.

Note: For more information about these commands, see the Command Reference Guide.

A BTI run is made using those commands. The program SASSDT10 that produces a control report titled "Jobs Requested to be Moved" examines output from those commands. The following is an example of this report:

SASSDT10-01 Jobs Requested to be Moved

SASSDT10-01 CA-7 DATA BASE TRANSPORTABILITY PAGE NO. 4 DATE: mm/dd/yy JOBS REQUESTED TO BE MOVED D U JOB ----JCL---- SYSTEM USR MAIN PROSE SCHED --NUMBER OF- LAST-RUN P NAME ID MEMBER -NAME- -ID -ID- DSNBR DSNBR STP DDS RUNS DATE/TIME DUSAXX07 002 DUSAXX07 PAYROLL 164 ALL 000893 *NONE* 011 047 0062 yyddd/1732 D DUSAXX23 002 DUSAXX23 PAYROLL 164 SY3 001259 000384 005 021 0018 yyddd/1456 DUSAXX05 002 DUSAXX05 PAYROLL 164 ALL *NONE* *NONE* 005 036 0074 yyddd/1824 XPSICOM1 000 ........ 000 XPJ *NONE* *NONE* 000 000 0000 yyddd/1724 NO. OF JOBS TO BE MOVED: 168 D INDICATES 'DUPLICATE' WHICH WAS IGNORED

Another data set is created containing more BTI commands necessary to review not only the jobs but also the triggers, requirements, and JCL for those jobs. To accomplish this, SASSDT10 generates a series of three commands for each nonduplicate job name listed by the BTI step. Each of these commands is an LJOB command, with one each written for the options LIST=STEPDD, LIST=TRIG, and LIST=RQMT, in that sequence. LIST=XPJOB replaces LIST=STEPDD for XPJOBs. LIST=AGENT replaces LIST=STEPDD for AGJOBs. It is this examination of the triggers and requirements that makes it possible for the program to automatically include any workstation networks that are needed by these jobs. This also allows the program to look one level in each direction from the requested jobs to ensure that all related jobs are being moved. Jobs overlooked in the initial LJOB commands, LSYS commands, or both are thus included in the final output as long as they were no more than one level removed from the requested job.

After another BTI run, using the commands generated by SASSDT10, another program, SASSDT20, examines the output and creates yet another data set of BTI commands to list all of the database information that is needed to allow the work to be redefined into another database. These commands are then the input to another BTI run.

Another control report is produced that indicates that commands were generated in this step for each workload component to be moved. The commands generated by SASSDT20 are listed beneath the command generated by SASSDT10 that listed the component to be moved. If no commands were generated for any of the incoming commands, the characters **NONE** appear.

SASSDT20-01 Expansion of Requested Jobs

SASSDT20-01 CA-7 DATA BASE TRANSPORTABILITY PAGE NO. 29 DATE: mm/dd/yy EXPANSION OF REQUESTED JOBS JOBNAME *- GENERATED COMMANDS -------------------------------------------* SEQ.-NO. DUSAXX05 (LIST=STEPDD) LPROS,SYS=PAYROLL U7001722 LJOB,JOB=DUSAXX05,LIST=ALL U7001723 LJCL,JOB=DUSAXX05 U7001724 LPROS,JOB=DUSAXX05 U7001725 LPROS,JOB=DUSAXX05,STEP=STEP0050,DD=HISTFILE U7001726 LDSN,DSNBR=DS00008162,LIST=TRIG U7001727 LPROS,DSN=PAYROLL.HOURLY.HISTORY.DETAIL U7001728 LNTWK,NW=TIMECARD,LIST=ALL U7001729 LPROS,NW=TIMECARD U7001730 DUSAXX05 (LIST=TRIG) **NONE** DUSAXX05 (LIST=RQMT) LJOB,JOB=DUSAXX09,LIST=ALL U7001731 LJCL,JOB=DUSAXX09 U7001732 LPROS,JOB=DUSAXX09 U7001733

To assist the user with the separate task of getting all of the necessary data sets physically moved to the new site, a file of all data set names used by the jobs being moved is also produced by SASSDT20. The ddname of this file is DATASETS. This is a card-image data set containing the data set names beginning in position 1 of each record. All records written to this data set contain a data set name. (No heading lines.) The records are produced as the unique data set names occur in the data and therefore are not in any particular meaningful sequence. The file produced can be listed as is or could be sorted in data set name sequence before printing if desired.

Another BTI job is run using BTI commands produced by SASSDT20. When that run has completed, the output produced contains all of the information needed to generate commands with which the user can perform the move. The output from this BTI run is used as input to the last program in this process, SASSDT30. Several card-image data sets are created by SASSDT30.

Some of these are BTI data sets containing DBM commands, others are for handling JCL libraries and are in another format.

Two data sets contain add type commands for the new CA WA CA 7 Edition database. That is necessary because the processing sequence of the commands is not the same as the sequence in which the data becomes available to the programs that generate the commands. For example, a JOBCONN function must await the definition of both the connected items in the database before it can be performed. The user must process these two data sets in the correct sequence at the new site to ensure correct definition of the work in the database.

These data sets can be used whenever and wherever they are needed to accomplish the appropriate database activity. They probably require several changes that the user must make manually, using some text editor. Each data set created has a corresponding control report to allow the user to review the data before making any changes.

The following figure shows how the final commands produced evolve from the initial simple commands, with each one feeding subsequent commands. This sequence of commands, the same sequence that would be required to manually examine the workload for a move done without this process, could be repeated at an online CA WA CA 7 Edition terminal to verify this process.

Command Evolution Process

The following topics discuss the specific types of workload definitions this process handles and describe what is produced to permit moving the workload definitions.

Module SASSDT10:

 /LOGON   PARM=/LOGON=                                               /LOGOFF
    │      │                LJOB           LSYS                         
    │◄─────┘                  │             │                           
    ▼                         └─────┬───────┘                        
 /LOGON                             │
                   ┌────────────────┼───────────────┐
                   │                │               │
                   │                │               │
                   ▼                ▼               ▼
                  LJOB,JOB=        LJOB,JOB=       LJOB,JOB=
                    LIST=STEPDD      LIST=TRIG       LIST=RQMT
                    LIST=XPJOB
                    LIST=AGENT

Module SASSDT20:

         PARM=      LJOB,JOB=               LJOB,JOB=,LIST=TRIG      /LOGOFF
 /LOGON  /LOGON=      LIST=STEPDD               LJOB,JOB=,LIST=RQMT 
    │     │           LIST=XPJOB                      │                  
    │     │           LIST=AGENT                      │                  
    │◄────┘  ┌──┬──┬──┤                        ┌──────┴───────┬───┐      
    ▼        │  │  │  │                        │              │   │      
 /LOGON      │  │  │  │                        │              │   │  
 /DISPLAY,   │  │  │  ▼                        ▼              │   │
   ST=JCL    │  │  │ LJOB,JOB=,LIST=ALL   LJOB,JOB=,LIST=ALL  │   │
             │  │  │ LJCL,JOB=            LJCL,JOB=           │   │
             │  │  │ LPROS,JOB=           LPROS,JOB=          │   │
             │  │  │                                          ▼   │
             │  │  ▼                         LNTWK,NW=,LIST=ALL   │
             │  │ LDSN,LIST=TRIG             LPROS,NW=            │
             │  │ LPROS,DSN=                                      ▼
             │  ▼                                    LDSN,LIST=TRIG
             │ LPROS,JOB=,STEP=,DD=                  LPROS,DSN=
             │
             ▼
           LPROS,SYS=

Module SASSDT30:

         PARM=   LJOB,JOB=,LIST=NODD                                  /LOGOFF
  /LOGON /LOGON=  │                                                     
     │    │       │  /DISPLAY                                           
     │◄───┘       │  LJCL,JOB=                                          
     ▼            │    │                                              
  /LOGON          │    │       LDSN,LIST=TRIG                         
                  │    │         │
  ┌───────────────┘    │         │        LNTWK,NW=,      LPROS,JOB=
  │                    │         └──┬────┐   │ LIST=ALL   LPROS,DSN=
  │ ┌──────┬─┬────┬─┬─┬┴────┬───┐   │    │   │            LPROS,SYS=
  │ │      │ │    │ │ │     │   │   ▼    │   │            LPROS,NW=
  │ ▼      │ │    │ │ │     ▼   │  DSN   │   │            LPROS,JOB=,STEP=,DD=
  │ JCL    │ │    │ │ │ SCRATCH │  ADD,  │   │                  │
  │ DELETE │ │    │ │ │     ┌───┘   ┌────┘   │            ┌─────┴──────┐
  │    ┌───┘ ▼    │ │ │     │       │        │            │            │
  │    │     DBM  │ │ │     ▼       ▼        │            ▼            ▼
  │    ▼    LOAD, │ │ │   -DLM     SCHD      │          PROSE        PROSE
  │   JCL    JOB= │ │ └──────┐     TRGR      │          DELETE,SYS   EDIT
  │   EDIT        │ │        │     UPD,DTRG  │                       I ,
  │   I ,       ┌─┘ │        ▼               │                       ...
  │   ...       │   │     ++STATUS,DISABLE   │                       $IEND
  │   $IEND     ▼   └────────┐               │                       XSEQ
  │   XSEQ     -OPT          │               │                       SAVE
  │   SAVE     -ADD          ▼               │                       SAVE,type
  │   SAVE,    ...        ++ADD,DATA         │                       DESC=
  │            ─EMOD                         │                       FORM=,...
  │     ┌──────────────┬─────────┬───────────┴──┬────────────────┐   REPORT
  │     │              │         │              │                │   CLEAR
  │     ▼              ▼         ▼              ▼                ▼
  │    NETWORK    NETWORK       SCHD            SCHD             SCHD
  │    ADD,       DELETE        ONWK            INWK             INWK
  │    STAT=                    EDIT,NETWORK=   FETCH,NETWORK=   EDIT,NETWORK=
  │                             ADD,SCHID=      REPL             ADD,SCHID=
  │                             SAVE                             SAVE
  │                             SAVE,NETWORK=                    SAVE,NETWORK=
  │                                                              DBM
  |                                                              RESOLV
  └─┬─┬──┬───┬─┬─┬─────┬─┬─┬─────┬──────┬─┬─┬────────┬──────┬─┬────────┐
    │ │  │   │ │ │     │ │ │     │      │ │ │        │      │ │        │
    │ │  ▼   │ │ ▼     │ │ ▼     │      │ │ ▼        │      │ ▼        ▼
    │ │ JOB  │ │ XPJOB │ │ AGJOB │      │ │ JOBCONN  │      │ SCHD     SCHD
    │ │ UPD  │ │ UPD   │ │ UPD   │      │ │ UPD,JDEP │      │ TRGR     JOB
    │ ▼      │ ▼       │ ▼       │      │ ▼          │      │ UPD,JTRG EDIT
    │ JOB    │ XPJOB   │ AGJOB   │      │ JOBCONN    │      ▼          ADD,SCHID=
    │ DELETE │ DELETE  │ DELETE  │      │ UPD,DSN    │      SCHD       SAVE
    ▼        ▼         ▼         ▼      ▼            ▼      TRGR       SAVE,JOB=
    JOB      XPJOB     AGJOB    DBM     JOBCONN    JOBCONN  UPD,NTRG   DBM
    ADD      ADD       ADD      NXTCYC, UPD,NWK    UPD,USR             RESOLV