Skip to content

Code Tables

To reduce the number of small code tables in an application, DataFlex uses two tables in which you can store lookup codes.

The structure of the tables is:

CodeType Table

-----------------------------------------------------------------------------
DATE: 18-06-2007      TIME: 10:33                                  PAGE:  1
FILE DEFINITION FOR FILE: CODETYPE (# 253)
-----------------------------------------------------------------------------
DRIVER NAME               : DATAFLEX
FILE ROOT NAME            : CodeType
USER DISPLAY NAME         : Code Maintenance Type Table
DATAFLEX FILE NAME        : CODETYPE
-----------------------------------------------------------------------------
RECORD LENGTH             : 1152      ( USED: 1064 )
MAX NUMBER OF RECORDS     : 10000     ( USED: 0 )
FILE COMPRESSION          : NONE
RE-USE DELETED SPACE      : YES
LOCKING TYPE              : FILE
HEADER INTEGRITY CHECKING : YES
TRANSACTION TYPE          : CLIENT ATOMIC
RECORD IDENTITY INDEX     : 0 ( 0 , 0 )
FILE LOGIN PARAMETER      :
SYSTEM FILE               : NO
-----------------------------------------------------------------------------
NUM  FIELD NAME       TYPE SIZE  OFFST IX   RELATES TO FILE.FIELD
---  ---------------  ---- ----- ----- --   ---------------------------------
1  TYPE             ASC     10     1  1
2  DESCRIPTION      ASC     30    11
3  COMMENT          TEX   1024    41
INDEX# FIELDS          DES U/C    LENGTH LEVELS SEGMENTS MODE
------ --------------- --- ---    ------ ------ -------- -------
1    TYPE            NO  YES      10     3       1     ON-LINE

CodeMast Table

-----------------------------------------------------------------------------
DATE: 18-06-2007      TIME: 10:33                                  PAGE:  1
FILE DEFINITION FOR FILE: CODEMAST (# 254)
-----------------------------------------------------------------------------
DRIVER NAME               : DATAFLEX
FILE ROOT NAME            : CodeMast
USER DISPLAY NAME         : Code Maintenance Code Table
DATAFLEX FILE NAME        : CODEMAST
-----------------------------------------------------------------------------
RECORD LENGTH             : 51        ( USED: 50 )
MAX NUMBER OF RECORDS     : 10000     ( USED: 0 )
FILE COMPRESSION          : NONE
RE-USE DELETED SPACE      : YES
LOCKING TYPE              : FILE
HEADER INTEGRITY CHECKING : YES
TRANSACTION TYPE          : CLIENT ATOMIC
RECORD IDENTITY INDEX     : 0 ( 0 , 0 )
FILE LOGIN PARAMETER      :
SYSTEM FILE               : NO
-----------------------------------------------------------------------------
NUM  FIELD NAME       TYPE SIZE  OFFST IX   RELATES TO FILE.FIELD
---  ---------------  ---- ----- ----- --   ---------------------------------
1  TYPE             ASC     10     1  1   CODETYPE.FIELD_1 (253,1)
2  CODE             ASC     10    11  1
3  DESCRIPTION      ASC     30    21
INDEX# FIELDS          DES U/C    LENGTH LEVELS SEGMENTS MODE
------ --------------- --- ---    ------ ------ -------- -------
1    TYPE            NO  YES      20     3       2     ON-LINE
CODE            NO  YES

Of Special Note

Do not modify the structure of the tables; that is not supported. The result is unpredictable.

The usage of codes is available via a DescriptionValidationTable object, which is added by Database Builder to your data dictionary when you assign a CodeType set to a particular table.column. As an example (from Orderhea.DD):

Object Terms_table is a DescriptionValidationTable
    Procedure Fill_List
        Forward Send Fill_List
        Send Add_Table_Value "NONE" "None established"
        Send Add_Table_Value "COD" "COD"
        Send Add_Table_Value "NET30" "Net 30"
        Send Add_Table_Value "NET60" "Net 60"
        Send Add_Table_Value "NET90" "Net 90"
        Send Add_Table_Value "PREPAY" "Pre-payment required"
    End_Procedure    // Fill_List
    //DDB-ValidationCustomStart
    //DDB-ValidationCustomEnd
End_Object   // Terms_table

Set Field_Value_Table Field OrderHea.Terms To (Terms_table(Self))

The code values themselves can be entered in Database Builder (Validation Table tab page of the column settings main tab page) or via this Code Maintenance tool.