RDOHELP72.HLB  —  CHANGE_FIELD, Examples
    Example 1

    The following example expands the POSTAL_CODE field to nine
    characters and adds DATATRIEVE support characteristics:

    RDO>  INVOKE DATABASE FILENAME 'MF_PERSONNEL'
    RDO>  SHOW FIELDS POSTAL_CODE
        POSTAL_CODE                      text size is  5
       Description:         Postal code (in US = ZIP)
    RDO> CHANGE FIELD POSTAL_CODE
    cont> DATATYPE IS TEXT SIZE IS 9 CHARACTERS
    cont> DEFAULT_VALUE FOR DTR IS "000000000"
    cont> EDIT_STRING FOR DTR IS "XXXXX-XXXX".
    RDO> SHOW FIELD POSTAL_CODE
         POSTAL_CODE                      text size is  9
       Description:         Postal code (in US = ZIP)
       Edit string:         XXXXX-XXXX
       Default value:       "000000000"
    RDO> FOR E IN EMPLOYEES
    cont>    PRINT E.POSTAL_CODE
    cont>  END_FOR
     03817
     03817
     03301
     03456
       .
       .
       .
     03301
     03809
    RDO>  STORE E IN EMPLOYEES USING
    cont> E.LAST_NAME = "Forester";
    cont> E.EMPLOYEE_ID = "00876";
    cont> E.POSTAL_CODE = "039875573"
    cont> END_STORE
    RDO>  FOR E IN EMPLOYEES
    cont>    WITH E.LAST_NAME = "Forester" OR
    cont>    E.LAST_NAME = "Toliver"
    cont> PRINT
    cont>    E.EMPLOYEE_ID,
    cont>    E.POSTAL_CODE
    cont> END_FOR
     00164   03817
     00876   039875573

    The field remains a text field, but the length is increased
    to nine characters, and an edit string and default value are
    specified for DATATRIEVE. When you display the data, existing
    field values are padded on the right with spaces. Thus an
    existing postal code would appear as "03104 ". Newly stored
    values can have nine characters.

    Example 2

    The accounting department has decided that the BUDGET field will
    now include pennies:

    RDO> SHOW FIELDS BUDGET
         BUDGET                         signed longword scale  0
       Description:       Generic budget data
       Edit string:       $$$,$$$,$$$
    RDO>  FOR D IN DEPARTMENTS
    cont> WITH D.DEPARTMENT_NAME = 'Manufacturing'
    cont>  PRINT D.BUDGET_ACTUAL
    cont> END_FOR
     BUDGET_ACTUAL
                 0
    RDO>  CHANGE FIELD BUDGET
    cont> DATATYPE IS SIGNED LONGWORD SCALE -2
    cont> EDIT_STRING FOR DTR IS "$$$$,$$9.99".
    RDO>  SHOW FIELDS BUDGET
          BUDGET                        signed longword scale  -2
       Description:       Generic budget data
       Edit string:       $$$$,$$9.99
    RDO>  FOR D IN DEPARTMENTS
    cont> WITH D.DEPARTMENT_NAME = 'Manufacturing'
    cont>  PRINT D.BUDGET_ACTUAL
    cont> END_FOR
     BUDGET_ACTUAL
              0.00

    Example 3

    You can add or change a VALID IF clause for a field. However, if
    the database contains any data that violates the specification
    of the VALID IF clause, the clause is rejected. The following
    example shows two CHANGE FIELD... VALID IF statements. In the
    first instance, the specification is rejected because existing
    records contain EMPLOYEE_ID values less than "98765"; in the
    second instance, the specification is accepted.

    RDO> CHANGE FIELD ID_NUMBER VALID IF ID_NUMBER > "98765".
    %RDB-E-NO_META_UPDATE, metadata update failed
    -RDMS-E-NOT_VALID_FR, field ID in relation CURRENT_INFO fails validation
    RDO> CHANGE FIELD ID_NUMBER VALID IF ID_NUMBER > "00050".
    RDO> SHOW FIELD ID_NUMBER
         ID_NUMBER                        text size is  5
       Description:         Generic employee ID
       Missing value:
       Valid:               IF ID_NUMBER > "00050"
Close Help