$Code
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 . . .