#### MASK

#### Synopsis

    HELP:   Post-processing to mask areas in strings
    TYPE:   OBJECT
    SYNTAX: MASK(CHAR=ASTERISK/MINUS/DOT/X,CCSID='str',HEAD=num,TAIL=num,CHANGE=INNER/OUTER)

#### Description

This object can be used to mask strings as post-processing step. For this you can define the masking character (default is '*'), the character set, the start (6) and end points (4) and if the replacement is done for the inner or outer part.

When writing, this component is useful to limit the PCIDSS environment. After correct masking, card holder data in another network segment is no longer in the scope of the payment card industry data security standard (PCIDSS).

The masking is not invertible. A later pre-processing step while reading cannot reproduce the original data.

#### Arguments

- `NUMBER: CHAR=ASTERISK/MINUS/DOT/X - Masking character [ASTERISK]`
  - `ASTERISK - Asterisk also known as star (0x2A for ASCII/UTF, 0x5C for EBCDIC)`
  - `MINUS - Minus sign (0x2D for ASCII/UTF, 0x60 for EBCDIC)`
  - `DOT - Dot sign (0x2E for ASCII/UTF, 0x4B for EBCDIC)`
  - `X - Small x sign (0x2E for ASCII/UTF, 0xA7 for EBCDIC)`
- `STRING: CCSID='str' - CCSID / Character encoding [auto]`
- `NUMBER: HEAD=num - Number of characters at the beginning [if TAIL then 0 else 6]`
- `NUMBER: TAIL=num - Number of characters at the end [if HEAD then 0 else 4]`
- `NUMBER: CHANGE=INNER/OUTER - Mask inner or outer part [INNER]`
  - `INNER - Mask inner part`
  - `OUTER - Mask outer part`