B97BUGEN: Generation update batch utility

Overview

Adabas Audit Data Retrieval creates a list generation record (IGR) each time a list/report is read in. With the help of the batch utility B97BUGEN you can retrospectively change certain fields in the generation records of selected lists/reports.

Possible changes

The following specifications can be changed:

  • To mark as not-viewable/viewable (analogous to line commands NV/V in the "List/Report Selection Table")
  • To mark for delete or undelete (analogous to line commands D/UD in the "List/Report Selection Table")
    Requirement: The list/report is available online.
  • Item display mode

    Requirement: The list has been read in and processed in item mode.

  • User-defined query mask (layout) that is to be used for this list
  • To mark for archive or unarchive (analogous to line commands A/UA in the "List/Report Selection Table")
  • Archive expiration date

    The archive retention period can be extended or reduced.

    Requirement: The list and its indexes have already been archived.

    Modifications of the archive expiration date cannot be executed together wíth other changes in the same B97BUGEN job. For example, if you want to mark lists as not-viewable and reduce their archive retention period, use separate B97BUGEN jobs.

    Important: Specifying a new archive expiration date just marks the list for a change of archive expiration date. The batch utility B97AXPDT must run for modifications to a list's archive expiration date to take effect.

JCL

You can find sample JCL for this batch utility in the BETA97.CNTL in member B97BUGEN.

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

Return codes

0

The program terminated normally.

4

This return code can occur due to several reasons:

  • No data found for at least one selection
  • No change for at least one selection

8

This return code can occur due to several reasons:

  • Specified errorlimit has been reached (*)
  • Attributes relevant to archiving are missing (only if ARCHIVE=YES)

12

Component error

16

This return code can occur due to several reasons:

  • Out of memory
  • Authorization failed (RACF)

20

This return code can occur due to several reasons:

  • DD statement missing (*)
  • Error when opening a log file (*)
  • Error when initializing the database access (*)
  • Database access error (*)
  • Syntax error

24

Communication error

32

BQL abend

36

BQL command error

Note: (*) indicates standard return codes that can be modified.

Syntax DD SYSIN

DD SYSIN contains:

  • Optionally, the ERRORLIMIT parameter (applies to all selection blocks)
  • One or more selection blocks that are introduced by the following line:

    UPDATE = GENERATION

    This line is followed by the statements that control the selection of lists/reports and the statements that control the change of status for the selected lists/reports.

Each statement is coded on a separate line and is structured as follows:

keyword = value

The equal sign ( = ) is optional in all statements. To mark a line as comment line, enter an asterisk ( * ) in the first column of the line. If a value is blank (for example, extension), enter a blank enclosed in single quotation marks:

EXTENSION = ' '

Keywords for processing

The following keywords can be coded only once and apply to the entire processing. The keywords can be placed anywhere within DD SYSIN.

Keyword

Parameter

Description

Option

Mask

Default

Length

ERRORLIMIT

0-999

Max. error limit

optional

no

1

3

ANALYZE

YES | NO

Analyze mode

optional

no

NO

3

DATEMASK

date mask

Date format for date specification

optional

no

System date mask (S.2)

10

REDUCE_ AEXPDT

MARK | UNMARK

Marks the lists/reports for reducing the archive retention period or removes the flag.

See note below the table

no

 

6

0 (no limit) through 999 can be coded for ERRORLIMIT. The number specifies the number of error messages issued, after which processing is interrupted or terminated. The default is 1, which means that the first error causes processing to be interrupted.

ANALYZE = YES causes the program to run in analyze mode (simulation). This means that only logs are created, but no data is modified.

Specify DATEMASK=datemask if your date specifications (SDATE/EDATE) are in a different format from the system date mask (option S.2).

Specify REDUCE_AEXPDT if the archive retention period is to be reduced.

Keywords for selection

A selection block begins with the instruction UPDATE GENERATION (required), which is followed by the desired selection criteria. For all date entries, you can also enter the words TODAY, YESTERDAY, and MONDAY through SUNDAY instead of a date.

Keyword

Parameter

Description

Option

Mask

Default

Length

UPDATE

GENERATION

 

required

no

 

10

FORM

name

Form name

optional

yes

*

8

EXTENSION

name

Extension name

optional

yes

*

16

REPORT

name

Report name

optional

yes

*

16

PROCESS

ALL | REPORT | LIST

Process lists, reports or both

required

no

 

6

SDATE

The date must be coded in accordance with DATEMASK (default: system date mask from option S.2)

Start date

required

no

 

10

EDATE

See SDATE

End date

optional

no

start date

10

STIME

hh:mm:ss

Start time

optional

no

00:00:00

8

ETIME

hh:mm:ss

End time

optional

no

23:59:59

8

JOBNAME

name

Jobname

optional

yes

 

8

DOCTYPE

string

Mime type
(File extension for ASCII documents)

optional

no

 

8

SUBMITD

The date must be coded in accordance with the datemask in the system record

Submit date

optional

no

 

10

SUBMITT

hh:mm:ss:xx

Submit time

optional

no

 

11

OLDRETPD

1..36500

Current archive retention period

optional

no

 

5

-or-

 

 

 

 

 

 

OLDEXPDT

The date must be coded in accordance with DATEMASK (default: system date mask from option S.2)

Current archive expiration date

 

 

 

10

Keywords for change of status

The keywords for the change of status are coded following UPDATE GENERATION and only apply to the corresponding selection block.

Keyword

Parameter

Description

Option

VIEWABLE

YES | NO

Marks the list/report as not-viewable or removes this flag

optional

DELETE

YES | NO

Marks the list/report for deletion or removes this flag

