$Code

From m204wiki
Revision as of 13:45, 24 January 2018 by DCameron (talk | contribs)
Jump to navigation Jump to search

The $Code function, along with $Decode, provides an encoding/decoding facility in SOUL. $Code and $Decode operate on [Customizing_functions_and_translation_tables#CDTB_module|code tables]] that are defined, created, and controlled by the system manager. These tables can be searched but not changed by SOUL functions.

$Code and $Decode search tables that are external to a Model 204 file. These tables are independent of a field's CODED/NON-CODED attribute, which affects how the field is stored internally in the Model 204 file.

The $Code function takes two arguments:

  • The first argument contains the name of the table to be searched.
  • $Code returns the code for the character string value contained in the second argument. A null value is returned if the string is not contained within the table or if the table does not exist. A nonexistent table also causes the nonfatal message:

    INVALID CODE TABLE IDENTIFIER=X.

Example

This request prompts for the full name of a state, but it performs the record search on the coded value for that state.

BEGIN %STCD = $code ('STATE', $READ ('ENTER STATE NAME')) GET.RECS: FIND ALL RECORDS FOR WHICH STATE = %STCD END FIND FOR EACH RECORD IN GET.RECS . . .