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
Release : 5.4 Service Pack 8
Component : CA Test Data Manager Mainframe
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,,,,,,,,,,,,,