LOB/BLOB/CLOB Masking Template UDCLOB1

Data Express provides the UDCLOB1 data masking routine as a template for managing specific positional LOB/BLOB/CLOB cases. You can use the template as-is, or customize and/or replicate it according to your needs.

The sections that follow explain how to customize the STARTING-OPERATIONS section in the UDCLOB1 template to manage:

Passing LOB/BLOB/CLOB Data to Masking Routines

To pass data to a masking routine, you code several MOVE statements in the STARTING-OPERATIONS section. Before starting:

  • Determine the total number of data masking object instances contained in your LOB/BLOB/CLOB code. A data masking object instance is single occurrence of a data masking object.
  • Associate the number 1 with the first data masking job instance, and continue numbering consecutively through the last instance. These numbers are for your reference.
  • Determine the starting position for each data masking object.
  • Determine the ending position for each data masking object.
  • Determine the name of each data masking routine you want to use. See Masking Routines for more information.

Data Express provides the WS-NUMTAG(n) field to hold the total number of data masking object instances to process, and provides the following three fields to identify the data and the masking routine for each instance. Each data masking object instance uses all three fields:

WS-POS1(n)
Where n is the number (from 1 to WS-NUMTAG) that you have associated with the data masking object instance. Into this field, you move the starting position for a data masking object instance.
WS-END1(n)
Where n is the number (from 1 to WS-NUMTAG) that you have associated with the data masking object instance. Into this field, you move the starting position for a data masking object instance.
WS-ROUTINE(n)
Where n is the number (from 1 to WS-NUMTAG) that you have associated with the data masking object instance. Into this field, move the name of the masking routine to use.

The following example shows code used to move the data from three LOB/BLOB/CLOB data object instances to their appropriate masking routines. This code represents:

  • A name at position 1 with length 20
  • A surname at position 21 with length 20
  • A tax code at position 190 with length 16
      *---------------------------------------------------------------
      *
       STARTING-OPERATIONS.
          .
          .
          .
      *
      * MASKING ROUTINE
      *
          MOVE 3                    TO WS-NUMTAG.
          MOVE 1                    TO WS-POS1     (1).
          MOVE 20                   TO WS-END1     (1).
          MOVE "UDCNAMC"            TO WS-ROUTINE  (1).
          MOVE 21                   TO WS-POS1     (2).
          MOVE 40                   TO WS-END1     (2).
          MOVE "UDCSURC"            TO WS-ROUTINE  (2).
          MOVE 190                  TO WS-POS1     (3).
          MOVE 205                  TO WS-END1     (3).
          MOVE "UDCCDFC"            TO WS-ROUTINE  (3).

      STARTING-OPERATIONS-EX.

Output PDS Naming Convention

You can customize the following algorithm to set the output PDS. The name of the variable to use is WS-PDS-OUT:

      *---------------------------------------------------------------
      *
       STARTING-OPERATIONS.
          .
          .
          .
      *
      * OUTPUT PDS NAMING CONVENTION
      *
           MOVE SPACES TO WS-PDS-OUT.
           STRING "XXX.YYY." DELIMITED BY SIZE
                  WS-METODO DELIMITED BY SPACES
                  "." DELIMITED BY SIZE
                  WS-TABELLA DELIMITED BY SPACES
                  ".LIB" DELIMITED BY SIZE
                  INTO WS-PDS-OUT.