Examples of COMPARE DATA and COMPARE PCB statements

The following examples show how COMPARE DATA and COMPARE PCB statements are used.

COMPARE PCB Statement for Blank Status Code

The COMPARE PCB statement is coded blank. It checks a blank status code for the GU.

|---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----<
L        GU                                                             10101100
E                                                                       10101200

COMPARE PCB Statement for SSA Level, Status Code, Segment Name, Concatenated Key Length, and Concatenated Key

The COMPARE PCB statement is a request to compare the SSA level, a status code of OK (which includes blank, GA, GC, and GK), segment name of SEGA, concatenated key length of 0004, and a concatenated key of A100.

|---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----<
L        GU
E   01 OK SEGA     0004A100

COMPARE PCB Statement for SSA Level, Status Code, Segment Name, Concatenated Key Length, and Concatenated Key

The COMPARE PCB statement causes the job step to terminate based on the 8 in column 3 when any of the fields in the COMPARE PCB statement are not equal to the corresponding field in the PCB.

|---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----<
L        GU                                                             10105100
E 8 01 OK SEGK     0004A100                                             10105200

COMPARE PCB Statement for Status Code with Hold Compare

The COMPARE PCB statement is a request to compare the status code of OK (which includes blank, GA, GC, and GK) and hold that compare until the next COMPARE PCB statement. The compare of OK is used on GN following GU and is also used on a GN that has a request to be repeated six times.

|---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----<
L        GU    SEGA    (KEYA    = A300)                                 20201100
L        GN                                                             20201300
EH     OK                                                               20201400
L   0006 GN                                                             20201500

COMPARE DATA Statement for Fixed-Length Segment

The COMPARE DATA statement is a request to compare the data returned. 72 bytes of data are compared.

|---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----<
L        GU
E        DATA  A100A100A100A100A100A100A100A100A100A100A100A100A100A100X10102200
E              A100A100A100A100                                         10102300

COMPARE DATA Statement for Fixed-Length Data for 64 Bytes

The COMPARE DATA statement is a request to compare 64 bytes of the data against the data returned.

|---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----<
L        GU                                                             10101600
E   0064 DATA  A100A100A100A100A100A100A100A100A100A100A100A100A100A100X10101700
E              A100A100B111B111                                         10101800

COMPARE DATA Statement for Fixed-Length Data for 72 Bytes

The COMPARE DATA statement is a request to compare 72 bytes of the data against the data returned.

|---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----<
L        GU                                                             10103900
E LP0072 DATA  A100A100A100A100A100A100A100A100A100A100A100A100A100A100X10104000
E              A100A100A100A100                                         10104100

COMPARE DATA Statement for Variable-Length Data of Multiple-Segments Data and Length Fields

The COMPARE DATA statement is a request to compare 36 bytes of the data against the data returned for segment 1 and 16 bytes of data for segment 2. It compares the length fields of both segments.

|---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----<
L        ISRT  D        (DSS      =  DSS01)                            X38005500
L              DJ       (DJSS     =  DJSS01)                           X38005600
L              QAJAXQAJ                                                 38005700
L  V0036 DATA  QSS02QASS02QAJSS01QAJASS97*IQAJA**                      *38005800
L  M0016 DATA  QAJSS01*IQAJ**                                           38005850
L        GHU   D        (DSS      =  DSS01)                            X38006000
               DJ       (DJSS     =  DJSS01)                           X38006100
               QAJAXQAJ (QAJASS   =  QAJASS97)                          38006200
E LV0036 DATA  QSS02QASS02QAJSS01QAJASS97*IQAJA**                      *38006300
E LM0016 DATA  QAJSS01*2QAJ**                                           38006350

COMPARE DATA Statement for Variable-Length Data of Multiple Segments with no Length Field COMPARE

The COMPARE DATA statement is a request to compare 36 bytes of the data against the data returned for segment 1 and 16 bytes of data for segment 2 with no length field compares of either segment.

|---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----<
L        ISRT  D        (DSS      =  DSS01)                            X38005500
L              DJ       (DJSS     =  DJSS01)                           X38005600
L              QAJAXQAJ                                                 38005700
L  V0036 DATA  QSS02QASS02QAJSS01QAJASS97*IQAJA**                      *38005800
L  M0016 DATA  QAJSS01*IQAJ**                                           38005850
L        GHU   D        (DSS      =  DSS01)                            X38006000
               DJ       (DJSS     =  DJSS01)                           X38006100
               QAJAXQAJ (QAJASS   =  QAJASS97)                          38006200
E  V0036 DATA  QSS02QASS02QAJSS01QAJASS97*IQAJA**                      *38006300
   M0016 DATA  QAJSS01*2QAJ**                                           38006350

COMPARE DATA Statement for Variable-Length Data of Multiple Segments and One Length Field COMPARE

The COMPARE DATA statement is a request to compare 36 bytes of the data against the data returned for segment 1 and 16 bytes of data for segment 2. It compares the length field of segment 1 only.

|---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----<
L        ISRT  D        (DSS      =  DSS01)                            X38005500
L              DJ       (DJSS     =  DJSS01)                           X38005600
L              QAJAXQAJ                                                 38005700
L  V0036 DATA  QSS02QASS02QAJSS01QAJASS97*IQAJA**                      *38005800
L  M0016 DATA  QAJSS01*IQAJ**                                           38005850
L        GHU   D        (DSS      =  DSS01)                            X38006000
               DJ       (DJSS     =  DJSS01)                           X38006100
               QAJAXQAJ (QAJASS   =  QAJASS97)                          38006200
E LV0036 DATA  QSS02QASS02QAJSS01QAJASS97*IQAJA**                      *38006300
   M0016 DATA  QAJSS01*2QAJ**                                           38006350