Before you begin:
- Before you use the ISPF panels to define custom fields, your system
programmer must add the IRRXUTI2 program to the list of TSO/E authorized
programs in the AUTHPGM NAMES data set in the IKJTSOxx member of parmlib.
If this program is not added, you cannot use the ISPF panels to define
custom fields.
- At your option, you can delegate the authority to selected users
or groups for defining custom fields. To do this, see Authorizing users to define custom fields.
- The following steps include some command examples that specify
all keywords for CFIELD profiles, rather than allowing RDEFINE processing
to supply default values based on data type. You need not specify
all keywords as shown.
Perform the following steps to define a new custom field.
- Issue the RDEFINE command to define a new custom
field and its attributes.
Example 1 - Defining a numeric custom
field: Suppose you want to define a numeric field called EMPSER
as an employee serial number in a user profile. Employee serial numbers
in your company are 6 - 8 numeric digits.
RDEFINE CFIELD USER.CSDATA.EMPSER UACC(NONE)
CFDEF(TYPE(NUM)
FIRST(NUMERIC) OTHER(NUMERIC)
MAXLENGTH(8)
MINVALUE(100000)
MAXVALUE(99999999)
HELP('EMPLOYEE SERIAL NUMBER, 6 - 8 DIGITS')
LISTHEAD('EMPLOYEE SERIAL='))
Note: - Because the EMPSER field is defined as TYPE(NUM),
values for serial numbers must be specified as numbers when they are
added to user profiles.
- Because NUM is the data type, FIRST(NUMERIC) and OTHER(NUMERIC) are
the only valid options. They are the default values for TYPE(NUM) and
need not be specified with the RDEFINE command.
- For information about listing numeric fields, see the note in
Step 2 of Steps for adding data to a custom field.
Example 2 - Defining a character custom field: Suppose
you want to define a character field called ADDRESS as an employee's
home address in a user profile. You want to define a second character
field called PHONE as the employee's home telephone number.
RDEFINE CFIELD USER.CSDATA.ADDRESS UACC(NONE)
CFDEF(TYPE(CHAR)
MAXLENGTH(100)
FIRST(ANY) OTHER(ANY)
HELP('HOME ADDRESS, UP TO 100 CHARACTERS')
MIXED(YES)
LISTHEAD('HOME ADDRESS ='))
RDEFINE CFIELD USER.CSDATA.PHONE UACC(NONE)
CFDEF(TYPE(CHAR)
MAXLENGTH(20)
FIRST(ANY) OTHER(ANY)
HELP('HOME PHONE, UP TO 20 CHARACTERS')
MIXED(NO)
LISTHEAD('HOME PHONE ='))
Note: - TYPE(CHAR) is the default data type and needs
not be specified with the RDEFINE command.
- Because FIRST(ANY) and OTHER(ANY) are
specified, the values for ADDRESS and PHONE can be added as quoted
strings.
- Because MIXED(YES) is specified, the ADDRESS
value can contain upper and lower case characters.
Example 3 - Defining a flag custom field: Suppose
you want to define a flag field in a user profile that indicates whether
or not an employee is active.
RDEFINE CFIELD USER.CSDATA.ACTIVE UACC(NONE)
CFDEF(TYPE(FLAG)
FIRST(NONATABC) OTHER(NONATABC)
MAXLENGTH(3)
HELP('CURRENTLY ACTIVE?'))
Note: - Because the ACTIVE field is defined as TYPE(FLAG), values must
be either YES or NO when adding the flags to user profiles.
- Because FLAG is the data type, the following options are the only
valid options. They are the default values for TYPE(FLAG) and
need not be specified with the RDEFINE command.
- FIRST(NONATABC)
- OTHER(NONATABC)
- MAXLENGTH(3)
Example 4 - Defining a hexadecimal custom field: Suppose
you want to define an employee code field in a user profile that can
be extracted and processed by the payroll program. The employee code
is a string of 8 hexadecimal characters.
RDEFINE CFIELD USER.CSDATA.CODE UACC(NONE)
CFDEF(TYPE(HEX)
MAXLENGTH(8)
FIRST(NONATNUM) OTHER(NONATNUM)
HELP('EMPLOYEE CODE, ENTER 8 HEX CHARACTERS')
LISTHEAD('EMPLOYEE CODE ='))
Note: - Because the CODE field is defined as TYPE(HEX), the data must
be specified as characters A - F and 0 - 9.
- Because the data type is HEX, FIRST(NONATNUM) and OTHER(NONATNUM) are
the only valid options. They are the default values for TYPE(HEX) and
need not be specified with the RDEFINE command.
- For the MAXLENGTH of a TYPE(HEX) custom field, specify an even
number because hexadecimal data is stored and displayed as an even
number of characters.
Example 5 - Defining a maximum-length character
field: Suppose you want to define a maximum-length character field
called COMPADDR to store the company address in a group profile. Because
the address value will include blank characters, COMPADDR will be
a quoted string. The address value will also contain mixed-case characters.
Default values for all other attributes, including TYPE, are provided
by RDEFINE default processing.
RDEFINE CFIELD GROUP.CSDATA.COMPADDR UACC(NONE)
CFDEF(FIRST(ANY) OTHER(ANY)
MIXED(YES))
Note: - Because FIRST(ANY) and OTHER(ANY) are
specified, the value for the COMPADDR field can be added as a quoted
string.
- Because HELP and LISTHEAD are
not specified, they default as shown in the example of the RLIST command
output in Step 2.
______________________________________________________________________
- Issue the RLIST command to list the new custom field.
Review the results of default RDEFINE processing.
Example:
RLIST CFIELD GROUP.CSDATA.COMPADDR CFDEF NORACF
CLASS NAME
----- ----
CFIELD GROUP.CSDATA.COMPADDR
CFDEF INFORMATION
-----------------
TYPE = CHAR
MAXLENGTH = 00001100
MAXVALUE = NONE
MINVALUE = NONE
FIRST = ANY
OTHER = ANY
MIXED = YES
HELP = COMPADDR
LISTHEAD = COMPADDR=
______________________________________________________________________
You have now defined a new custom field.
If you encountered errors, see the appropriate messages documentation
and check Common errors when defining and using custom fields.