Change Data Capture listener task (CDCL) fails with RC 94(048)
search cancel

Change Data Capture listener task (CDCL) fails with RC 94(048)

book

Article ID: 18781

calendar_today

Updated On:

Products

Datacom Datacom/DB

Issue/Introduction

While testing the Change Data Capture (CDC) setup against application tables, the CDCL listener task is failing with a RC 94(048) General Error Indicator message:

DB03153E - CDCL mufname ERROR ADDITMNT 94(048) 

Resolution

RC 94 is a general error, and the 048 internal reason code (Invalid data provided for data type) does not give much detail, as there could be several causes.

In the case of Change Data Capture (CDC) processing, though, this error usually means that you are trying to use CDC processing against an application table that is longer than 2000 bytes.

BACKGROUND

One of the tables used in CDC is called CA_CP_MNT (MNT). It contains one record for each maintenance command. This means each add, update, and delete to a table is subject to change propagation. The table will have one key made up of the fields: control ID, MUFplex or MUF name, the TSN, and the store clock value. Records will be unique. The table is defined as variable so that the storage in the data area and LXX is only what is needed. The table contains a field for storing an updated record in both "Before" and "After" format.

As distributed originally, this field provides room for a record that has a maximum length of 2000 bytes. If a site needs change propagation for tables with larger records, this field must be altered to be twice the size of the largest record. The block size of the area containing the table (AR2) may need to be changed to contain the larger data record.

HOW TO CHANGE
In order to accommodate tables larger than 2000 bytes, you need to change the database definition. This is provided in BTG format in CABDSAMP member BTG2009. Note that because this file is under SMP/E control, you should copy this member to your CUSMAC file and process it from there.

First, you need to modify the length of the field VARIABLE_DATA in Table CA_CDC_MNT. The length needs to be twice the size of the largest record that you will be monitoring with the CDC function, since it needs to include room for the "Before" and "After" image from the log file (LXX). Here is what the field definition looks like:

....5...10....5...20....5...30....5...40....5...50....5...60....5...70  
+BTG FIELD,VARIABLE_DATA                                              
4010 *                                START                           
4012 S V L N 04000 00 00001                      N C N N N N N N 00000
4018 &                                                                

Change the 4000 value in the 4012 record to your desired new value. This is at or about line 205 in the file.

Then, you need to modify the blocksize for area CA_CDC_AREA2 to be large enough to contain the MNT data record (this is about line 20):

....5...10....5...20....5...30....5...40....5...50....5...60....5...70  
+BTG AREA,CA_CDC_AREA2(T001)                                          
1000 CONNECT,CA_CDC_BASE                                              
1001 'DATACOM','DATACOM'                                              
1002 'AREA FOR CHANGE DATA CAPTURE TSN/MNT TABLES'                    
3001 AR2                                                              
3002                Y          04096 DATACOM  1 0000                  
3004 00000                                  Y                         
3005                                  CA_CDC_AREA2                    

You will need to change the 4096 value on the 3002 card to your desired blocksize.

Finally, you need to make sure that you have data buffers defined to your DATAPOOL that are large enough to handle this blocksize. Obviously, this change may also alter your space requirements on the data file.

You should then scratch and redefine the files for AREA2 if needed, and then apply and build the database anew with these transactions.

Additional Information

For more information about Change Data Capture, please refer to the documentation topic Change Data Capture

As always, please contact Broadcom support for Datacom if you have further questions.