B97GLOBL: Global index batch utility

Function

The global index batch utility (B97GLOBL) updates the global indexes in accordance with the requests that it finds in the internal global index records (IGL).

Executing B97GLOBL

How often you have to run this batch utility depends on the intervals at which you would like to update the global indexes.

There is no need to run this batch utility if you do not work with global indexes.

JCL

+--------------------------------------------------------------------+
|jobcard |
|//B97GLOBL EXEC PGM=BST01RFF,REGION=0M,PARM=('S=97', |
|// 'PGM=BST00GBL', |
|// 'B01LST=xx', |
|// 'B97LST=xx', |
|// 'SIGNON=YES') |
|//* |
|//STEPLIB DD DISP=SHR,DSN=BETA97.LOAD |
|// DD DISP=SHR,DSN=BSA.LOAD |
|//* |
|//SFFPARM DD DISP=SHR,DSN=BETA.PARMLIB |
|//B97DEF DD DISP=SHR,DSN=BETA97.DB.DEF |
|//* |
|//IRMPROT DD SYSOUT=* |
|//SYSPRINT DD DUMMY |
|//SFFFDUMP DD SYSOUT=* |
|//SYSABEND DD SYSOUT=* |
|//* |
+--------------------------------------------------------------------+

Return codes

0

The program terminated normally.

4

The program did not find any internal global index records (IGL) for processing; the program terminated normally.

8

The program has found requests in the internal global index records (IGL), which it could not process. Normally the reason is that no matching processing instructions could be found (see "Example: Error analysis and troubleshooting").

16

Other errors occurred during processing. Please check the job log for details.

Some return codes are program-specific. Others are standard return codes which can also be modified. More information on standard return codes can be found in "Return codes".

IRMPROT

DD IRMPROT contains a list of all activities of the batch utility during the update of the global indexes.

The number of internal global index records, which are being processed by B97GLOBL in this run, are located at the beginning of the log, in the example:

  • A total of 4, which are subdivided in:

    2 requests for inserting in the global index (Insert)

    2 request for removing from the global index (Delete)

+---------------------------------------------------------------------------------+
| GLOBAL INDEX UTILITY DATE: date PAGE: 00001|
| ------------------------------------------------------------------------------- |
| |
| INDEX RECORDS (IGL) FOUND : 000004 FOR INSERT : 000002 FOR DELETE : 000002 |
| ... |

The following values are output for each global index, which is updated in this run:

  • Folder name
  • Index name
  • Owner
  • Validity of the processing instruction
  • Number of processed IGLs (Insert and Delete)
  • Values for each updated index

| ... |
| START FOR GLOBAL : REJ-TRADE |
| INDEX : ORDER |
| OWNER : CUST001 |
| |
| Values for the first index |
| ... |

The values are output in detail for each updated unit.

Example for Insert

| ... |
| START : 01.04.2009 END : 30.06.2009 / (IGL) INSERT : 00001 |
| DELETE : 00000 |
| |
| INDEXES EXPECTED : 000000000030 GLOBAL INDEXES EXPECTED : 000000000600 |
| SELECTED : 000000000030 GLOBAL INDEXES SELECTED : 000000000600 |
| IGNORED : 000000000020 GLOBAL INDEXES DELETED : 000000000000 |
| INSERTED : 000000000010 GLOBAL INDEXES INSERTED : 000000000610 |
| ... |

The values in the left column refer to the index(es) to be inserted:

Expected

According to the database, the program expects 30 index values in the indexes to be inserted (in the example, these originate from one index generation).

Selected

The program finds 30 index values (must be identical to the expected value).

Ignored

The index contains values which are present several times over. 20 index values can be ignored, as index values which are present several times over are only saved once per list.

Inserted

10 index values are inserted into the global index.

The values in the right column refer to the respective global index before and after the update:

Expected

According to the database, the program expects 600 index values in this unit of the global index database.

Selected

The program finds 600 index values (must be identical to the expected value).

Deleted

Number of index values, which are removed from the global index (see example for Remove).

Inserted

The updated unit contains 610 index values after the update.

Example for Delete

| ... |
| START : 01.04.2008 END : 30.06.2008 / (IGL) INSERT : 00000 |
| DELETE : 00001 |
| |
| INDEXES EXPECTED : 000000000000 GLOBAL INDEXES EXPECTED : 000000005800 |
| SELECTED : 000000000000 GLOBAL INDEXES SELECTED : 000000005800 |
| IGNORED : 000000000000 GLOBAL INDEXES DELETED : 000000000010 |
| INSERTED : 000000000000 GLOBAL INDEXES INSERTED : 000000005790 |
| ... |

The values in the left column refer to the index(s) to be inserted; in this case all values are 0 (Insert = 0).

The values in the right column refer to the respective global index before and after the update:

Expected

According to the database, the program expects 5800 index values in this global index.

Selected

The program finds 5800 index values (must be identical to the expected value).

Deleted

The program removes 10 index values from this global index.

Inserted

The global index contains 5790 index values after the update.

Note

With other retention periods, it can of course happen that index values are being inserted and index entries are being removed at the same time.