1Use Windows.pkg // Basic Definitions 2Use DataDict.pkg // DataDictionary Class Definition 3Use DDvalTbl.pkg // Validation Table Class Definitions 4 5Open OrderHea 6Open OrderDtl 7Open Customer 8Open SalesP 9Open OrdSys 10 11 12Register_Object Terms_table 13Register_Object Ship_Table 14 15Object Terms_table is a DescriptionValidationTable 16 17 Procedure Fill_List 18 Forward Send Fill_List 19 Send Add_Table_Value "NONE" "None established" 20 Send Add_Table_Value "COD" "COD" 21 Send Add_Table_Value "NET30" "Net 30" 22 Send Add_Table_Value "NET60" "Net 60" 23 Send Add_Table_Value "NET90" "Net 90" 24 Send Add_Table_Value "PREPAY" "Pre-payment required" 25 End_Procedure // Fill_List 26End_Object // Terms_table 27 28Object Ship_Table is a CodeValidationTable 29 Set Type_Value To "SHIPPING" 30 Set Allow_Blank_State To True 31End_Object // Ship_Table 32Register_Object OrderHea_sl 33 34Class OrderHea_DataDictionary Is A DataDictionary 35 36 Procedure Construct_Object 37 Forward Send Construct_Object 38 39 Set Main_File To OrderHea.File_Number 40 41 Set Foreign_Field_Option DD_KEYFIELD DD_FINDREQ to True 42 Set Foreign_Field_Option DD_INDEXFIELD DD_NOPUT to True 43 Set Foreign_Field_Option DD_DEFAULT DD_DISPLAYONLY to True 44 45 Set Add_Client_File to OrderDtl.File_Number 46 47 Set Add_Server_File to Customer.File_Number 48 Set Add_Server_File to SalesP.File_Number 49 50 Set Add_System_File to OrdSys.File_Number DD_LOCK_ON_NEW_SAVE_DELETE 51 52 Set Field_Auto_Increment Field OrderHea.Order_Number to File_Field OrdSys.Order_Number 53 54 55 Set Field_Option Field OrderHea.Order_Number DD_AUTOFIND to True 56 Set Field_Prompt_Object Field OrderHea.Order_Number to OrderHea_SL 57 Set Key_Field_State Field OrderHea.Order_Number To True 58 Set Status_Help Field OrderHea.Order_Number To "Order Number - New orders are assigned numbers automatically" 59 60 61 Set Field_Class_Name Field OrderHea.Order_Date To "dbSpinForm" 62 Set Field_Entry_msg Field OrderHea.Order_Date To Entry_Order_Date 63 Set Field_Mask_Type Field OrderHea.Order_Date To MASK_DATE_WINDOW 64 Set Field_Prompt_Object Field OrderHea.Order_Date to OrderHea_SL 65 Set Status_Help Field OrderHea.Order_Date To "Date on which the order was placed" 66 67 Set Field_Class_Name Field OrderHea.Terms To "dbComboForm" 68 Set Field_Value_Table Field OrderHea.Terms to Terms_table 69 Set Status_Help Field OrderHea.Terms To "Payment terms" 70 71 Set Field_Class_Name Field OrderHea.Ship_Via To "dbComboForm" 72 Set Field_Value_Table Field OrderHea.Ship_Via to Ship_Table 73 Set Status_Help Field OrderHea.Ship_Via To "Shipping method" 74 75 Set Status_Help Field OrderHea.Ordered_By To "Order placed by" 76 77 Set Field_Label_Long Field OrderHea.Salesperson_ID To "Sales Person ID" 78 Set Field_Label_Short Field OrderHea.Salesperson_ID To "Sales ID" 79 Set Status_Help Field OrderHea.Salesperson_ID To "Sales Person who initiated the order" 80 81 Set Field_Mask_Type Field OrderHea.Order_Total To MASK_CURRENCY_WINDOW 82 Set Field_Option Field OrderHea.Order_Total DD_DISPLAYONLY to True 83 84 85 End_Procedure // Construct_Object 86 87 Procedure Field_Defaults 88 Forward Send Field_Defaults 89 End_Procedure 90 91 // Add a default date if the field is blank 92 Procedure Entry_Order_Date Integer iField Date dDate 93 Integer iChanged 94 95 Get Field_Changed_State iField To iChanged 96 If (iChanged=0 And dDate=0) Begin 97 SysDate dDate 98 Set Field_Default_Value iField To dDate 99 End 100 End_Procedure 101 102 Procedure Update 103 Forward Send Update 104 Send Adjust_Balances OrderHea.Order_Total 105 End_Procedure 106 107 Procedure Backout 108 Forward Send Backout 109 Send Adjust_Balances (-OrderHea.Order_Total) 110 End_Procedure 111 112 Procedure Adjust_Balances Number Amt 113 Add Amt To Customer.Purchases 114 Add Amt To Customer.Balance 115 End_Procedure 116 117 Procedure Deleting 118 Forward Send Deleting 119 // see if we can decrement the order number in sys file...can only do 120 // this if this is the newest order. 121 If (OrderHea.Order_Number=OrdSys.Order_Number) Begin // if this is 122 Decrement OrdSys.Order_Number // the last number, 123 Saverecord OrdSys // decrement and save. 124 End 125 End_Procedure 126 127End_Class // OrderHea_DataDictionary 128#IFDEF Is$WebApp 129#ELSE 130 131Use OrderHea.sl // OrderHea_sl 132 133#ENDIF 134