Module OrderDtlReport.wo
1Use cWebBusinessProcess.pkg
2Use DataDict.pkg
3Use cWebReport.pkg
4Use VENDOR.DD
5Use INVT.DD
6Use CUSTOMER.DD
7Use SALESP.DD
8Use OrderHea.DD
9Use OrderDtl.DD
10
11Object oOrderDtlReport is a cWebBusinessProcess
12 Set pbAllowDelete to False
13 Set pbAllowSaveEdit to False
14 Set pbAllowSaveNew to False
15 Set psDescription to "Order Detail For Order"
16
17 Object Vendor_DD is a Vendor_DataDictionary
18 Send DefineAllExtendedFields
19 End_Object // Vendor_DD
20
21 Object Invt_DD is a Invt_DataDictionary
22 Set DDO_Server to Vendor_DD
23 Send DefineAllExtendedFields
24 End_Object // Invt_DD
25
26 Object Customer_DD is a Customer_DataDictionary
27 Send DefineAllExtendedFields
28 End_Object // Customer_DD
29
30 Object SalesP_DD is a Salesp_DataDictionary
31 Send DefineAllExtendedFields
32 End_Object // SalesP_DD
33
34 Object OrderHea_DD is a OrderHea_DataDictionary
35 Set DDO_Server to Customer_DD
36 Set DDO_Server to SalesP_DD
37 Send DefineAllExtendedFields
38 End_Object // OrderHea_DD
39
40 Object OrderDtl_DD is a OrderDtl_DataDictionary
41 Set DDO_Server to OrderHea_DD
42 Set DDO_Server to Invt_DD
43 Send DefineAllExtendedFields
44 End_Object // OrderDtl_DD
45
46 Set Main_DD to OrderDtl_DD
47
48 Object oReport is a cWebReport
49
50 Set piConstrainFile To OrderHea.File_Number
51 Set priConstrainRowId To (NullRowId()) // We will set this elsehwere
52 Set piOrdering to 1
53
54 Function Break1 Returns String
55 Number nNum
56 Get ddValue "OrderHea.Order_Number" To nNum
57 Function_Return nNum // Break every time the parent record changes
58 End_Function // Break1
59
60 Procedure OnInitBreakpoints
61 Send RegisterBreakpoint get_Break1
62 End_Procedure // OnInitBreakpoints
63
64 Procedure OnSubHeader1
65 Number nOrderNumber nCustomerNumber
66 String sDate sName sAddress sCity sState sZip sPhone sTerms
67 String sVia sBy sSalespId sSalespName
68
69 Get ddValueEncode "OrderHea.Order_Number" To nOrderNumber
70 Get ddValueEncode "OrderHea.Order_Date" To sDate
71 Get ddValueEncode "Customer.Customer_Number" To nCustomerNumber
72 Get ddValueEncode "Customer.Name" To sName
73 Get ddValueEncode "Customer.Address" To sAddress
74 Get ddValueEncode "Customer.City" To sCity
75 Get ddValueEncode "Customer.State" To sState
76 Get ddValueEncode "Customer.Zip" To sZip
77 Get ddValueEncode "Customer.Phone_Number" To sPhone
78 Get ddValueEncode "OrderHea.Terms" To sTerms
79 Get ddValueEncode "OrderHea.Ship_Via" To sVia
80 Get ddValueEncode "OrderHea.Ordered_By" To sBy
81 Get ddValueEncode "Salesp.Id" To sSalespId
82 Get ddValueEncode "Salesp.Name" To sSalespName
83
84 Send WriteHtmlTableBegin 'border="0" width="50%" Class="ReportHdr1Table"'
85
86 Send WriteHtmlRowBegin
87 Send WriteHtmlCellHeader 'Order Number' ' Class="Label"'
88 Send WriteHtmlCell (FormatNumber(nOrderNumber,0)) ' Class="Data"'
89 Send WriteHtmlRowEnd
90 Send WriteHtmlRowBegin
91 Send WriteHtmlCellHeader 'Order Date' ' Class="Label"'
92 Send WriteHtmlCell sDate ' Class="Data"'
93 Send WriteHtmlRowEnd
94 Send WriteHtmlRowBegin
95 Send WriteHtmlCellHeader 'Customer Number' ' Class="Label"'
96 Send WriteHtmlCell (FormatNumber(nCustomerNumber,0)) ' Class="Data"'
97 Send WriteHtmlRowEnd
98 Send WriteHtmlRowBegin
99 Send WriteHtmlCellHeader 'Customer Name' ' Class="Label"'
100 Send WriteHtmlCell sName ' Class="Data"'
101 Send WriteHtmlRowEnd
102 Send WriteHtmlRowBegin
103 Send WriteHtmlCellHeader 'Street Address' ' Class="Label"'
104 Send WriteHtmlCell sAddress ' Class="Data"'
105 Send WriteHtmlRowEnd
106 Send WriteHtmlRowBegin
107 Send WriteHtmlCellHeader 'City' ' Class="Label"'
108 Send WriteHtmlCell sCity ' Class="Data"'
109 Send WriteHtmlRowEnd
110 Send WriteHtmlRowBegin
111 Send WriteHtmlCellHeader 'State' ' Class="Label"'
112 Send WriteHtmlCell sState ' Class="Data"'
113 Send WriteHtmlRowEnd
114 Send WriteHtmlRowBegin
115 Send WriteHtmlCellHeader 'Zip/Postal Code' ' Class="Label"'
116 Send WriteHtmlCell sZip ' Class="Data"'
117 Send WriteHtmlRowEnd
118 Send WriteHtmlRowBegin
119 Send WriteHtmlCellHeader 'Phone Number' ' Class="Label"'
120 Send WriteHtmlCell sPhone ' Class="Data"'
121 Send WriteHtmlRowEnd
122 Send WriteHtmlRowBegin
123 Send WriteHtmlCellHeader 'Terms' ' Class="Label"'
124 Send WriteHtmlCell sTerms ' Class="Data"'
125 Send WriteHtmlRowEnd
126 Send WriteHtmlRowBegin
127 Send WriteHtmlCellHeader 'Ship Via' ' Class="Label"'
128 Send WriteHtmlCell sVia ' Class="Data"'
129 Send WriteHtmlRowEnd
130 Send WriteHtmlRowBegin
131 Send WriteHtmlCellHeader 'Ordered By' ' Class="Label"'
132 Send WriteHtmlCell sBy ' Class="Data"'
133 Send WriteHtmlRowEnd
134 Send WriteHtmlRowBegin
135 Send WriteHtmlCellHeader 'Sales Person ID' ' Class="Label"'
136 Send WriteHtmlCell sSalespId ' Class="Data"'
137 Send WriteHtmlRowEnd
138 Send WriteHtmlRowBegin
139 Send WriteHtmlCellHeader 'Sales Person Name' ' Class="Label"'
140 Send WriteHtmlCell sSalespName ' Class="Data"'
141 Send WriteHtmlRowEnd
142
143 Send WriteHtmlTableEnd
144
145 Send WriteHtml '
'
146
147 Send WriteHtmlTableBegin 'border="0" width="99%" Class="ReportTable"'
148
149 Send WriteHtmlRowBegin
150 Send WriteHtmlCellHeader 'Item ID' 'Class="Header" Align="left"'
151 Send WriteHtmlCellHeader 'Description' 'Class="Header" Align="left"'
152 Send WriteHtmlCellHeader 'Quantity' 'Class="Header" Align="right"'
153 Send WriteHtmlCellHeader 'Price' 'Class="Header" Align="right"'
154 Send WriteHtmlCellHeader 'Total' 'Class="Header" Align="right"'
155 Send WriteHtmlRowEnd
156
157 End_Procedure // OnSubHeader1
158
159 Procedure OnBody
160 String sItemId sDesc
161 Number nQty nPrice nExtended
162
163 Get ddValueEncode "Invt.Item_id" To sItemId
164 Get ddValueEncode "Invt.Description" To sDesc
165 Get ddValueEncode "OrderDtl.Qty_Ordered" To nQty
166 Get ddValueEncode "OrderDtl.Price" To nPrice
167 Get ddValueEncode "OrderDtl.Extended_Price" To nExtended
168
169 Send WriteHtmlRowBegin
170 Send WriteHtmlCell sItemId 'Class="Data" Align="left"'
171 Send WriteHtmlCell sDesc 'Class="Data" Align="left"'
172 Send WriteHtmlCell (FormatNumber(nQty,0)) 'Class="Data" Align="right"'
173 Send WriteHtmlCell (FormatNumber(nPrice,2)) 'Class="Data" Align="right"'
174 Send WriteHtmlCell (FormatNumber(nExtended,2)) 'Class="Data" Align="right"'
175 Send WriteHtmlRowEnd
176 Send AddSubTotal 1 nExtended // Subtotal of field
177 End_Procedure // OnBody
178
179 Procedure OnSubTotal1
180 Number nTotal
181
182 Send WriteHtmlCell "" 'colspan="4" Class="Header"'
183 Get SubTotal 1 To nTotal
184 Send WriteHtmlCell (FormatNumber(nTotal,2)) 'Class="Header" align="right" '
185
186 Send WriteHtmlTableEnd
187 End_Procedure // OnSubTotal1
188
189 Function RunOrderDtlReport RowId riHdrRec Returns RowId
190 RowId riEnd
191 Integer iStat
192 Set piMaxCount To 0
193 Set priStartRowId To (NullRowId())
194 Set priConstrainRowId To riHdrRec
195 Get DoRunReport To iStat
196 Function_Return (NullRowId())
197 End_Function // RunOrderDtlReport
198
199 Function RunAllOrderDtlReport RowId riStart Integer iMax Returns RowId
200 RowId riEnd
201 Integer iStat
202
203 Set piMaxCount To iMax
204 Set piMaxCountBreakLevel To 1
205 Set priStartRowId To riStart
206 Set priConstrainRowId To (NullRowId())
207 Get DoRunReport To iStat
208 Get priLastRowId To riEnd
209 Function_Return riEnd
210 End_Function // RunAllOrderDtlReport
211
212 End_Object // oReport
213
214 { Published = True }
215 { Description = "" }
216 Procedure SetHRefName String sName
217 Set psHRefname Of oReport To sName
218 End_Procedure // SetHRefName
219
220 { Published = True }
221 { Description = "" }
222 Function RunOrderDtlReport String sHdrRec Returns string
223 RowId riEnd
224 Get RunOrderDtlReport Of oReport (DeSerializeRowId(sHdrRec)) To riEnd
225 Function_Return (SerializeRowId(riEnd))
226 End_Function // RunOrderDtlReport
227
228 { Published = True }
229 { Description = "" }
230 Function RunAllOrderDtlReport string sStart Integer iMax Returns string
231 RowId riEnd
232 Get RunAllOrderDtlReport Of oReport (DeserializeRowid(sStart)) iMax To riEnd
233 Function_Return (SerializeRowId(riEnd))
234 End_Function // RunAllOrderDtlReport
235
236End_Object // oOrderDtlReport
237