optional

ARCHIVE

YES | NO

Marks the list/report for archiving or removes this flag

Please note the section "If ARCHIVE=YES leads to RC=8" below the table.

optional

ITEMDISP

YES | NO

Changes the value in the Item Display Mode field of the generation record

optional

LAYOUT

max. 16 character name or blank

Enters the name of the layout in the generation record in order to use the corresponding user-defined query mask (or deletes the name if blank) for this list

optional

NEWEXPDT

Date (date mask as specified in the system options)

Enters a new archive expiration date in the generation record

To make this change effective, the batch utility B97AXPDT must run.

optional

-or-

 

 

 

ADDRETPD

max. 5 digits

Specification of a number of days to be added to the current archive expiration date

To make this change effective, the batch utility B97AXPDT must run.

 

-or-

 

 

 

SUBRETPD

max. 5 digits

Specification of a number of days to be deducted from the current archive expiration date

To make this change effective, the batch utility B97AXPDT must run.

 

If SUBRETPD or NEWEXPDT are used to enter an archive expiration date in the IGR that is less than or equal to the current date (archive retention period is to be reduced), you have to specify REDUCE_AEXPDT.

If ARCHIVE=YES leads to RC=8

ARCHIVE=YES leads to RC=8 if archive information is incomplete. Check whether all required attributes that are relevant to archiving have been set for the list/report, i.e. archive retention period, archive medium, and owner. You can use the keywords ARCRETPD, ARCHMED and OWNER in combination with ARCHIVE=YES to set missing attributes.

Keyword

Parameter

Description

Option

ARCRETPD

max. 5 digit value

Defines the archive retention period

optional

ARCHMED

TAPE | DISK | ODISK | CTERA

Defines the archive medium

optional

OWNER

max. 8 character name or blank

In order to be assigned to an archive pool, the owner of the list and the owner of the pool definition must be identical.

optional

Example

//SYSIN DD *
ERRORLIMIT = 0
*
UPDATE GENERATION
PROCESS = LIST
DELETE = YES
SDATE = 10.03.2009
FORM = REJ
EXTENSION = INVENTORY
*
UPDATE GENERATION
PROCESS = ALL
VIEWABLE = NO
SDATE = 10.03.2009
FORM = REJ
EXTENSION = TRADE
/*

IRMPRINT

The following log is written to DD IRMPRINT. It contains a list of all lists/reports that were selected for a change of status.

+-----------------------------------------------------------------------------------------------------------------+
|Date: 10.07.2020 Product: Beta 97 BATCH UPDATE UTILITY Page: 1 |
|Time: 14:26:37 Version: V7R2 |
| |
| |
|Date Time Form Extension Report Jobname Jesid Submit Date / Time |
|---------- -------- -------- ---------------- ---------------- -------- -------- ---------------------- |
|10.07.2020 14:19:48 - REJ TRADE REJTEST *.TXT - 10.07.2020 14:10:53:01 |
| Archive ArcMedium ArcRetpd Owner Delete Viewable ItemDisp Layout NewExpdt |
| ======= ========= ======== ======== ======= ======== ======== ================ ========== |
| Old - NO YES REJ-TRADE |
| New - NO NO REJ-TRADE |
| |
|10.07.2020 14:12:46 - REJ TRADE REJTEST *.TXT - 10.07.2020 14:10:53:01 |
| Archive ArcMedium ArcRetpd Owner Delete Viewable ItemDisp Layout NewExpdt |
| ======= ========= ======== ======== ======= ======== ======== ================ ========== |
| Old - NO YES REJ-TRADE |
| New - NO NO REJ-TRADE |
| |
|... |
|10.07.2020 14:22:49 - REJ INVENTORY REJTEST *.TXT - 10.07.2020 14:20:51:01 |
| Archive ArcMedium ArcRetpd Owner Delete Viewable ItemDisp Layout NewExpdt |
| ======= ========= ======== ======== ======= ======== ======== ================ ========== |
| Old - NO YES |
| New - NO PENDING YES |
| |
+-----------------------------------------------------------------------------------------------------------------+

IRMLOG

A processing log is written to DD IRMLOG.

+----------------------------------------------------------------------------------------------+
|IRM1561I PROGRAM: B97BUGEN VERSION: V7R2M00 PTFLVL: ptflvl COMPILED: date, time |
|IRM2200I B97BUGEN BATCH UPDATE UTILITY STARTED - DATE: 10.07.2020, TIME: 14:26:37 |
|IRM2210I Date mask DD.MM.YYYY used from system record |
|IRM2210I *************************************************************************************|
|IRM1901D ERRORLIMIT = 0 |
|IRM1901D UPDATE GENERATION |
|IRM1901D PROCESS = LIST |
|IRM1901D DELETE = YES |
|IRM1901D SDATE = 10.07.2020 |
|IRM1901D FORM = REJ |
|IRM1901D EXTENSION = INVENTORY |
|IRM1901D UPDATE GENERATION |
|IRM1901D PROCESS = ALL |
|IRM1901D VIEWABLE = NO |
|IRM1901D SDATE = 10.07.2020 |
|IRM1901D FORM = REJ |
|IRM1901D EXTENSION = TRADE |
|IRM2210I -------------------------------------------------------------------------------------|
|IRM2201I 0000000003 LIST(S) PROCESSED |
|IRM2202I 0000000000 REPORT(S) PROCESSED |
|IRM2210I *************************************************************************************|
|IRM2299I B97BUGEN BATCH UPDATE UTILITY ENDED - DATE: 10.07.2020, TIME: 14:26:37, RC: 0000 |
+----------------------------------------------------------------------------------------------+