Changes Aren't Captured for Enrolled Tables on AS400
Issue
Changes aren't captured for some tables on AS400, even though they're enrolled in the channel.
Environment
- HVR 6
- HVR 5
- AS400 systems that use channels for data capture
Resolution
To resolve this issue:
- Run the following query to identify which tables in the channel are journaled, and the library containing each journal:
SELECT OBJNAME, OBJLONGSCHEMA, OBJTYPE, JOURNALED, JOURNAL_LIBRARY, JOURNAL_NAME, JOURNAL_IMAGES, OMIT_JOURNAL_ENTRY, JOURNAL_START_TIMESTAMP FROM TABLE(QSYS2.OBJECT_STATISTICS('<schema>', '*FILE')) WHERE OBJNAME IN ('<table_1>', '<table_2>', '<table_3>'); - For each table where the
JOURNALEDvalue isNO, run the following command on the AS400 console to check whether it was ever journaled:DSPFD FILE(<schema of not journaled table>/<not journaled table>) TYPE(*ALL) - Look for
Starting journal receiver for applicationin the output. If it isn't present, the table has never been journaled. - For each table that isn't journaled, choose the appropriate action:
- If journaling isn't suitable for the table, delete it from the channel. For instructions, see Deleting Tables from Channel
- If you need to capture changes for the table, enable journaling by running the following command on the AS400 console:
STRJRNPF FILE(<schema>/<table>) JRN(<schema of journal>/<journal name>) IMAGES(*BOTH)
Cause
This issue occurs a table enrolled in the channel isn't journaled.