Module ORDERHEA.DD
1//DDB-FileStart
2//DDB-HeaderStart
3
4// File Name : ORDERHEA.DD
5// Class Name: Orderhea_DataDictionary
6// Revision : 3
7
8Use Windows // Basic Definitions
9Use DataDict // DataDictionary Class Definition
10Use DDvalTbl // Validation Table Class Definitions
11
12Open Orderhea
13Open Orderdtl
14Open Customer
15Open Salesp
16Open Ordsys
17
18//DDB-HeaderEnd
19//DDB-ValidationStart
20
21Register_Object Terms_table
22Register_Object Ship_Table
23
24Object Terms_table is a DescriptionValidationTable
25
26 Procedure Fill_List
27 Forward Send Fill_List
28 Send Add_Table_Value "NONE" "None established"
29 Send Add_Table_Value "COD" "COD"
30 Send Add_Table_Value "NET30" "Net 30"
31 Send Add_Table_Value "NET60" "Net 60"
32 Send Add_Table_Value "NET90" "Net 90"
33 Send Add_Table_Value "PREPAY" "Pre-payment required"
34 End_Procedure // Fill_List
35End_Object // Terms_table
36
37Object Ship_Table is a CodeValidationTable
38 Set Type_Value To "SHIPPING"
39 Set Allow_Blank_State To TRUE
40End_Object // Ship_Table
41//DDB-ValidationEnd
42//DDB-SelectionStart
43//DDB/ ExternalSelectionList ORDERHEA_SL ORDERHEA.SL
44Register_Object ORDERHEA_SL
45//DDB-SelectionEnd
46
47Class Orderhea_DataDictionary is a DataDictionary
48
49 Procedure Define_Fields
50 Forward Send Define_Fields
51 //DDB-DefineFieldStart
52
53 Set Main_File To Orderhea.File_Number
54
55 Set Foreign_Field_Options DD_KEYFIELD To DD_FINDREQ
56 Set Foreign_Field_Options DD_INDEXFIELD To DD_NOPUT
57 Set Foreign_Field_Options DD_DEFAULT To DD_DISPLAYONLY
58
59 // Child (Client) file structure................
60 Send Add_Client_File Orderdtl.File_Number
61
62 // Parent (Server) file structure...............
63 Send Add_Server_File Customer.File_Number
64 Send Add_Server_File Salesp.File_Number
65
66 // External (System) file structure.............
67 Send Add_System_File Ordsys.File_Number DD_LOCK_ON_NEW_SAVE_DELETE
68
69 Define_Auto_Increment Ordsys.Order_Number To Orderhea.Order_Number
70
71 // Field-based properties.......................
72
73 // Orderhea.Order_Number
74 Set Field_Options Field Orderhea.Order_Number To DD_AUTOFIND
75 Set Field_Prompt_Object Field Orderhea.Order_Number To (ORDERHEA_SL(self))
76 Set Key_Field_State Field Orderhea.Order_Number To TRUE
77 Set Status_Help Field Orderhea.Order_Number To "Order Number - New orders are assigned numbers automatically"
78
79 // Orderhea.Customer_Number
80
81 // Orderhea.Order_Date
82 Set Field_Class_Name Field Orderhea.Order_Date To "dbSpinForm"
83 Set Field_Entry_msg Field Orderhea.Order_Date To Entry_Order_Date
84 Set Field_Mask_Type Field Orderhea.Order_Date To MASK_DATE_WINDOW
85 Set Field_Prompt_Object Field Orderhea.Order_Date To (ORDERHEA_SL(self))
86 Set Status_Help Field Orderhea.Order_Date To "Date on which the order was placed"
87
88 // Orderhea.Terms
89 Set Field_Class_Name Field Orderhea.Terms To "dbComboForm"
90 Set Field_Value_Table Field Orderhea.Terms To (Terms_table(self))
91 Set Status_Help Field Orderhea.Terms To "Payment terms"
92
93 // Orderhea.Ship_Via
94 Set Field_Class_Name Field Orderhea.Ship_Via To "dbComboForm"
95 Set Field_Value_Table Field Orderhea.Ship_Via To (Ship_Table(self))
96 Set Status_Help Field Orderhea.Ship_Via To "Shipping method"
97
98 // Orderhea.Ordered_By
99 //DDB/ Comment_Short Field Orderhea.Ordered_By To "This is just a suggested list. No parent files support this"
100 Set Status_Help Field Orderhea.Ordered_By To "Order placed by"
101
102 // Orderhea.Salesperson_Id
103 Set Field_Label_Long Field Orderhea.Salesperson_Id To "Sales Person Id"
104 Set Field_Label_Short Field Orderhea.Salesperson_Id To "Sales ID"
105 Set Status_Help Field Orderhea.Salesperson_Id To "Sales Person who initiated the order"
106
107 // Orderhea.Order_Total
108 //DDB/ Comment_Short Field Orderhea.Order_Total To "Maintained by the Orderdtl DD"
109 Set Field_Mask_Type Field Orderhea.Order_Total To MASK_CURRENCY_WINDOW
110 Set Field_Options Field Orderhea.Order_Total To DD_DISPLAYONLY
111
112 // Orderhea.Last_Detail_Num
113 //DDB/ Comment_Short Field Orderhea.Last_Detail_Num To "This is the "
114
115 //DDB-DefineFieldEnd
116 End_Procedure // Define_Fields
117
118 Procedure Field_Defaults
119 Forward Send Field_Defaults
120 //DDB-FieldDefaultStart
121 //DDB-FieldDefaultEnd
122 End_Procedure
123
124 // Add a default date if the field is blank
125 Procedure Entry_Order_Date Integer iField Date dDate
126 Integer Changed
127 Get Field_Changed_State iField to Changed
128 If ( Changed=0 AND dDate = 0) Begin
129 SysDate4 dDate
130 Set Field_Default_Value iField to dDate
131 End
132 End_Procedure
133
134 Procedure Update
135 Forward Send Update
136 Send Adjust_Balances OrderHea.Order_Total
137 End_procedure
138
139 Procedure Backout
140 Forward Send Backout
141 Send Adjust_Balances (-OrderHea.Order_Total)
142 End_procedure
143
144 Procedure Adjust_Balances Number Amt
145 Add Amt to Customer.purchases
146 Add Amt to Customer.Balance
147 End_Procedure
148
149 Procedure Deleting
150 Forward Send Deleting
151 // see if we can decrement the order number in sys file...can only do
152 // this if this is the newest order.
153 If OrderHea.Order_Number eq OrdSys.Order_Number Begin // if this is
154 Decrement OrdSys.Order_Number // the last number,
155 SaveRecord Ordsys // decrement and save.
156 End
157 End_Procedure
158
159End_Class // Orderhea_DataDictionary
160
161//DDB-Selection-pkg-Start
162Use ORDERHEA.SL // ORDERHEA_SL
163//DDB-Selection-pkg-End
164//DDB-FileEnd
165