1 Reply Latest reply on Sep 8, 2019 1:09 PM by Nico Heinze

    Key masking using Mapplet

    Abhinav Bhatnagar Active Member


      I am using Informatica TDM(10.2.0.HF1) for data masking. I have a requirement to mask numeric fields present in a file using key masking. I found that post masking values are different for  a given number represented in decimal and integer format with same seed value.


      As a workaround for the above issue I created a mapplet which accepts integer number as an input, converts it to a decimal format, does key masking and converts back the result to integer. This mapplet I have exported in the TDM ,assigned input and output columns and created plan for the same. In the plan settings it is asking for a "Dictionary Lookup connection" even though my masking algorithm doesn't require dictionary.


      Below are my queries.

      Why does key masking with mapplet requires Dictionary Lookup connection?

      If it is a pre requisite what contents should dictionary contain in this scenario? Can you please provide sample dictionary file for key masking?

      When to select flatfile and variable connection type?


      My source is mainframe environment.




        • 1. Re: Key masking using Mapplet
          Nico Heinze Guru

          I'm not really sure I understood your question correctly, so please bear with me if some of the following points are not valid for your case. I'm trying to clarify for myself what problems you have.


          As of my understanding Key masking with numeric data should deliver identical values when the same input values are used with the same seed. So I fully understand that you're puzzled about the results. The only reason I can imagine for a difference is that a Decimal value may not be treated as a Decimal value but that the binary representation of that Decimal value is taken as input for key masking; that would explain differences. But that's just a very rough guess.


          You should not need to set up a mapplet to perform what you need. An advanced masking rule should be sufficient. Did you try that?


          Regarding the need for some dictionary: I don't see any reason for this request. Can you leave this empty?

          Again, a mapplet for this masking rule is (in my opinion) unnecessary, and for an advanced rule you should not be asked for a dictionary.


          As your input is a mainframe file, just forget about the connection type. For flat files you can choose here whether the file shall be read / written via (S)FTP instead of being a local file; for relational sources / targets a connection variable can be set up via a parameter file, meaning that the same masking process can run against different source / target databases just by naming a different connection in the parameter file, no need to re-generate the workflows or anything similar. But - as far as I know - this feature probably doesn't apply to mainframe source files.