When testing in-flight masking with Subset on DB2 z/OS, we received an error applying HASHLOV to 5 out of 19 columns with masking transformation maps. We found that the MAPCSV PDS was not created wide enough, so we increased the size to an LRECL of 2000. After that, we received the error that 5 columns had an error applying HASHLOV. We removed those 5 columns and were able to run the GTXMSKL job successfully. Will development fix the drop downs to reflect what is actually available for DB2 masking?
It may be that “HASHLOV,US ADDRESS1,etc” should be “HASHLOV,US ADDRESS,1,etc” (the first col from multi-col list US ADDRESS). You can run a masking test with a non-existent seedlist and diags to recreate the issue and do further testing.
If you have DIAGLEVEL=2 or higher as an input parameter, you will see a SQL error message. It will most likely point to the SEEDLIST table not being found. When you have an error in batch, even if you have to trim the output file, we recommend using DIAGLEVEL=2 for higher for debugging.
SELECT * FROM GRIDT01.GTSRC_REFERENCE_LOV1 where RL_RN = 1; tells you what the names of the installed seedlists are.
By default, the seedlist is named “US ADDRESSES” and the mapping statement should be stated as
You will not have to edit the CSV file (or it’s z/OS equivalent) on the Mainframe. You can use the Datamaker tool to record the manual entry there, and the CSV file will be generated with the desired values. So instead of choosing the drop-down address functions, you should manually enter the “US ADDRESSES” function and parm number in the Transformation Column.
Development will still fix the drop downs to reflect what is actually available for DB2 masking. This should be available in later versions than March 30, 2018. To download the latest versions of TDM and the associated Mainframe components, please follow the directions in this document: https://support.ca.com/us/knowledge-base-articles.TEC1903942.html
There is a workaround if you are unable to upgrade:
To see what seedlists ARE loaded in DB2 use this query: SELECT * FROM GRIDT01.GTSRC_REFERENCE_LOV1 where RL_RN = 1;
Below it can be seen that some seedlists are multi-field, such as PERSON NAME and US ADDRESSES. To specify masking using these extra values, put a number in PARM1 field (e.g. PERSON NAME,1 which refers to values in column Rl Ref Value, and PERSON NAME,2 refers to values in column Rl Ref Value2, etc.).
<Please see attached file for image>src="/servlet/servlet.FileDownload?file=0150c000004AKGiAAO" alt="MF step 1.png" width="987" height="373">
Then to see what values are loaded for a given seed table (e.g. “US ADDRESSES”), use this query: SELECT * FROM GRIDT01.GTSRC_REFERENCE_LOV1 where RL_REF_ID='US ADDRESSES';
<Please see attached file for image>src="/servlet/servlet.FileDownload?file=0150c000004AKGjAAO" alt="MF step 2.png" width="999" height="372">
If you experience any further issues, please open a support case by going to https://www.ca.com/us/services-support/ca-support/contact-support.html.