DB2 for z/OS Masking job throws SQLCODE 100 error while using seedlist 'FULL NAME' HASHLOV
search cancel

DB2 for z/OS Masking job throws SQLCODE 100 error while using seedlist 'FULL NAME' HASHLOV

book

Article ID: 251279

calendar_today

Updated On:

Products

CA Test Data Manager (Data Finder / Grid Tools)

Issue/Introduction

We are getting SQLCODE = 100 error while masking few of the DB2 Mainframe tables using the 'FULL NAME' HASHLOV function in the CSV. We noticed that most of the records in the table are getting masked, and this issue is happening with only a few data records. We tried executing the masking for the same table column using 'FIRSTNAME' HASHLOV function, and it executed successfully without any errors.

Environment

Release : 5.4

Component : Mainframe

Cause

A SQLCODE=100 means that the DB2 database was not able to find the record, or no file was found. See IBM DBS SQL Codes - https://www.ibm.com/docs/en/db2-for-zos/11?topic=codes-sql.

We recommended that they work with DB2 DBA to help determine why the database failed to locate the records.

TDM Engineering also recommends checking the seedlist, and how the seedlist was created and uploaded to the scramble database.

The GTM014 program is the one that searches for the seedlist in DB2 and returns a proper value. It internally uses the total of each seedlist entry records of a particular column. Therefore, if there is a discrepancy in the columns or the records in the seedlist, it could also cause this error. Based on this thought, try running the following query and then submit the job again.

 

UPDATE DB857.GTSRC_REFERENCE_LOV1

SET RL_TOTAL = (SELECT COUNT(*) FROM DB857.GTSRC_REFERENCE_LOV1 WHERE RL_REF_ID = 'FULL NAME')

WHERE RL_REF_ID = 'FULL NAME'

;

 

This query will update the RL_TOTAL column with the actual number of entries for that particular seedlist. It can be used for other seedlists if that error appears for any other seedlist than 'FULL NAME' - just update the query and change 'FULL NAME' for the desired seedlist name.

Resolution

After working with the DBA and Mainframe team, and comparing the seedlist tables, we found a discrepancy in the seedlist. We synched the Mainframe's seedlist (DB2) with that of seedlist on the SQL Server and the masking job is working fine.