AND operator is ignored for Mainframe VSAM and Flat File masking in TDM Mainframe 5.4 Service Pack 8.
search cancel

AND operator is ignored for Mainframe VSAM and Flat File masking in TDM Mainframe 5.4 Service Pack 8.

book

Article ID: 215653

calendar_today

Updated On:

Products

CA Test Data Manager (Data Finder / Grid Tools)

Issue/Introduction

I am trying to mask a column (license number) using an AND operator inside my WHERE clause, but it looks like the 'AND' operator is being ignored. 

For example, my script:

000014 EC817,,WHERE,INS_LIC_PROV_817='6' AND INS_LIC_NUM_817 >'9999999',,,,N,,,
000015 EC817,INS_LIC_NUM_817,FORMATENCRYPT,,,,,Y,,,,,,2,5,,,,,,,,,,,,,         

 

Looking at the audit file, I see the license number is masked, when it should not be, For example:  

EC817                000000034 INS_LIC_NUM_817      856565  -> before
                                                                                    824477  -> after 

The above value should not be masked as the where clause says only mask if value is > '9999999'

 

Also, the AND operator is not shown in the Report file after masking is executed.. Please see below:

00036I           26 records processed for EC817
00037I   WHERE INS_LIC_PROV_817 EQ 6             --> this one should also have AND clause   
00036I           46 records processed for EC817   
00037I   WHERE INS_LIC_PROV_817 EQ 8              
00036I          574 records processed for EC817   
00037I   WHERE INS_LIC_PROV_817 EQ 0              
00036I           70 records processed for EC817   
00037I   WHERE INS_LIC_PROV_817 EQ 1              

Environment

Release : 5.4 Service Pack 8

Component : CA Test Data Manager Mainframe

Resolution

 

When masking sequential lines, and for masking VSAM, the line with the Where clause and the AND operator, needs to be broken into two lines. The AND operator needs to be placed on it's own line

For example line:  
000014 EC817,,WHERE,INS_LIC_PROV_817='6' AND INS_LIC_NUM_817 >'9999999',,,,N,,,
000015 EC817,INS_LIC_NUM_817,FORMATENCRYPT,,,,,Y,,,,,,2,5,,,,,,,,,,,,,

Should be:
000014 EC817,,WHERE,INS_LIC_PROV_817='6'
000015 EC817,,AND INS_LIC_NUM_817 >'9999999',,,,N,,,
000016 EC817,INS_LIC_NUM_817,FORMATENCRYPT,,,,,Y,,,,,,2,5,,,,,,,,,,,,,