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