****************************************************************************//
//
$File name  : ddvaltbl.pkg                                                 //
$File title :                                                              //
Notice      :                                                              //
$System     : Extended Data Sets 3.1                                       //
Created     : 03/28/96 04:48 pm                                            //
$Last Rev   : 03/28/96 04:48 pm41                                          //
//
$Description                                                               //
//
//
$Rev History                                                               //
JT 02/04/97 Changed Validate_value in FileValidationTable to no use the code//
DSO if operation mode is busy. In DDOs validtion sets operation_//
mode to busy.                                                   //
JT 12/23/96 Made sure field values are always trimmed!                      //
JT 07/23/96 New Class names                                                 //
JT 06/12/96 Modified "indirect-file" finding methods and replaced them with //
3.1 API commands                                                //
JT 05/28/96 Add Public Message Find_Code_Description. Passes Code and       //
returns the description. Created properties current_description //
current_code and current_Record to speed up this process        //
JT 02-04-96 Changed Validation_xxx_table to xxx_Validation_Table            //
JT 28-03-96 File header created                                             //
//
****************************************************************************//
****************************************************************************//
Validation Table Support for Extended Data-Sets. Fields may               //
attached to validation tables which can then be used for                  //
validation (if Validate_state is true) or list loading.                   //
Developers can create their own validation tables as long as they         //
conform to the following external interface:                              //
//
Properties                                                                 //
Static_State       - if list must be rebuilt each validation, load       //
Allow_Blank_state  - If Blank or 0 is a valid response                   //
Validate_State     - should table be used for validation                 //
Table_Loaded_State - is the validation table initialized?                //
//
Methods                                                                    //
Get Validate_Value sValue to iVal - if iVal=0, it is legal                //
Send Fill_list                    - fills a static list                   //
Send Request_Fill_From_List iObject iMessage                              //
This is a callback that will fill an external list by sending       //
the passed message (iMessage) back to the requesting object         //
(iObject). It will send this message for each item in the           //
validation table. It always passes back four params. Those are:     //
iItem - Item count being passed back                   //
sData - The Database value of the item                 //
sDesc - The Value's description, "" if none            //
iFile - File number associated with the item (if any)  //
iRec  - Record associated with the item (if any)       //
Developers can create classes of any complexity to support validation      //
tables. We have provided the following four classes.                       //
//
ValidationTable is an Array                                               //
Provides simple one dimensional table support. The table must be //
loaded manually by creating fill_list and sending the message    //
Add_Table_Value (send Add_Table_Value Value). If list is static      //
it is filled once. If non-static it is filled each time it is    //
requested to validate or fill a foreign lis.                     //
//
DescriptionValidationTable is a ValidationTable                           //
Provides a more complex three dimension array allowing the       //
object to store a data value, description value and a record     //
number. The developer must fill this list using the Add_table_   //
value message passing up to three values (data, desc, record).   //
//
FileValidationTable is a DescriptionValidationTable                       //
Provides a data aware table. This can be used to load data from  //
data-files, from data-sets. If you use data-sets you can place   //
constraints within the data-set. You must define the file-number,//
data-set (if any), the file index, the file's data field, and    //
the file's description field. You can also define an optional    //
"Type". All records are constrained to this type (with or with-  //
data-sets). If is assumed that this file has an optimized finding//
index.                                                           //
//
CodeValidationTable is a FileValidationTable                              //
Used for Code lists. Simply set Type_Value to the "type"         //
//
//
****************************************************************************//
References (8):
Field References (0):
| Module | Containing Symbol | Line | 
|---|