The field definition (FLDDEF) parameter describes fields
to use for processing and is required for each provider function.
The field definition (FLDDEF) parameter uses the following
syntax:
FLDDEFn = ( NAME = field-name ,
DATATYPE = datatype-value ,
[ PRECISION = field-precision-value ] ,
[ SCALE = field-scale-value ] ,
[ LENGTH = field-length-value ] ,
[ CODEPAGE = codepage-value ] ,
[ CPTYPE = { DB2ZOS | DB2LUW | ORACLE | SYBASE | ODBC | INFORMIX |
NETEZZA | SQLSERVER | TERADATA | ANY | NONE } ]
) ,
- FLDDEFn
- Required. Describes a field to use for processing, where n is
a numeric value to distinguish multiple fields. Each field that is
referenced in the masking function must have a corresponding FLDDEF parameter.
For example, the parameters FLDDEF1 and FLDDEF2 describe
separate fields.
- NAME
- Required. The field name.
- DATATYPE (or DT)
- Required. The data type of the field.
Note: For the DECIMAL (n,m)
or NUMBER (n,m) data types, specify a DATATYPE value according to
the scale ('m'):
- If scale 'm' is 0, use the following guidelines to determine the
DATATYPE value:
- If precision 'n' is less than or equal to 9, specify DT=U_SMALLINT, DT=SMALLINT, DT=INTEGER, or DT=U_INTEGER based on the range of the values.
- If precision 'n' is greater than 9 and less than or equal to 18,
specify DT=LONG_LONG, DT=U_LONG_LONG, DT=U_INTEGER,
DT=U_SMALLINT DT=INTEGER or DT=SMALLINT, based on the range
of the values.
- If precision 'n' is greater than 18, specify DT=VARCHAR_SZ
or DT=CHAR, and for the affinity privacy provider, also specify
RULE=NUMERIC.
- If scale 'm' is greater than 0, specify DT=VARCHAR_SZ
or DT=CHAR, and for the affinity privacy provider, also specify
RULE=NUMERIC.
For an Oracle VARNUM-type, specify DT=VARCHAR_SZ
or DT=CHAR, and for the affinity privacy provider, also specify RULE=NUMERIC.
Enter
one of the following values:
- CHAR
- Fixed size character data that is left-justified and space padded.
- DATE
- The date is contained within three consecutive shorts. The first
is a signed short that contains the year, the second is an unsigned
short that contains the month, and the third is an unsigned short
that contains the day. In a C-type structure format the date appears
as:
typedef struct s_odbc_date
{ signed short Year;
unsigned short Month;
unsigned short Day;
} ODPP_ODBC_DATE;
- DATETIME_CHAR
- Fixed size character data that contains a date-time value that
is left-justified and space padded.
- DATETIME_SZ
- Character data string that contains a date-time value that is
left-justified, space padded, and terminated by a NULL character.
- DATETIME_VARCHAR
- Variable size character data that starts with a short integer
value that indicates the length, in bytes, of the character date-time
value that follows.
- DATETIME_WCHAR
- Fixed size wide-character data that contains a date-time value
that is left-justified and space padded.
- DATETIME_WSZ
- Wide character data string that contains a date-time value that
is left-justified, space padded and terminated by a NULL character.
- DATETIME_WVARCHAR
- Variable-size wide character data that starts with a short integer
value that indicates the length, in bytes, of the wide character date-time
value that follows.
- DECIMAL_370
- An IBM® mainframe 370/MVS/ESA/zOS
packed decimal encoded buffer. A packed decimal field has two decimal
numbers that are expressed in a single byte of storage in all but
the rightmost/last portion of a packed decimal field. The last rightmost/last
byte has the sign indicator in the rightmost/last part of the byte.
The standard signs used a 0xF for positive numbers and 0xD for negative
numbers.
- DOUBLE
- A double-precision floating point number. Range of values: 1.7E
+/-308 (15 digits).
- FLOAT
- A floating point number. Range of values: 3.4E +/- 38 (7 digits).
- INTEGER
- A 4-byte signed integer. Range of values: -2,147,483,648 to 2,147,483,647.
- LONG_LONG
- An 8-byte signed numeric value. Range of values: -9,223,372,036,854,775,808
to 9,223,372,036,854,775,807.
- ORA_VARNUM
- An Oracle VARNUM-type. Similar to the Oracle external datatype
NUMBER except that the first byte contains the length of the number
representation. The length value does not include the length byte
itself. The user must reserve 22 bytes to use the longest possible
VARNUM, where the first byte is the length and bytes 2 through 22
contain the 21-binary format of the Oracle NUMBER-type. For complete
details on VARNUM and NUMBER data types, see the Oracle documentation.
- SMALLINT
- A 2-byte signed integer value. Range of values: -32,768 to 32,767.
- TIME
- The time is contained in three consecutive unsigned shorts. The
first short contains the hour, the second short contains the minute,
and the third short contains the second. In a C-type structure format
the time appears as:
typedef struct s_odbc_time
{ unsigned short Hour;
unsigned short Minute;
unsigned short Second;
} ODPP_ODBC_TIME;
- TIMESTAMP
- The timestamp is contained in a consecutive arrangement of six
shorts followed by an unsigned integer. The first is a signed short
that contains the year, the second is an unsigned short that contains
the month, the third is an unsigned short that contains the day, the
fourth is an unsigned short that contains the hour, the fifth is an
unsigned short that contains the minute the sixth is an unsigned short
that contains the second, and at the end of this consecutive arrangement
is an unsigned integer that contains the fractional second. In a
C-type structure format the timestamp appears as:
typedef struct s_odbc_timestamp
{ signed short Year;
unsigned short Month;
unsigned short Day;
unsigned short Hour;
unsigned short Minute;
unsigned short Second;
unsigned int Fraction;
} ODPP_ODBC_TIMESTAMP;
- U_INTEGER
- A 4-byte unsigned integer value. Range of values: 0 - 4,294,967,295.
- U_LONG_LONG
- An 8-byte unsigned numeric value. Range of values: 0 - 18,446,744,073,709,551,615.
- U_SMALLINT
- A 2-byte unsigned integer value. Range of values: 0 - 65,535.
- U_TINYINT
- A single byte unsigned integer value. Range of values: 0 - 255.
- VARCHAR
- Character data that starts with a short integer value that indicates
the length, in bytes, of the character data to follow.
- VARCHAR_SZ
- Character data string that is terminated by a NULL character.
- WCHAR
- Fixed-size wide character data that is left-justified and space
padded.
- WVARCHAR
- Wide character data that starts with a short integer value that
indicates the length, in bytes, of the wide character data to follow.
- WVARCHAR_SZ
- Wide character data string that is terminated by a NULL character.
- LENGTH (or LEN)
- An integer value that specifies the length of the field. This
parameter is used only with character data types.
- PRECISION (or PRE)
- An integer value that specifies the precision of a numeric field.
- SCALE (or SCA)
- A short integer value that specifies the scale of a numeric field.
- CODEPAGE (or CP)
- An integer value that specifies the codepage or character-set
identifier of the field. This parameter can override the CP value
that is specified as part of the provider syntax when fields in the
same syntax expression use different codepages.
This parameter is
required when the following data types are used: CHAR, VARCHAR, VARCHAR_SZ, DATETIME_CHAR, DATETIME_SZ, or DATETIME_VARCHAR, and
one of the following situations occur:
- The codepage information is not available within the data privacy
application environment.
- The CP parameter was not specified as part of the provider syntax.
- The codepage for a field that is described by the FLDDEF parameter
is different than the codepage specified as part of the provider syntax.
- CPTYPE (or CPT)
- The codepage type. This parameter can override the CPT value that
is specified as part of the provider syntax when fields in the same
syntax expression use different codepage types.
When the origin
of the data is DBMS-specific but not tied to any one DBMS, specify
the value as ANY. When the origin of the data is from a non-DBMS
source, specify the value as NONE. As there are
no DBMS-specific code pages for Netezza®,
a specification of NONE is implied when Netezza is specified.
This parameter
is required when the following data types are used: CHAR, VARCHAR, VARCHAR_SZ, DATETIME_CHAR, DATETIME_SZ, or DATETIME_VARCHAR, and
one of the following situations occur:
- The CP parameter was specified as part of the FLDDEF syntax.
- The CPT parameter was not specified as part of the provider syntax.
- The codepage type for a field that is described by the FLDDEF
parameter is different from the codepage type specified as part of
the provider syntax.
Enter one of the following values:
- DB2zOS (or DBZ)
- DB2® z/OS®
- DB2LUWDB2 (or DB2)
- DB2-LUW
- ORACLE (or ORA)
- Oracle
- SYBASE (or SYB)
- Sybase
- ODBC
- ODBC
- INFORMIX (or IFX)
- Informix®
- SQLSERVER (or MSS)
- MS SQL Server
- TERADATA (or TD)
- Teradata
- NETEZZA (or NZ)
- Netezza
- ANY
- Any DBMS
- NONE
- No DBMS