Module OrdersWP.rv
1Use dfrptvw.pkg
2Use DataDict.pkg
3Use dfRadio.pkg
4Use Windows.pkg
5Use cWinReport2.pkg
6Use VENDOR.DD
7Use INVT.DD
8Use CUSTOMER.DD
9Use SALESP.DD
10Use ORDERHEA.DD
11Use ORDERDTL.DD
12
13ACTIVATE_VIEW Activate_oOrdersWP FOR oOrdersWP
14
15Object oOrdersWP is a ReportView
16 Set Label to "Orders by Order Number"
17 Set Location to 6 6
18 Set Size to 46 175
19
20 Object Vendor_DD is a Vendor_DataDictionary
21 Send DefineAllExtendedFields
22 End_Object // Vendor_DD
23
24 Object Invt_DD is a Invt_DataDictionary
25 Set DDO_Server to Vendor_DD
26 Send DefineAllExtendedFields
27 End_Object // Invt_DD
28
29 Object Customer_DD is a Customer_DataDictionary
30 Send DefineAllExtendedFields
31 End_Object // Customer_DD
32
33 Object SalesP_DD is a Salesp_DataDictionary
34 Send DefineAllExtendedFields
35 End_Object // SalesP_DD
36
37 Object Orderhea_DD is a Orderhea_DataDictionary
38 Set DDO_Server to Customer_DD
39 Set DDO_Server to SalesP_DD
40 Send DefineAllExtendedFields
41 End_Object // Orderhea_DD
42
43 Object Orderdtl_DD is a Orderdtl_DataDictionary
44 Set DDO_Server to Orderhea_DD
45 Set DDO_Server to Invt_DD
46 Send DefineAllExtendedFields
47 End_Object // Orderdtl_DD
48
49 Object oPrintTo is a RadioGroup
50 Set Size to 38 105
51 Set Location to 4 5
52 Set Label to "Print to"
53 Object oRadio1 is a Radio
54 Set Label to "Preview"
55 Set Size to 10 42
56 Set Location to 12 6
57 Set Status_Help to "Prints the report to screen"
58 End_Object // oRadio1
59
60 Object oRadio2 is a Radio
61 Set Label to "Printer"
62 Set Size to 10 42
63 Set Location to 24 6
64 Set Status_Help to "Prints the report to printer"
65 End_Object // oRadio2
66
67 End_Object // oPrintTo
68
69 Object oBtnPrint is a Button
70 Set Label to "Print"
71 Set Location to 10 120
72 Set Status_Help to "Print the Selected report"
73 Set Default_State to True
74
75 Procedure OnClick
76 Send StartReport
77 End_Procedure
78
79 End_Object // oBtnPrint
80
81 Object oBtnCancel is a Button
82 Set Label to "Cancel"
83 Set Location to 28 120
84 Set Status_Help to "Close this Panel"
85
86 Procedure OnClick
87 Send Close_Panel
88 End_Procedure
89
90 End_Object // oBtnCancel
91
92 Object oOrders is a cWinReport2
93 Set Report_Title to "Customer Report"
94
95 //Main File for the report
96 Set Server to Orderdtl_DD
97
98 //Breaks and Index for the report
99 Report_Breaks ORDERHEA.ORDER_NUMBER
100 Report_Index By 1
101
102 Function Starting_Main_Report Returns Integer
103 Integer iRetVal
104 Set PrintDlgInPreview of WinprintId to True
105 Send DFSetMetrics To WinPrintId "CM"
106 Send DFSetmargins To WinPrintId 1 1 1 1
107 Forward Get Starting_Main_Report To iRetVal
108 If iRetVal Function_return iRetVal
109 End_Function
110
111 Procedure Page_Top
112 DFFont "Arial" // Use Arial
113 DFFontSize 8
114 DFBeginHeader DFPageTop
115 DFHeaderPos HDR_RIGHT
116 DFHeaderFrame HDR_NOFRAME
117 DFWriteLn ("Page:" * "#pagecount#")
118 DFEndHeader
119 End_Procedure
120
121 Procedure Page_Title
122 DFFont "Arial"
123 DFFontSize 14
124 DFBeginHeader DFPageTitle
125 DFHeaderFrame HDR_MARGINs 0 RGB_DGREY RGB_DGREY
126 DFHEADERPOS HDR_LEFT
127 DFWritelnPos "Orders by Order Number Report" 0.10 (FONT_BOLD+RGB_WHITE)
128 DFEndHeader
129 End_Procedure
130
131 Procedure SubHeader1
132
133 DFFont "Arial" // Use Arial
134 DFFontSize 8
135
136 DFBeginHeader DFSubHeader 1 //Header of type DFSubHeader
137
138 Send Update_Status ("Order:" * String(OrderHea.Order_number))
139
140
141 DFHeaderWrap HDR_WRAP
142 DFHeaderLineCheck 5 //Check that the header + 5 lines fits on the page, if not wrap
143
144 DFHeaderPos HDR_LEFT //Write data from left margin in the header
145 DFHeaderFrame HDR_NoFrame //Set the box from margin to margin using size 0.05
146 DFHeaderMargin hm_BottomOuter 0.04
147
148 DFWritePos "Order Number" 0.10 (FONT_BOLD+RGB_DBLUE)
149 DFWritelnPos Orderhea.ORDER_NUMBER 4.0 (FONT_DEFAULT)
150 DFWritePos "Order Date" 0.10 (FONT_BOLD+RGB_DBLUE)
151 DFWritelnPos Orderhea.ORDER_DATE 4.0 (FONT_DEFAULT)
152 DFWritePos "Customer Number" 0.10 (FONT_BOLD+RGB_DBLUE)
153 DFWritelnPos Customer.CUSTOMER_NUMBER 4.0
154 DFWritePos "Name" 0.10 (FONT_BOLD+RGB_DBLUE)
155 DFWritelnPos Customer.NAME 4.0 (FONT_DEFAULT)
156 DFWritePos "Address" 0.10 (FONT_BOLD+RGB_DBLUE)
157 DFWritelnPos Customer.ADDRESS 4.0 (FONT_DEFAULT)
158 DFWritePos "City" 0.10 (FONT_BOLD+RGB_DBLUE)
159 DFWritelnPos Customer.CITY 4.0 (FONT_DEFAULT)
160 DFWritePos "State" 0.10 (FONT_BOLD+RGB_DBLUE)
161 DFWritelnPos Customer.STATE 4.0 (FONT_DEFAULT)
162 DFWritePos "Zip" 0.10 (FONT_BOLD+RGB_DBLUE)
163 DFWritelnPos Customer.ZIP 4.0 (FONT_DEFAULT)
164 DFWritePos "Terms" 0.10 (FONT_BOLD+RGB_DBLUE)
165 DFWritelnPos Orderhea.TERMS 4.0 (FONT_DEFAULT)
166 DFWritePos "Ship Via" 0.10 (FONT_BOLD+RGB_DBLUE)
167 DFWritelnPos Orderhea.SHIP_VIA 4.0 (FONT_DEFAULT)
168 DFFontSize 2
169 DFWriteLn
170
171 DFFontSize 8
172 DfWriteRect DFGR_CURRLINE 0 0.34 DFGR_RB_MARGIN RGB_GREY 0.0 dfgr_noWrap RGB_GREY
173 DFWritePos "Item Id" 0.1 (FONT_BOLD+RGB_DBLUE) -1 1.36
174 DFWritePos "Description" 4.00 (FONT_BOLD+RGB_DBLUE) -1 4.77
175 DFWritePos "Qty Ordered" 11.5 (FONT_BOLD+FONT_RIGHT+RGB_DBLUE) -1 1.87
176 DFWritePos "Price" 13.22 (FONT_BOLD+FONT_RIGHT+RGB_DBLUE) -1 1.22
177 DFWritePos "Extended Price" 16.0 (FONT_BOLD+FONT_RIGHT+RGB_DBLUE) -1 2.40
178 DFWriteln
179
180 DFEndHeader //End and print header
181
182 End_Procedure
183
184 Procedure Body
185
186 DFFont "Arial" // Use Arial
187 DFFontSize 8
188
189 DFLineCheck 5
190
191 DFWritePos Invt.ITEM_ID 0.1 (FONT_DEFAULT) -1 2.28
192 DFWritePos Invt.DESCRIPTION 4.00 (FONT_DEFAULT) -1 4.77
193 DFWritePos Orderdtl.QTY_ORDERED 11.5 (FONT_DEFAULT+FONT_RIGHT) 0 1.87
194 DFWritePos Orderdtl.PRICE 13.22 (FONT_DEFAULT+FONT_RIGHT) 2 1.22
195 DFWritePos Orderdtl.EXTENDED_PRICE 16.0 (FONT_DEFAULT+FONT_RIGHT) 2 2.40
196 DFWriteln
197
198 // Using SubTotal in WinPrint.
199 Send Add_SubTotal 1 (Orderdtl.EXTENDED_PRICE)
200
201 End_Procedure
202
203 Procedure SubTotal1
204 Number nAmount
205 Get SubTotal 1 to nAmount
206 Send Add_SubTotal 2 nAmount // subtotal 2 is total
207
208 DFFont "Arial" // Use Arial
209 DFFontSize 8
210 DFBeginHeader DFSubTotal 1
211
212 DFHEADERPOS HDR_LEFT
213 DFHeaderFrame hdr_margins 0.01 rgb_grey rgb_Grey
214 dfHeaderMargin hm_bottomOuter 0.10
215 dfHeaderMargin hm_bottomInner 0.01
216 dfHeaderMargin hm_TopInner 0.01
217
218 DFWritelnPos nAmount 16.0 (Font_BOLD+FONT_RIGHT) 2 0
219 DFEndHeader
220
221 End_Procedure
222
223 Procedure Total
224 Number nTotal
225 Get SubTotal 2 to nTotal
226
227 DFFont "Arial" // Use Arial
228 DFFontSize 8
229 DFBeginHeader DFTotal //Header of type DFTotal
230
231 DFHeaderPos HDR_LEFT //Write data from left margin in the header
232 DFHeaderFrame HDR_MARGINs 0 RGB_DGREY RGB_GREY //rgb_Cyan rgb_Cyan
233
234 DFWritelnPos nTotal 16.0 (FONT_BOLD+FONT_RIGHT) 2
235
236 DFEndHeader //End and print header
237
238 End_Procedure
239
240 Procedure Page_Bottom
241 DateTime dtDT
242 Move (CurrentDateTime()) to dtDT
243
244 DFFont "Arial" // Use Arial
245 DFFontSize 8
246 DFBeginHeader DFPageBottom
247 DFHeaderPos HDR_CENTER //Write data in center
248 DFHeaderFrame HDR_MARGINS 0.01 rgb_dGrey
249 DFWriteLn ("Report Printed on: " +string(dtDT)) (rgb_dBlue)
250 DFEndHeader
251
252 End_Procedure
253
254 End_Object // oOrders
255
256 // Procedures and functions used by the user interface
257
258 //This function is called by the procedure StartReport
259 Function Print_to_Screen_State Returns Integer
260 Integer iRad
261 Get Current_Radio of oPrintTo To iRad
262 Function_Return (iRad=1)
263 End_Function
264
265 // Use this procedure to do print setup
266 Procedure SetupReport
267 Boolean bSetupOk
268 Get DFPrintSetupDialog of (Report_Object_Id(Self)) to bSetupOk
269 End_Procedure
270
271 // Use this procedure to start the report
272 Procedure StartReport
273 Integer iToPrinter iRepObj
274 String sVal
275 Get Report_Object_Id To iRepObj
276
277 Get Print_to_Screen_State to iToPrinter
278 If iToPrinter Set OutPut_Device_Mode to PRINT_TO_PRINTER
279 Else Set OutPut_Device_Mode to PRINT_TO_WINDOW
280
281 Send Run_Report to iRepObj
282
283 End_Procedure
284
285End_Object // oOrdersWP
286