[Home] [Help]
PACKAGE BODY: APPS.OE_OE_FORM_HEADER
Source
1 PACKAGE BODY Oe_Oe_Form_Header AS
2 /* $Header: OEXFHDRB.pls 120.18 2011/08/05 07:13:33 jrparuch ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'Oe_Oe_Form_Header';
7
8 -- Global variables holding cached record.
9
10 g_header_rec OE_Order_PUB.Header_Rec_Type;
11 g_db_header_rec OE_Order_PUB.Header_Rec_Type;
12 g_set_of_books_rec Set_Of_Books_Rec_Type;
13 -- Forward declaration of procedures maintaining entity record cache.
14
15 -- Following record will be used to store the cascading enabled or disabled
16 -- status for each field.
17
18 g_cascade_test_record OE_OE_FORM_HEADER.Cascade_record;
19
20 PROCEDURE Write_header
21 ( p_header_rec IN OE_Order_PUB.Header_Rec_Type
22 , p_db_record IN BOOLEAN := FALSE
23 );
24
25 PROCEDURE Get_header
26 ( p_db_record IN BOOLEAN := FALSE
27 , p_header_id IN NUMBER
28 , x_header_rec OUT NOCOPY OE_Order_PUB.Header_Rec_Type
29 );
30
31
32 FUNCTION Filter_Phone_Number (
33 p_phone_number IN VARCHAR2,
34 p_isformat IN NUMBER := 0
35 ) RETURN VARCHAR2 ;
36
37
38 PROCEDURE get_customer_details ( p_site_use_id IN NUMBER,
39 p_site_use_code IN VARCHAR2,
40 x_customer_id OUT NOCOPY NUMBER,
41 x_customer_name OUT NOCOPY VARCHAR2,
42 x_customer_number OUT NOCOPY VARCHAR2
43 );
44
45 PROCEDURE Clear_header;
46
47 -- Global variable holding performed operations.
48
49 g_opr__tbl OE_Order_PUB.Header_Tbl_Type;
50
51 -- Procedure : Default_Attributes
52 --
53
54 PROCEDURE Default_Attributes
55 ( x_return_status OUT NOCOPY VARCHAR2
56 , x_msg_count OUT NOCOPY NUMBER
57 , x_msg_data OUT NOCOPY VARCHAR2
58 , x_header_rec IN OUT NOCOPY OE_ORDER_PUB.Header_Rec_Type
59 , x_header_val_rec IN OUT NOCOPY OE_ORDER_PUB.Header_Val_Rec_Type
60 , x_old_header_rec IN OUT NOCOPY OE_ORDER_PUB.Header_Rec_Type
61 , p_transaction_phase_code IN VARCHAR2
62 )
63 IS
64 l_control_rec OE_GLOBALS.Control_Rec_Type;
65 l_return_status VARCHAR2(1);
66 BEGIN
67 oe_debug_pub.add('Entering OE_OE_FORM_HEADER.DEFAULT_ATTRIBUTES', 1);
68
69
70
71 -- Set the UI flag
72 OE_GLOBALS.G_UI_FLAG := TRUE;
73
74 -- Set control flags.
75
76 l_control_rec.controlled_operation := TRUE;
77 l_control_rec.check_security := TRUE;
78 l_control_rec.default_attributes := TRUE;
79 l_control_rec.change_attributes := TRUE;
80
81 l_control_rec.clear_dependents := FALSE;
82 l_control_rec.validate_entity := FALSE;
83 l_control_rec.write_to_DB := FALSE;
84 l_control_rec.process := FALSE;
85
86 -- Instruct API to retain its caches
87
88 l_control_rec.clear_api_cache := FALSE;
89 l_control_rec.clear_api_requests := FALSE;
90
91 -- Load IN parameters if any exist
92
93 -- Bug 3433343 Begin
94 Clear_Header;
95 -- Bug 3433343 End
96 x_old_header_rec :=OE_ORDER_PUB.G_MISS_HEADER_REC;
97 x_header_rec :=OE_ORDER_PUB.G_MISS_HEADER_REC;
98 x_header_val_rec :=OE_ORDER_PUB.G_MISS_HEADER_VAL_REC;
99
100 --kmuruges
101 IF p_transaction_phase_code = 'N' THEN
102 x_header_rec.transaction_phase_code := p_transaction_phase_code;
103 END IF;
104 --kmuruges end
105
106 -- Defaulting of flex values is currently done by the form.
107 -- Set flex attributes to NULL in order to avoid defaulting them.
108
109 x_header_rec.attribute1 := NULL;
110 x_header_rec.attribute10 := NULL;
111 x_header_rec.attribute11 := NULL;
112 x_header_rec.attribute12 := NULL;
113 x_header_rec.attribute13 := NULL;
114 x_header_rec.attribute14 := NULL;
115 x_header_rec.attribute15 := NULL;
116 x_header_rec.attribute2 := NULL;
117 x_header_rec.attribute3 := NULL;
118 x_header_rec.attribute4 := NULL;
119 x_header_rec.attribute5 := NULL;
120 x_header_rec.attribute6 := NULL;
121 x_header_rec.attribute7 := NULL;
122 x_header_rec.attribute8 := NULL;
123 x_header_rec.attribute9 := NULL;
124 x_header_rec.context := NULL;
125 x_header_rec.global_attribute1 := NULL;
126 x_header_rec.global_attribute10 := NULL;
127 x_header_rec.global_attribute11 := NULL;
128 x_header_rec.global_attribute12 := NULL;
129 x_header_rec.global_attribute13 := NULL;
130 x_header_rec.global_attribute14 := NULL;
131 x_header_rec.global_attribute15 := NULL;
132 x_header_rec.global_attribute16 := NULL;
133 x_header_rec.global_attribute17 := NULL;
134 x_header_rec.global_attribute18 := NULL;
135 x_header_rec.global_attribute19 := NULL;
136 x_header_rec.global_attribute2 := NULL;
137 x_header_rec.global_attribute20 := NULL;
138 x_header_rec.global_attribute3 := NULL;
139 x_header_rec.global_attribute4 := NULL;
140 x_header_rec.global_attribute5 := NULL;
141 x_header_rec.global_attribute6 := NULL;
142 x_header_rec.global_attribute7 := NULL;
143 x_header_rec.global_attribute8 := NULL;
144 x_header_rec.global_attribute9 := NULL;
145 x_header_rec.global_attribute_category := NULL;
146 x_header_rec.tp_context := NULL;
147 x_header_rec.tp_attribute1 := NULL;
148 x_header_rec.tp_attribute2 := NULL;
149 x_header_rec.tp_attribute3 := NULL;
150 x_header_rec.tp_attribute4 := NULL;
151 x_header_rec.tp_attribute5 := NULL;
152 x_header_rec.tp_attribute6 := NULL;
153 x_header_rec.tp_attribute7 := NULL;
154 x_header_rec.tp_attribute8 := NULL;
155 x_header_rec.tp_attribute9 := NULL;
156 x_header_rec.tp_attribute10 := NULL;
157 x_header_rec.tp_attribute11 := NULL;
158 x_header_rec.tp_attribute12 := NULL;
159 x_header_rec.tp_attribute13 := NULL;
160 x_header_rec.tp_attribute14 := NULL;
161 x_header_rec.tp_attribute15 := NULL;
162
163 -- Set Operation to Create
164
165 x_header_rec.operation := OE_GLOBALS.G_OPR_CREATE;
166
167 -- Call Oe_Order_Pvt.Header
168
169 Oe_Order_Pvt.Header
170 ( p_validation_level =>FND_API.G_VALID_LEVEL_NONE
171 , p_init_msg_list => FND_API.G_TRUE
172 , p_control_rec =>l_control_rec
173 , p_x_header_rec =>x_header_rec
174 , p_x_old_header_rec =>x_old_header_rec
175 , x_return_status =>l_return_status
176
177 );
178
179 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
180 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
181 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
182 RAISE FND_API.G_EXC_ERROR;
183 END IF;
184
185
186 -- Load OUT NOCOPY /* file.sql.39 change */ parameters.
187
188 x_header_val_rec := OE_Header_Util.Get_Values
189 ( p_header_rec => x_header_rec
190 );
191
192 -- Write to cache.
193 -- Set db_flag to False before writing to cache
194
195 x_header_rec.db_flag := FND_API.G_FALSE;
196
197 Write_header
198 ( p_header_rec => x_header_rec
199 );
200
201 -- Re-set the UI flag to FALSE
202 OE_GLOBALS.G_UI_FLAG := FALSE;
203
204 -- Set return status.
205
206 x_return_status := FND_API.G_RET_STS_SUCCESS;
207
208 -- Get message count and data
209
210 OE_MSG_PUB.Count_And_Get
211 ( p_count => x_msg_count
212 , p_data => x_msg_data
213 );
214
215 oe_debug_pub.add('Exiting OE_OE_FORM_HEADER.DEFAULT_ATTRIBUTES', 1);
216
217 EXCEPTION
218
219 WHEN FND_API.G_EXC_ERROR THEN
220
221 OE_GLOBALS.G_UI_FLAG := FALSE;
222
223 x_return_status := FND_API.G_RET_STS_ERROR;
224
225 -- Get message count and data
226
227 OE_MSG_PUB.Count_And_Get
228 ( p_count => x_msg_count
229 , p_data => x_msg_data
230 );
231
232 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
233
234 OE_GLOBALS.G_UI_FLAG := FALSE;
235
236 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
237
238 -- Get message count and data
239
240 OE_MSG_PUB.Count_And_Get
241 ( p_count => x_msg_count
242 , p_data => x_msg_data
243 );
244
245 WHEN OTHERS THEN
246
247 OE_GLOBALS.G_UI_FLAG := FALSE;
248
249 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
250
251 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
252 THEN
253 OE_MSG_PUB.Add_Exc_Msg
254 ( G_PKG_NAME
255 , 'Default_Attributes'
256 );
257 END IF;
258
259 -- Get message count and data
260
261 OE_MSG_PUB.Count_And_Get
262 ( p_count => x_msg_count
263 , p_data => x_msg_data
264 );
265
266 END Default_Attributes;
267
268 -- Procedure : Change_Attribute
269 --
270
271
272 PROCEDURE Change_Attribute
273 ( x_return_status OUT NOCOPY VARCHAR2
274 , x_msg_count OUT NOCOPY NUMBER
275 , x_msg_data OUT NOCOPY VARCHAR2
276 , p_header_id IN NUMBER
277 , p_attr_id IN NUMBER
278 , p_attr_value IN VARCHAR2
279 , p_attr_id_tbl IN Number_Tbl_Type
280 , p_attr_value_tbl IN Varchar2_Tbl_Type
281 , p_header_dff_rec IN Oe_Oe_Form_Header.Header_Dff_Rec_Type
282 , p_date_format_mask IN VARCHAR2 DEFAULT 'DD-MON-RRRR HH24:MI:SS'
283 , x_header_rec IN OUT NOCOPY OE_ORDER_PUB.Header_Rec_Type
284 , x_header_val_rec IN OUT NOCOPY OE_ORDER_PUB.Header_Val_Rec_Type
285 , x_old_header_rec IN OUT NOCOPY OE_ORDER_PUB.Header_Rec_Type
286
287 )
288 IS
289 l_control_rec OE_GLOBALS.Control_Rec_Type;
290 l_return_status VARCHAR2(1);
291 l_date_format_mask VARCHAR2(30) := p_date_format_mask;
292 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
293 template_id NUMBER := x_header_rec.contract_template_id;
294 BEGIN
295
296 oe_debug_pub.add('Entering OE_OE_FORM_HEADER.CHANGE_ATTRIBUTES', 1);
297 oe_debug_pub.add('hash template id in change att start is '|| x_header_rec.contract_template_id);
298 -- Set the UI flag
299 OE_GLOBALS.G_UI_FLAG := TRUE;
300
301 -- Set control flags.
302
303 l_control_rec.controlled_operation := TRUE;
304 l_control_rec.check_security := TRUE;
305 l_control_rec.clear_dependents := TRUE;
306 l_control_rec.default_attributes := TRUE;
307 l_control_rec.change_attributes := TRUE;
308
309 l_control_rec.validate_entity := FALSE;
310 l_control_rec.write_to_DB := FALSE;
311 l_control_rec.process := FALSE;
312
313 -- Instruct API to retain its caches
314
315 l_control_rec.clear_api_cache := FALSE;
316 l_control_rec.clear_api_requests := FALSE;
317
318 -- Read header from cache
319
320 Get_header
321 ( p_db_record => FALSE
322 , p_header_id => p_header_id
323 , x_header_rec => x_header_rec
324 );
325 oe_debug_pub.add('hash template id in change att after get_header is '|| x_header_rec.contract_template_id);
326 x_header_rec.contract_template_id :=template_id;
327 x_old_header_rec := x_header_rec;
328
329 IF OE_CODE_CONTROL.Code_Release_Level >= '110509' THEN
330
331 IF l_debug_level > 0 THEN
332 oe_debug_pub.add( 'Code Release is >= 11.5.9') ;
333 END IF;
334
335
336 Copy_Attribute_To_Rec
337 (p_attr_id => p_attr_id
338 ,p_attr_value => p_attr_value
339 ,p_header_dff_rec => p_header_dff_rec
340 ,p_date_format_mask => p_date_format_mask
341 ,x_header_rec => x_header_rec
342 ,x_old_header_rec => x_old_header_rec
343 );
344
345 FOR l_index IN 1..p_attr_id_tbl.COUNT LOOP
346
347 Copy_Attribute_To_Rec
348 (p_attr_id => p_attr_id_tbl(l_index)
349 ,p_attr_value => p_attr_value_tbl(l_index)
350 ,p_header_dff_rec => p_header_dff_rec
351 ,p_date_format_mask => p_date_format_mask
352 ,x_header_rec => x_header_rec
353 ,x_old_header_rec => x_old_header_rec
354 );
355
356 END LOOP;
357 END IF;
358
359
360 -- PLEASE ADD THIS IF LOGIC FOR NEW ATTRIBUTES TO THE PROCEDURE
361 -- COPY_ATTRIBUTE_TO_REC ALSO. THIS NEW PROCEDURE WILL REPLACE
362 -- THESE CALLS POST OM PACK I OR 11.5.9.
363
364
365 oe_debuG_pub.add('attri id'||p_attr_id);
366 oe_debug_pub.add('attr val ksur'||p_attr_value);
367 IF p_attr_id = OE_Header_Util.G_ACCOUNTING_RULE THEN
368 x_header_rec.accounting_rule_id := TO_NUMBER(p_attr_value);
369 ELSIF p_attr_id = OE_Header_Util.G_ACCOUNTING_RULE_DURATION THEN
370 x_header_rec.accounting_rule_duration := TO_NUMBER(p_attr_value);
371 ELSIF p_attr_id = OE_Header_Util.G_AGREEMENT THEN
372 x_header_rec.agreement_id := TO_NUMBER(p_attr_value);
373 ELSIF p_attr_id = OE_Header_Util.G_BLANKET_NUMBER THEN
374 x_header_rec.blanket_number := TO_NUMBER(p_attr_value);
375 --kmuruges
376 ELSIF p_attr_id = OE_Header_Util.G_quote_date THEN
377 -- x_header_rec.quote_date := TO_DATE(p_attr_value,l_date_format_mask);
378 x_header_rec.quote_date := fnd_date.string_to_date(p_attr_value,l_date_format_mask); --bug5402396
379 ELSIF p_attr_id = OE_Header_Util.G_quote_number THEN
380 x_header_rec.quote_number := TO_NUMBER(p_attr_value);
381 ELSIF p_attr_id = OE_Header_Util.G_sales_document_name THEN
382 x_header_rec.sales_document_name := p_attr_value;
383 ELSIF p_attr_id = OE_Header_Util.G_transaction_phase THEN
384 x_header_rec.transaction_phase_code := p_attr_value;
385 ELSIF p_attr_id = OE_Header_Util.G_user_status THEN
386 x_header_rec.user_status_code := p_attr_value;
387 ELSIF p_attr_id = OE_Header_Util.G_draft_submitted THEN
388 x_header_rec.draft_submitted_flag := p_attr_value;
389 ELSIF p_attr_id = OE_Header_Util.G_source_document_version THEN
390 x_header_rec.source_document_version_number := TO_NUMBER(p_attr_value);
391 ELSIF p_attr_id = OE_Header_Util.G_sold_to_site_use THEN
392 x_header_rec.sold_to_site_use_id := TO_NUMBER(p_attr_value);
393
394 ELSIF p_attr_id = OE_Header_Util.G_ib_owner THEN
395 x_header_rec.ib_owner := p_attr_value;
396 ELSIF p_attr_id = OE_Header_Util.G_ib_installed_at_location THEN
397 x_header_rec.ib_installed_at_location := p_attr_value;
398 ELSIF p_attr_id = OE_Header_Util.G_ib_current_location THEN
399 x_header_rec.ib_current_location := p_attr_value;
400 ELSIF p_attr_id = OE_Header_Util.G_end_customer_site_use THEN
401 x_header_rec.end_customer_site_use_id := TO_NUMBER(p_attr_value);
402 ELSIF p_attr_id = OE_Header_Util.G_end_customer_contact THEN
403 x_header_rec.end_customer_contact_id := TO_NUMBER(p_attr_value);
404 ELSIF p_attr_id = OE_Header_Util.G_end_customer THEN
405 x_header_rec.end_customer_id := TO_NUMBER(p_attr_value);
406 --kmuruges end
407 ELSIF p_attr_id = OE_Header_Util.G_BOOKED THEN
408 x_header_rec.booked_flag := p_attr_value;
409 ELSIF p_attr_id = OE_Header_Util.G_BOOKED_DATE THEN
410 x_header_rec.booked_date := p_attr_value;
411 ELSIF p_attr_id = OE_Header_Util.G_CANCELLED THEN
412 x_header_rec.cancelled_flag := p_attr_value;
413 ELSIF p_attr_id = OE_Header_Util.G_CONVERSION_RATE THEN
414 x_header_rec.conversion_rate := TO_NUMBER(p_attr_value);
415 ELSIF p_attr_id = OE_Header_Util.G_CONVERSION_RATE_DATE THEN
416 -- x_header_rec.conversion_rate_date := TO_DATE(p_attr_value,l_date_format_mask);
417 x_header_rec.conversion_rate_date := fnd_date.string_to_date(p_attr_value,l_date_format_mask); --bug5402396
418 ELSIF p_attr_id = OE_Header_Util.G_CONVERSION_TYPE THEN
419 x_header_rec.conversion_type_code := p_attr_value;
420 ELSIF p_attr_id = OE_Header_Util.G_CUSTOMER_PREFERENCE_SET THEN
421 x_header_rec.CUSTOMER_PREFERENCE_SET_CODE := p_attr_value;
422 ELSIF p_attr_id = OE_Header_Util.G_CUST_PO_NUMBER THEN
423 x_header_rec.cust_po_number := p_attr_value;
424 ELSIF p_attr_id = OE_Header_Util.G_DEFAULT_FULFILLMENT_SET THEN
425 x_header_rec.DEFAULT_FULFILLMENT_SET := p_attr_value;
426 ELSIF p_attr_id = OE_Header_Util.G_DELIVER_TO_CONTACT THEN
427 x_header_rec.deliver_to_contact_id := TO_NUMBER(p_attr_value);
428 ELSIF p_attr_id = OE_Header_Util.G_DELIVER_TO_ORG THEN
429 x_header_rec.deliver_to_org_id := TO_NUMBER(p_attr_value);
430 ELSIF p_attr_id = OE_Header_Util.G_DEMAND_CLASS THEN
431 x_header_rec.demand_class_code := p_attr_value;
432 ELSIF p_attr_id = OE_Header_Util.G_EXPIRATION_DATE THEN
433 -- x_header_rec.expiration_date := TO_DATE(p_attr_value, l_date_format_mask);
434 x_header_rec.expiration_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask);--bug5402396
435 ELSIF p_attr_id = OE_Header_Util.G_EARLIEST_SCHEDULE_LIMIT THEN
436 x_header_rec.earliest_schedule_limit := TO_NUMBER(p_attr_value);
437 ELSIF p_attr_id = OE_Header_Util.G_FOB_POINT THEN
438 x_header_rec.fob_point_code := p_attr_value;
439 ELSIF p_attr_id = OE_Header_Util.G_FREIGHT_CARRIER THEN
440 x_header_rec.freight_carrier_code := p_attr_value;
441 ELSIF p_attr_id = OE_Header_Util.G_FREIGHT_TERMS THEN
442 x_header_rec.freight_terms_code := p_attr_value;
443 ELSIF p_attr_id = OE_Header_Util.G_FULFILLMENT_SET_NAME THEN
444 x_header_rec.FULFILLMENT_SET_NAME := p_attr_value;
445 ELSIF p_attr_id = OE_Header_Util.G_HEADER THEN
446 x_header_rec.header_id := TO_NUMBER(p_attr_value);
447 ELSIF p_attr_id = OE_Header_Util.G_INVOICE_TO_CONTACT THEN
448 x_header_rec.invoice_to_contact_id := TO_NUMBER(p_attr_value);
449 ELSIF p_attr_id = OE_Header_Util.G_INVOICE_TO_ORG THEN
450 x_header_rec.invoice_to_org_id := TO_NUMBER(p_attr_value);
451 ELSIF p_attr_id = OE_Header_Util.G_INVOICING_RULE THEN
452 x_header_rec.invoicing_rule_id := TO_NUMBER(p_attr_value);
453 ELSIF p_attr_id = OE_Header_Util.G_LATEST_SCHEDULE_LIMIT THEN
454 x_header_rec.latest_schedule_limit := TO_NUMBER(p_attr_value);
455 ELSIF p_attr_id = OE_Header_Util.G_LINE_SET_NAME THEN
456 x_header_rec.LINE_SET_NAME := p_attr_value;
457 ELSIF p_attr_id = OE_Header_Util.G_OPEN THEN
458 x_header_rec.open_flag := p_attr_value;
459 ELSIF p_attr_id = OE_Header_Util.G_ORDERED_DATE THEN
460 -- x_header_rec.ordered_date := TO_DATE(p_attr_value, l_date_format_mask);
461 x_header_rec.ordered_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask); --bug5402396
462 ELSIF p_attr_id = OE_Header_Util.G_ORDER_DATE_TYPE_CODE THEN
463 x_header_rec.order_date_type_code := p_attr_value;
464 ELSIF p_attr_id = OE_Header_Util.G_ORDER_NUMBER THEN
465 x_header_rec.order_number := TO_NUMBER(p_attr_value);
466 ELSIF p_attr_id = OE_Header_Util.G_ORDER_SOURCE THEN
467 x_header_rec.order_source_id := TO_NUMBER(p_attr_value);
468 ELSIF p_attr_id = OE_Header_Util.G_ORDER_TYPE THEN
469 x_header_rec.order_type_id := TO_NUMBER(p_attr_value);
470 ELSIF p_attr_id = OE_Header_Util.G_ORG THEN
471 x_header_rec.org_id := TO_NUMBER(p_attr_value);
472 ELSIF p_attr_id = OE_Header_Util.G_ORIG_SYS_DOCUMENT_REF THEN
473 x_header_rec.orig_sys_document_ref := p_attr_value;
474 ELSIF p_attr_id = OE_Header_Util.G_PARTIAL_SHIPMENTS_ALLOWED THEN
475 x_header_rec.partial_shipments_allowed := p_attr_value;
476 ELSIF p_attr_id = OE_Header_Util.G_PAYMENT_TERM THEN
477 x_header_rec.payment_term_id := TO_NUMBER(p_attr_value);
478 ELSIF p_attr_id = OE_Header_Util.G_PRICE_LIST THEN
479 x_header_rec.price_list_id := TO_NUMBER(p_attr_value);
480 ELSIF p_attr_id = OE_Header_Util.G_PRICING_DATE THEN
481 -- x_header_rec.pricing_date := TO_DATE(p_attr_value, l_date_format_mask);
482 x_header_rec.pricing_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask); --bug5402396
483 ELSIF p_attr_id = OE_Header_Util.G_REQUEST_DATE THEN
484 -- x_header_rec.request_date := TO_DATE(p_attr_value, l_date_format_mask);
485 x_header_rec.request_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask); --bug5402396
486 ELSIF p_attr_id = OE_Header_Util.G_SHIPMENT_PRIORITY THEN
487 x_header_rec.shipment_priority_code := p_attr_value;
488 ELSIF p_attr_id = OE_Header_Util.G_SHIPPING_METHOD THEN
489 x_header_rec.shipping_method_code := p_attr_value;
490 ELSIF p_attr_id = OE_Header_Util.G_SHIP_FROM_ORG THEN
491 x_header_rec.ship_from_org_id := TO_NUMBER(p_attr_value);
492 ELSIF p_attr_id = OE_Header_Util.G_SHIP_TOLERANCE_ABOVE THEN
493 x_header_rec.ship_tolerance_above := TO_NUMBER(p_attr_value);
494 ELSIF p_attr_id = OE_Header_Util.G_SHIP_TOLERANCE_BELOW THEN
495 x_header_rec.ship_tolerance_below := TO_NUMBER(p_attr_value);
496 ELSIF p_attr_id = OE_Header_Util.G_SHIP_TO_CONTACT THEN
497 x_header_rec.ship_to_contact_id := TO_NUMBER(p_attr_value);
498 ELSIF p_attr_id = OE_Header_Util.G_SHIP_TO_ORG THEN
499 x_header_rec.ship_to_org_id := TO_NUMBER(p_attr_value);
500 ELSIF p_attr_id = OE_Header_Util.G_SOLD_TO_CONTACT THEN
501 x_header_rec.sold_to_contact_id := TO_NUMBER(p_attr_value);
502 ELSIF p_attr_id = OE_Header_Util.G_SOLD_TO_ORG THEN
503 x_header_rec.sold_to_org_id := TO_NUMBER(p_attr_value);
504 ELSIF p_attr_id = OE_Header_Util.G_SOLD_TO_PHONE THEN
505 x_header_rec.sold_to_phone_id := TO_NUMBER(p_attr_value);
506 ELSIF p_attr_id = OE_Header_Util.G_SOURCE_DOCUMENT THEN
507 x_header_rec.source_document_id := TO_NUMBER(p_attr_value);
508 ELSIF p_attr_id = OE_Header_Util.G_SOURCE_DOCUMENT_TYPE THEN
509 x_header_rec.source_document_type_id := TO_NUMBER(p_attr_value);
510 ELSIF p_attr_id = OE_Header_Util.G_TAX_EXEMPT THEN
511 x_header_rec.tax_exempt_flag := p_attr_value;
512 ELSIF p_attr_id = OE_Header_Util.G_TAX_EXEMPT_NUMBER THEN
513 x_header_rec.tax_exempt_number := p_attr_value;
514 ELSIF p_attr_id = OE_Header_Util.G_TAX_EXEMPT_REASON THEN
515 x_header_rec.tax_exempt_reason_code := p_attr_value;
516 ELSIF p_attr_id = OE_Header_Util.G_TAX_POINT THEN
517 x_header_rec.tax_point_code := p_attr_value;
518 ELSIF p_attr_id = OE_Header_Util.G_TRANSACTIONAL_CURR THEN
519 x_header_rec.transactional_curr_code := p_attr_value;
520 ELSIF p_attr_id = OE_Header_Util.G_VERSION_NUMBER THEN
521 x_header_rec.version_number := TO_NUMBER(p_attr_value);
522 ELSIF p_attr_id = OE_Header_Util.G_SALESREP THEN
523 x_header_rec.salesrep_id := TO_NUMBER(p_attr_value);
524 ELSIF p_attr_id = OE_Header_Util.G_SALES_CHANNEL THEN
525 x_header_rec.sales_channel_code := p_attr_value;
526 ELSIF p_attr_id = OE_Header_Util.G_RETURN_REASON THEN
527 x_header_rec.return_reason_code := p_attr_value;
528 ELSIF p_attr_id = OE_Header_Util.G_PAYMENT_TYPE THEN
529 x_header_rec.payment_type_code := p_attr_value;
530 ELSIF p_attr_id = OE_Header_Util.G_PAYMENT_AMOUNT THEN
531 x_header_rec.payment_amount := TO_NUMBER(p_attr_value);
532 ELSIF p_attr_id = OE_Header_Util.G_CHECK_NUMBER THEN
533 x_header_rec.check_number := p_attr_value;
534 ELSIF p_attr_id = OE_Header_Util.G_CREDIT_CARD THEN
535 x_header_rec.credit_card_code := p_attr_value;
536 ELSIF p_attr_id = OE_Header_Util.G_CREDIT_CARD_HOLDER_NAME THEN
537 x_header_rec.credit_card_holder_name := p_attr_value;
538 ELSIF p_attr_id = OE_Header_Util.G_CREDIT_CARD_NUMBER THEN
539 x_header_rec.credit_card_number := p_attr_value;
540 ELSIF p_attr_id = Oe_header_util.G_INSTRUMENT_SECURITY THEN--R12 CC Encryption
541 x_header_rec.instrument_security_code := p_attr_value;
542 ELSIF p_attr_id = Oe_header_util.G_CC_INSTRUMENT THEN
543 x_header_rec.CC_INSTRUMENT_ID := p_attr_value;
544 ELSIF p_attr_id = Oe_header_util.G_CC_INSTRUMENT_ASSIGNMENT THEN
545 x_header_rec.CC_INSTRUMENT_ASSIGNMENT_ID := p_attr_value; --R12 CC Encryption
546 ELSIF p_attr_id = OE_Header_Util.G_CREDIT_CARD_EXPIRATION_DATE THEN
547 -- x_header_rec.credit_card_expiration_date := TO_DATE(p_attr_value, l_date_format_mask);
548 x_header_rec.credit_card_expiration_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask); --bug5402396
549 ELSIF p_attr_id = OE_Header_Util.G_CREDIT_CARD_APPROVAL_DATE THEN
550 -- x_header_rec.credit_card_approval_date := TO_DATE(p_attr_value, l_date_format_mask);
551 x_header_rec.credit_card_approval_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask); --bug5402396
552 ELSIF p_attr_id = OE_Header_Util.G_CREDIT_CARD_APPROVAL THEN
553 x_header_rec.credit_card_approval_code := p_attr_value;
554 ELSIF p_attr_id = OE_Header_Util.G_FIRST_ACK THEN
555 x_header_rec.first_ack_code := p_attr_value;
556 ELSIF p_attr_id = OE_Header_Util.G_FIRST_ACK_DATE THEN
557 -- x_header_rec.first_ack_date := TO_DATE(p_attr_value, l_date_format_mask);
558 x_header_rec.first_ack_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask); --bug5402396
559 ELSIF p_attr_id = OE_Header_Util.G_LAST_ACK THEN
560 x_header_rec.last_ack_code := p_attr_value;
561 ELSIF p_attr_id = OE_Header_Util.G_SHIPPING_INSTRUCTIONS THEN
562 x_header_rec.shipping_instructions := p_attr_value;
563 ELSIF p_attr_id = OE_Header_Util.G_PACKING_INSTRUCTIONS THEN
564 x_header_rec.packing_instructions := p_attr_value;
565 ELSIF p_attr_id = OE_Header_Util.G_LAST_ACK_DATE THEN
566 -- x_header_rec.last_ack_date := TO_DATE(p_attr_value, l_date_format_mask);
567 x_header_rec.last_ack_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask); --bug5402396
568 ELSIF p_attr_id = OE_Header_Util.G_ORDER_CATEGORY THEN
569 x_header_rec.order_category_code := p_attr_value;
570 ELSIF p_attr_id = OE_Header_Util.G_CONTRACT_TEMPLATE THEN
571 x_header_rec.contract_template_id := TO_NUMBER(p_attr_value);
572 ELSIF p_attr_id = OE_Header_Util.G_CONTRACT_SOURCE_DOC_TYPE THEN
573 x_header_rec.contract_source_doc_type_code := p_attr_value;
574 ELSIF p_attr_id = OE_Header_Util.G_CONTRACT_SOURCE_DOCUMENT THEN
575 x_header_rec.contract_source_document_id := TO_NUMBER(p_attr_value);
576 ELSIF p_attr_id = OE_Header_Util.G_SUPPLIER_SIGNATURE THEN
577 x_header_rec.supplier_signature := p_attr_value;
578 ELSIF p_attr_id = OE_Header_Util.G_CUSTOMER_SIGNATURE THEN
579 x_header_rec.customer_signature := p_attr_value;
580 ELSIF p_attr_id = OE_Header_Util.G_CUSTOMER_SIGNATURE_DATE THEN
581 -- x_header_rec.customer_signature_date := TO_DATE(p_attr_value, l_date_format_mask);
582 x_header_rec.customer_signature_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask); --bug5402396
583 ELSIF p_attr_id = OE_Header_Util.G_SUPPLIER_SIGNATURE_DATE THEN
584 -- x_header_rec.supplier_signature_date := TO_DATE(p_attr_value, l_date_format_mask);
585 x_header_rec.supplier_signature_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask); --bug5402396
586 ELSIF p_attr_id = OE_Header_Util.G_ATTRIBUTE1
587 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE10
588 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE11
589 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE12
590 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE13
591 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE14
592 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE15
593 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE16 --For bug 2184255
594 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE17
595 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE18
596 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE19
597 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE2
598 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE20
599 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE3
600 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE4
601 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE5
602 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE6
603 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE7
604 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE8
605 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE9
606 OR p_attr_id = OE_Header_Util.G_CONTEXT
607 THEN
608
609 x_header_rec.attribute1 := p_header_dff_rec.attribute1;
610 x_header_rec.attribute10 := p_header_dff_rec.attribute10;
611 x_header_rec.attribute11 := p_header_dff_rec.attribute11;
612 x_header_rec.attribute12 := p_header_dff_rec.attribute12;
613 x_header_rec.attribute13 := p_header_dff_rec.attribute13;
614 x_header_rec.attribute14 := p_header_dff_rec.attribute14;
615 x_header_rec.attribute15 := p_header_dff_rec.attribute15;
616 x_header_rec.attribute16 := p_header_dff_rec.attribute16; --For bug 2184255
617 x_header_rec.attribute17 := p_header_dff_rec.attribute17;
618 x_header_rec.attribute18 := p_header_dff_rec.attribute18;
619 x_header_rec.attribute19 := p_header_dff_rec.attribute19;
620 x_header_rec.attribute2 := p_header_dff_rec.attribute2;
621 x_header_rec.attribute20 := p_header_dff_rec.attribute20;
622 x_header_rec.attribute3 := p_header_dff_rec.attribute3;
623 x_header_rec.attribute4 := p_header_dff_rec.attribute4;
624 x_header_rec.attribute5 := p_header_dff_rec.attribute5;
625 x_header_rec.attribute6 := p_header_dff_rec.attribute6;
626 x_header_rec.attribute7 := p_header_dff_rec.attribute7;
627 x_header_rec.attribute8 := p_header_dff_rec.attribute8;
628 x_header_rec.attribute9 := p_header_dff_rec.attribute9;
629 x_header_rec.context := p_header_dff_rec.context;
630
631 -- null; -- Kris get desc flec working
632
633 ELSIF p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE1
634 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE10
635 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE11
636 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE12
637 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE13
638 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE14
639 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE15
640 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE16
641 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE17
642 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE18
643 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE19
644 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE2
645 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE20
646 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE3
647 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE4
648 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE5
649 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE6
650 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE7
651 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE8
652 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE9
653 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE_CATEGORY
654 THEN
655
656 x_header_rec.global_attribute1 := p_header_dff_rec.global_attribute1;
657 x_header_rec.global_attribute10 := p_header_dff_rec.global_attribute10;
658 x_header_rec.global_attribute11 := p_header_dff_rec.global_attribute11;
659 x_header_rec.global_attribute12 := p_header_dff_rec.global_attribute12;
660 x_header_rec.global_attribute13 := p_header_dff_rec.global_attribute13;
661 x_header_rec.global_attribute14 := p_header_dff_rec.global_attribute14;
662 x_header_rec.global_attribute15 := p_header_dff_rec.global_attribute15;
663 x_header_rec.global_attribute16 := p_header_dff_rec.global_attribute16;
664 x_header_rec.global_attribute17 := p_header_dff_rec.global_attribute17;
665 x_header_rec.global_attribute18 := p_header_dff_rec.global_attribute18;
666 x_header_rec.global_attribute19 := p_header_dff_rec.global_attribute19;
667 x_header_rec.global_attribute2 := p_header_dff_rec.global_attribute2;
668 x_header_rec.global_attribute20 := p_header_dff_rec.global_attribute20;
669 x_header_rec.global_attribute3 := p_header_dff_rec.global_attribute3;
670 x_header_rec.global_attribute4 := p_header_dff_rec.global_attribute4;
671 x_header_rec.global_attribute5 := p_header_dff_rec.global_attribute5;
672 x_header_rec.global_attribute6 := p_header_dff_rec.global_attribute6;
673 x_header_rec.global_attribute7 := p_header_dff_rec.global_attribute7;
674 x_header_rec.global_attribute8 := p_header_dff_rec.global_attribute8;
675 x_header_rec.global_attribute9 := p_header_dff_rec.global_attribute9;
676 x_header_rec.global_attribute_category := p_header_dff_rec.global_attribute_category;
677
678 null; --Kris
679 ELSIF p_attr_id = OE_Header_Util.G_TP_CONTEXT
680 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE1
681 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE2
682 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE3
683 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE4
684 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE5
685 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE6
686 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE7
687 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE8
688 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE9
689 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE10
690 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE11
691 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE12
692 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE13
693 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE14
694 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE15
695 THEN
696
697 x_header_rec.tp_attribute1 := p_header_dff_rec.tp_attribute1;
698 x_header_rec.tp_attribute10 := p_header_dff_rec.tp_attribute10;
699 x_header_rec.tp_attribute11 := p_header_dff_rec.tp_attribute11;
700 x_header_rec.tp_attribute12 := p_header_dff_rec.tp_attribute12;
701 x_header_rec.tp_attribute13 := p_header_dff_rec.tp_attribute13;
702 x_header_rec.tp_attribute14 := p_header_dff_rec.tp_attribute14;
703 x_header_rec.tp_attribute15 := p_header_dff_rec.tp_attribute15;
704 x_header_rec.tp_attribute2 := p_header_dff_rec.tp_attribute2;
705 x_header_rec.tp_attribute3 := p_header_dff_rec.tp_attribute3;
706 x_header_rec.tp_attribute4 := p_header_dff_rec.tp_attribute4;
707 x_header_rec.tp_attribute5 := p_header_dff_rec.tp_attribute5;
708 x_header_rec.tp_attribute6 := p_header_dff_rec.tp_attribute6;
709 x_header_rec.tp_attribute7 := p_header_dff_rec.tp_attribute7;
710 x_header_rec.tp_attribute8 := p_header_dff_rec.tp_attribute8;
711 x_header_rec.tp_attribute9 := p_header_dff_rec.tp_attribute9;
712 x_header_rec.tp_context := p_header_dff_rec.tp_context;
713 ELSE
714
715 -- Unexpected error, unrecognized attribute
716
717 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
718 THEN
719 OE_MSG_PUB.Add_Exc_Msg
720 ( G_PKG_NAME
721 , 'Change_Attribute'
722 , 'Unrecognized attribute'
723 );
724 END IF;
725
726 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
727
728 END IF;
729
730 -- Set Operation.
731
732 IF FND_API.To_Boolean(x_header_rec.db_flag) THEN
733 x_header_rec.operation := OE_GLOBALS.G_OPR_UPDATE;
734 ELSE
735 x_header_rec.operation := OE_GLOBALS.G_OPR_CREATE;
736 END IF;
737
738 -- Call Oe_Order_Pvt.Header
739 oe_debug_pub.add('Exiting OE_OE_FORM_HEADER.CHANGE_ATTRIBUTES'||x_header_rec.sold_to_phone_id, 1);
740 oe_debug_pub.add('hash template id in change att before invoice is '|| x_header_rec.contract_template_id);
741 oe_debug_pub.add('Entering invoice'||x_header_rec.invoice_to_org_id, 1);
742 oe_debug_pub.add('Entering Invoice'||x_old_header_rec.invoice_to_org_id, 1);
743
744 Oe_Order_Pvt.Header
745 (
746 p_validation_level => FND_API.G_VALID_LEVEL_NONE
747 , p_init_msg_list => FND_API.G_TRUE
748 , p_control_rec => l_control_rec
749 , p_x_header_rec => x_header_rec
750 , p_x_old_header_rec => x_old_header_rec
751 , x_return_status => l_return_status
752 );
753 oe_debug_pub.add('Exiting invoice'||x_header_rec.invoice_to_org_id, 1);
754 oe_debug_pub.add('Exiting invoice'||x_old_header_rec.invoice_to_org_id, 1);
755 --oe_debug_pub.add('Holder name new'||x_header_rec.credit_card_holder_name);
756 --oe_debug_pub.add('Holder name old'||x_old_header_rec.credit_card_holder_name);
757
758 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
759 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
760 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
761 RAISE FND_API.G_EXC_ERROR;
762 END IF;
763
764
765 -- Init OUT NOCOPY parameters to missing.
766
767
768 -- Load display out NOCOPY parameters if any
769
770 x_header_val_rec := OE_Header_Util.Get_Values
771 ( p_header_rec => x_header_rec
772 , p_old_header_rec => x_old_header_rec
773 );
774
775 -- Return changed attributes.
776
777 --If defaulting is enabled for credit card number, then need to populate the
778 --instrument id and instrument assignment id returned by the Payments API in
779 --OE_Default_Pvt package
780
781 IF OE_Default_Pvt.g_default_instrument_id IS NOT NULL THEN
782 x_header_rec.cc_instrument_id := OE_Default_Pvt.g_default_instrument_id;
783 oe_debug_pub.add('instr id in fhpmb'||x_header_rec.cc_instrument_id);
784 --Setting the value of assignment id to null
785 --after passing the value to the library
786 OE_Default_Pvt.g_default_instrument_id := null;
787 END IF;
788
789 IF OE_Default_Pvt.g_default_instr_assignment_id IS NOT NULL THEN
790 x_header_rec.cc_instrument_assignment_id := OE_Default_Pvt.g_default_instr_assignment_id;
791 oe_debug_pub.add('assign id in fhpmb'||x_header_rec.cc_instrument_assignment_id );
792 --Setting the value of assignment id to null
793 --after passing the value to the library
794 OE_Default_Pvt.g_default_instr_assignment_id := null;
795 END IF;
796 --R12 CC Encryption
797 -- Write to cache.
798
799 Write_header
800 ( p_header_rec => x_header_rec
801 );
802
803 -- Re-set the UI flag to FALSE
804 OE_GLOBALS.G_UI_FLAG := FALSE;
805
806 -- Set return status.
807
808 x_return_status := FND_API.G_RET_STS_SUCCESS;
809
810 -- Get message count and data
811
812 OE_MSG_PUB.Count_And_Get
813 ( p_count => x_msg_count
814 , p_data => x_msg_data
815 );
816
817 oe_debug_pub.add('Exiting OE_OE_FORM_HEADER.CHANGE_ATTRIBUTES', 1);
818
819 EXCEPTION
820
821 WHEN FND_API.G_EXC_ERROR THEN
822
823 OE_GLOBALS.G_UI_FLAG := FALSE;
824
825 x_return_status := FND_API.G_RET_STS_ERROR;
826
827 -- Get message count and data
828
829 OE_MSG_PUB.Count_And_Get
830 ( p_count => x_msg_count
831 , p_data => x_msg_data
832 );
833
834 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
835
836 OE_GLOBALS.G_UI_FLAG := FALSE;
837
838 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
839
840 -- Get message count and data
841
842 OE_MSG_PUB.Count_And_Get
843 ( p_count => x_msg_count
844 , p_data => x_msg_data
845 );
846
847 WHEN OTHERS THEN
848
849 OE_GLOBALS.G_UI_FLAG := FALSE;
850
851 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
852
853 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
854 THEN
855 OE_MSG_PUB.Add_Exc_Msg
856 ( G_PKG_NAME
857 , 'Change_Attribute'
858 );
859 END IF;
860
861 -- Get message count and data
862
863 OE_MSG_PUB.Count_And_Get
864 ( p_count => x_msg_count
865 , p_data => x_msg_data
866 );
867
868 END Change_Attribute;
869
870 -- Procedure Validate_And_Write
871 --
872
873 PROCEDURE Validate_And_Write
874 ( x_return_status OUT NOCOPY VARCHAR2
875 , x_msg_count OUT NOCOPY NUMBER
876 , x_msg_data OUT NOCOPY VARCHAR2
877 , x_cascade_flag OUT NOCOPY BOOLEAN
878 , p_header_id IN NUMBER
879 , p_change_reason_code IN VARCHAR2
880 , p_change_comments IN VARCHAR2
881 , x_creation_date OUT NOCOPY DATE
882 , x_created_by OUT NOCOPY NUMBER
883 , x_last_update_date OUT NOCOPY DATE
884 , x_last_updated_by OUT NOCOPY NUMBER
885 , x_last_update_login OUT NOCOPY NUMBER
886 , x_order_number OUT NOCOPY NUMBER
887 , x_lock_control OUT NOCOPY NUMBER
888 , x_quote_number OUT NOCOPY NUMBER
889 ,x_shipping_method_code OUT NOCOPY VARCHAR2 --4159701
890 , x_freight_carrier_code OUT NOCOPY VARCHAR2 --4159701
891 , x_shipping_method OUT NOCOPY VARCHAR2--4159701
892 , x_freight_carrier OUT NOCOPY VARCHAR2 --4159701
893 , x_freight_terms_code OUT NOCOPY VARCHAR2 --4348011
894 , x_freight_terms OUT NOCOPY VARCHAR2
895 , x_payment_term_id OUT NOCOPY NUMBER
896 , x_payment_term OUT NOCOPY VARCHAR2
897 )
898 IS
899 l_x_old_header_rec OE_Order_PUB.Header_Rec_Type;
900 l_control_rec OE_GLOBALS.Control_Rec_Type;
901 l_return_status VARCHAR2(1);
902 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
903 BEGIN
904
905 SAVEPOINT Header_Validate_And_Write;
906 OE_HEADER_UTIL.g_rollback_done := 'N'; -- bug 12759791
907 oe_debug_pub.add('Entering OE_OE_FORM_HEADER.VALIDATE_AND_WRITE', 1);
908
909 -- Set the UI flag
910 OE_GLOBALS.G_UI_FLAG := TRUE;
911
912 -- Set control flags.
913
914 l_control_rec.controlled_operation := TRUE;
915 l_control_rec.validate_entity := TRUE;
916 l_control_rec.write_to_DB := TRUE;
917
918 l_control_rec.check_security := FALSE;
919 l_control_rec.clear_dependents := FALSE;
920 l_control_rec.default_attributes := FALSE;
921 l_control_rec.change_attributes := FALSE;
922 l_control_rec.process := FALSE;
923
924 -- Instruct API to retain its caches
925
926 l_control_rec.clear_api_cache := FALSE;
927 l_control_rec.clear_api_requests := FALSE;
928
929 -- Read header from cache
930
931 Get_header
932 ( p_db_record => TRUE
933 , p_header_id => p_header_id
934 , x_header_rec => l_x_old_header_rec
935 );
936
937 Get_header
938 ( p_db_record => FALSE
939 , p_header_id => p_header_id
940 , x_header_rec => l_x_header_rec
941 );
942
943 /* Start Audit Trail -- Pass the reason, comments */
944 l_x_header_rec.change_reason := p_change_reason_code;
945 l_x_header_rec.change_comments := p_change_comments;
946 /* End Audit Trail */
947
948 -- Set Operation.
949
950 IF FND_API.To_Boolean(l_x_header_rec.db_flag) THEN
951 l_x_header_rec.operation := OE_GLOBALS.G_OPR_UPDATE;
952 ELSE
953 l_x_header_rec.operation := OE_GLOBALS.G_OPR_CREATE;
954 END IF;
955
956 -- Call Oe_Order_Pvt.Header
957
958 Oe_Order_Pvt.Header
959 ( p_validation_level => FND_API.G_VALID_LEVEL_NONE
960 , p_init_msg_list => FND_API.G_TRUE
961 , p_control_rec => l_control_rec
962 , p_x_header_rec => l_x_header_rec
963 , p_x_old_header_rec => l_x_old_header_rec
964 , x_return_status => l_return_status
965 );
966
967
968 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
969 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
970 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
971 RAISE FND_API.G_EXC_ERROR;
972 END IF;
973
974 /* The Process Requests and Notify should be invoked for */
975 /* Pre-Pack H code level */
976
977 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL < '110508' THEN
978
979 Oe_Order_Pvt.Process_Requests_And_Notify
980 ( p_process_requests => FALSE
981 , p_init_msg_list => FND_API.G_FALSE
982 , p_notify => TRUE
983 , x_return_status => l_return_status
984 , p_header_rec => l_x_header_rec
985 , p_old_header_rec => l_x_old_header_rec
986 );
987
988 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
989 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
990 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
991 RAISE FND_API.G_EXC_ERROR;
992 END IF;
993
994 END IF; /* code release level check */
995
996
997 x_cascade_flag := OE_GLOBALS.G_CASCADING_REQUEST_LOGGED;
998 -- Load OUT NOCOPY parameters.
999
1000
1001 x_creation_date := l_x_header_rec.creation_date;
1002 x_created_by := l_x_header_rec.created_by;
1003 x_last_update_date := l_x_header_rec.last_update_date;
1004 x_last_updated_by := l_x_header_rec.last_updated_by;
1005 x_last_update_login := l_x_header_rec.last_update_login;
1006 x_order_number := l_x_header_rec.order_number;
1007 x_lock_control := l_x_header_rec.lock_control;
1008 --kmuruges
1009 x_quote_number := l_x_header_rec.quote_number;
1010 --kmuruges end
1011 --start 4159701
1012 x_shipping_method_code := l_x_header_rec.shipping_method_code;
1013 x_freight_carrier_code := l_x_header_rec.freight_carrier_code;
1014 x_freight_carrier := OE_ID_TO_VALUE.Freight_Carrier
1015 ( p_freight_carrier_code => l_x_header_rec.freight_carrier_code
1016 , p_ship_from_org_id =>l_x_header_rec.ship_from_org_id
1017 );
1018
1019 x_shipping_method := OE_ID_TO_VALUE.Ship_Method
1020 (p_ship_method_code =>l_x_header_rec.shipping_method_code
1021 );
1022 --bug 4348011
1023 x_freight_terms_code := l_x_header_rec.freight_terms_code;
1024 oe_debug_pub.add('ksurendr Freight terms code after PO'||x_freight_terms_code, 1);
1025 x_freight_terms := OE_ID_TO_VALUE.Freight_Terms
1026 (p_freight_terms_code => l_x_header_rec.freight_terms_code);
1027 x_payment_term_id := l_x_header_rec.payment_term_id;
1028 x_payment_term := OE_ID_TO_VALUE.Payment_Term
1029 (p_payment_term_id => l_x_header_rec.payment_term_id);
1030 --bug 4348011
1031 -- Clear header record cache
1032
1033 Clear_header;
1034
1035 -- Keep track of performed operations.
1036 /* Is the following assignment Needed- Venkatesh */
1037 -- l_x_old_header_rec.operation := l_x_header_rec.operation;
1038
1039 -- Re-set the UI flag to FALSE
1040 OE_GLOBALS.G_UI_FLAG := FALSE;
1041
1042 -- Set return status.
1043
1044 x_return_status := FND_API.G_RET_STS_SUCCESS;
1045
1046 -- Get message count and data
1047
1048 OE_MSG_PUB.Count_And_Get
1049 ( p_count => x_msg_count
1050 , p_data => x_msg_data
1051 );
1052
1053 oe_debug_pub.add('Exiting OE_OE_FORM_HEADER.VALIDATE_AND_WRITE', 1);
1054
1055 EXCEPTION
1056
1057 WHEN FND_API.G_EXC_ERROR THEN
1058
1059 OE_GLOBALS.G_UI_FLAG := FALSE;
1060 IF Nvl(OE_HEADER_UTIL.g_rollback_done,'N') <> 'Y' THEN -- bug 12759791
1061 ROLLBACK TO SAVEPOINT Header_Validate_And_Write;
1062 END IF;
1063
1064 x_return_status := FND_API.G_RET_STS_ERROR;
1065
1066 -- Get message count and data
1067
1068 OE_MSG_PUB.Count_And_Get
1069 ( p_count => x_msg_count
1070 , p_data => x_msg_data
1071 );
1072
1073 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1074
1075 OE_GLOBALS.G_UI_FLAG := FALSE;
1076
1077 ROLLBACK TO SAVEPOINT Header_Validate_And_Write;
1078
1079 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1080
1081 -- Get message count and data
1082
1083 OE_MSG_PUB.Count_And_Get
1084 ( p_count => x_msg_count
1085 , p_data => x_msg_data
1086 );
1087
1088 WHEN OTHERS THEN
1089
1090 OE_GLOBALS.G_UI_FLAG := FALSE;
1091
1092 ROLLBACK TO SAVEPOINT Header_Validate_And_Write;
1093
1094 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1095
1096 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1097 THEN
1098 OE_MSG_PUB.Add_Exc_Msg
1099 ( G_PKG_NAME
1100 , 'Validate_And_Write'
1101 );
1102 END IF;
1103
1104 -- Get message count and data
1105
1106 OE_MSG_PUB.Count_And_Get
1107 ( p_count => x_msg_count
1108 , p_data => x_msg_data
1109 );
1110
1111 END Validate_And_Write;
1112
1113 -- Procedure Delete_Row
1114 --
1115
1116 PROCEDURE Delete_Row
1117 ( x_return_status OUT NOCOPY VARCHAR2
1118 , x_msg_count OUT NOCOPY NUMBER
1119 , x_msg_data OUT NOCOPY VARCHAR2
1120 , p_header_id IN NUMBER
1121 )
1122 IS
1123 l_x_old_header_rec OE_Order_PUB.Header_Rec_Type;
1124 l_control_rec OE_GLOBALS.Control_Rec_Type;
1125 l_return_status VARCHAR2(1);
1126 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
1127 BEGIN
1128 SAVEPOINT Header_Delete;
1129 oe_debug_pub.add('Entering OE_OE_FORM_HEADER.DELETE_ROW', 1);
1130
1131 -- Set the UI flag
1132 OE_GLOBALS.G_UI_FLAG := TRUE;
1133
1134 -- Set control flags.
1135
1136 l_control_rec.controlled_operation := TRUE;
1137 l_control_rec.check_security := TRUE;
1138 l_control_rec.validate_entity := TRUE;
1139 l_control_rec.write_to_DB := TRUE;
1140
1141 l_control_rec.clear_dependents := FALSE;
1142 l_control_rec.default_attributes := FALSE;
1143 l_control_rec.change_attributes := FALSE;
1144 l_control_rec.process := FALSE;
1145
1146 -- Instruct API to retain its caches
1147
1148 l_control_rec.clear_api_cache := FALSE;
1149 l_control_rec.clear_api_requests := FALSE;
1150
1151 -- Read DB record from cache
1152
1153 Get_header
1154 ( p_db_record => TRUE
1155 , p_header_id => p_header_id
1156 , x_header_rec => l_x_header_rec
1157 );
1158
1159 -- Set Operation.
1160
1161 l_x_header_rec.operation := OE_GLOBALS.G_OPR_DELETE;
1162
1163 -- Call Oe_Order_Pvt.Header
1164
1165 Oe_Order_Pvt.Header
1166 ( p_validation_level => FND_API.G_VALID_LEVEL_NONE
1167 , p_init_msg_list => FND_API.G_TRUE
1168 , p_control_rec => l_control_rec
1169 , p_x_header_rec => l_x_header_rec
1170 , p_x_old_header_rec => l_x_old_header_rec
1171 , x_return_status => l_return_status
1172 );
1173
1174 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1175 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1176 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1177 RAISE FND_API.G_EXC_ERROR;
1178 END IF;
1179
1180
1181 -- Clear header record cache
1182
1183 Clear_header;
1184
1185 -- Re-set the UI flag to FALSE
1186 OE_GLOBALS.G_UI_FLAG := FALSE;
1187
1188 -- Set return status.
1189
1190 x_return_status := FND_API.G_RET_STS_SUCCESS;
1191
1192 -- Get message count and data
1193
1194 OE_MSG_PUB.Count_And_Get
1195 ( p_count => x_msg_count
1196 , p_data => x_msg_data
1197 );
1198
1199 oe_debug_pub.add('Exiting OE_OE_FORM_HEADER.DELETE_ROW', 1);
1200
1201 EXCEPTION
1202
1203 WHEN FND_API.G_EXC_ERROR THEN
1204 ROLLBACK TO SAVEPOINT Header_Delete ;
1205 OE_GLOBALS.G_UI_FLAG := FALSE;
1206
1207 x_return_status := FND_API.G_RET_STS_ERROR;
1208
1209 -- Get message count and data
1210
1211 OE_MSG_PUB.Count_And_Get
1212 ( p_count => x_msg_count
1213 , p_data => x_msg_data
1214 );
1215
1216 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1217 ROLLBACK TO SAVEPOINT Header_Delete ;
1218
1219 OE_GLOBALS.G_UI_FLAG := FALSE;
1220
1221 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1222
1223 -- Get message count and data
1224
1225 OE_MSG_PUB.Count_And_Get
1226 ( p_count => x_msg_count
1227 , p_data => x_msg_data
1228 );
1229
1230 WHEN OTHERS THEN
1231 ROLLBACK TO SAVEPOINT Header_Delete ;
1232
1233 OE_GLOBALS.G_UI_FLAG := FALSE;
1234
1235 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1236
1237 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1238 THEN
1239 OE_MSG_PUB.Add_Exc_Msg
1240 ( G_PKG_NAME
1241 , 'Delete_Row'
1242 );
1243 END IF;
1244
1245 -- Get message count and data
1246
1247 OE_MSG_PUB.Count_And_Get
1248 ( p_count => x_msg_count
1249 , p_data => x_msg_data
1250 );
1251
1252 END Delete_Row;
1253
1254 -- Procedure Process_Entity
1255 --
1256
1257 PROCEDURE Process_Entity
1258 ( x_return_status OUT NOCOPY VARCHAR2
1259 , x_msg_count OUT NOCOPY NUMBER
1260 , x_msg_data OUT NOCOPY VARCHAR2
1261 )
1262 IS
1263 l_return_status VARCHAR2(1);
1264 BEGIN
1265
1266 oe_debug_pub.add('Entering OE_OE_FORM_HEADER.PROCESS_ENTITY', 1);
1267
1268 -- Set the UI flag
1269 OE_GLOBALS.G_UI_FLAG := TRUE;
1270
1271 -- Set control flags.
1272
1273
1274 Oe_Order_Pvt.Process_Requests_And_Notify
1275 ( p_process_requests => TRUE
1276 , p_init_msg_list => FND_API.G_TRUE
1277 , p_notify => FALSE
1278 , x_return_status => l_return_status
1279 );
1280
1281
1282 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1283 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1284 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1285 RAISE FND_API.G_EXC_ERROR;
1286 END IF;
1287
1288 -- Re-set the UI flag to FALSE
1289 OE_GLOBALS.G_UI_FLAG := FALSE;
1290
1291 -- Set return status.
1292
1293 x_return_status := FND_API.G_RET_STS_SUCCESS;
1294
1295 -- Get message count and data
1296
1297 OE_MSG_PUB.Count_And_Get
1298 ( p_count => x_msg_count
1299 , p_data => x_msg_data
1300 );
1301
1302 oe_debug_pub.add('Exiting OE_OE_FORM_HEADER.PROCESS_ENTITY', 1);
1303
1304 EXCEPTION
1305
1306 WHEN FND_API.G_EXC_ERROR THEN
1307
1308 OE_GLOBALS.G_UI_FLAG := FALSE;
1309
1310 x_return_status := FND_API.G_RET_STS_ERROR;
1311
1312 -- Get message count and data
1313
1314 OE_MSG_PUB.Count_And_Get
1315 ( p_count => x_msg_count
1316 , p_data => x_msg_data
1317 );
1318
1319 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1320
1321 OE_GLOBALS.G_UI_FLAG := FALSE;
1322
1323 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1324
1325 -- Get message count and data
1326
1327 OE_MSG_PUB.Count_And_Get
1328 ( p_count => x_msg_count
1329 , p_data => x_msg_data
1330 );
1331
1332 WHEN OTHERS THEN
1333
1334 OE_GLOBALS.G_UI_FLAG := FALSE;
1335
1336 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1337
1338 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1339 THEN
1340 OE_MSG_PUB.Add_Exc_Msg
1341 ( G_PKG_NAME
1342 , 'Process_Entity'
1343 );
1344 END IF;
1345
1346 -- Get message count and data
1347
1348 OE_MSG_PUB.Count_And_Get
1349 ( p_count => x_msg_count
1350 , p_data => x_msg_data
1351 );
1352
1353 END Process_Entity;
1354
1355 -- Procedure Process_Object
1356 --
1357
1358 PROCEDURE Process_Object
1359 ( x_return_status OUT NOCOPY VARCHAR2
1360 , x_msg_count OUT NOCOPY NUMBER
1361 , x_msg_data OUT NOCOPY VARCHAR2
1362 , x_cascade_flag OUT NOCOPY BOOLEAN
1363 )
1364 IS
1365 l_return_status VARCHAR2(1);
1366 l_control_rec OE_GLOBALS.Control_Rec_Type;
1367 l_line_tbl oe_order_pub.line_tbl_type;
1368 BEGIN
1369 oe_debug_pub.add('Entering OE_OE_FORM_HEADER.PROCESS_OBJECT', 1);
1370
1371 OE_MSG_PUB.initialize;
1372
1373 IF OE_CODE_CONTROL.GET_CODE_RELEASE_LEVEL >='110510' THEN
1374 If OE_GLOBALS.G_FTE_REINVOKE = 'Y' Then
1375 fnd_message.set_name('ONT','ONT_LINE_ATTRIB_CHANGED');
1376 OE_MSG_PUB.Add;
1377 OE_GLOBALS.G_FTE_REINVOKE := 'N';
1378 End If;
1379 End If;
1380
1381 -- we are using this flag to selectively requery the block,
1382 -- if any of the delayed req. get executed changing rows.
1383 -- currently all the work done in post line process will
1384 -- eventually set the global cascading flag to TRUE.
1385 -- if some one adds code to post lines, whcih does not
1386 -- set cascadinf flga to TURE and still modifes records,
1387 -- that will be incorrect.
1388 -- this flag helps to requery the block if any thing changed
1389 -- after validate and write.
1390
1391 OE_GLOBALS.G_PROCESS_OBJECTS_FLAG := TRUE;
1392
1393 l_control_rec.controlled_operation := TRUE;
1394 l_control_rec.process := TRUE;
1395 l_control_rec.process_entity := OE_GLOBALS.G_ENTITY_ALL;
1396
1397 l_control_rec.check_security := FALSE;
1398 l_control_rec.clear_dependents := FALSE;
1399 l_control_rec.default_attributes := FALSE;
1400 l_control_rec.change_attributes := FALSE;
1401 l_control_rec.validate_entity := FALSE;
1402 l_control_rec.write_to_DB := FALSE;
1403
1404 -- Instruct API to clear its request table
1405
1406 l_control_rec.clear_api_cache := FALSE;
1407 l_control_rec.clear_api_requests := TRUE;
1408
1409 -- Set the UI flag
1410 OE_GLOBALS.G_UI_FLAG := TRUE;
1411
1412 oe_line_util.Post_Line_Process
1413 ( p_control_rec => l_control_rec
1414 , p_x_line_tbl => l_line_tbl );
1415
1416 Oe_Order_Pvt.Process_Requests_And_Notify
1417 ( p_process_requests => TRUE
1418 , p_init_msg_list => FND_API.G_FALSE
1419 , p_notify => TRUE
1420 , x_return_status => l_return_status
1421 );
1422
1423
1424 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1425 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1426 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1427 RAISE FND_API.G_EXC_ERROR;
1428 END IF;
1429
1430 x_cascade_flag := OE_GLOBALS.G_CASCADING_REQUEST_LOGGED;
1431 -- Re-set the UI flag to FALSE
1432 OE_GLOBALS.G_UI_FLAG := FALSE;
1433
1434 -- Set return status.
1435
1436 x_return_status := FND_API.G_RET_STS_SUCCESS;
1437
1438 -- Get message count and data
1439
1440 OE_MSG_PUB.Count_And_Get
1441 ( p_count => x_msg_count
1442 , p_data => x_msg_data
1443 );
1444
1445 OE_GLOBALS.G_UI_FLAG := FALSE;
1446 OE_GLOBALS.G_PROCESS_OBJECTS_FLAG := FALSE;
1447
1448 oe_debug_pub.add('Exiting OE_OE_FORM_HEADER.PROCESS_OBJECT', 1);
1449
1450 EXCEPTION
1451
1452 WHEN FND_API.G_EXC_ERROR THEN
1453 OE_GLOBALS.G_PROCESS_OBJECTS_FLAG := FALSE;
1454 OE_GLOBALS.G_UI_FLAG := FALSE;
1455
1456 x_return_status := FND_API.G_RET_STS_ERROR;
1457
1458 -- Get message count and data
1459
1460 OE_MSG_PUB.Count_And_Get
1461 ( p_count => x_msg_count
1462 , p_data => x_msg_data
1463 );
1464
1465 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1466 OE_GLOBALS.G_PROCESS_OBJECTS_FLAG := FALSE;
1467 OE_GLOBALS.G_UI_FLAG := FALSE;
1468
1469 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1470
1471 -- Get message count and data
1472
1473 OE_MSG_PUB.Count_And_Get
1474 ( p_count => x_msg_count
1475 , p_data => x_msg_data
1476 );
1477
1478 WHEN OTHERS THEN
1479 OE_GLOBALS.G_PROCESS_OBJECTS_FLAG := FALSE;
1480 OE_GLOBALS.G_UI_FLAG := FALSE;
1481
1482 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1483
1484 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1485 THEN
1486 OE_MSG_PUB.Add_Exc_Msg
1487 ( G_PKG_NAME
1488 , 'Process_Object'
1489 );
1490 END IF;
1491
1492 -- Get message count and data
1493
1494 OE_MSG_PUB.Count_And_Get
1495 ( p_count => x_msg_count
1496 , p_data => x_msg_data
1497 );
1498
1499 END Process_Object;
1500
1501 -- Procedure lock_Row
1502 --
1503
1504 PROCEDURE Lock_Row
1505 ( x_return_status OUT NOCOPY VARCHAR2
1506 , x_msg_count OUT NOCOPY NUMBER
1507 , x_msg_data OUT NOCOPY VARCHAR2
1508 , p_header_id IN NUMBER
1509 , p_lock_control IN NUMBER
1510 )
1511
1512 IS
1513 l_return_status VARCHAR2(1);
1514 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
1515 BEGIN
1516
1517 oe_debug_pub.add('Entering OE_OE_FORM_HEADER.LOCK_ROW', 1);
1518
1519 -- Load header record
1520
1521 l_x_header_rec.lock_control := p_lock_control;
1522 l_x_header_rec.header_id := p_header_id;
1523 l_x_header_rec.operation := OE_GLOBALS.G_OPR_LOCK; -- not req.
1524
1525 -- Call OE_Header_Util.Lock_Row instead of Oe_Order_Pvt.Lock_order
1526
1527 oe_debug_pub.add('header_id'|| l_x_header_rec.header_id, 1);
1528
1529 OE_MSG_PUB.initialize;
1530 OE_Header_Util.Lock_Row
1531 ( x_return_status => l_return_status
1532 , p_x_header_rec => l_x_header_rec );
1533
1534 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1535
1536 -- Set DB flag and write record to cache.
1537
1538 l_x_header_rec.db_flag := FND_API.G_TRUE;
1539
1540 Write_header
1541 ( p_header_rec => l_x_header_rec
1542 , p_db_record => TRUE
1543 );
1544
1545 END IF;
1546
1547 -- Set return status.
1548
1549 x_return_status := l_return_status;
1550 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1551 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1552 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1553 RAISE FND_API.G_EXC_ERROR;
1554 END IF;
1555
1556
1557 -- Get message count and data
1558
1559 OE_MSG_PUB.Count_And_Get
1560 ( p_count => x_msg_count
1561 , p_data => x_msg_data
1562 );
1563
1564 oe_debug_pub.add('Exiting OE_OE_FORM_HEADER.LOCK_ROW', 1);
1565
1566 EXCEPTION
1567 WHEN FND_API.G_EXC_ERROR THEN
1568
1569 OE_GLOBALS.G_UI_FLAG := FALSE;
1570
1571 x_return_status := FND_API.G_RET_STS_ERROR;
1572
1573 -- Get message count and data
1574
1575 oe_msg_pub.count_and_get
1576 ( p_count => x_msg_count
1577 , p_data => x_msg_data
1578 );
1579
1580 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1581
1582 OE_GLOBALS.G_UI_FLAG := FALSE;
1583
1584 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1585
1586 -- Get message count and data
1587
1588 oe_msg_pub.count_and_get
1589 ( p_count => x_msg_count
1590 , p_data => x_msg_data
1591 );
1592 WHEN OTHERS THEN
1593
1594 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1595 THEN
1596 OE_MSG_PUB.Add_Exc_Msg
1597 ( G_PKG_NAME
1598 , 'Lock_Row'
1599 );
1600 END IF;
1601
1602 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1603
1604 -- Get message count and data
1605
1606 OE_MSG_PUB.Count_And_Get
1607 ( p_count => x_msg_count
1608 , p_data => x_msg_data
1609 );
1610
1611 END Lock_Row;
1612
1613 -- Procedures maintaining header record cache.
1614
1615 PROCEDURE Write_header
1616 ( p_header_rec IN OE_Order_PUB.Header_Rec_Type
1617 , p_db_record IN BOOLEAN := FALSE
1618 )
1619 IS
1620 BEGIN
1621
1622 oe_debug_pub.add('Entering OE_OE_FORM_HEADER.WRITE_HEADER', 1);
1623
1624 g_header_rec := p_header_rec;
1625
1626 IF p_db_record THEN
1627
1628 g_db_header_rec := p_header_rec;
1629
1630 END IF;
1631
1632 oe_debug_pub.add('Exiting OE_OE_FORM_HEADER.WRITE_HEADER', 1);
1633
1634 END Write_Header;
1635
1636 PROCEDURE Get_header
1637 ( p_db_record IN BOOLEAN := FALSE
1638 , p_header_id IN NUMBER
1639 , x_header_rec OUT NOCOPY OE_Order_PUB.Header_Rec_Type
1640 )
1641 IS
1642
1643 BEGIN
1644
1645 oe_debug_pub.add('Entering OE_OE_FORM_HEADER.GET_HEADER', 1);
1646
1647 IF p_header_id <> NVL(g_header_rec.header_id,FND_API.G_MISS_NUM)
1648 THEN
1649
1650 -- Query row from DB
1651
1652 OE_Header_Util.Query_Row
1653 ( p_header_id => p_header_id,
1654 x_header_rec =>g_header_rec
1655 );
1656
1657 g_header_rec.db_flag := FND_API.G_TRUE;
1658
1659 -- Load DB record
1660
1661 g_db_header_rec := g_header_rec;
1662
1663 END IF;
1664
1665 IF p_db_record THEN
1666
1667 x_header_rec:= g_db_header_rec;
1668
1669 ELSE
1670
1671 x_header_rec:= g_header_rec;
1672
1673 END IF;
1674
1675 oe_debug_pub.add('Exiting OE_OE_FORM_HEADER.GET_HEADER', 1);
1676
1677 END Get_Header;
1678
1679 PROCEDURE Clear_Header
1680 IS
1681 BEGIN
1682
1683 oe_debug_pub.add('Entering OE_OE_FORM_HEADER.CLEAR_HEADER', 1);
1684
1685 g_header_rec := OE_Order_PUB.G_MISS_HEADER_REC;
1686 g_db_header_rec := OE_Order_PUB.G_MISS_HEADER_REC;
1687
1688 oe_debug_pub.add('Exiting OE_OE_FORM_HEADER.CLEAR_HEADER', 1);
1689
1690 END Clear_Header;
1691
1692
1693 -- This procedure will be called from the client when the user
1694 -- clears a record
1695 Procedure Clear_Record
1696 ( x_return_status OUT NOCOPY VARCHAR2
1697 , x_msg_count OUT NOCOPY NUMBER
1698 , x_msg_data OUT NOCOPY VARCHAR2
1699 , p_header_id IN NUMBER
1700 )
1701 IS
1702 l_header_id NUMBER;
1703 l_return_status Varchar2(30);
1704 BEGIN
1705 OE_MSG_PUB.initialize;
1706 x_return_status := FND_API.G_RET_STS_SUCCESS;
1707
1708
1709 OE_ORDER_CACHE.g_header_rec:=null;
1710 OE_DELAYED_REQUESTS_PVT.Delete_Reqs_for_Deleted_Entity(
1711 p_entity_code => OE_GLOBALS.G_ENTITY_HEADER
1712 ,p_entity_id => p_header_id
1713 ,x_return_status => l_return_status);
1714
1715 OE_MSG_PUB.Count_And_Get
1716 ( p_count => x_msg_count
1717 , p_data => x_msg_data
1718 );
1719
1720 IF OE_GLOBALS.G_ROLL_VERSION <> 'N' THEN
1721
1722 oe_debug_pub.add('Request does not exist, reset versioning globals'); IF (NOT OE_Versioning_Util.Reset_Globals) THEN
1723 l_return_status := FND_API.G_RET_STS_ERROR;
1724 RETURN;
1725 END IF;
1726 END IF;
1727
1728 -- Clear the controller cache
1729 Clear_Header;
1730 --added for bug3716206
1731 OE_GLOBALS.G_HEADER_CREATED := FALSE;
1732 OE_ORDER_UTIL.Clear_Global_Picture(l_return_status);
1733 EXCEPTION
1734 WHEN OTHERS THEN
1735 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1736 THEN
1737 OE_MSG_PUB.Add_Exc_Msg
1738 ( G_PKG_NAME
1739 , 'Clear_Record'
1740 );
1741 END IF;
1742 -- Get message count and data
1743 OE_MSG_PUB.Count_And_Get
1744 ( p_count => x_msg_count
1745 , p_data => x_msg_data
1746 );
1747 x_return_status := FND_API.G_RET_STS_ERROR;
1748
1749 END Clear_Record;
1750
1751
1752 -- This procedure will be called from the client when the user
1753 -- clears a block or Form
1754 Procedure Delete_All_Requests
1755 ( x_return_status OUT NOCOPY VARCHAR2
1756 , x_msg_count OUT NOCOPY NUMBER
1757 , x_msg_data OUT NOCOPY VARCHAR2
1758 )
1759 IS
1760 l_return_status Varchar2(30);
1761 BEGIN
1762 OE_MSG_PUB.initialize;
1763 x_return_status := FND_API.G_RET_STS_SUCCESS;
1764 OE_DELAYED_REQUESTS_PVT.Clear_Request(
1765 x_return_status => l_return_status);
1766
1767 EXCEPTION
1768 WHEN OTHERS THEN
1769 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1770 THEN
1771 OE_MSG_PUB.Add_Exc_Msg
1772 ( G_PKG_NAME
1773 , 'Delete_All_Requests'
1774 );
1775 END IF;
1776 -- Get message count and data
1777 OE_MSG_PUB.Count_And_Get
1778 ( p_count => x_msg_count
1779 , p_data => x_msg_data
1780 );
1781 x_return_status := FND_API.G_RET_STS_ERROR;
1782
1783 END Delete_All_Requests;
1784
1785
1786 Procedure Sales_Person
1787 ( x_return_status OUT NOCOPY VARCHAR2
1788 , x_msg_count OUT NOCOPY NUMBER
1789 , x_msg_data OUT NOCOPY VARCHAR2
1790 , p_multiple_sales_credits OUT NOCOPY Varchar2
1791 , p_header_id IN NUMBER
1792 , p_salesrep_id IN NUMBER
1793 ) IS
1794 l_return_status Varchar2(30);
1795 Cursor C_HSC_COUNT(p_header_id Number) IS
1796 Select count(sales_credit_id)
1797 from oe_sales_credits sc,
1798 oe_sales_credit_types sct
1799 where header_id = p_header_id
1800 and sct.sales_Credit_type_id = sc.sales_credit_type_id
1801 and sct.quota_flag = 'Y'
1802 and line_id is null;
1803 l_count Number;
1804 Begin
1805
1806 oe_debug_pub.add('Entering OE_OE_FORM_HEADER.SALES_PERSON', 1);
1807
1808 OE_MSG_PUB.initialize;
1809 x_return_status := FND_API.G_RET_STS_SUCCESS;
1810 p_multiple_sales_credits := 'N';
1811 open C_HSC_COUNT(p_header_id);
1812 fetch C_HSC_COUNT into l_count;
1813 close C_HSC_COUNT;
1814 if l_count > 1 then
1815 p_multiple_sales_credits := 'Y';
1816 FND_MESSAGE.SET_NAME('ONT','OE_TOO_MANY_HSCREDIT');
1817 OE_MSG_PUB.Add;
1818 RAISE FND_API.G_EXC_ERROR;
1819 end if;
1820 -- add delayed request to default headers sales credits for the salesrep
1821 OE_Delayed_Requests_Pvt.Log_Request
1822 (p_entity_code=>OE_GLOBALS.G_ENTITY_Header
1823 ,p_entity_id=>p_header_id
1824 ,p_requesting_entity_code => OE_GLOBALS.G_ENTITY_Header
1825 ,p_requesting_entity_id => p_header_id
1826 ,p_request_type=>OE_GLOBALS.G_DFLT_HSCREDIT_FOR_SREP
1827 ,p_param1 => to_char(p_header_id)
1828 ,p_param2 => to_char(p_salesrep_id)
1829 ,x_return_status =>l_return_status);
1830
1831 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1832 RAISE FND_API.G_EXC_ERROR;
1833 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1834 RAISE FND_API.G_EXC_ERROR;
1835 END IF;
1836
1837 oe_debug_pub.add('Exiting OE_OE_FORM_HEADER.SALES_PERSON', 1);
1838
1839 EXCEPTION
1840
1841 WHEN FND_API.G_EXC_ERROR THEN
1842
1843 x_return_status := FND_API.G_RET_STS_ERROR;
1844
1845 -- Get message count and data
1846
1847 OE_MSG_PUB.Count_And_Get
1848 ( p_count => x_msg_count
1849 , p_data => x_msg_data
1850 );
1851
1852
1853 WHEN OTHERS THEN
1854
1855 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1856 THEN
1857 OE_MSG_PUB.Add_Exc_Msg
1858 ( G_PKG_NAME
1859 , 'Sales_Person'
1860 );
1861 END IF;
1862
1863 -- Get message count and data
1864
1865 OE_MSG_PUB.Count_And_Get
1866 ( p_count => x_msg_count
1867 , p_data => x_msg_data
1868 );
1869
1870 x_return_status := FND_API.G_RET_STS_ERROR;
1871
1872 End Sales_Person;
1873
1874 PROCEDURE Get_Form_Startup_Values
1875 (Item_Id_Flex_Code IN VARCHAR2,
1876 Item_Id_Flex_Num OUT NOCOPY NUMBER) IS
1877
1878 CURSOR C_Item_Flex(X_Id_Flex_Code VARCHAR2) is
1879 SELECT id_flex_num
1880 FROM fnd_id_flex_structures
1881 WHERE id_flex_code = X_Id_Flex_Code;
1882 BEGIN
1883
1884 oe_debug_pub.add('Entering OE_OE_FORM_HEADER.GET_FORM_STARTUP_VALUES', 1);
1885
1886 OPEN C_Item_Flex(Item_Id_Flex_Code);
1887 FETCH C_Item_Flex INTO Item_Id_Flex_Num;
1888 CLOSE C_Item_Flex;
1889
1890 oe_debug_pub.add('Exiting OE_OE_FORM_HEADER.GET_FORM_STARTUP_VALUES', 1);
1891
1892 EXCEPTION
1893 WHEN OTHERS THEN
1894 oe_debug_pub.add('In when others exception : OE_OE_FORM_HEADER.GET_FORM_STARTUP_VALUES', 1);
1895 IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1896 THEN
1897 OE_MSG_PUB.Add_Exc_Msg
1898 ( G_PKG_NAME ,
1899 'Get_Form_Startup_Values'
1900 );
1901 END IF;
1902
1903 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1904
1905
1906 END Get_Form_Startup_Values;
1907
1908
1909 PROCEDURE Populate_Control_Fields
1910 (
1911 p_header_rec_type IN Header_Rec_Type,
1912 x_header_val_rec OUT NOCOPY Header_Val_Rec_Type
1913 ) IS
1914 CURSOR C1(fob_point_code VARCHAR2,
1915 tax_exempt_flag VARCHAR2,
1916 tax_exempt_reason_code VARCHAR2,
1917 return_reason_code VARCHAR2,
1918 tax_point_code VARCHAR2
1919 )
1920 IS
1921 SELECT meaning,lookup_type
1922 FROM AR_LOOKUPS
1923 WHERE (lookup_code=fob_point_code
1924 AND lookup_type='FOB')
1925 OR (lookup_code=tax_exempt_flag
1926 AND lookup_type='TAX_CONTROL_FLAG')
1927 OR (lookup_code=tax_exempt_reason_code
1928 AND lookup_type='TAX_REASON')
1929 OR (lookup_code=return_reason_code
1930 AND lookup_type='CREDIT_MEMO_REASON')
1931 OR (lookup_code=tax_point_code
1932 AND lookup_type='TAX_POINT_TYPE');
1933
1934 CURSOR c2(shipment_priority_code VARCHAR2,
1935 freight_terms_code VARCHAR2,
1936 payment_type_code VARCHAR2,
1937 flow_status_code VARCHAR2,
1938 --credit_card_code VARCHAR2, --R12 CC Encryption
1939 sales_channel_code VARCHAR2 )
1940 IS
1941 SELECT meaning,lookup_type
1942 FROM FND_LOOKUP_VALUES LV
1943 WHERE LANGUAGE = userenv('LANG')
1944 and VIEW_APPLICATION_ID = 660
1945 and((lookup_code= shipment_priority_code
1946 and lookup_type='SHIPMENT_PRIORITY')
1947 or (lookup_code=freight_terms_code
1948 and lookup_type='FREIGHT_TERMS')
1949 or (lookup_code=payment_type_code
1950 and lookup_type='PAYMENT TYPE')
1951 or (lookup_code=flow_status_code
1952 and lookup_type='FLOW_STATUS')
1953 --or (lookup_code=credit_card_code --R12 CC Encryption
1954 --and lookup_type='CREDIT_CARD')
1955 or (lookup_code=sales_channel_code
1956 and lookup_type='SALES_CHANNEL'))
1957 and security_group_id =fnd_global.Lookup_Security_Group(lv.lookup_type,lv.view_application_id);
1958
1959 l_address_id number;
1960 x_return_status Varchar2(1);
1961 x_msg_data Varchar2(2000);
1962 x_msg_count Number;
1963 /* START PREPAYMENT */
1964 l_commitment_amount NUMBER;
1965 --pnpl
1966 l_pay_now_subtotal NUMBER;
1967 l_pay_now_tax NUMBER;
1968 l_pay_now_charges NUMBER;
1969 l_pay_now_commitment NUMBER;
1970 /* END PREPAYMENT */
1971 --R12 CC Encryption
1972 l_instrument_id NUMBER;
1973 l_instrument_assignment_id NUMBER;
1974 l_credit_card_code VARCHAR2(80);
1975 l_credit_card_holder_name VARCHAR2(80);
1976 l_credit_card_number VARCHAR2(80);
1977 l_credit_card_expiration_date DATE;
1978 l_credit_card_approval_code VARCHAR2(80);
1979 l_credit_card_approval_date DATE;
1980 l_instrument_security_code VARCHAR2(20);
1981 l_trxn_extension_id NUMBER;
1982 x_bank_account_number number;
1983 x_check_number varchar2(100);
1984 l_return_status VARCHAR2(30) := NULL ;
1985 l_msg_count NUMBER := 0 ;
1986 l_msg_data VARCHAR2(2000) := NULL ;
1987 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1988 --R12 CC Encryption
1989
1990 BEGIN
1991 if l_debug_level > 0 then
1992 oe_debug_pub.add('Entering OE_OE_Form_Header.Populate_Control_Fields');
1993 oe_debug_pub.add('Header id'||p_header_rec_type.header_id);
1994 end if;
1995
1996 IF p_header_rec_type.salesrep_id is not null THEN
1997 BEGIN
1998 SELECT Name
1999 INTO x_header_val_rec.salesrep
2000 FROM ra_salesreps
2001 WHERE salesrep_id=p_header_rec_type.salesrep_id
2002 AND org_id=p_header_rec_type.org_id;
2003 EXCEPTION
2004 WHEN NO_DATA_FOUND THEN
2005 Null;
2006 When too_many_rows then
2007 Null;
2008 When others then
2009 Null;
2010 END;
2011 END IF;
2012
2013 IF p_header_rec_type.sold_to_org_id is not null THEN
2014 Get_GSA_Indicator(p_header_rec_type.sold_to_org_id,
2015 x_header_val_rec.gsa_indicator
2016 );
2017 END IF;
2018
2019 IF p_header_rec_type.sold_to_phone_id is not null THEN
2020 BEGIN
2021 Select phone_area_code,phone_number,phone_extension,phone_country_code
2022 Into x_header_val_rec.phone_area_code,x_header_val_rec.phone_number,
2023 x_header_val_rec.phone_extension,x_header_val_rec.phone_country_code
2024 From hz_contact_points
2025 Where contact_point_id=p_header_rec_type.sold_to_phone_id;
2026 EXCEPTION
2027 WHEN NO_DATA_FOUND THEN
2028 Null;
2029 When too_many_rows then
2030 Null;
2031 When others then
2032 Null;
2033 END;
2034 END IF;
2035
2036 IF (p_header_rec_type.tax_point_code is not null) or
2037 (p_header_rec_type.fob_point_code is not null) or
2038 (p_header_rec_type.tax_exempt_flag is not null) or
2039 (p_header_rec_type.return_reason_code is not null) or
2040 (p_header_rec_type.tax_exempt_reason_code is not null) THEN
2041
2042 FOR ar_lookups in c1(p_header_rec_type.fob_point_code,
2043 p_header_rec_type.tax_exempt_flag,
2044 p_header_rec_type.tax_exempt_reason_code,
2045 p_header_rec_type.return_reason_code,
2046 p_header_rec_type.tax_point_code)
2047 LOOP
2048
2049 IF ar_lookups.lookup_type='FOB' THEN
2050 x_header_val_rec.fob:=ar_lookups.meaning;
2051 ELSIF ar_lookups.lookup_type='TAX_CONTROL_FLAG' THEN
2052 x_header_val_rec.tax_exempt:=ar_lookups.meaning;
2053 ELSIF ar_lookups.lookup_type='TAX_REASON' THEN
2054 x_header_val_rec.tax_exempt_reason:=ar_lookups.meaning;
2055 ELSIF ar_lookups.lookup_type='TAX_POINT' THEN
2056 x_header_val_rec.tax_point:=ar_lookups.meaning;
2057 ELSIF ar_lookups.lookup_type='CREDIT_MEMO_REASON' then
2058 x_header_val_rec.return_reason:=ar_lookups.meaning;
2059 END IF;
2060 END LOOP;
2061 END IF;
2062
2063 IF (p_header_rec_type.shipment_priority_code is not null) or
2064 (p_header_rec_type.freight_terms_code is not null) or
2065 (p_header_rec_type.payment_type_code is not null) or
2066 (p_header_rec_type.flow_status_code is not null) or
2067 --(p_header_rec_type.credit_card_code is not null) or --R12 CC Encryption
2068 (p_header_rec_type.sales_channel_code is not null) THEN
2069
2070 FOR Lookups in c2(p_header_rec_type.shipment_priority_code,
2071 p_header_rec_type.freight_terms_Code,
2072 p_header_rec_type.payment_type_code,
2073 p_header_rec_type.flow_status_code,
2074 --p_header_rec_type.credit_card_code, --R12 CC Encryption
2075 p_header_rec_type.sales_channel_code)
2076
2077 LOOP
2078
2079 IF lookups.lookup_type='SHIPMENT_PRIORITY' THEN
2080 x_header_val_rec.shipment_priority:=lookups.meaning;
2081 ELSIF lookups.lookup_type='FREIGHT_TERMS' THEN
2082 x_header_val_rec.freight_terms:=lookups.meaning;
2083 ELSIF lookups.lookup_type='PAYMENT TYPE' THEN
2084 x_header_val_rec.payment_type:=lookups.meaning;
2085 ELSIF lookups.lookup_type='FLOW_STATUS' THEN
2086 x_header_val_rec.status:=lookups.meaning;
2087 --ELSIF lookups.lookup_type='CREDIT_CARD' THEN --R12 CC Encryption
2088 --x_header_val_rec.credit_card:=lookups.meaning;
2089 ELSIF lookups.lookup_type='SALES_CHANNEL' THEN
2090 x_header_val_rec.sales_channel:=lookups.meaning;
2091 END IF;
2092
2093 END LOOP;
2094 END IF;
2095
2096 IF p_header_rec_type.shipping_method_code is not null THEN
2097 BEGIN
2098 Select meaning
2099 INTO x_header_val_rec.shipping_method
2100 FROM oe_ship_methods_v
2101 WHERE lookup_code =p_header_rec_type.shipping_method_code ;
2102 EXCEPTION
2103 WHEN NO_DATA_FOUND THEN
2104 Null;
2105 When too_many_rows then
2106 Null;
2107 When others then
2108 Null;
2109 END;
2110 END IF;
2111
2112 IF p_header_rec_type.freight_carrier_code IS NOT NULL THEN
2113 BEGIN
2114 Select description
2115 INTO x_header_val_rec.freight_carrier
2116 FROM org_freight
2117 WHERE freight_code=p_header_rec_type.freight_carrier_code
2118 and organization_id = p_header_rec_type.ship_from_org_id;
2119 EXCEPTION
2120 WHEN NO_DATA_FOUND THEN
2121 Null;
2122 When too_many_rows then
2123 Null;
2124 When others then
2125 Null;
2126 END;
2127 END IF;
2128
2129 x_header_val_rec.hold_exists_flag := 'N';
2130 IF p_header_rec_type.header_id is NOT NULL THEN
2131 BEGIN
2132 SELECT 'Y'
2133 INTO x_header_val_rec.hold_exists_flag
2134 FROM OE_ORDER_HOLDS
2135 WHERE HEADER_ID = p_header_rec_type.header_id
2136 AND RELEASED_FLAG = 'N';
2137 EXCEPTION
2138 WHEN TOO_MANY_ROWS THEN
2139 x_header_val_rec.hold_exists_flag := 'Y';
2140 null;
2141 WHEN OTHERS THEN
2142 x_header_val_rec.hold_exists_flag := 'N';
2143 null;
2144 END;
2145 END IF;
2146
2147 -- Changes for Visibility to Process Messages
2148
2149 x_header_val_rec.Messages_exists_flag := 'N';
2150
2151 IF G_ENABLE_VISIBILITY_MSG = 'Y' AND
2152 p_header_rec_type.header_id is NOT NULL THEN
2153 BEGIN
2154 SELECT 'Y'
2155 INTO x_header_val_rec.Messages_exists_flag
2156 FROM OE_PROCESSING_MSGS
2157 WHERE header_id = p_header_rec_type.header_id
2158 AND NVL(message_status_code, '0') <> 'CLOSED' --datafix_begin_end
2159 AND rownum < 2;
2160 EXCEPTION
2161 WHEN TOO_MANY_ROWS THEN
2162 x_header_val_rec.Messages_exists_flag := 'Y';
2163 WHEN OTHERS THEN
2164 x_header_val_rec.Messages_exists_flag := 'N';
2165 END;
2166 END IF;
2167
2168 IF (p_header_rec_type.order_date_type_code is not null) THEN
2169 BEGIN
2170 select meaning
2171 into x_header_val_rec.order_date_type
2172 from oe_lookups
2173 where lookup_type = 'REQUEST_DATE_TYPE'
2174 AND lookup_code=p_header_rec_type.order_date_type_code;
2175
2176 EXCEPTION
2177 WHEN NO_DATA_FOUND THEN
2178 Null;
2179 When too_many_rows then
2180 Null;
2181 When others then
2182 Null;
2183 END;
2184
2185 END IF;
2186
2187 IF (p_header_rec_type.demand_class_code is not null) THEN
2188 BEGIN
2189 select meaning
2190 into x_header_val_rec.demand_class
2191 from oe_fnd_common_lookups_v
2192 where lookup_type = 'DEMAND_CLASS'
2193 AND lookup_code=p_header_rec_type.demand_class_code;
2194
2195 EXCEPTION
2196 WHEN NO_DATA_FOUND THEN
2197 Null;
2198 When too_many_rows then
2199 Null;
2200 When others then
2201 Null;
2202 END;
2203 END IF;
2204
2205 IF (p_header_rec_type.ship_to_org_id IS NOT NULL) THEN
2206 BEGIN
2207 get_customer_details(
2208 p_site_use_id => p_header_rec_type.ship_to_org_id,
2209 p_site_use_code => 'SHIP_TO',
2210 x_customer_id => x_header_val_rec.ship_To_customer_id,
2211 x_customer_name => x_header_val_rec.ship_To_customer_name,
2212 x_customer_number => x_header_val_rec.ship_To_customer_number
2213 );
2214
2215 /*OE_Id_To_Value.Ship_To_Customer_Name
2216 (
2217 p_ship_to_org_id => p_header_rec_type.ship_to_org_id,
2218 x_ship_to_customer_name=> x_header_val_rec.ship_to_customer_name
2219 );*/
2220 EXCEPTION
2221 WHEN OTHERS THEN
2222 NULL;
2223 END;
2224
2225
2226 /*BEGIN
2227 get_ship_to_customer_id(
2228 p_site_use_id => p_header_rec_type.ship_to_org_id,
2229 x_ship_to_customer_id => x_header_val_rec.ship_To_customer_id
2230 );
2231 EXCEPTION
2232 WHEN OTHERS THEN
2233 NULL;
2234 END; */
2235
2236 END IF;
2237 --kmuruges
2238 IF (p_header_rec_type.sold_to_site_use_id IS NOT NULL) THEN
2239 OE_ID_TO_VALUE.CUSTOMER_LOCATION
2240 ( p_sold_to_site_use_id => p_header_rec_type.sold_to_site_use_id,
2241 x_sold_to_location_address1 => x_header_val_rec.SOLD_TO_LOCATION_ADDRESS1,
2242 x_sold_to_location_address2 => x_header_val_rec.SOLD_TO_LOCATION_ADDRESS2,
2243 x_sold_to_location_address3 => x_header_val_rec.SOLD_TO_LOCATION_ADDRESS3,
2244 x_sold_to_location_address4 => x_header_val_rec.SOLD_TO_LOCATION_ADDRESS4,
2245 x_sold_to_location => x_header_val_rec.SOLD_TO_LOCATION,
2246 x_sold_to_location_city => x_header_val_rec.SOLD_TO_LOCATION_CITY,
2247 x_sold_to_location_state => x_header_val_rec.SOLD_TO_LOCATION_STATE,
2248 x_sold_to_location_postal => x_header_val_rec.SOLD_TO_LOCATION_POSTAL,
2249 x_sold_to_location_country => x_header_val_rec.SOLD_TO_LOCATION_COUNTRY
2250 );
2251
2252 END IF;
2253
2254 IF (p_header_rec_type.transaction_phase_code IS NOT NULL) THEN
2255 X_header_val_rec.transaction_phase := oe_id_to_value.transaction_phase(p_header_rec_type.transaction_phase_code);
2256 END IF;
2257
2258 IF (p_header_rec_type.User_Status_code IS NOT NULL) THEN
2259 X_header_val_rec.User_Status := oe_id_to_value.User_Status(p_header_rec_type.User_Status_code);
2260 END IF;
2261
2262 IF (p_header_rec_type.end_customer_site_use_id IS NOT NULL) THEN
2263 OE_ID_TO_VALUE.END_CUSTOMER_SITE_USE
2264 ( p_end_customer_site_use_id => p_header_rec_type.end_customer_site_use_id,
2265 x_end_customer_address1 => x_header_val_rec.END_CUSTOMER_SITE_ADDRESS1,
2266 x_end_customer_address2 => x_header_val_rec.END_CUSTOMER_SITE_ADDRESS2,
2267 x_end_customer_address3 => x_header_val_rec.END_CUSTOMER_SITE_ADDRESS3,
2268 x_end_customer_address4 => x_header_val_rec.END_CUSTOMER_SITE_ADDRESS4,
2269 x_end_customer_location => x_header_val_rec.END_CUSTOMER_SITE_LOCATION,
2270 x_end_customer_city => x_header_val_rec.END_CUSTOMER_SITE_CITY,
2271 x_end_customer_state => x_header_val_rec.END_CUSTOMER_SITE_STATE,
2272 x_end_customer_postal_code => x_header_val_rec.END_CUSTOMER_SITE_POSTAL_CODE,
2273 x_end_customer_country => x_header_val_rec.END_CUSTOMER_SITE_COUNTRY
2274 );
2275
2276 END IF;
2277
2278 IF (p_header_rec_type.end_customer_id IS NOT NULL) THEN
2279 OE_ID_TO_VALUE.END_CUSTOMER
2280 ( p_end_customer_id => p_header_rec_type.end_customer_id,
2281 x_end_customer_name => x_header_val_rec.END_CUSTOMER_NAME,
2282 x_end_customer_number => x_header_val_rec.END_CUSTOMER_NUMBER
2283 );
2284 END IF;
2285
2286 IF (p_header_rec_type.end_customer_contact_id IS NOT NULL) THEN
2287 x_header_val_rec.END_CUSTOMER_CONTACT := OE_ID_TO_VALUE.END_CUSTOMER_CONTACT
2288 ( p_end_customer_contact_id => p_header_rec_type.end_customer_contact_id);
2289 END IF;
2290
2291 --kmuruges end
2292 IF (p_header_rec_type.invoice_to_org_id IS NOT NULL) THEN
2293 BEGIN
2294 /*OE_Id_To_Value.Invoice_To_Customer_Name
2295 (
2296 p_invoice_to_org_id => p_header_rec_type.invoice_to_org_id,
2297 x_invoice_to_customer_name=> x_header_val_rec.invoice_to_customer_name
2298 );*/
2299
2300 get_customer_details(
2301 p_site_use_id => p_header_rec_type.invoice_to_org_id,
2302 p_site_use_code =>'BILL_TO',
2303 x_customer_id =>x_header_val_rec.invoice_To_customer_id,
2304 x_customer_name =>x_header_val_rec.invoice_To_customer_name,
2305 x_customer_number => x_header_val_rec.invoice_To_customer_number
2306 );
2307
2308 EXCEPTION
2309 WHEN OTHERS THEN
2310 NULL;
2311 END;
2312
2313 /*BEGIN
2314 get_invoice_to_customer_id(
2315 p_site_use_id => p_header_rec_type.invoice_to_org_id,
2316 x_invoice_to_customer_id => x_header_val_rec.invoice_To_customer_id
2317 );
2318 EXCEPTION
2319 WHEN OTHERS THEN
2320 NULL;
2321 END;*/
2322
2323 END IF;
2324
2325
2326
2327 -- added by jmore
2328
2329
2330 IF (p_header_rec_type.deliver_to_org_id is not null) THEN
2331 BEGIN
2332 SELECT /* MOAC_SQL_CHANGE */ cas.cust_account_id,
2333 party.party_name,
2334 cust.account_number,
2335 site.location,
2336 addr.address1,
2337 addr.address2,
2338 addr.address3,
2339 addr.address4,
2340 DECODE(addr.city, NULL, NULL,addr.city || ', ') ||
2341 DECODE(addr.state, NULL, addr.province || ', ', addr.state || ', ') || -- 3603600
2342 DECODE(addr.postal_code, NULL, NULL,addr.postal_code || ', ') ||
2343 DECODE(addr.country, NULL, NULL,addr.country)
2344 INTO x_header_val_rec.deliver_to_customer_id,
2345 x_header_val_rec.deliver_to_customer_name,
2346 x_header_val_rec.deliver_to_customer_number,
2347 x_header_val_rec.deliver_to,
2348 x_header_val_rec.deliver_to_address1,
2349 x_header_val_rec.deliver_to_address2,
2350 x_header_val_rec.deliver_to_address3,
2351 x_header_val_rec.deliver_to_address4,
2352 x_header_val_rec.deliver_to_address5
2353
2354 FROM HZ_CUST_SITE_USES_ALL site,
2355 HZ_CUST_ACCT_SITES_ALL cas,
2356 hz_cust_accounts cust,
2357 hz_parties party,
2358 hz_party_sites ps,
2359 hz_locations addr
2360 WHERE site.cust_acct_site_id = cas.cust_acct_site_id
2361 AND site.site_use_code='DELIVER_TO'
2362 AND site.site_use_id=p_header_rec_type.deliver_to_org_id
2363 AND cust.cust_account_id = cas.cust_account_id
2364 AND party.party_id = cust.party_id
2365 AND cas.party_site_id = ps.party_site_id
2366 AND ps.location_id = addr.location_id;
2367
2368 x_header_val_rec.deliver_to_location := x_header_val_rec.deliver_to;
2369
2370 EXCEPTION
2371 WHEN NO_DATA_FOUND THEN
2372 Null;
2373 When too_many_rows then
2374 Null;
2375 When others then
2376 Null;
2377 END;
2378 END IF;
2379
2380
2381 IF (p_header_rec_type.deliver_to_contact_id is not null) THEN
2382 BEGIN
2383 select name
2384 into x_header_val_rec.deliver_to_contact
2385 from oe_contacts_v
2386 where contact_id=p_header_rec_type.deliver_to_contact_id;
2387
2388
2389 EXCEPTION
2390 WHEN NO_DATA_FOUND THEN
2391 Null;
2392 When too_many_rows then
2393 Null;
2394 When others then
2395 Null;
2396 END;
2397 END IF;
2398
2399
2400 -- Concatenated name with revision for Bug-2249065
2401
2402 IF (p_header_rec_type.agreement_id is not null) THEN
2403 BEGIN
2404 select name||' : '||revision
2405 into x_header_val_rec.agreement
2406 from oe_agreements
2407 where agreement_id=p_header_rec_type.agreement_id;
2408
2409
2410 EXCEPTION
2411 WHEN NO_DATA_FOUND THEN
2412 Null;
2413 When too_many_rows then
2414 Null;
2415 When others then
2416 Null;
2417 END;
2418 END IF;
2419
2420
2421 IF (p_header_rec_type.order_source_id is not null) THEN
2422 BEGIN
2423 select name
2424 into x_header_val_rec.order_source
2425 from oe_order_sources
2426 where order_source_id=p_header_rec_type.order_source_id;
2427
2428
2429 EXCEPTION
2430 WHEN NO_DATA_FOUND THEN
2431 Null;
2432 When too_many_rows then
2433 Null;
2434 When others then
2435 Null;
2436 END;
2437 END IF;
2438
2439
2440
2441 IF (p_header_rec_type.source_document_type_id is not null) THEN
2442 BEGIN
2443 select name
2444 into x_header_val_rec.source_document_type
2445 from oe_order_sources
2446 where order_source_id=p_header_rec_type.source_document_type_id;
2447
2448
2449 EXCEPTION
2450 WHEN NO_DATA_FOUND THEN
2451 Null;
2452 When too_many_rows then
2453 Null;
2454 When others then
2455 Null;
2456 END;
2457 END IF;
2458
2459
2460 IF (p_header_rec_type.conversion_type_code is not null) THEN
2461 BEGIN
2462 select user_conversion_type
2463 into x_header_val_rec.conversion_type
2464 from gl_daily_conversion_types
2465 where conversion_type=p_header_rec_type.conversion_type_code;
2466
2467
2468 EXCEPTION
2469 WHEN NO_DATA_FOUND THEN
2470 Null;
2471 When too_many_rows then
2472 Null;
2473 When others then
2474 Null;
2475 END;
2476 END IF;
2477
2478 --Macd
2479 IF (p_header_rec_type.ib_owner is not null) THEN
2480 BEGIN
2481 select meaning into x_header_val_rec.ib_owner_dsp
2482 from oe_lookups
2483 where lookup_type='ITEM_OWNER' and lookup_code=p_header_rec_type.ib_owner;
2484 EXCEPTION
2485 WHEN NO_DATA_FOUND THEN
2486 Null;
2487 When too_many_rows then
2488 Null;
2489 When others then
2490 Null;
2491 END;
2492 END IF;
2493
2494 IF (p_header_rec_type.ib_installed_at_location is not null) THEN
2495 BEGIN
2496 select meaning into x_header_val_rec.ib_installed_at_location_dsp
2497 from oe_lookups
2498 where lookup_type='ITEM_INSTALL_LOCATION' and lookup_code=p_header_rec_type.ib_installed_at_location;
2499 EXCEPTION
2500 WHEN NO_DATA_FOUND THEN
2501 Null;
2502 When too_many_rows then
2503 Null;
2504 When others then
2505 Null;
2506 END;
2507 END IF;
2508
2509 IF (p_header_rec_type.ib_current_location is not null) THEN
2510 BEGIN
2511 select meaning into x_header_val_rec.ib_current_location_dsp
2512 from oe_lookups
2513 where lookup_type='ITEM_CURRENT_LOCATION' and lookup_code=p_header_rec_type.ib_current_location;
2514 EXCEPTION
2515 WHEN NO_DATA_FOUND THEN
2516 Null;
2517 When too_many_rows then
2518 Null;
2519 When others then
2520 Null;
2521 END;
2522 END IF;
2523 --Macd
2524 -- Spagadal
2525 IF p_header_rec_type.blanket_number is not null then
2526 oe_blanket_util_misc.get_blanketAgrName
2527 (p_blanket_number => p_header_rec_type.blanket_number,
2528 x_blanket_agr_name => x_header_val_rec.blanket_agreement_name);
2529 END If;
2530
2531
2532 IF p_header_rec_type.header_id IS NOT NULL THEN
2533 OE_OE_TOTALS_SUMMARY.Order_Totals
2534 (
2535 p_header_id=>p_header_rec_type.header_id,
2536 p_subtotal =>x_header_val_rec.subtotal,
2537 p_discount =>x_header_val_rec.discount,
2538 p_charges =>x_header_val_rec.charges,
2539 p_tax =>x_header_val_rec.tax
2540 );
2541
2542 OE_CHARGE_PVT.Get_Charge_Amount(
2543 p_api_version_number=>1.0
2544 , p_init_msg_list=>'F'
2545 , p_all_charges=>'F'
2546 , p_header_id=>p_header_rec_type.header_id
2547 , p_line_id=>NULL
2548 , x_return_status=>x_return_status
2549 , x_msg_count=>x_msg_count
2550 , x_msg_data=>x_msg_data
2551 , x_charge_amount=>x_header_val_rec.header_charges
2552 );
2553
2554 /* START PREPAYMENT */
2555 OE_Prepayment_Util.Get_PrePayment_Info(p_header_id => p_header_rec_type.header_id
2556 ,x_payment_set_id => x_header_val_rec.payment_set_id
2557 ,x_prepaid_amount => x_header_val_rec.prepaid_amount);
2558 IF x_header_val_rec.payment_set_id IS NOT NULL THEN
2559 BEGIN
2560 SELECT NVL(SUM(NVL(commitment_applied_amount, 0)), 0)
2561 INTO l_commitment_amount
2562 FROM oe_payments
2563 WHERE header_id = p_header_rec_type.header_id;
2564 EXCEPTION
2565 WHEN NO_DATA_FOUND THEN
2566 l_commitment_amount := 0;
2567 END;
2568 oe_debug_pub.add('prepaid_amount: '||x_header_val_rec.prepaid_amount||' And commitment_amount: '||l_commitment_amount);
2569 x_header_val_rec.pending_amount := NVL(x_header_val_rec.subtotal,0)+NVL(x_header_val_rec.charges,0)+NVL(x_header_val_rec.tax,0) - NVL(x_header_val_rec.prepaid_amount, 0) - l_commitment_amount;
2570 oe_debug_pub.add('pending_amount: '||x_header_val_rec.pending_amount);
2571 ELSE
2572 x_header_val_rec.pending_amount := NULL;
2573 END IF;
2574
2575 --pnpl start
2576 IF OE_PREPAYMENT_UTIL.Get_Installment_Options(p_header_rec_type.org_id) IN ('ENABLE_PAY_NOW', 'AUTHORIZE_FIRST_INSTALLMENT') THEN
2577 OE_Prepayment_PVT.Get_Pay_Now_Amounts
2578 (p_header_id => p_header_rec_type.header_id
2579 ,p_line_id => null
2580 ,x_pay_now_subtotal => l_pay_now_subtotal
2581 ,x_pay_now_tax => l_pay_now_tax
2582 ,x_pay_now_charges => l_pay_now_charges
2583 ,x_pay_now_total => x_header_val_rec.pay_now_total
2584 ,x_pay_now_commitment => l_pay_now_commitment
2585 ,x_msg_count => x_msg_count
2586 ,x_msg_data => x_msg_data
2587 ,x_return_status => x_return_status
2588 );
2589
2590 IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
2591 x_header_val_rec.pay_now_total := null;
2592 END IF;
2593 ELSE
2594 x_header_val_rec.pay_now_total := null;
2595 END IF;
2596 --pnpl end
2597 /* END PREPAYMENT */
2598
2599 END IF;
2600
2601 --R12 CC Encryption
2602 if l_debug_level > 0 then
2603 oe_debug_pub.add('payment_type_code in populate control fields'||p_header_rec_type.payment_type_code);
2604 oe_debug_pub.add('Header id'||p_header_rec_type.header_id);
2605 end if;
2606
2607 IF p_header_rec_type.payment_type_code IN ('CREDIT_CARD') THEN
2608
2609 --Query to verify payment details are existing in
2610 --oe order headers all before calling card details
2611 --Only if credit card number is null then call card details...!
2612 BEGIN
2613 SELECT
2614 CREDIT_CARD_CODE
2615 ,CREDIT_CARD_HOLDER_NAME
2616 ,CREDIT_CARD_NUMBER
2617 ,CREDIT_CARD_EXPIRATION_DATE
2618 ,CREDIT_CARD_APPROVAL_CODE
2619 ,CREDIT_CARD_APPROVAL_DATE
2620 into
2621 l_credit_card_code,
2622 l_credit_card_holder_name,
2623 l_credit_card_number,
2624 l_credit_card_expiration_date,
2625 l_credit_card_approval_code ,
2626 l_credit_card_approval_date
2627 FROM OE_ORDER_HEADERS_ALL
2628 WHERE HEADER_ID = p_header_rec_type.header_id;
2629 EXCEPTION
2630 WHEN NO_DATA_FOUND THEN
2631 l_credit_card_code := null;
2632 l_credit_card_holder_name:= null;
2633 l_credit_card_number:= null;
2634 l_credit_card_expiration_date:= null;
2635 l_credit_card_approval_code := null;
2636 l_credit_card_approval_date:= null;
2637 END;
2638
2639 BEGIN
2640 SELECT trxn_extension_id
2641 INTO l_trxn_extension_id
2642 FROM oe_payments
2643 WHERE header_id = p_header_rec_type.header_id
2644 AND nvl(payment_collection_event,'PREPAY') = 'INVOICE'
2645 AND payment_type_code = 'CREDIT_CARD'
2646 AND line_id is null;
2647 EXCEPTION WHEN NO_DATA_FOUND THEN
2648 null;
2649 END;
2650
2651 -- bug 5414929
2652 -- IF l_credit_card_number is null
2653 IF l_trxn_extension_id is not null THEN
2654 OE_Header_Util.Query_card_details
2655 (p_header_id => p_header_rec_type.header_id,
2656 p_credit_card_code => l_credit_card_code,
2657 p_credit_card_holder_name => l_credit_card_holder_name,
2658 p_credit_card_number => l_credit_card_number,
2659 p_credit_Card_expiration_date => l_credit_card_expiration_date,
2660 p_credit_card_approval_code => l_credit_card_approval_code,
2661 p_credit_card_approval_Date => l_credit_card_approval_date,
2662 p_instrument_security_code => l_instrument_security_code,
2663 p_instrument_id => l_instrument_id,
2664 p_instrument_assignment_id => l_instrument_assignment_id
2665 );
2666 END IF;
2667 x_header_val_rec.credit_card_number := l_credit_card_number;
2668 x_header_val_rec.credit_card_code := l_credit_card_code;
2669 x_header_val_rec.credit_card_holder_name := l_credit_card_holder_name;
2670 x_header_val_rec.credit_card_expiration_date := l_credit_Card_expiration_Date;
2671 x_header_val_rec.credit_card_approval_code := l_credit_Card_approval_code;
2672 x_header_val_rec.credit_card_approval_date := l_credit_card_approval_date;
2673 x_header_val_rec.instrument_security_code := l_instrument_security_code;
2674 x_header_val_rec.cc_instrument_id := l_instrument_id;
2675 x_header_val_rec.cc_instrument_assignment_id := l_instrument_assignment_id;
2676
2677 oe_debug_pub.add('After calling OE_Header_Util.Query_card_details');
2678 oe_debug_pub.add('Security code'||x_header_val_rec.instrument_security_code);
2679 --oe_debug_pub.add('Credit card code in populate control fields'||x_header_val_rec.credit_card_code);
2680 BEGIN
2681 IF x_header_val_rec.credit_card_code is not null then
2682 x_header_val_rec.credit_card := OE_Id_To_Value.Credit_Card
2683 ( p_credit_card_code => x_header_val_rec.credit_card_code
2684 );
2685 END IF;
2686 exception
2687 when no_data_found then
2688 x_header_val_rec.credit_card := NULL;
2689 end;
2690 END IF;
2691 --R12 CC Encryption
2692
2693 EXCEPTION
2694 WHEN NO_DATA_FOUND THEN
2695 NULL;
2696 WHEN TOO_MANY_ROWS THEN
2697 NULL;
2698 WHEN OTHERS THEN
2699 NULL;
2700 END Populate_Control_Fields;
2701
2702 FUNCTION Get_Cascade_Flag return Boolean
2703 IS
2704 BEGIN
2705 return(OE_GLOBALS.G_CASCADING_REQUEST_LOGGED);
2706 END Get_Cascade_Flag;
2707
2708 PROCEDURE Set_Cascade_Flag_False
2709 IS
2710 BEGIN
2711 OE_GLOBALS.G_CASCADING_REQUEST_LOGGED := FALSE;
2712 END Set_Cascade_Flag_False;
2713
2714 FUNCTION Load_Set_Of_Books
2715 RETURN Set_Of_Books_Rec_Type
2716 IS
2717 l_set_of_books_id NUMBER := NULL;
2718 l_debug_level NUMBER := oe_debug_pub.g_debug_level; -- cc project
2719 BEGIN
2720 /* commenting below line for cc project*/
2721 -- OE_DEBUG_PUB.G_DEBUG_LEVEL:=0;
2722 oe_debug_pub.add('Entering OE_ORDER_CACHE.LOAD_SET_OF_BOOKS', 1);
2723
2724 -- Get set_of_books_id from profile option.
2725
2726 --l_set_of_books_id := FND_PROFILE.VALUE('OE_SET_OF_BOOKS_ID');
2727 l_set_of_books_id := OE_Sys_Parameters.VALUE('SET_OF_BOOKS_ID');
2728
2729
2730 IF l_set_of_books_id IS NOT NULL THEN
2731
2732 SELECT SET_OF_BOOKS_ID
2733 , CURRENCY_CODE
2734 INTO g_set_of_books_rec.set_of_books_id
2735 , g_set_of_books_rec.currency_code
2736 FROM OE_GL_SETS_OF_BOOKS_V
2737 WHERE SET_OF_BOOKS_ID = l_set_of_books_id;
2738
2739 END IF;
2740 oe_debug_pub.add('Exiting OE_ORDER_CACHE.LOAD_SET_OF_BOOKS', 1);
2741
2742 RETURN g_set_of_books_rec;
2743
2744 EXCEPTION
2745 --vmalapat changes
2746 WHEN NO_DATA_FOUND THEN
2747 RETURN NULL;
2748
2749 WHEN OTHERS THEN
2750
2751 IF OE_MSG_PUB.Check_Msg_Level (OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
2752 THEN
2753 OE_MSG_PUB.Add_Exc_Msg
2754 ( G_PKG_NAME ,
2755 'Load_Set_Of_Books'
2756 );
2757 END IF;
2758
2759 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2760
2761 END Load_Set_Of_Books;
2762
2763
2764
2765 PROCEDURE get_invoice_to_customer_id ( p_site_use_id IN NUMBER,
2766 x_invoice_to_customer_id OUT NOCOPY NUMBER
2767 ) IS
2768 l_site_use_code VARCHAR2(30);
2769 BEGIN
2770 l_site_use_code := 'BILL_TO';
2771
2772 SELECT /* MOAC_SQL_CHANGE */ cas.cust_account_id
2773 INTO x_invoice_to_customer_id
2774 FROM HZ_CUST_SITE_USES_ALL site,
2775 HZ_CUST_ACCT_SITES_ALL cas
2776 WHERE site.cust_acct_site_id = cas.cust_acct_site_id
2777 AND site.site_use_code=l_site_use_code
2778 AND site.site_use_id=p_site_use_id;
2779
2780 EXCEPTION
2781
2782 WHEN NO_DATA_FOUND THEN
2783 Null;
2784 When too_many_rows then
2785 Null;
2786 When others then
2787 Null;
2788
2789 END get_invoice_to_customer_id;
2790
2791
2792
2793 PROCEDURE get_ship_to_customer_id ( p_site_use_id IN NUMBER,
2794 x_ship_to_customer_id OUT NOCOPY NUMBER
2795 ) IS
2796 l_site_use_code VARCHAR2(30);
2797 BEGIN
2798 l_site_use_code := 'SHIP_TO';
2799
2800 SELECT /* MOAC_SQL_CHANGE */ cas.cust_account_id
2801 INTO x_ship_to_customer_id
2802 FROM HZ_CUST_SITE_USES_ALL site,
2803 HZ_CUST_ACCT_SITES_ALL cas
2804 WHERE site.cust_acct_site_id = cas.cust_acct_site_id
2805 AND site.site_use_code=l_site_use_code
2806 AND site.site_use_id=p_site_use_id;
2807
2808 EXCEPTION
2809
2810 WHEN NO_DATA_FOUND THEN
2811 Null;
2812 When too_many_rows then
2813 Null;
2814 When others then
2815 Null;
2816
2817 END get_ship_to_customer_id;
2818
2819
2820 PROCEDURE RESET_DEBUG_LEVEL
2821 IS
2822
2823 BEGIN
2824 OE_DEBUG_PUB.G_DEBUG_LEVEL:=0;
2825
2826 END RESET_DEBUG_LEVEL;
2827
2828
2829 PROCEDURE SET_DEBUG_LEVEL (p_debug_level IN NUMBER)
2830 IS
2831
2832 BEGIN
2833 OE_DEBUG_PUB.G_DEBUG_LEVEL:=p_debug_level;
2834
2835 END SET_DEBUG_LEVEL;
2836
2837
2838 PROCEDURE Get_GSA_Indicator( p_sold_to_org_id IN NUMBER,
2839 x_gsa_indicator OUT NOCOPY VARCHAR2
2840 ) IS
2841
2842 BEGIN
2843
2844 SELECT nvl(gsa_indicator_flag,'N')
2845 INTO x_gsa_indicator
2846 FROM hz_parties party,
2847 hz_cust_accounts acct
2848 WHERE acct.cust_account_id=p_sold_to_org_id
2849 AND party.party_id = acct.party_id;
2850
2851 EXCEPTION
2852
2853 WHEN NO_DATA_FOUND THEN
2854 Null;
2855 When too_many_rows then
2856 Null;
2857 When others then
2858 Null;
2859
2860 END Get_GSA_Indicator;
2861
2862 PROCEDURE CASCADE_HEADER_ATTRIBUTES
2863 (
2864 p_old_db_header_rec IN OE_ORDER_PUB.Header_Rec_Type
2865 , p_header_rec IN OE_ORDER_PUB.Header_Rec_Type
2866 , x_return_status OUT NOCOPY VARCHAR2
2867 , x_msg_count OUT NOCOPY NUMBER
2868 , x_msg_data OUT NOCOPY VARCHAR2
2869 ) IS
2870 l_x_line_tbl OE_Order_PUB.Line_Tbl_Type;
2871 l_x_old_line_tbl OE_Order_PUB.Line_Tbl_Type;
2872 l_line_rec OE_Order_PUB.Line_Rec_Type;
2873 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
2874 l_x_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
2875 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
2876 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
2877 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
2878 l_x_Action_Request_tbl OE_Order_PUB.Request_Tbl_Type;
2879 l_x_Lot_Serial_Tbl OE_Order_PUB.Lot_Serial_Tbl_Type;
2880 l_x_Header_price_Att_tbl OE_Order_PUB.Header_Price_Att_Tbl_Type;
2881 l_x_Header_Adj_Att_tbl OE_Order_PUB.Header_Adj_Att_Tbl_Type;
2882 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
2883 l_x_Line_price_Att_tbl OE_Order_PUB.Line_Price_Att_Tbl_Type;
2884 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_Tbl_Type;
2885 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
2886 l_control_rec OE_GLOBALS.Control_Rec_Type;
2887 l_count NUMBER;
2888 l_return_status VARCHAR2(1);
2889 --serla begin
2890 l_x_Header_Payment_tbl OE_Order_PUB.Header_Payment_Tbl_Type;
2891 l_x_Line_Payment_tbl OE_Order_PUB.Line_Payment_Tbl_Type;
2892 l_init_msg_list VARCHAR2(1) := FND_API.G_TRUE;
2893 --serla end
2894 BEGIN
2895 SAVEPOINT Header_Cascade_Attributes;
2896 oe_debug_pub.add('Entering OE_OE_FOR_HEADER.Cascade Attribute');
2897 IF NOT OE_Globals.Equal(
2898 p_header_rec.cust_po_number,
2899 p_old_db_header_rec.cust_po_number) OR
2900 NOT OE_Globals.Equal(
2901 p_header_rec.payment_term_id,
2902 p_old_db_header_rec.payment_term_id) OR
2903 NOT OE_Globals.Equal(
2904 p_header_rec.shipment_priority_code,
2905 p_old_db_header_rec.shipment_priority_code) OR
2906 NOT OE_Globals.Equal(
2907 p_header_rec.shipping_method_code,
2908 p_old_db_header_rec.shipping_method_code) OR
2909 NOT OE_Globals.Equal(
2910 p_header_rec.ship_to_org_id,
2911 p_old_db_header_rec.ship_to_org_id) OR
2912 NOT OE_Globals.Equal(
2913 p_header_rec.agreement_id,
2914 p_old_db_header_rec.agreement_id) OR
2915 NOT OE_Globals.Equal(
2916 p_header_rec.order_firmed_date,
2917 p_old_db_header_rec.order_firmed_date) OR --Key Transaction dates
2918 -- Start of Enhanced Cascading
2919 NOT OE_Globals.Equal(
2920 p_header_rec.Accounting_Rule_Id,
2921 p_old_db_header_rec.Accounting_rule_Id) OR
2922 NOT OE_Globals.Equal(
2923 p_header_rec.Blanket_Number,
2924 p_old_db_header_rec.Blanket_Number) OR
2925 NOT OE_Globals.Equal(
2926 p_header_rec.Deliver_to_Contact_Id,
2927 p_old_db_header_rec.Deliver_To_Contact_Id) OR
2928 NOT OE_Globals.Equal(
2929 p_header_rec.Deliver_to_Org_Id,
2930 p_old_db_header_rec.Deliver_To_Org_Id) OR
2931 NOT OE_Globals.Equal(
2932 p_header_rec.Demand_Class_Code,
2933 p_old_db_header_rec.Demand_Class_Code) OR
2934 NOT OE_Globals.Equal(
2935 p_header_rec.Fob_point_Code,
2936 p_old_db_header_rec.Fob_point_Code) OR
2937 NOT OE_Globals.Equal(
2938 p_header_rec.Freight_Terms_Code,
2939 p_old_db_header_rec.Freight_terms_Code) OR
2940 NOT OE_Globals.Equal(
2941 p_header_rec.Invoice_To_Contact_Id,
2942 p_old_db_header_rec.Invoice_To_Contact_Id) OR
2943 NOT OE_Globals.Equal(
2944 p_header_rec.Invoice_To_Org_Id,
2945 p_old_db_header_rec.Invoice_To_Org_Id) OR
2946 NOT OE_Globals.Equal(
2947 p_header_rec.Invoicing_Rule_Id,
2948 p_old_db_header_rec.Invoicing_Rule_Id) OR
2949 NOT OE_Globals.Equal(
2950 p_header_rec.Price_List_Id,
2951 p_old_db_header_rec.Price_List_Id) OR
2952 NOT OE_Globals.Equal(
2953 p_header_rec.Request_date,
2954 p_old_db_header_rec.Request_date) OR
2955 NOT OE_Globals.Equal(
2956 p_header_rec.Return_reason_Code,
2957 p_old_db_header_rec.Return_reason_Code) OR
2958 NOT OE_Globals.Equal(
2959 p_header_rec.Salesrep_Id,
2960 p_old_db_header_rec.Salesrep_id) OR
2961 NOT OE_Globals.Equal(
2962 p_header_rec.Ship_From_Org_Id,
2963 p_old_db_header_rec.Ship_from_Org_id) OR
2964 NOT OE_Globals.Equal(
2965 p_header_rec.Ship_To_Contact_Id,
2966 p_old_db_header_rec.Ship_To_Contact_id) OR
2967 NOT OE_Globals.Equal(
2968 p_header_rec.Sold_To_Org_Id,
2969 p_old_db_header_rec.Sold_To_Org_id) OR
2970 NOT OE_Globals.Equal(
2971 p_header_rec.Tax_Exempt_Flag,
2972 p_old_db_header_rec.Tax_Exempt_Flag)
2973 -- End Of Enhanced Cascading
2974
2975 THEN
2976 IF p_header_rec.header_id IS NOT NULL AND
2977 p_header_rec.header_id <> FND_API.G_MISS_NUM THEN
2978 OE_Line_Util.Query_Rows
2979 ( p_header_id => p_header_rec.header_id
2980 , x_line_tbl => l_x_line_tbl
2981 );
2982 END IF;
2983
2984 END IF;
2985
2986 -- Check if Read_Cascadable_Fields is called or not. If not the call and build -- the record.
2987
2988 IF OE_OE_FORM_HEADER.g_cascade_test_record.p_cached='N' THEN
2989 OE_OE_FORM_HEADER.Read_Cascadable_Fields
2990 (
2991 x_cascade_record=>OE_OE_FORM_HEADER.g_cascade_test_record
2992 );
2993 END IF;
2994
2995 IF l_x_line_tbl.count >0 THEN
2996 FOR i IN l_x_line_tbl.first .. l_x_line_tbl.last LOOP
2997 /* Fix Bug # 3271580 : Cascade only if line is Open */
2998 IF l_x_line_tbl(i).open_flag = 'Y' THEN
2999
3000 /* Fix Bug # 4131746/ base bug# 4056303 : Server Connect */
3001 l_x_line_tbl(i).change_reason := 'SYSTEM';
3002 l_x_old_line_tbl(i):=l_x_line_tbl(i);
3003
3004 IF NOT OE_Globals.Equal(
3005 p_header_rec.cust_po_number,
3006 p_old_db_header_rec.cust_po_number) AND
3007
3008 OE_OE_FORM_HEADER.g_cascade_test_record.p_customer_po='Y'
3009
3010 THEN
3011 l_x_line_tbl(i).cust_po_number:=p_header_rec.cust_po_number;
3012 END IF;
3013
3014 IF NOT OE_Globals.Equal(
3015 p_header_rec.payment_term_id,
3016 p_old_db_header_rec.payment_term_id) AND
3017
3018 OE_OE_FORM_HEADER.g_cascade_test_record.p_payment_term='Y'
3019
3020 THEN
3021 l_x_line_tbl(i).payment_term_id:=p_header_rec.payment_term_id;
3022 END IF;
3023
3024 IF NOT OE_Globals.Equal(
3025 p_header_rec.shipment_priority_code,
3026 p_old_db_header_rec.shipment_priority_code) AND
3027
3028 OE_OE_FORM_HEADER.g_cascade_test_record.p_shipment_priority='Y'
3029
3030 THEN
3031 l_x_line_tbl(i).shipment_priority_code:=p_header_rec.shipment_priority_code;
3032 END IF;
3033
3034 IF NOT OE_Globals.Equal(
3035 p_header_rec.shipping_method_code,
3036 p_old_db_header_rec.shipping_method_code) AND
3037
3038 OE_OE_FORM_HEADER.g_cascade_test_record.p_shipping_method='Y'
3039
3040 THEN
3041 l_x_line_tbl(i).shipping_method_code:=p_header_rec.shipping_method_code;
3042 END IF;
3043
3044 IF NOT OE_Globals.Equal(
3045 p_header_rec.ship_to_org_id,
3046 p_old_db_header_rec.ship_to_org_id) AND
3047
3048 OE_OE_FORM_HEADER.g_cascade_test_record.p_ship_to='Y'
3049
3050 THEN
3051 l_x_line_tbl(i).ship_to_org_id:=p_header_rec.ship_to_org_id;
3052 END IF;
3053
3054 IF NOT OE_Globals.Equal(
3055 p_header_rec.agreement_id,
3056 p_old_db_header_rec.agreement_id) AND
3057
3058 OE_OE_FORM_HEADER.g_cascade_test_record.p_agreement='Y'
3059
3060 THEN
3061 l_x_line_tbl(i).agreement_id:=p_header_rec.agreement_id;
3062 END IF;
3063
3064 --Key Transaction dates
3065 IF NOT OE_Globals.Equal(
3066 p_header_rec.order_firmed_date,
3067 p_old_db_header_rec.order_firmed_date) AND
3068
3069 OE_OE_FORM_HEADER.g_cascade_test_record.p_order_firmed_date='Y'
3070
3071 THEN
3072 l_x_line_tbl(i).order_firmed_date:=p_header_rec.order_firmed_date;
3073 END IF;
3074
3075 IF NOT OE_Globals.Equal(
3076 p_header_rec.Accounting_Rule_Id,
3077 p_old_db_header_rec.Accounting_Rule_Id) AND
3078
3079 OE_OE_FORM_HEADER.g_cascade_test_record.p_accounting_rule='Y'
3080
3081 THEN
3082 l_x_line_tbl(i).Accounting_Rule_Id:=p_header_rec.Accounting_Rule_Id;
3083 END IF;
3084
3085 IF NOT OE_Globals.Equal(
3086 p_header_rec.Blanket_Number,
3087 p_old_db_header_rec.Blanket_Number) AND
3088
3089 OE_OE_FORM_HEADER.g_cascade_test_record.p_blanket_number='Y'
3090
3091 THEN
3092 l_x_line_tbl(i).Blanket_Number:=p_header_rec.Blanket_Number;
3093 END IF;
3094
3095 IF NOT OE_Globals.Equal(
3096 p_header_rec.Deliver_to_Contact_Id,
3097 p_old_db_header_rec.Deliver_To_Contact_Id) AND
3098
3099 OE_OE_FORM_HEADER.g_cascade_test_record.p_deliver_to_contact='Y'
3100
3101 THEN
3102 l_x_line_tbl(i).Deliver_To_Contact_id:=p_header_rec.Deliver_To_Contact_Id;
3103 END IF;
3104
3105 IF NOT OE_Globals.Equal(
3106 p_header_rec.Deliver_to_Org_Id,
3107 p_old_db_header_rec.Deliver_To_Org_Id) AND
3108
3109 OE_OE_FORM_HEADER.g_cascade_test_record.p_deliver_to='Y'
3110
3111 THEN
3112 l_x_line_tbl(i).Deliver_To_Org_id:=p_header_rec.Deliver_to_Org_Id;
3113 END IF;
3114
3115 IF NOT OE_Globals.Equal(
3116 p_header_rec.Demand_Class_Code,
3117 p_old_db_header_rec.Demand_Class_Code) AND
3118
3119 OE_OE_FORM_HEADER.g_cascade_test_record.p_demand_class='Y'
3120
3121 THEN
3122 l_x_line_tbl(i).Demand_Class_Code:=p_header_rec.Demand_Class_Code;
3123 END IF;
3124
3125 IF NOT OE_Globals.Equal(
3126 p_header_rec.Fob_point_Code,
3127 p_old_db_header_rec.Fob_point_Code) AND
3128
3129 OE_OE_FORM_HEADER.g_cascade_test_record.p_fob_point='Y'
3130
3131 THEN
3132 l_x_line_tbl(i).Fob_Point_Code:=p_header_rec.Fob_Point_Code;
3133 END IF;
3134
3135 IF NOT OE_Globals.Equal(
3136 p_header_rec.Freight_Terms_Code,
3137 p_old_db_header_rec.Freight_Terms_Code) AND
3138
3139 -- Bug 8330454 OE_OE_FORM_HEADER.g_cascade_test_record.p_fob_point='Y'
3140 OE_OE_FORM_HEADER.g_cascade_test_record.p_freight_terms = 'Y' --Bug 8330454
3141
3142
3143 THEN
3144 l_x_line_tbl(i).Freight_Terms_Code:=p_header_rec.Freight_Terms_Code;
3145 END IF;
3146
3147 IF NOT OE_Globals.Equal(
3148 p_header_rec.Invoice_To_Contact_Id,
3149 p_old_db_header_rec.Invoice_To_Contact_Id) AND
3150
3151 OE_OE_FORM_HEADER.g_cascade_test_record.p_bill_to_contact='Y'
3152
3153 THEN
3154 l_x_line_tbl(i).Invoice_To_Contact_Id:=p_header_rec.Invoice_To_Contact_Id;
3155 END IF;
3156
3157 IF NOT OE_Globals.Equal(
3158 p_header_rec.Invoice_To_Org_Id,
3159 p_old_db_header_rec.Invoice_To_Org_Id) AND
3160
3161 OE_OE_FORM_HEADER.g_cascade_test_record.p_bill_to='Y'
3162
3163 THEN
3164 l_x_line_tbl(i).Invoice_To_Org_Id:=p_header_rec.Invoice_To_Org_Id;
3165 END IF;
3166
3167 IF NOT OE_Globals.Equal(
3168 p_header_rec.Invoicing_Rule_Id,
3169 p_old_db_header_rec.Invoicing_Rule_Id) AND
3170
3171 OE_OE_FORM_HEADER.g_cascade_test_record.p_invoicing_rule='Y'
3172
3173 THEN
3174 l_x_line_tbl(i).Invoicing_Rule_Id:=p_header_rec.Invoicing_Rule_Id;
3175 END IF;
3176
3177 IF NOT OE_Globals.Equal(
3178 p_header_rec.Price_List_Id,
3179 p_old_db_header_rec.Price_List_Id) AND
3180
3181 OE_OE_FORM_HEADER.g_cascade_test_record.p_price_list='Y'
3182
3183 THEN
3184 l_x_line_tbl(i).Price_List_Id:=p_header_rec.Price_List_Id;
3185 END IF;
3186
3187
3188 IF NOT OE_Globals.Equal(
3189 p_header_rec.Request_date,
3190 p_old_db_header_rec.Request_date) AND
3191
3192 OE_OE_FORM_HEADER.g_cascade_test_record.p_request_date='Y'
3193
3194 THEN
3195 l_x_line_tbl(i).Request_Date:=p_header_rec.Request_Date;
3196 END IF;
3197
3198 IF NOT OE_Globals.Equal(
3199 p_header_rec.Return_Reason_Code,
3200 p_old_db_header_rec.Return_Reason_Code) AND
3201
3202 OE_OE_FORM_HEADER.g_cascade_test_record.p_return_reason='Y'
3203
3204 THEN
3205 l_x_line_tbl(i).Return_Reason_Code:=p_header_rec.Return_reason_Code;
3206 END IF;
3207
3208 IF NOT OE_Globals.Equal(
3209 p_header_rec.Salesrep_Id,
3210 p_old_db_header_rec.Salesrep_id) AND
3211
3212 OE_OE_FORM_HEADER.g_cascade_test_record.p_salesperson='Y'
3213
3214 THEN
3215 l_x_line_tbl(i).Salesrep_Id:=p_header_rec.Salesrep_Id;
3216 END IF;
3217
3218 IF NOT OE_Globals.Equal(
3219 p_header_rec.Ship_From_Org_Id,
3220 p_old_db_header_rec.Ship_From_Org_id) AND
3221
3222 OE_OE_FORM_HEADER.g_cascade_test_record.p_warehouse='Y'
3223
3224 THEN
3225 l_x_line_tbl(i).Ship_From_Org_Id:=p_header_rec.Ship_From_Org_Id;
3226 END IF;
3227
3228 IF NOT OE_Globals.Equal(
3229 p_header_rec.Ship_To_Contact_Id,
3230 p_old_db_header_rec.Ship_To_Contact_Id) AND
3231
3232 OE_OE_FORM_HEADER.g_cascade_test_record.p_ship_to_contact='Y'
3233
3234 THEN
3235 l_x_line_tbl(i).Ship_To_Contact_Id:=p_header_rec.Ship_To_Contact_Id;
3236 END IF;
3237
3238 IF NOT OE_Globals.Equal(
3239 p_header_rec.Sold_To_Org_Id,
3240 p_old_db_header_rec.Sold_To_Org_id) AND
3241
3242 OE_OE_FORM_HEADER.g_cascade_test_record.p_customer='Y'
3243
3244 THEN
3245 l_x_line_tbl(i).Sold_To_Org_Id:=p_header_rec.Sold_To_Org_Id;
3246 END IF;
3247
3248 IF NOT OE_Globals.Equal(
3249 p_header_rec.Tax_Exempt_Flag,
3250 p_old_db_header_rec.Tax_Exempt_Flag) AND
3251
3252 OE_OE_FORM_HEADER.g_cascade_test_record.p_tax_exempt='Y'
3253
3254 THEN
3255 l_x_line_tbl(i).Tax_Exempt_Flag:=p_header_rec.Tax_Exempt_Flag;
3256 END IF;
3257
3258 l_x_line_tbl(i).operation:= OE_GLOBALS.G_OPR_UPDATE;
3259 l_x_line_tbl(i).change_reason:='SYSTEM';
3260
3261 END IF; -- Cascade Only if Line is Open
3262 END LOOP;
3263
3264 END IF;
3265 oe_debug_pub.add('Entering OE_OE_FOR_HEADER.Cascade Attribute-Before PO');
3266
3267 -- Added for cascading in Mass Change ER 7509356
3268 IF OE_MASS_CHANGE_PVT.IS_MASS_CHANGE = 'T' THEN
3269 l_init_msg_list := FND_API.G_FALSE;
3270 END IF;
3271
3272 OE_GLOBALS.G_UI_FLAG := TRUE;
3273 Oe_Order_Pvt.Process_order
3274 ( p_api_version_number => 1.0
3275 , p_init_msg_list => l_init_msg_list
3276 , x_return_status => l_return_status
3277 , x_msg_count => x_msg_count
3278 , x_msg_data => x_msg_data
3279 , p_control_rec => l_control_rec
3280 , p_x_line_tbl => l_x_line_tbl
3281 , p_old_line_tbl => l_x_old_line_tbl
3282 , p_x_header_rec => l_x_header_rec
3283 , p_x_Header_Adj_tbl => l_x_Header_Adj_tbl
3284 , p_x_header_price_att_tbl => l_x_header_price_att_tbl
3285 , p_x_Header_Adj_att_tbl => l_x_Header_Adj_att_tbl
3286 , p_x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
3287 , p_x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
3288 --serla begin
3289 , p_x_Header_Payment_tbl => l_x_Header_Payment_tbl
3290 --serla end
3291 , p_x_Line_Adj_tbl => l_x_Line_Adj_tbl
3292 , p_x_Line_Price_att_tbl => l_x_Line_Price_att_tbl
3293 , p_x_Line_Adj_att_tbl => l_x_Line_Adj_att_tbl
3294 , p_x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
3295 , p_x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
3296 --serla begin
3297 , p_x_Line_Payment_tbl => l_x_Line_Payment_tbl
3298 --serla end
3299 , p_x_action_request_tbl => l_x_Action_Request_tbl
3300 , p_x_lot_serial_tbl => l_x_lot_serial_tbl
3301
3302 );
3303
3304 oe_debug_pub.add('Entering OE_OE_FOR_HEADER.Cascade Attribute-After PO');
3305
3306
3307 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3308 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3309 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3310 RAISE FND_API.G_EXC_ERROR;
3311 END IF;
3312
3313
3314 -- Re-set the UI flag to FALSE
3315 OE_GLOBALS.G_UI_FLAG := FALSE;
3316
3317 -- Set return status.
3318
3319 x_return_status := FND_API.G_RET_STS_SUCCESS;
3320
3321 -- Get message count and data
3322 -- Commenting out for now not to display the same messages multiple times
3323 /*
3324 OE_MSG_PUB.Count_And_Get
3325 ( p_count => x_msg_count
3326 , p_data => x_msg_data
3327 ); */
3328
3329
3330 EXCEPTION
3331
3332 WHEN FND_API.G_EXC_ERROR THEN
3333 ROLLBACK TO SAVEPOINT Header_Cascade_Attributes;
3334 OE_GLOBALS.G_UI_FLAG := FALSE;
3335
3336 x_return_status := FND_API.G_RET_STS_ERROR;
3337
3338 -- Get message count and data
3339
3340 OE_MSG_PUB.Count_And_Get
3341 ( p_count => x_msg_count
3342 , p_data => x_msg_data
3343 );
3344
3345 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3346 ROLLBACK TO SAVEPOINT Header_Cascade_Attributes;
3347
3348 OE_GLOBALS.G_UI_FLAG := FALSE;
3349
3350 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3351
3352 -- Get message count and data
3353
3354 OE_MSG_PUB.Count_And_Get
3355 ( p_count => x_msg_count
3356 , p_data => x_msg_data
3357 );
3358
3359 WHEN OTHERS THEN
3360 ROLLBACK TO SAVEPOINT Header_Cascade_Attributes;
3361
3362 OE_GLOBALS.G_UI_FLAG := FALSE;
3363
3364 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3365
3366 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3367 THEN
3368 OE_MSG_PUB.Add_Exc_Msg
3369 ( G_PKG_NAME
3370 , 'CASCADE_HEADER_ATTRIBUTES'
3371 );
3372 END IF;
3373
3374 -- Get message count and data
3375
3376 OE_MSG_PUB.Count_And_Get
3377 ( p_count => x_msg_count
3378 , p_data => x_msg_data
3379 );
3380
3381 END CASCADE_HEADER_ATTRIBUTES;
3382
3383 PROCEDURE get_customer_details( p_site_use_id IN NUMBER,
3384 p_site_use_code IN VARCHAR2,
3385 x_customer_id OUT NOCOPY NUMBER,
3386 x_customer_name OUT NOCOPY VARCHAR2,
3387 x_customer_number OUT NOCOPY VARCHAR2
3388 ) IS
3389
3390 BEGIN
3391 /*2172651*/
3392
3393 select /* MOAC_SQL_CHANGE */ cust.cust_account_id,
3394 party.party_name,
3395 cust.account_number
3396 INTO x_customer_id,
3397 x_customer_name,
3398 x_customer_number
3399 from
3400 hz_cust_site_uses_all site,
3401 hz_cust_acct_sites_all cas,
3402 hz_cust_accounts cust,
3403 hz_parties party
3404 where site.site_use_code = p_site_use_code
3405 and site_use_id = p_site_use_id
3406 and site.cust_acct_site_id = cas.cust_acct_site_id
3407 and cas.cust_account_id = cust.cust_account_id
3408 and cust.party_id=party.party_id;
3409 /*2172651*/
3410 EXCEPTION
3411
3412 WHEN NO_DATA_FOUND THEN
3413 Null;
3414 When too_many_rows then
3415 Null;
3416 When others then
3417 Null;
3418
3419 END get_customer_details;
3420
3421
3422 PROCEDURE CREATE_AGREEMENT(
3423 x_return_status OUT NOCOPY VARCHAR2
3424 , x_msg_count OUT NOCOPY NUMBER
3425 , x_msg_data OUT NOCOPY VARCHAR2
3426 , p_price_list_id IN Number
3427 , p_agreement_name IN VARCHAR2
3428 , p_term_id IN Number
3429 , p_sold_to_org_id IN Number
3430
3431 )
3432
3433 IS PRAGMA AUTONOMOUS_TRANSACTION;
3434
3435 l_msg_count number := 0;
3436 l_msg_data varchar2(2000);
3437
3438 p_Agreement_rec OE_Pricing_Cont_PUB.Agreement_Rec_Type;
3439 p_Agreement_val_rec OE_Pricing_Cont_PUB.Agreement_Val_Rec_Type;
3440 p_price_list_rec QP_PRICE_LIST_PUB.Price_List_Rec_Type;
3441 p_price_list_val_rec QP_PRICE_LIST_PUB.Price_List_Val_Rec_Type;
3442
3443 p_price_list_line_tbl QP_PRICE_LIST_PUB.Price_List_Line_Tbl_Type;
3444 p_price_list_line_val_tbl QP_PRICE_LIST_PUB.Price_List_Line_Val_Tbl_Type;
3445
3446 p_pricing_attr_tbl QP_PRICE_LIST_PUB.Pricing_Attr_Tbl_Type;
3447 p_pricing_attr_val_tbl QP_PRICE_LIST_PUB.Pricing_Attr_Val_Tbl_Type;
3448
3449 x_Agreement_rec OE_Pricing_Cont_PUB.Agreement_Rec_Type;
3450 x_Agreement_val_rec OE_Pricing_Cont_PUB.Agreement_Val_Rec_Type;
3451
3452 x_price_list_rec QP_PRICE_LIST_PUB.Price_List_Rec_Type;
3453 x_price_list_val_rec QP_PRICE_LIST_PUB.Price_List_Val_Rec_Type;
3454
3455 x_price_list_line_tbl QP_PRICE_LIST_PUB.Price_List_Line_Tbl_Type;
3456 x_price_list_line_val_tbl QP_PRICE_LIST_PUB.Price_List_Line_Val_Tbl_Type;
3457
3458 x_pricing_attr_tbl QP_PRICE_LIST_PUB.Pricing_Attr_Tbl_Type;
3459 x_pricing_attr_val_tbl QP_PRICE_LIST_PUB.Pricing_Attr_Val_Tbl_Type;
3460
3461 BEGIN
3462
3463
3464 oe_debug_pub.add('Entering OE_OE_FORM_HEADER.Create_Agreement', 1);
3465
3466 p_Agreement_rec.name := p_agreement_name;
3467 p_agreement_rec.creation_date :=sysdate;
3468 p_agreement_rec.created_by := FND_GLOBAL.USER_ID;
3469 p_agreement_rec.last_update_date := sysdate;
3470 p_agreement_rec.last_updated_by := FND_GLOBAL.USER_ID;
3471 p_agreement_rec.agreement_type_code := 'STANDARD';
3472 --p_agreement_rec.agreement_num := '2001';
3473 p_agreement_rec.revision := '1';
3474 p_agreement_rec.revision_date := sysdate;
3475 p_agreement_rec.term_id := p_term_id;
3476 p_agreement_rec.OVERRIDE_IRULE_FLAG := 'Y';
3477 p_agreement_rec.OVERRIDE_ARULE_FLAG := 'Y';
3478 p_agreement_rec.agreement_id := FND_API.G_MISS_NUM;
3479 p_agreement_rec.operation := QP_GLOBALS.G_OPR_CREATE;
3480 p_agreement_rec.price_list_id := p_price_list_id;
3481 p_agreement_rec.sold_to_org_id := p_sold_to_org_id;
3482 oe_debug_pub.add('Before Process_Agreement', 1);
3483
3484 OE_Pricing_Cont_PUB.Process_Agreement
3485 ( p_api_version_number => 1.0
3486
3487 , p_init_msg_list => FND_API.G_TRUE
3488 , p_return_values => FND_API.G_FALSE
3489 , p_commit => FND_API.G_FALSE
3490 , x_return_status => x_return_status
3491 , x_msg_count => x_msg_count
3492 , x_msg_data => x_msg_data
3493 , p_Agreement_rec => p_Agreement_rec
3494 , x_Agreement_rec => x_Agreement_rec
3495 , x_Agreement_val_rec => x_Agreement_val_rec
3496 , x_Price_LHeader_rec => x_price_list_rec
3497 , x_Price_LHeader_val_rec => x_price_list_val_rec
3498
3499 , x_Price_LLine_tbl => x_price_list_line_tbl
3500 , x_Price_LLine_val_tbl => x_price_list_line_val_tbl
3501 , x_Pricing_Attr_tbl => x_pricing_attr_tbl
3502 , x_Pricing_Attr_val_tbl => x_pricing_attr_val_tbl
3503 );
3504 oe_debug_pub.add('After Process_Agreement', 1);
3505
3506
3507 IF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3508 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3509 ELSIF x_return_status = FND_API.G_RET_STS_ERROR THEN
3510 RAISE FND_API.G_EXC_ERROR;
3511
3512 END IF;
3513 oe_debug_pub.add('Before Commit', 1);
3514
3515 COMMIT;
3516 oe_debug_pub.add('After Commit', 1);
3517
3518 EXCEPTION
3519
3520 WHEN FND_API.G_EXC_ERROR THEN
3521 ROLLBACK;
3522 x_return_status := FND_API.G_RET_STS_ERROR;
3523
3524 -- Get message count and data
3525 OE_MSG_PUB.Count_And_Get
3526 ( p_count => x_msg_count
3527 , p_data => x_msg_data
3528 );
3529
3530
3531
3532 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3533 ROLLBACK;
3534
3535 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3536 OE_MSG_PUB.Count_And_Get
3537 ( p_count => x_msg_count
3538 , p_data => x_msg_data
3539 );
3540
3541
3542 WHEN OTHERS THEN
3543 ROLLBACK;
3544
3545 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3546 OE_MSG_PUB.Count_And_Get
3547 ( p_count => x_msg_count
3548 , p_data => x_msg_data
3549 );
3550
3551
3552 END CREATE_AGREEMENT;
3553
3554 PROCEDURE Clear_Global_PO_Cache IS
3555 l_return_status VARCHAR2(1);
3556 BEGIN
3557
3558 oe_debug_pub.add('hash before prn');
3559
3560 -- bug 3588660
3561 IF OE_CODE_CONTROL.Code_Release_Level >= '110508' THEN
3562
3563
3564 IF (( OE_ORDER_UTIL.g_header_rec.header_id is not null
3565 AND OE_ORDER_UTIL.g_header_rec.header_id <> FND_API.G_MISS_NUM)
3566 OR OE_ORDER_UTIL.g_header_adj_tbl.count >0
3567 OR OE_ORDER_UTIL.g_Header_Scredit_tbl.count >0
3568 OR OE_ORDER_UTIL.g_line_tbl.count >0
3569 OR OE_ORDER_UTIL.g_Line_Adj_tbl.count >0
3570 OR OE_ORDER_UTIL.g_Line_Scredit_tbl.count >0
3571 OR OE_ORDER_UTIL.g_Lot_Serial_tbl.count >0 ) THEN
3572
3573 oe_debug_pub.add('hash calling prn');
3574
3575 OE_Order_PVT.Process_Requests_And_Notify
3576 ( p_process_requests => TRUE
3577 , p_notify => FALSE
3578 , x_return_status => l_return_status
3579 );
3580
3581 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
3582 RAISE FND_API.G_EXC_ERROR;
3583 ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3584 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3585 END IF;
3586
3587 --zbutt change bug#4772531 begin
3588 oe_order_util.clear_global_picture(l_return_status) ;
3589 IF l_return_status = FND_API.G_RET_STS_ERROR THEN
3590 RAISE FND_API.G_EXC_ERROR;
3591 ELSIF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3592 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3593 END IF;
3594 --zbutt change bug#4772531 end
3595
3596 END IF;
3597 END IF;
3598
3599 -- moved down for bug 3686007
3600
3601 OE_ORDER_CACHE.g_header_rec.header_id:=null;
3602 OE_GLOBALS.G_HEADER_CREATED := FALSE;
3603 g_db_header_rec := OE_Order_PUB.G_MISS_HEADER_REC;
3604
3605
3606 END Clear_Global_PO_Cache;
3607
3608 PROCEDURE Copy_Attribute_To_Rec
3609 ( p_attr_id IN NUMBER
3610 , p_attr_value IN VARCHAR2
3611 , p_header_dff_rec IN OE_OE_FORM_HEADER.header_dff_rec_type
3612 , p_date_format_mask IN VARCHAR2 DEFAULT 'DD-MON-YYYY HH24:MI:SS'
3613 , x_header_rec IN OUT NOCOPY OE_Order_PUB.Header_Rec_Type
3614 , x_old_header_rec IN OUT NOCOPY OE_ORDER_PUB.Header_Rec_Type
3615 )
3616 IS
3617 l_date_format_mask VARCHAR2(30) := p_date_format_mask;
3618 --
3619 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
3620 --
3621 BEGIN
3622 IF p_attr_id = OE_Header_Util.G_ACCOUNTING_RULE THEN
3623 x_header_rec.accounting_rule_id := TO_NUMBER(p_attr_value);
3624 ELSIF p_attr_id = OE_Header_Util.G_ACCOUNTING_RULE_DURATION THEN
3625 x_header_rec.accounting_rule_duration := TO_NUMBER(p_attr_value);
3626 ELSIF p_attr_id = OE_Header_Util.G_AGREEMENT THEN
3627 x_header_rec.agreement_id := TO_NUMBER(p_attr_value);
3628 ELSIF p_attr_id = OE_Header_Util.G_BLANKET_NUMBER THEN
3629 x_header_rec.blanket_number := TO_NUMBER(p_attr_value);
3630 --kmuruges
3631 ELSIF p_attr_id = OE_Header_Util.G_quote_date THEN
3632 -- x_header_rec.quote_date := TO_DATE(p_attr_value,l_date_format_mask);
3633 x_header_rec.quote_date := fnd_date.string_to_date(p_attr_value,l_date_format_mask); --bug5402396
3634 ELSIF p_attr_id = OE_Header_Util.G_quote_number THEN
3635 x_header_rec.quote_number := TO_NUMBER(p_attr_value);
3636 ELSIF p_attr_id = OE_Header_Util.G_sales_document_name THEN
3637 x_header_rec.sales_document_name := p_attr_value;
3638 ELSIF p_attr_id = OE_Header_Util.G_transaction_phase THEN
3639 x_header_rec.transaction_phase_code := p_attr_value;
3640 ELSIF p_attr_id = OE_Header_Util.G_user_status THEN
3641 x_header_rec.user_status_code := p_attr_value;
3642 ELSIF p_attr_id = OE_Header_Util.G_draft_submitted THEN
3643 x_header_rec.draft_submitted_flag := p_attr_value;
3644 ELSIF p_attr_id = OE_Header_Util.G_source_document_version THEN
3645 x_header_rec.source_document_version_number := TO_NUMBER(p_attr_value);
3646 ELSIF p_attr_id = OE_Header_Util.G_sold_to_site_use THEN
3647 x_header_rec.sold_to_site_use_id := TO_NUMBER(p_attr_value);
3648
3649 ELSIF p_attr_id = OE_Header_Util.G_ib_owner THEN
3650 x_header_rec.ib_owner := p_attr_value;
3651 ELSIF p_attr_id = OE_Header_Util.G_ib_installed_at_location THEN
3652 x_header_rec.ib_installed_at_location := p_attr_value;
3653 ELSIF p_attr_id = OE_Header_Util.G_ib_current_location THEN
3654 x_header_rec.ib_current_location := p_attr_value;
3655 ELSIF p_attr_id = OE_Header_Util.G_end_customer_site_use THEN
3656 x_header_rec.end_customer_site_use_id := TO_NUMBER(p_attr_value);
3657 ELSIF p_attr_id = OE_Header_Util.G_end_customer_contact THEN
3658 x_header_rec.end_customer_contact_id := TO_NUMBER(p_attr_value);
3659 ELSIF p_attr_id = OE_Header_Util.G_end_customer THEN
3660 x_header_rec.end_customer_id := TO_NUMBER(p_attr_value);
3661 --kmuruges end
3662 ELSIF p_attr_id = OE_Header_Util.G_BOOKED THEN
3663 x_header_rec.booked_flag := p_attr_value;
3664 ELSIF p_attr_id = OE_Header_Util.G_BOOKED_DATE THEN
3665 x_header_rec.booked_date := p_attr_value;
3666 ELSIF p_attr_id = OE_Header_Util.G_CANCELLED THEN
3667 x_header_rec.cancelled_flag := p_attr_value;
3668 ELSIF p_attr_id = OE_Header_Util.G_CONVERSION_RATE THEN
3669 x_header_rec.conversion_rate := TO_NUMBER(p_attr_value);
3670 ELSIF p_attr_id = OE_Header_Util.G_CONVERSION_RATE_DATE THEN
3671 --x_header_rec.conversion_rate_date := TO_DATE(p_attr_value,l_date_format_mask);
3672 x_header_rec.conversion_rate_date := fnd_date.string_to_date(p_attr_value,l_date_format_mask); --bug5402396
3673 ELSIF p_attr_id = OE_Header_Util.G_CONVERSION_TYPE THEN
3674 x_header_rec.conversion_type_code := p_attr_value;
3675 ELSIF p_attr_id = OE_Header_Util.G_CUSTOMER_PREFERENCE_SET THEN
3676 x_header_rec.CUSTOMER_PREFERENCE_SET_CODE := p_attr_value;
3677 ELSIF p_attr_id = OE_Header_Util.G_CUST_PO_NUMBER THEN
3678 x_header_rec.cust_po_number := p_attr_value;
3679 ELSIF p_attr_id = OE_Header_Util.G_DEFAULT_FULFILLMENT_SET THEN
3680 x_header_rec.DEFAULT_FULFILLMENT_SET := p_attr_value;
3681 ELSIF p_attr_id = OE_Header_Util.G_DELIVER_TO_CONTACT THEN
3682 x_header_rec.deliver_to_contact_id := TO_NUMBER(p_attr_value);
3683 ELSIF p_attr_id = OE_Header_Util.G_DELIVER_TO_ORG THEN
3684 x_header_rec.deliver_to_org_id := TO_NUMBER(p_attr_value);
3685 ELSIF p_attr_id = OE_Header_Util.G_DEMAND_CLASS THEN
3686 x_header_rec.demand_class_code := p_attr_value;
3687 ELSIF p_attr_id = OE_Header_Util.G_EXPIRATION_DATE THEN
3688 --x_header_rec.expiration_date := TO_DATE(p_attr_value, l_date_format_mask);
3689 x_header_rec.expiration_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask); --bug5402396
3690 ELSIF p_attr_id = OE_Header_Util.G_EARLIEST_SCHEDULE_LIMIT THEN
3691 x_header_rec.earliest_schedule_limit := TO_NUMBER(p_attr_value);
3692 ELSIF p_attr_id = OE_Header_Util.G_FOB_POINT THEN
3693 x_header_rec.fob_point_code := p_attr_value;
3694 ELSIF p_attr_id = OE_Header_Util.G_FREIGHT_CARRIER THEN
3695 x_header_rec.freight_carrier_code := p_attr_value;
3696 ELSIF p_attr_id = OE_Header_Util.G_FREIGHT_TERMS THEN
3697 x_header_rec.freight_terms_code := p_attr_value;
3698 ELSIF p_attr_id = OE_Header_Util.G_FULFILLMENT_SET_NAME THEN
3699 x_header_rec.FULFILLMENT_SET_NAME := p_attr_value;
3700 ELSIF p_attr_id = OE_Header_Util.G_HEADER THEN
3701 x_header_rec.header_id := TO_NUMBER(p_attr_value);
3702 ELSIF p_attr_id = OE_Header_Util.G_INVOICE_TO_CONTACT THEN
3703 x_header_rec.invoice_to_contact_id := TO_NUMBER(p_attr_value);
3704 ELSIF p_attr_id = OE_Header_Util.G_INVOICE_TO_ORG THEN
3705 x_header_rec.invoice_to_org_id := TO_NUMBER(p_attr_value);
3706 ELSIF p_attr_id = OE_Header_Util.G_INVOICING_RULE THEN
3707 x_header_rec.invoicing_rule_id := TO_NUMBER(p_attr_value);
3708 ELSIF p_attr_id = OE_Header_Util.G_LATEST_SCHEDULE_LIMIT THEN
3709 x_header_rec.latest_schedule_limit := TO_NUMBER(p_attr_value);
3710 ELSIF p_attr_id = OE_Header_Util.G_LINE_SET_NAME THEN
3711 x_header_rec.LINE_SET_NAME := p_attr_value;
3712 ELSIF p_attr_id = OE_Header_Util.G_OPEN THEN
3713 x_header_rec.open_flag := p_attr_value;
3714 ELSIF p_attr_id = OE_Header_Util.G_ORDERED_DATE THEN
3715 -- x_header_rec.ordered_date := TO_DATE(p_attr_value, l_date_format_mask);
3716 x_header_rec.ordered_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask); --bug5402396
3717 ELSIF p_attr_id = OE_Header_Util.G_ORDER_DATE_TYPE_CODE THEN
3718 x_header_rec.order_date_type_code := p_attr_value;
3719 ELSIF p_attr_id = OE_Header_Util.G_ORDER_NUMBER THEN
3720 x_header_rec.order_number := TO_NUMBER(p_attr_value);
3721 ELSIF p_attr_id = OE_Header_Util.G_ORDER_SOURCE THEN
3722 x_header_rec.order_source_id := TO_NUMBER(p_attr_value);
3723 ELSIF p_attr_id = OE_Header_Util.G_ORDER_TYPE THEN
3724 x_header_rec.order_type_id := TO_NUMBER(p_attr_value);
3725 ELSIF p_attr_id = OE_Header_Util.G_ORG THEN
3726 x_header_rec.org_id := TO_NUMBER(p_attr_value);
3727 ELSIF p_attr_id = OE_Header_Util.G_ORIG_SYS_DOCUMENT_REF THEN
3728 x_header_rec.orig_sys_document_ref := p_attr_value;
3729 ELSIF p_attr_id = OE_Header_Util.G_PARTIAL_SHIPMENTS_ALLOWED THEN
3730 x_header_rec.partial_shipments_allowed := p_attr_value;
3731 ELSIF p_attr_id = OE_Header_Util.G_PAYMENT_TERM THEN
3732 x_header_rec.payment_term_id := TO_NUMBER(p_attr_value);
3733 ELSIF p_attr_id = OE_Header_Util.G_PRICE_LIST THEN
3734 x_header_rec.price_list_id := TO_NUMBER(p_attr_value);
3735 ELSIF p_attr_id = OE_Header_Util.G_PRICING_DATE THEN
3736 --x_header_rec.pricing_date := TO_DATE(p_attr_value, l_date_format_mask);
3737 x_header_rec.pricing_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask); --bug5402396
3738 ELSIF p_attr_id = OE_Header_Util.G_REQUEST_DATE THEN
3739 --x_header_rec.request_date := TO_DATE(p_attr_value, l_date_format_mask);
3740 x_header_rec.request_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask); --bug5402396
3741 ELSIF p_attr_id = OE_Header_Util.G_SHIPMENT_PRIORITY THEN
3742 x_header_rec.shipment_priority_code := p_attr_value;
3743 ELSIF p_attr_id = OE_Header_Util.G_SHIPPING_METHOD THEN
3744 x_header_rec.shipping_method_code := p_attr_value;
3745 ELSIF p_attr_id = OE_Header_Util.G_SHIP_FROM_ORG THEN
3746 x_header_rec.ship_from_org_id := TO_NUMBER(p_attr_value);
3747 ELSIF p_attr_id = OE_Header_Util.G_SHIP_TOLERANCE_ABOVE THEN
3748 x_header_rec.ship_tolerance_above := TO_NUMBER(p_attr_value);
3749 ELSIF p_attr_id = OE_Header_Util.G_SHIP_TOLERANCE_BELOW THEN
3750 x_header_rec.ship_tolerance_below := TO_NUMBER(p_attr_value);
3751 ELSIF p_attr_id = OE_Header_Util.G_SHIP_TO_CONTACT THEN
3752 x_header_rec.ship_to_contact_id := TO_NUMBER(p_attr_value);
3753 ELSIF p_attr_id = OE_Header_Util.G_SHIP_TO_ORG THEN
3754 x_header_rec.ship_to_org_id := TO_NUMBER(p_attr_value);
3755 ELSIF p_attr_id = OE_Header_Util.G_SOLD_TO_CONTACT THEN
3756 x_header_rec.sold_to_contact_id := TO_NUMBER(p_attr_value);
3757 ELSIF p_attr_id = OE_Header_Util.G_SOLD_TO_ORG THEN
3758 x_header_rec.sold_to_org_id := TO_NUMBER(p_attr_value);
3759 ELSIF p_attr_id = OE_Header_Util.G_SOLD_TO_PHONE THEN
3760 x_header_rec.sold_to_phone_id := TO_NUMBER(p_attr_value);
3761 ELSIF p_attr_id = OE_Header_Util.G_SOURCE_DOCUMENT THEN
3762 x_header_rec.source_document_id := TO_NUMBER(p_attr_value);
3763 ELSIF p_attr_id = OE_Header_Util.G_SOURCE_DOCUMENT_TYPE THEN
3764 x_header_rec.source_document_type_id := TO_NUMBER(p_attr_value);
3765 ELSIF p_attr_id = OE_Header_Util.G_TAX_EXEMPT THEN
3766 x_header_rec.tax_exempt_flag := p_attr_value;
3767 ELSIF p_attr_id = OE_Header_Util.G_TAX_EXEMPT_NUMBER THEN
3768 x_header_rec.tax_exempt_number := p_attr_value;
3769 ELSIF p_attr_id = OE_Header_Util.G_TAX_EXEMPT_REASON THEN
3770 x_header_rec.tax_exempt_reason_code := p_attr_value;
3771 ELSIF p_attr_id = OE_Header_Util.G_TAX_POINT THEN
3772 x_header_rec.tax_point_code := p_attr_value;
3773 ELSIF p_attr_id = OE_Header_Util.G_TRANSACTIONAL_CURR THEN
3774 x_header_rec.transactional_curr_code := p_attr_value;
3775 ELSIF p_attr_id = OE_Header_Util.G_VERSION_NUMBER THEN
3776 x_header_rec.version_number := TO_NUMBER(p_attr_value);
3777 ELSIF p_attr_id = OE_Header_Util.G_SALESREP THEN
3778 x_header_rec.salesrep_id := TO_NUMBER(p_attr_value);
3779 ELSIF p_attr_id = OE_Header_Util.G_SALES_CHANNEL THEN
3780 x_header_rec.sales_channel_code := p_attr_value;
3781 ELSIF p_attr_id = OE_Header_Util.G_RETURN_REASON THEN
3782 x_header_rec.return_reason_code := p_attr_value;
3783 ELSIF p_attr_id = OE_Header_Util.G_PAYMENT_TYPE THEN
3784 x_header_rec.payment_type_code := p_attr_value;
3785 ELSIF p_attr_id = OE_Header_Util.G_PAYMENT_AMOUNT THEN
3786 x_header_rec.payment_amount := TO_NUMBER(p_attr_value);
3787 ELSIF p_attr_id = OE_Header_Util.G_CHECK_NUMBER THEN
3788 x_header_rec.check_number := p_attr_value;
3789 ELSIF p_attr_id = OE_Header_Util.G_CREDIT_CARD THEN
3790 x_header_rec.credit_card_code := p_attr_value;
3791 ELSIF p_attr_id = OE_Header_Util.G_CREDIT_CARD_HOLDER_NAME THEN
3792 x_header_rec.credit_card_holder_name := p_attr_value;
3793 ELSIF p_attr_id = OE_Header_Util.G_CREDIT_CARD_NUMBER THEN
3794 x_header_rec.credit_card_number := p_attr_value;
3795 ELSIF p_attr_id = Oe_header_util.G_INSTRUMENT_SECURITY THEN--R12 CC Encryption
3796 x_header_rec.instrument_security_code := p_attr_value;
3797 ELSIF p_attr_id = Oe_header_util.G_CC_INSTRUMENT THEN
3798 x_header_rec.CC_INSTRUMENT_ID := p_attr_value;
3799 ELSIF p_attr_id = Oe_header_util.G_CC_INSTRUMENT_ASSIGNMENT THEN
3800 x_header_rec.CC_INSTRUMENT_ASSIGNMENT_ID := p_attr_value; --R12 CC Encryption
3801 ELSIF p_attr_id = OE_Header_Util.G_CREDIT_CARD_EXPIRATION_DATE THEN
3802 --x_header_rec.credit_card_expiration_date := TO_DATE(p_attr_value, l_date_format_mask);
3803 x_header_rec.credit_card_expiration_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask); --bug5402396
3804 ELSIF p_attr_id = OE_Header_Util.G_CREDIT_CARD_APPROVAL_DATE THEN
3805 -- x_header_rec.credit_card_approval_date := TO_DATE(p_attr_value, l_date_format_mask);
3806 x_header_rec.credit_card_approval_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask); --bug5402396
3807 ELSIF p_attr_id = OE_Header_Util.G_CREDIT_CARD_APPROVAL THEN
3808 x_header_rec.credit_card_approval_code := p_attr_value;
3809 ELSIF p_attr_id = OE_Header_Util.G_FIRST_ACK THEN
3810 x_header_rec.first_ack_code := p_attr_value;
3811 ELSIF p_attr_id = OE_Header_Util.G_FIRST_ACK_DATE THEN
3812 -- x_header_rec.first_ack_date := TO_DATE(p_attr_value, l_date_format_mask);
3813 x_header_rec.first_ack_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask); --bug5402396
3814 ELSIF p_attr_id = OE_Header_Util.G_LAST_ACK THEN
3815 x_header_rec.last_ack_code := p_attr_value;
3816 ELSIF p_attr_id = OE_Header_Util.G_SHIPPING_INSTRUCTIONS THEN
3817 x_header_rec.shipping_instructions := p_attr_value;
3818 ELSIF p_attr_id = OE_Header_Util.G_PACKING_INSTRUCTIONS THEN
3819 x_header_rec.packing_instructions := p_attr_value;
3820 ELSIF p_attr_id = OE_Header_Util.G_LAST_ACK_DATE THEN
3821 --x_header_rec.last_ack_date := TO_DATE(p_attr_value, l_date_format_mask);
3822 x_header_rec.last_ack_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask);--bug5402396
3823 ELSIF p_attr_id = OE_Header_Util.G_ORDER_CATEGORY THEN
3824 x_header_rec.order_category_code := p_attr_value;
3825
3826 ELSIF p_attr_id = OE_Header_Util.G_CONTRACT_TEMPLATE THEN
3827 x_header_rec.contract_template_id := TO_NUMBER(p_attr_value);
3828
3829 ELSIF p_attr_id = OE_Header_Util.G_CONTRACT_SOURCE_DOC_TYPE THEN
3830 x_header_rec.contract_source_doc_type_code := p_attr_value;
3831
3832 ELSIF p_attr_id = OE_Header_Util.G_CONTRACT_SOURCE_DOCUMENT THEN
3833 x_header_rec.contract_source_document_id := TO_NUMBER(p_attr_value);
3834
3835 ELSIF p_attr_id = OE_Header_Util.G_SUPPLIER_SIGNATURE THEN
3836 x_header_rec.supplier_signature := p_attr_value;
3837 ELSIF p_attr_id = OE_Header_Util.G_CUSTOMER_SIGNATURE THEN
3838 x_header_rec.customer_signature := p_attr_value;
3839 ELSIF p_attr_id = OE_Header_Util.G_CUSTOMER_SIGNATURE_DATE THEN
3840 -- x_header_rec.customer_signature_date := TO_DATE(p_attr_value, l_date_format_mask);
3841 x_header_rec.customer_signature_date := fnd_date.string_to_date(p_attr_value, l_date_format_mask); --bug5402396
3842 ELSIF p_attr_id = OE_Header_Util.G_SUPPLIER_SIGNATURE_DATE THEN
3843 -- x_header_rec.supplier_signature_date := TO_DATE(p_attr_value, l_date_format_mask);
3844 x_header_rec.supplier_signature_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask);
3845
3846 ELSIF p_attr_id = OE_Header_Util.G_ATTRIBUTE1
3847 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE10
3848 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE11
3849 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE12
3850 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE13
3851 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE14
3852 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE15
3853 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE16 --For bug 2184255
3854 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE17
3855 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE18
3856 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE19
3857 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE2
3858 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE20
3859 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE3
3860 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE4
3861 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE5
3862 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE6
3863 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE7
3864 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE8
3865 OR p_attr_id = OE_Header_Util.G_ATTRIBUTE9
3866 OR p_attr_id = OE_Header_Util.G_CONTEXT
3867 THEN
3868
3869 x_header_rec.attribute1 := p_header_dff_rec.attribute1;
3870 x_header_rec.attribute10 := p_header_dff_rec.attribute10;
3871 x_header_rec.attribute11 := p_header_dff_rec.attribute11;
3872 x_header_rec.attribute12 := p_header_dff_rec.attribute12;
3873 x_header_rec.attribute13 := p_header_dff_rec.attribute13;
3874 x_header_rec.attribute14 := p_header_dff_rec.attribute14;
3875 x_header_rec.attribute15 := p_header_dff_rec.attribute15;
3876 x_header_rec.attribute16 := p_header_dff_rec.attribute16; --For bug 2184255
3877 x_header_rec.attribute17 := p_header_dff_rec.attribute17;
3878 x_header_rec.attribute18 := p_header_dff_rec.attribute18;
3879 x_header_rec.attribute19 := p_header_dff_rec.attribute19;
3880 x_header_rec.attribute2 := p_header_dff_rec.attribute2;
3881 x_header_rec.attribute20 := p_header_dff_rec.attribute20;
3882 x_header_rec.attribute3 := p_header_dff_rec.attribute3;
3883 x_header_rec.attribute4 := p_header_dff_rec.attribute4;
3884 x_header_rec.attribute5 := p_header_dff_rec.attribute5;
3885 x_header_rec.attribute6 := p_header_dff_rec.attribute6;
3886 x_header_rec.attribute7 := p_header_dff_rec.attribute7;
3887 x_header_rec.attribute8 := p_header_dff_rec.attribute8;
3888 x_header_rec.attribute9 := p_header_dff_rec.attribute9;
3889 x_header_rec.context := p_header_dff_rec.context;
3890
3891 -- null; -- Kris get desc flec working
3892
3893 ELSIF p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE1
3894 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE10
3895 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE11
3896 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE12
3897 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE13
3898 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE14
3899 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE15
3900 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE16
3901 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE17
3902 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE18
3903 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE19
3904 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE2
3905 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE20
3906 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE3
3907 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE4
3908 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE5
3909 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE6
3910 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE7
3911 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE8
3912 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE9
3913 OR p_attr_id = OE_Header_Util.G_GLOBAL_ATTRIBUTE_CATEGORY
3914 THEN
3915
3916 x_header_rec.global_attribute1 := p_header_dff_rec.global_attribute1;
3917 x_header_rec.global_attribute10 := p_header_dff_rec.global_attribute10;
3918 x_header_rec.global_attribute11 := p_header_dff_rec.global_attribute11;
3919 x_header_rec.global_attribute12 := p_header_dff_rec.global_attribute12;
3920 x_header_rec.global_attribute13 := p_header_dff_rec.global_attribute13;
3921 x_header_rec.global_attribute14 := p_header_dff_rec.global_attribute14;
3922 x_header_rec.global_attribute15 := p_header_dff_rec.global_attribute15;
3923 x_header_rec.global_attribute16 := p_header_dff_rec.global_attribute16;
3924 x_header_rec.global_attribute17 := p_header_dff_rec.global_attribute17;
3925 x_header_rec.global_attribute18 := p_header_dff_rec.global_attribute18;
3926 x_header_rec.global_attribute19 := p_header_dff_rec.global_attribute19;
3927 x_header_rec.global_attribute2 := p_header_dff_rec.global_attribute2;
3928 x_header_rec.global_attribute20 := p_header_dff_rec.global_attribute20;
3929 x_header_rec.global_attribute3 := p_header_dff_rec.global_attribute3;
3930 x_header_rec.global_attribute4 := p_header_dff_rec.global_attribute4;
3931 x_header_rec.global_attribute5 := p_header_dff_rec.global_attribute5;
3932 x_header_rec.global_attribute6 := p_header_dff_rec.global_attribute6;
3933 x_header_rec.global_attribute7 := p_header_dff_rec.global_attribute7;
3934 x_header_rec.global_attribute8 := p_header_dff_rec.global_attribute8;
3935 x_header_rec.global_attribute9 := p_header_dff_rec.global_attribute9;
3936 x_header_rec.global_attribute_category := p_header_dff_rec.global_attribute_category;
3937
3938 null; --Kris
3939 ELSIF p_attr_id = OE_Header_Util.G_TP_CONTEXT
3940 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE1
3941 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE2
3942 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE3
3943 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE4
3944 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE5
3945 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE6
3946 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE7
3947 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE8
3948 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE9
3949 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE10
3950 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE11
3951 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE12
3952 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE13
3953 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE14
3954 OR p_attr_id = OE_Header_Util.G_TP_ATTRIBUTE15
3955 THEN
3956
3957 x_header_rec.tp_attribute1 := p_header_dff_rec.tp_attribute1;
3958 x_header_rec.tp_attribute10 := p_header_dff_rec.tp_attribute10;
3959 x_header_rec.tp_attribute11 := p_header_dff_rec.tp_attribute11;
3960 x_header_rec.tp_attribute12 := p_header_dff_rec.tp_attribute12;
3961 x_header_rec.tp_attribute13 := p_header_dff_rec.tp_attribute13;
3962 x_header_rec.tp_attribute14 := p_header_dff_rec.tp_attribute14;
3963 x_header_rec.tp_attribute15 := p_header_dff_rec.tp_attribute15;
3964 x_header_rec.tp_attribute2 := p_header_dff_rec.tp_attribute2;
3965 x_header_rec.tp_attribute3 := p_header_dff_rec.tp_attribute3;
3966 x_header_rec.tp_attribute4 := p_header_dff_rec.tp_attribute4;
3967 x_header_rec.tp_attribute5 := p_header_dff_rec.tp_attribute5;
3968 x_header_rec.tp_attribute6 := p_header_dff_rec.tp_attribute6;
3969 x_header_rec.tp_attribute7 := p_header_dff_rec.tp_attribute7;
3970 x_header_rec.tp_attribute8 := p_header_dff_rec.tp_attribute8;
3971 x_header_rec.tp_attribute9 := p_header_dff_rec.tp_attribute9;
3972 x_header_rec.tp_context := p_header_dff_rec.tp_context;
3973 ELSE
3974
3975 -- Unexpected error, unrecognized attribute
3976
3977 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
3978 THEN
3979 OE_MSG_PUB.Add_Exc_Msg
3980 ( G_PKG_NAME
3981 , 'Change_Attribute'
3982 , 'Unrecognized attribute'
3983 );
3984 END IF;
3985
3986 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3987
3988 END IF;
3989 EXCEPTION
3990 WHEN OTHERS THEN
3991 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
3992 THEN
3993 oe_msg_pub.Add_Exc_Msg
3994 ( G_PKG_NAME
3995 , 'Copy_Attribute_To_Rec'
3996 );
3997 END IF;
3998 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3999 END Copy_Attribute_To_Rec;
4000
4001 PROCEDURE Validate_Phone_Number(
4002 p_area_code IN VARCHAR2 default Null,
4003 p_phone_number IN VARCHAR2 default null,
4004 p_country_code IN VARCHAR2 default null,
4005 x_valid OUT NOCOPY /* file.sql.39 change */ BOOLEAN,
4006 x_area_codes OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
4007 x_phone_number_format OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
4008 x_phone_number_length OUT NOCOPY /* file.sql.39 change */ VARCHAR2
4009 )
4010 IS
4011 l_customer_id Number;
4012 l_user_id Number;
4013 l_dummy varchar2(1);
4014 l_territory_code Varchar2(80);
4015 l_phone_format_style Varchar2(30);
4016 l_phone_country_code Varchar2(30);
4017 l_area_code_size number;
4018 l_msg_name Varchar2(500);
4019 l_count number:=0;
4020 l_total_count number:=0;
4021 CURSOR c_formats( l_territory_code VARCHAR2) IS
4022 select phone_format_style,area_code_size
4023 from hz_phone_formats
4024 where territory_code=l_territory_code;
4025 l_ph_style_match Boolean;
4026 l_phone_length number;
4027 l_temp_phone_format Varchar2(500);
4028 l_start Number;
4029 l_bug_count Number;
4030 l_user_territory_code Varchar2(2);
4031 l_sql_stmt VARCHAR2(2000);
4032 l_area_code_length Number;
4033 l_filtered_phone_number Varchar2(300);
4034 l_phone_format Varchar2(300);
4035 l_AR_Sys_Param_Rec AR_SYSTEM_PARAMETERS_ALL%ROWTYPE;
4036
4037 BEGIN
4038 oe_debug_pub.add('Entering OE_OE_FORM_HEADER.Validate_Phone_Number', 1);
4039 IF OE_OE_FORM_HEADER.G_HZ_H_Installed IS NULL THEN
4040 SELECT COUNT(bug_id)
4041 INTO l_bug_count
4042 FROM ad_bugs where bug_number IN ('2116159','2239222','2488745');
4043 IF l_bug_count>0 THEN
4044 OE_OE_FORM_HEADER.G_HZ_H_Installed:='Y';
4045 ELSE
4046 OE_OE_FORM_HEADER.G_HZ_H_Installed:='N';
4047 END IF;
4048 END IF;
4049 oe_debug_pub.add('Entering OE_OE_FORM_HEADER.Validate_Phone_Number-HZ Minipack'||OE_OE_FORM_HEADER.G_HZ_H_Installed, 1);
4050
4051 IF OE_OE_FORM_HEADER.G_HZ_H_Installed='N' THEN
4052 x_valid:=TRUE;
4053 ELSE
4054 IF p_country_code IS NULL THEN
4055 BEGIN
4056 l_user_id := fnd_profile.value('USER_ID');
4057 select customer_id into l_customer_id
4058 from fnd_user
4059 where user_id = l_user_id;
4060
4061 --check if the record is present in hz_parties
4062 select 1 into l_dummy
4063 from hz_parties
4064 where party_id = l_customer_id;
4065
4066
4067 ---Get user preferences
4068
4069 l_user_territory_code:=
4070 hz_preference_pub.value_varchar2(
4071 l_customer_id,'TCA Phone','USER_TERRITORY_CODE');
4072
4073 EXCEPTION
4074 WHEN NO_DATA_FOUND THEN
4075 NULL;
4076 WHEN OTHERS THEN
4077 NULL;
4078 END;
4079
4080 IF l_user_territory_code IS NULL THEN
4081 IF oe_code_control.code_release_level < '110510' THEN
4082 select default_country into l_user_territory_code
4083 from ar_system_parameters;
4084 ELSE
4085 l_AR_Sys_Param_Rec := OE_Sys_Parameters_Pvt.Get_AR_Sys_Params;
4086 l_user_territory_code:= l_AR_Sys_Param_Rec.default_country;
4087 END IF;
4088
4089 END IF;
4090 ELSE
4091 l_user_territory_code:=p_country_code;
4092 END IF;
4093 oe_debug_pub.add('Entering OE_OE_FORM_HEADER.Validate_Phone_Number-User Territory'||
4094 l_user_territory_code, 1);
4095
4096
4097
4098 IF l_user_territory_code IS NOT NULL THEN
4099 IF p_area_code IS NOT NULL THEN
4100 select Count(territory_code)
4101 into l_count
4102 from hz_phone_formats
4103 where territory_code=l_user_territory_code
4104 and area_code_size=length(p_area_code);
4105
4106 IF l_count=0 THEN
4107 select Count(territory_code)
4108 into l_count
4109 from hz_phone_formats
4110 where territory_code=l_user_territory_code
4111 and area_code_size=0;
4112
4113 select Count(territory_code)
4114 into l_total_count
4115 from hz_phone_formats
4116 where territory_code=l_user_territory_code;
4117 oe_debug_pub.add('Entering Validate_Phone_Number-1x'||l_total_count,1);
4118
4119 IF l_count=0 AND l_total_count=0 THEN
4120 l_sql_stmt := 'SELECT Count(territory_code)'||
4121 ' FROM hz_phone_country_codes'||
4122 ' where territory_code=:1 and'||
4123 ' NVL(area_code_length,length(:2))=length(:3)';
4124 EXECUTE IMMEDIATE l_sql_stmt INTO l_count
4125 USING l_user_territory_code,p_area_code,p_area_code;
4126 Null;
4127 IF l_count=0 THEN
4128 x_valid:=FALSE;
4129 ELSE
4130 x_valid:=TRUE;
4131 END IF;
4132 oe_debug_pub.add('Entering Validate_Phone_Number-2x'||l_count,1);
4133 ELSIF l_count=0 AND l_total_count<>0 THEN
4134 x_valid:=FALSE;
4135 ELSE
4136 x_valid:=TRUE;
4137 END IF;
4138 ELSE
4139 x_valid:=TRUE;
4140 END IF;
4141
4142 IF NOT x_valid THEN
4143 FOR C1 IN c_formats(l_user_territory_code)
4144 LOOP
4145 IF x_area_codes IS NULL THEN
4146 x_area_codes:=c1.area_code_size;
4147 ELSIF x_area_codes IS NOT NULL THEN
4148 x_area_codes:=x_area_codes||', '||c1.area_code_size;
4149 END IF;
4150 END LOOP;
4151
4152 IF x_area_codes IS NULL THEN
4153 l_sql_stmt:='SELECT area_code_length'||
4154 ' FROM hz_phone_country_codes'||
4155 ' WHERE territory_code=:l_territory_code';
4156 EXECUTE IMMEDIATE l_sql_stmt INTO l_phone_country_code
4157 USING l_user_territory_code;
4158 x_area_codes:=l_phone_country_code;
4159
4160 IF l_phone_country_code IS NULL THEN
4161 x_valid:=True;
4162 END IF;
4163
4164 END IF;
4165 END IF;
4166 END IF;
4167
4168 IF p_phone_number IS NOT NULL THEN
4169 FOR C1 IN c_formats(l_user_territory_code)
4170 LOOP
4171 IF LENGTH(filter_phone_number(p_phone_number=>c1.phone_format_style,
4172 p_isformat=>1))-
4173 NVL(c1.area_code_size,0)=
4174 LENGTH(filter_phone_number(p_phone_number=>p_phone_number)) THEN
4175 l_ph_style_match:=TRUE;
4176 ELSE
4177 l_ph_style_match:=FALSE;
4178 END IF;
4179 NULL;
4180 END LOOP;
4181
4182 IF l_ph_style_match THEN
4183 x_valid:=TRUE;
4184 ELSIF NOT l_ph_style_match THEN
4185 x_valid:=FALSE;
4186 ELSE
4187 x_valid:=FALSE;
4188 BEGIN
4189 l_sql_stmt:='SELECT phone_length-NVL(AREA_CODE_LENGTH,0)'||
4190 ' FROM hz_phone_country_codes'||
4191 ' where territory_code=:l_user_territory_code';
4192 EXECUTE IMMEDIATE l_sql_stmt INTO l_phone_length
4193 USING l_user_territory_code;
4194 IF NVL(l_phone_length,LENGTH(p_phone_number))=LENGTH(p_phone_number) THEN
4195 x_valid:=TRUE;
4196 END IF;
4197 EXCEPTION
4198 WHEN NO_DATA_FOUND THEN
4199 x_valid:=TRUE;
4200 WHEN OTHERS THEN
4201 NULL;
4202 END;
4203 END IF;
4204
4205 IF NOT x_valid THEN
4206 FOR C1 IN c_formats(l_user_territory_code)
4207 LOOP
4208 l_temp_phone_format:=Null;
4209 l_start:=0;
4210 IF x_phone_number_format IS NULL THEN
4211 IF c1.area_code_size<>0 THEN
4212 l_temp_phone_format:=SUBSTR(c1.phone_format_style,(c1.area_code_size+1));
4213 l_start:=INSTR(l_temp_phone_format,'9');
4214 IF l_start>0 THEN
4215 l_temp_phone_format:=SUBSTR(l_temp_phone_format,l_start);
4216 END IF;
4217 ELSIF c1.area_code_size=0 THEN
4218 l_temp_phone_format:=SUBSTR(c1.phone_format_style,1);
4219 END IF;
4220 x_phone_number_format:=l_temp_phone_format;
4221 ELSIF x_phone_number_format IS NOT NULL THEN
4222 IF c1.area_code_size<>0 THEN
4223 l_temp_phone_format:=SUBSTR(c1.phone_format_style,(c1.area_code_size+1));
4224 l_start:=INSTR(l_temp_phone_format,'9');
4225 IF l_start>0 THEN
4226 l_temp_phone_format:=SUBSTR(l_temp_phone_format,l_start);
4227 END IF;
4228 ELSIF c1.area_code_size=0 THEN
4229 l_temp_phone_format:=SUBSTR(c1.phone_format_style,1);
4230 END IF;
4231 x_phone_number_format:=x_phone_number_format||', '||l_temp_phone_format;
4232 END IF;
4233 END LOOP;
4234 IF x_phone_number_format IS NULL THEN
4235 l_sql_stmt:='SELECT phone_length - NVL(area_code_length,0)'||
4236 ' FROM hz_phone_country_codes'||
4237 ' WHERE territory_code=:l_territory_code';
4238 EXECUTE IMMEDIATE l_sql_stmt INTO l_phone_country_code
4239 USING l_user_territory_code;
4240 x_phone_number_length:=l_phone_country_code;
4241
4242 IF l_phone_country_code IS NULL OR l_phone_country_code<=0 THEN
4243 x_valid:=true;
4244 END IF;
4245 END IF;
4246 END IF;
4247 END IF;
4248 END IF;
4249 Null;
4250 END IF;
4251 EXCEPTION
4252 WHEN NO_DATA_FOUND THEN
4253 NULL;
4254 WHEN OTHERS THEN
4255 NULL;
4256
4257 END Validate_Phone_Number;
4258
4259 FUNCTION Filter_Phone_Number (
4260 p_phone_number IN VARCHAR2,
4261 p_isformat IN NUMBER := 0
4262 ) RETURN VARCHAR2 IS
4263
4264 l_filtered_number VARCHAR2(100);
4265
4266 BEGIN
4267
4268 IF p_isformat = 0 THEN
4269 l_filtered_number := TRANSLATE (
4270 p_phone_number,
4271 '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz()- .+''~`\/@#$%^&*_,|}{[]?<>=";:',
4272 '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz');
4273 ELSE
4274 l_filtered_number := TRANSLATE (
4275 p_phone_number,
4276 '9012345678ABCDEFGHIJKLMNOPQRSTUVWXYZ()- .+''~`\/@#$%^&*_,|}{[]?<>=";:',
4277 '9');
4278 END IF;
4279
4280 RETURN l_filtered_number;
4281
4282 END Filter_Phone_Number;
4283
4284
4285
4286 PROCEDURE Check_Sec_Header_Attr
4287 (x_return_status IN OUT NOCOPY varchar2,
4288 p_header_id IN OUT NOCOPY NUMBER,
4289 p_operation IN OUT NOCOPY VARCHAR2,
4290 p_column_name IN VARCHAR2 DEFAULT NULL,
4291 x_msg_count IN OUT NOCOPY NUMBER,
4292 x_msg_data IN OUT NOCOPY VARCHAR2,
4293 x_constrained IN OUT NOCOPY BOOLEAN)
4294
4295 IS
4296 l_header_rec OE_ORDER_PUB.Header_rec_type;
4297 l_operation VARCHAR2(30);
4298 l_result NUMBER;
4299 l_rowtype_rec OE_AK_ORDER_HEADERS_V%ROWTYPE;
4300 l_action NUMBER;
4301 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
4302 BEGIN
4303
4304 IF l_debug_level > 0 THEN
4305 oe_debug_pub.add( 'ENTER OE_OE_FORM_HEADER.Check_Sec_Header_Attr' , 1 ) ;
4306 END IF;
4307
4308 IF p_column_name IS NOT NULL THEN
4309 -- Initializing return status to SUCCESS
4310 x_return_status := FND_API.G_RET_STS_SUCCESS;
4311
4312 IF p_header_id IS NOT NULL THEN
4313 OE_Header_Util.Query_Row
4314 ( p_header_id => p_header_id,
4315 x_header_rec =>l_header_rec
4316 );
4317 END IF;
4318
4319 l_header_rec.operation :=p_operation;
4320
4321 OE_HEADER_UTIL.API_Rec_To_Rowtype_Rec(l_header_rec,l_rowtype_rec);
4322
4323 -- Initialize security global record
4324 OE_Header_SECURITY.g_record := l_rowtype_rec;
4325
4326 IF l_header_rec.operation = OE_GLOBALS.G_OPR_CREATE THEN
4327 l_operation := OE_PC_GLOBALS.CREATE_OP;
4328 ELSIF l_header_rec.operation = OE_GLOBALS.G_OPR_UPDATE then
4329 l_operation := OE_PC_GLOBALS.UPDATE_OP;
4330 END IF;
4331
4332 l_result := OE_Header_Security.Is_OP_Constrained
4333 (p_operation => l_operation
4334 ,p_column_name => p_column_name
4335 ,p_record => l_rowtype_rec
4336 ,x_on_operation_action => l_action
4337 );
4338 if l_result = OE_PC_GLOBALS.YES then
4339 x_constrained:=True;
4340 x_return_status := FND_API.G_RET_STS_ERROR;
4341 elsif l_result=OE_PC_GLOBALS.NO THEN
4342 x_constrained:=False;
4343 end if;
4344
4345 END IF; -- if column name is not null
4346
4347 EXCEPTION
4348 WHEN FND_API.G_EXC_ERROR THEN
4349 x_constrained := TRUE;
4350 x_return_status := FND_API.G_RET_STS_ERROR;
4351 WHEN OTHERS THEN
4352 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
4353
4354 oe_msg_pub.count_and_get
4355 ( p_count => x_msg_count
4356 , p_data => x_msg_data);
4357
4358 IF l_debug_level > 0 THEN
4359 oe_debug_pub.add( 'EXIT OE_OE_FORM_HEADER.Check_Sec_Header_Attr' , 1 ) ;
4360 END IF;
4361
4362 END Check_Sec_Header_Attr;
4363
4364 --ABH
4365 ----------------------------------------------------------
4366 FUNCTION Get_Opr_Update
4367 ----------------------------------------------------------
4368 RETURN varchar2
4369 IS
4370 BEGIN
4371 RETURN OE_GLOBALS.G_OPR_UPDATE;
4372 END;
4373 --ABH
4374
4375 -- Start Of Enhanced Cascading
4376
4377 -- Procedure : Read_Cascadable_Fields
4378
4379 -- Parameters : One out NOCOPY parameter is of type OE_OE_FORM_HEADER.Cascade_record
4380
4381 -- Purpose : This procedure will be called from Change_Attribute procedure
4382 -- in OEXOEHDR.pld. A new OM look up OM:Header To Line Cascade
4383 -- Attributes( with lookup_type=OM_HEADER_TO_LINE_CASCADE ) is
4384 -- added. This holds the list of attributes that can trigger
4385 -- cascading. User can use this look up to disable or enable
4386 -- cascading for any specific attribute.
4387
4388 -- Read_Cascadable_Fields queries the enabled_flag from oe_lookups-- for each such attributes and store them in a record. Fields of -- this record will be used to determine whether cascading is
4389 -- enabled or not for that specific attribute.One field in this
4390 -- record is p_cached which determine whether the record is set
4391 -- or not. So p_cached is used to make sure Read_Cascadable_Fields-- is called only once in a session.
4392
4393 PROCEDURE Read_Cascadable_Fields
4394 (
4395 x_cascade_record OUT NOCOPY OE_OE_FORM_HEADER.cascade_record
4396 )
4397
4398 IS
4399
4400 l_lookup_type Varchar2(40):='OM_HEADER_TO_LINE_CASCADE';
4401 l_lookup_code Varchar2(40);
4402 l_enabled_flag Varchar2(1);
4403 p_cascade_record OE_OE_FORM_HEADER.Cascade_record;
4404
4405 Cursor C_LOOKUP (p_lookup_code1 Varchar2, p_lookup_type1 Varchar2) IS
4406 Select enabled_flag from oe_lookups where lookup_type=p_lookup_type1 and lookup_code=p_lookup_code1;
4407
4408
4409 BEGIN
4410
4411 OE_DEBUG_PUB.ADD('Entering OE_OE_FORM_HEADER.Read_Cascadable_Fields',1);
4412 l_lookup_code :='ACCOUNTING_RULE';
4413 open C_LOOKUP(l_lookup_code,l_lookup_type);
4414 fetch C_LOOKUP into l_enabled_flag;
4415 close C_LOOKUP;
4416
4417
4418 p_cascade_record.p_accounting_rule:=l_enabled_flag;
4419
4420 l_lookup_code :='AGREEMENT';
4421
4422 open C_LOOKUP(l_lookup_code,l_lookup_type);
4423 fetch C_LOOKUP into l_enabled_flag;
4424 close C_LOOKUP;
4425
4426 p_cascade_record.p_agreement:=l_enabled_flag;
4427
4428 l_lookup_code :='CUSTOMER_PO';
4429 open C_LOOKUP(l_lookup_code,l_lookup_type);
4430 fetch C_LOOKUP into l_enabled_flag;
4431 close C_LOOKUP;
4432
4433
4434 p_cascade_record.p_customer_po:=l_enabled_flag;
4435
4436 l_lookup_code :='BLANKET_NUMBER';
4437
4438 open C_LOOKUP(l_lookup_code,l_lookup_type);
4439 fetch C_LOOKUP into l_enabled_flag;
4440 close C_LOOKUP;
4441
4442 p_cascade_record.p_blanket_number:=l_enabled_flag;
4443
4444 l_lookup_code :='DELIVER_TO_CONTACT';
4445 open C_LOOKUP(l_lookup_code,l_lookup_type);
4446 fetch C_LOOKUP into l_enabled_flag;
4447 close C_LOOKUP;
4448 p_cascade_record.p_deliver_to_contact:=l_enabled_flag;
4449
4450 l_lookup_code :='DELIVER_TO';
4451
4452 open C_LOOKUP(l_lookup_code,l_lookup_type);
4453 fetch C_LOOKUP into l_enabled_flag;
4454 close C_LOOKUP;
4455
4456 p_cascade_record.p_deliver_to:=l_enabled_flag;
4457
4458 l_lookup_code :='DEMAND_CLASS';
4459
4460 open C_LOOKUP(l_lookup_code,l_lookup_type);
4461 fetch C_LOOKUP into l_enabled_flag;
4462 close C_LOOKUP;
4463 p_cascade_record.p_demand_class:=l_enabled_flag;
4464
4465 l_lookup_code :='FOB_POINT';
4466
4467 open C_LOOKUP(l_lookup_code,l_lookup_type);
4468 fetch C_LOOKUP into l_enabled_flag;
4469 close C_LOOKUP;
4470 p_cascade_record.p_fob_point:=l_enabled_flag;
4471
4472 l_lookup_code :='FREIGHT_TERMS';
4473
4474 open C_LOOKUP(l_lookup_code,l_lookup_type);
4475 fetch C_LOOKUP into l_enabled_flag;
4476 close C_LOOKUP;
4477
4478 p_cascade_record.p_freight_terms:=l_enabled_flag;
4479
4480 l_lookup_code :='BILL_TO_CONTACT';
4481
4482 open C_LOOKUP(l_lookup_code,l_lookup_type);
4483 fetch C_LOOKUP into l_enabled_flag;
4484 close C_LOOKUP;
4485 p_cascade_record.p_bill_to_contact:=l_enabled_flag;
4486
4487 l_lookup_code :='BILL_TO';
4488
4489 open C_LOOKUP(l_lookup_code,l_lookup_type);
4490 fetch C_LOOKUP into l_enabled_flag;
4491 close C_LOOKUP;
4492
4493 p_cascade_record.p_bill_to:=l_enabled_flag;
4494
4495 l_lookup_code :='INVOICING_RULE';
4496
4497 open C_LOOKUP(l_lookup_code,l_lookup_type);
4498 fetch C_LOOKUP into l_enabled_flag;
4499 close C_LOOKUP;
4500
4501 p_cascade_record.p_invoicing_rule:=l_enabled_flag;
4502
4503 l_lookup_code :='ORDER_FIRMED_DATE';
4504
4505 open C_LOOKUP(l_lookup_code,l_lookup_type);
4506 fetch C_LOOKUP into l_enabled_flag;
4507 close C_LOOKUP;
4508 p_cascade_record.p_order_firmed_date:=l_enabled_flag;
4509
4510 l_lookup_code :='PAYMENT_TERM';
4511
4512 open C_LOOKUP(l_lookup_code,l_lookup_type);
4513 fetch C_LOOKUP into l_enabled_flag;
4514 close C_LOOKUP;
4515
4516 p_cascade_record.p_payment_term:=l_enabled_flag;
4517
4518 l_lookup_code :='PRICE_LIST';
4519 open C_LOOKUP(l_lookup_code,l_lookup_type);
4520 fetch C_LOOKUP into l_enabled_flag;
4521 close C_LOOKUP;
4522
4523 p_cascade_record.p_price_list:=l_enabled_flag;
4524
4525
4526 l_lookup_code :='REQUEST_DATE';
4527
4528 open C_LOOKUP(l_lookup_code,l_lookup_type);
4529 fetch C_LOOKUP into l_enabled_flag;
4530 close C_LOOKUP;
4531
4532 p_cascade_record.p_request_date:=l_enabled_flag;
4533
4534 l_lookup_code :='RETURN_REASON';
4535
4536 open C_LOOKUP(l_lookup_code,l_lookup_type);
4537 fetch C_LOOKUP into l_enabled_flag;
4538 close C_LOOKUP;
4539
4540 p_cascade_record.p_return_reason:=l_enabled_flag;
4541
4542 l_lookup_code :='SALESPERSON';
4543
4544 open C_LOOKUP(l_lookup_code,l_lookup_type);
4545 fetch C_LOOKUP into l_enabled_flag;
4546 close C_LOOKUP;
4547 p_cascade_record.p_salesperson:=l_enabled_flag;
4548
4549 l_lookup_code :='SHIPMENT_PRIORITY';
4550
4551
4552 open C_LOOKUP(l_lookup_code,l_lookup_type);
4553 fetch C_LOOKUP into l_enabled_flag;
4554 close C_LOOKUP;
4555
4556 p_cascade_record.p_shipment_priority:=l_enabled_flag;
4557
4558 l_lookup_code :='SHIPPING_METHOD';
4559
4560 open C_LOOKUP(l_lookup_code,l_lookup_type);
4561 fetch C_LOOKUP into l_enabled_flag;
4562 close C_LOOKUP;
4563
4564 p_cascade_record.p_shipping_method:=l_enabled_flag;
4565
4566 l_lookup_code :='WAREHOUSE';
4567
4568 open C_LOOKUP(l_lookup_code,l_lookup_type);
4569 fetch C_LOOKUP into l_enabled_flag;
4570 close C_LOOKUP;
4571
4572 p_cascade_record.p_warehouse:=l_enabled_flag;
4573
4574 l_lookup_code :='SHIP_TO_CONTACT';
4575
4576 open C_LOOKUP(l_lookup_code,l_lookup_type);
4577 fetch C_LOOKUP into l_enabled_flag;
4578 close C_LOOKUP;
4579 p_cascade_record.p_ship_to_contact:=l_enabled_flag;
4580
4581 l_lookup_code :='SHIP_TO';
4582
4583 open C_LOOKUP(l_lookup_code,l_lookup_type);
4584 fetch C_LOOKUP into l_enabled_flag;
4585 close C_LOOKUP;
4586
4587 p_cascade_record.p_ship_to:=l_enabled_flag;
4588
4589 l_lookup_code :='CUSTOMER';
4590 open C_LOOKUP(l_lookup_code,l_lookup_type);
4591 fetch C_LOOKUP into l_enabled_flag;
4592 close C_LOOKUP;
4593
4594 p_cascade_record.p_customer:=l_enabled_flag;
4595
4596 l_lookup_code :='TAX_EXEMPT';
4597 open C_LOOKUP(l_lookup_code,l_lookup_type);
4598 fetch C_LOOKUP into l_enabled_flag;
4599 close C_LOOKUP;
4600
4601 p_cascade_record.p_tax_exempt:=l_enabled_flag;
4602
4603 x_cascade_record:=p_cascade_record; -- Set the record
4604
4605 x_cascade_record.p_cached:='Y'; -- Caching is done for this session
4606
4607 OE_DEBUG_PUB.ADD('Exiting OE_OE_FORM_HEADER.Read_Cascadable_Fields',1);
4608
4609 EXCEPTION
4610
4611 WHEN NO_DATA_FOUND THEN
4612 x_cascade_record.p_cached:='N';
4613 WHEN OTHERS THEN
4614 x_cascade_record.p_cached:='N';
4615
4616 END Read_Cascadable_Fields;
4617
4618 --End Of Enhanced Cascading
4619
4620 END Oe_Oe_Form_Header;