z/OS Security Server RACF Security Administrator's Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Steps for defining a custom field and its attributes

z/OS Security Server RACF Security Administrator's Guide
SA23-2289-00

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.
  1. 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.

    ______________________________________________________________________

  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.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014