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.