There is one XPI user journaling function, which is the DFHJCJCX call WRITE_JOURNAL_DATA.
DFHJCJCX calls cannot be used in any exit program invoked from any global user exit point in the:
WRITE_JOURNAL_DATA writes a single journal record to the journal specified in the journal model definition that matches the journal name (either a journal on an MVS™ system logger log stream, an SMF data set, or no record is written where DUMMY is defined in the definition).
DFHJCJCX [CALL,]
[CLEAR,]
[IN,
FUNCTION(WRITE_JOURNAL_DATA),
FROM(block-descriptor),
JOURNALNAME(name8 | string | 'string' ) |
JOURNAL_RECORD_ID(name2 | string | 'string'),
WAIT(YES|NO),
[RECORD_PREFIX(block-descriptor),]]
[OUT,
RESPONSE(name1 | *),
REASON(name1 | *)]
There is a restriction in using the XPI early during initialization. Do not start exit programs that use the XPI functions TRANSACTION_DUMP, WRITE_JOURNAL_DATA, MONITOR, and INQUIRE_MONITOR_DATA until the second phase of the PLTPI. For further information about the PLTPI, refer to Writing initialization and shutdown programs.
The block-descriptor comprises 8 bytes of data. The first 4 bytes hold the address of the data to be written. The second 4 bytes hold the length of the data. The block-descriptor is moved by the DFHJCJCX macro call to the location JCJC_FROM, which is mapped by the DFHJCJCY DSECT.
RESPONSE | REASON |
---|---|
OK | None |
EXCEPTION | IO_ERROR |
JOURNAL_NOT_FOUND | |
JOURNAL_NOT_OPEN | |
LENGTH_ERROR | |
STATUS_ERROR | |
DISASTER | None |
INVALID | None |
KERNERROR | None |
PURGED | None |