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.
Release : 5.4
Component : Mainframe
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.
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.
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.