Version 7.4.4
 —  User Exits and Hyperexits  —

User Exit 4 (User-Generated Log Data)

User exit 4 is called immediately before an Adabas command log record is to be written. It may be used to generate any required user log data (SMF records) special statistics, or to suppress writing a log record.

Note:
User exit 4 is still called even if ADARUN LOGGING=NO. The only way to disable user exit 4 is to remove the ADARUN UEX4 parameter from the Adabas run.

This document covers the following topics:


Command Log Format

Adabas supports two different command log formats. The ADARUN CLOGLAYOUT parameter determines which format is used:

Both formats are shown in Command Log Formats.

Ensure that your user exit and command log evaluation programs recognize the format in use before switching to it.

graphics/log_data_parms.png

User-Generated Log Data User Exit (4) Parameters
Parameter Address of . . .
0(R1) a byte containing a logging action code. This byte contains:
  • +00 -- action code to log the record upon each call. If changed to a nonzero value, this record will not be written to DDLOG.

  • +01 -- reserved for future use

  • +02 -- two-byte database ID.

4(R1) the record to be logged. This address is zero if the exit is called at the end of the nucleus session.
8(R1) the end of the Adabas I/O area. This address is zero if the exit is called at the end of the nucleus session.
12(R1) the command queue element (CQE). This address is zero if the exit is called at the end of the nucleus session.

The record to be logged may be modified by the user exit. The record's address in 4(R1) may also be modified. The logging action code must always be specified before returning to the Adabas nucleus.

Warning:
When modifying the record, do not exceed the end address of the ADALOG I/O area contained in 8(R1).

Top of page

PRILOG : Printing the Command Log

Adabas provides the PRILOG print program to read and report the contents of Adabas command logs in either version 4 or version 5 command log layout format.

Note:
For version 5 command log layouts, the volume names of enhanced I/O-Lists may also be reported.

PRILOG reads a sequential Adabas command log that has been produced directly by the Adabas nucleus (DD/LOG file) or by the ADARES CLCOPY utility when the Adabas nucleus uses dual or multiple comand logging.

PRILOG is supplied in both source and object form.

Note:
Although PRILOG can be customized, Software AG does not support the program when it has been modified by the user.

In source form, three modules (PRILOG, CCSTCK, and PRILOGD) are supplied for the z/OS, VSE/ESA, and BS2000 operating systems. These modules replace all PRILOG versions supplied with earlier versions of Adabas.

Two of the PRILOG modules are system-independent components and one is specific to a particular operating system:

PRILOG interprets control statements; generates report lines from CLOG records.
CCSTCK converts internal timestamp information on CLOG records into a more useful form before printing, making it compliant with Year 2000 standards. CCSTCK is provided independently so it can also be used by other programs.
PRILOGD retrieves an input control card image and a CLOG record and prints a line. PRILOGD is system-dependent. It contains a number of parameters that are described in the source.

Print Program Input

As input, the PRILOG program requires CLOG records and control cards.

Control cards must begin with the program name "PRILOG6" in columns 1 through 7; at least one space must follow the program name before parameters are entered.

Parameters can be entered up to column 71. No continuation or parameter splitting is permitted. Additional parameters can be entered on a separate PRILOG6 card.

A comment line begins with an asterisk (*). Comments may also be added to the right side of the parameter string as long as the comment is separated from the parameter value by at least one space.

Control Card Parameters

Two parameters can be entered on the control cards:

CLOGLAYOUT={ 4 | 5}

CLOGLAYOUT indicates the format of the CLOG records being used as input to the PRILOG program. Valid values are 4 and 5; the default value is 5.

FIELDS= { ( item, ... ) | ( LIST) }

FIELDS indicates the item (or items) from the CLOG records that are to be printed where "item" is one of the following:

Item Description
FB format buffer
IB ISN buffer
IOL I/O list
LIST Adabas control block field list
RB record buffer
SB search buffer
UXB user exit B buffer
VB value buffer

