// Class Name: Orderhea_DataDictionary // Revision : 12 // Version : 2 Use Windows // Basic Definitions Use DataDict.pkg // DataDictionary Class Definition Use DDvalTbl // Validation Table Class Definitions Open Orderhea Open Orderdtl Open Customer Open Salesp Open Ordsys Register_Object Terms_table Register_Object Ship_Table 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 End_Object // Terms_table Object Ship_Table is a CodeValidationTable Set Type_Value To "SHIPPING" Set Allow_Blank_State To TRUE End_Object // Ship_Table Register_Object ORDERHEA_SL Class Orderhea_DataDictionary is a DataDictionary Procedure Construct_Object Forward Send Construct_Object Set Main_File To Orderhea.File_Number Set Foreign_Field_Option DD_KEYFIELD DD_FINDREQ to True Set Foreign_Field_Option DD_INDEXFIELD DD_NOPUT to True Set Foreign_Field_Option DD_DEFAULT DD_DISPLAYONLY to True // Child (Client) file structure................ Set Add_Client_File to Orderdtl.File_Number // Parent (Server) file structure............... Set Add_Server_File to Customer.File_Number Set Add_Server_File to Salesp.File_Number // External (System) file structure............. Set Add_System_File to Ordsys.File_Number DD_LOCK_ON_NEW_SAVE_DELETE Set Field_Auto_Increment Field Orderhea.Order_Number to File_Field Ordsys.Order_Number // Field-based properties....................... Set Field_Option Field Orderhea.Order_Number DD_AUTOFIND to True Set Field_Prompt_Object Field Orderhea.Order_Number to ORDERHEA_SL Set Key_Field_State Field Orderhea.Order_Number To TRUE Set Status_Help Field Orderhea.Order_Number To "Order Number - New orders are assigned numbers automatically" Set Field_Class_Name Field Orderhea.Order_Date To "dbSpinForm" Set Field_Entry_msg Field Orderhea.Order_Date To Entry_Order_Date Set Field_Mask_Type Field Orderhea.Order_Date To MASK_DATE_WINDOW Set Field_Prompt_Object Field Orderhea.Order_Date to ORDERHEA_SL Set Status_Help Field Orderhea.Order_Date To "Date on which the order was placed" Set Field_Class_Name Field Orderhea.Terms To "dbComboForm" Set Field_Value_Table Field Orderhea.Terms to Terms_table Set Status_Help Field Orderhea.Terms To "Payment terms" Set Field_Class_Name Field Orderhea.Ship_Via To "dbComboForm" Set Field_Value_Table Field Orderhea.Ship_Via to Ship_Table Set Status_Help Field Orderhea.Ship_Via To "Shipping method" // Field Orderhea.Ordered_By To "This is just a suggested list. No parent files support this" Set Status_Help Field Orderhea.Ordered_By To "Order placed by" Set Field_Label_Long Field Orderhea.Salesperson_Id To "Sales Person Id" Set Field_Label_Short Field Orderhea.Salesperson_Id To "Sales ID" Set Status_Help Field Orderhea.Salesperson_Id To "Sales Person who initiated the order" // Field Orderhea.Order_Total To "Maintained by the Orderdtl DD" Set Field_Mask_Type Field Orderhea.Order_Total To MASK_CURRENCY_WINDOW Set Status_Help Field Orderhea.Order_Total To "This is the order total for the entire selected order. (Note: The DisplayOnly DD property has been un-checked for this sample)" // Field Orderhea.Last_Detail_Num To "This is the " Set Field_Checkbox_Values Field Orderhea.Testcheckbox To "1" "0" Set Status_Help Field Orderhea.Testcheckbox To "This is a status_help for the TestCheckBox that has been added to the OrderHea table" Set Status_Help Field Orderhea.Testnote To "This is a Text field added for this sample. The text are reading is the DD's Status_Help" End_Procedure // Construct_Object Procedure Field_Defaults Forward Send Field_Defaults Set Field_Changed_Value Field Orderhea.Testcheckbox To 0 End_Procedure // Add a default date if the field is blank Procedure Entry_Order_Date Integer iField Date dDate Integer iChanged Get Field_Changed_State iField to iChanged If (iChanged=0 AND dDate=0) Begin SysDate4 dDate Set Field_Default_Value iField to dDate End End_Procedure Procedure Update Forward Send Update Send Adjust_Balances OrderHea.Order_Total End_procedure Procedure Backout Forward Send Backout Send Adjust_Balances (-OrderHea.Order_Total) End_procedure Procedure Adjust_Balances Number nAmt Add nAmt to Customer.Purchases Add nAmt to Customer.Balance End_Procedure Procedure Deleting Forward Send Deleting // see if we can decrement the order number in sys file...can only do // this if this is the newest order. If (OrderHea.Order_Number=OrdSys.Order_Number) Begin // if this is Decrement OrdSys.Order_Number // the last number, SaveRecord Ordsys // decrement and save. End End_Procedure End_Class // Orderhea_DataDictionary #IFDEF Is$WebApp #ELSE Use ORDERHEA.SL // ORDERHEA_SL #ENDIF