The default value is LIST. Multiple "items" can be listed in any order.

If a data item listed in the FIELDS parameter is not being captured during the ADALOG session and is therefore not present in the CLOG record, the request to print that data item is ignored.

PRILOG6 Messages

PRILOG6 messages are documented in the Adabas Messages and Codes manual as "PL6nnna" (independent) and "PL6ann" (system-dependent) messages.

Installing and Using PRILOG under VSE/ESA

The following components comprise the PRILOG print program for VSE/ESA:

Member Description
PRILOG.A Independent PRILOG assembly language source module
PRILOGD.A VSE/ESA-dependent PRILOG assembly language source module
CCSTCK.A Independent Adabas STCK conversion assembly language source module
PRILOG.OBJ Object deck for PRILOG
PRILOGD.OBJ Object deck for PRILOGD
CCSTCK.OBJ Object module for CCSTCK
PRILOG.PHASE Executable phase for PRILOG
ASMPLOG.X Sample VSE/ESA JCS to assemble, catalog, and link the PRILOG, CCSTCK, and PRILOGD components into the PRILOG.PHASE
LNKPLOG.X Sample VSE/ESA JCS to link the PRILOG.PHASE from the PRILOG.OBJ, CCSTCK.OBJ, and PRILOGD.OBJ modules
RUNPLOG.X Sample VSE/ESA JCS to execute the PRILOG utility

The PRILOG.PHASE may be executed from the library without additional preparation. However, if it becomes necessary to reassemble and relink the PRILOG.PHASE, the following points must be observed:

Executing PRILOG under VSE/ESA

Execute the PRILOG print program by running the PRILOG.PHASE in either a static or dynamic partition.

The PRILOG program uses three files:

File Description
SYSIPT PRILOG control card data; may be read from any valid device that can be assigned to SYSIPT
SYSLST PRILOG report file; may be written to any device that can be assigned to SYSLST
SYS001 (DDCLOG) Sequential command log input file; this file may reside on any IBM-supported disk device, or it may be read from tape

Notes:

  1. The PRILOG control cards must be available from SYSIPT. If on disk or tape, they must be 80-byte records with FIXED record format.
  2. The PRILOG report file must be written to SYSLST. If assigned to disk or tape, the output records are 121 bytes in length with FIXED record format. ASA control characters are used for printer control and are in the first byte of each print record.
  3. The sequential command log file must be assigned to SYS001. The file may be on disk or tape and may not have a block size greater than 32,760 bytes. The record format is VARBLK.

The provided RUNPLOG.X JCS member may be modified according to your installation's requirements to execute the PRILOG print program. Modify the DEST, extent, DLBL, sublibrary, and volume information before submitting the job.

Installing and Using PRILOG under OS/390 or z/OS

The following components comprise the PRILOG print program for OS/390 oe z/OS:

Member Library Description
PRILOG ADAvrs.MVSSRCE Independent PRILOG assembly language source module
PRILOGD ADAvrs.MVSSRCE OS/390- or z/OS-dependent PRILOG assembly language source module
CCSTCK ADAvrs.MVSSRCE Independent Adabas STCK conversion assembly language source module
ASMPLOG ADAvrs.MVSJOBS Sample JCL to assemble and link the PRILOG, CCSTCK, and PRILOGD components into the PRILOG load module.
JPRILOG ADAvrs.MVSJOBS Sample JCL to execute the PRILOG utility

The PRILOG program uses three files:

Files Description
DDCARD used for input parameter data; may be any sequential 80-byte record file supported by QSAM.
DDPRINT used for the output command log report; may be assigned to SYSOUT or to any 121-byte record dataset with record format of FBA.
DDCLOGIN used for the input sequential command log file; must be a sequential file produced by the ADARES CLCOPY utility, or the direct DDLOG sequential file produced by an Adabas nucleus when single command logging is used.

Top of page