[Home] [Help]
PACKAGE BODY: APPS.OE_OE_FORM_LINE
Source
1 PACKAGE BODY oe_oe_form_line AS
2 /* $Header: OEXFLINB.pls 120.20.12010000.5 2009/01/22 09:10:35 cpati ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'Oe_Oe_Form_Line';
7
8 -- Global variables holding cached record.
9
10 g_line_rec OE_Order_PUB.Line_Rec_Type;
11 g_db_line_rec OE_Order_PUB.Line_Rec_Type;
12 g_current_header_id NUMBER := 0;
13 --retro{Global variables for caching header_id and currency code
14 g_header_id NUMBER;
15 g_currency_code VARCHAR2(15);
16 --retro}
17
18 -- for 5331980 start
19 g_subtotal NUMBER;
20 g_charges NUMBER;
21 g_discount NUMBER;
22 g_total_tax NUMBER;
23 -- for 5331980 end
24
25 -- Forward declaration of procedures maintaining entity record cache.
26
27 PROCEDURE Write_line
28 ( p_line_rec IN OE_Order_PUB.Line_Rec_Type
29 , p_db_record IN BOOLEAN := FALSE
30 );
31
32 -- Bug 1713035
33 -- Procedure Get_Line is now visible to other packages
34 /*
35 PROCEDURE Get_line
36 ( p_db_record IN BOOLEAN := FALSE
37 , p_line_id IN NUMBER
38 , x_line_rec OUT NOCOPY OE_Order_PUB.Line_Rec_Type
39 );
40 */
41
42 PROCEDURE Clear_line;
43
44 PROCEDURE get_customer_details ( p_site_use_id IN NUMBER,
45 p_site_use_code IN VARCHAR2,
46 x_customer_id OUT NOCOPY NUMBER,
47 x_customer_name OUT NOCOPY VARCHAR2,
48 x_customer_number OUT NOCOPY VARCHAR2
49 );
50
51
52 FUNCTION Get_Date_Type(p_header_id IN NUMBER)
53 RETURN VARCHAR2;
54
55 -- Global variable holding performed operations.
56
57 g_opr__tbl OE_Order_PUB.Line_Tbl_Type;
58
59 -- Procedure : Default_Attributes
60 --
61
62 PROCEDURE Default_Attributes
63 ( x_return_status OUT NOCOPY VARCHAR2
64 , x_msg_count OUT NOCOPY NUMBER
65 , x_msg_data OUT NOCOPY VARCHAR2
66 , p_header_id IN NUMBER
67 , x_line_tbl IN OUT NOCOPY OE_ORDER_PUB.Line_Tbl_Type
68 , x_old_line_tbl IN OUT NOCOPY OE_ORDER_PUB.Line_Tbl_Type
69 , x_line_val_tbl IN OUT NOCOPY OE_ORDER_PUB.Line_Val_Tbl_Type
70
71 )
72 IS
73 l_control_rec OE_GLOBALS.Control_Rec_Type;
74 l_return_status VARCHAR2(1);
75 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
76 l_error NUMBER := 0;
77 --
78 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
79 --
80 BEGIN
81
82 IF l_debug_level > 0 THEN
83 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE.DEFAULT_ATTRIBUTES' , 1 ) ;
84 END IF;
85
86 l_error := 1;
87 -- Set UI flag to TRUE
88 OE_GLOBALS.G_UI_FLAG := TRUE;
89
90 -- Set control flags.
91
92 l_control_rec.controlled_operation := TRUE;
93 l_control_rec.check_security := TRUE;
94 l_control_rec.default_attributes := TRUE;
95 l_control_rec.change_attributes := TRUE;
96
97 l_control_rec.clear_dependents := FALSE;
98 l_control_rec.validate_entity := FALSE;
99 l_control_rec.write_to_DB := FALSE;
100 l_control_rec.process := FALSE;
101
102 -- Instruct API to retain its caches
103
104 l_control_rec.clear_api_cache := FALSE;
105 l_control_rec.clear_api_requests := FALSE;
106
107 -- Load IN parameters if any exist
108 x_old_line_tbl(1) :=OE_ORDER_PUB.G_MISS_LINE_REC;
109 x_line_tbl(1) :=OE_ORDER_PUB.G_MISS_LINE_REC;
110 x_line_tbl(1).header_id := p_header_id;
111
112 -- Defaulting of flex values is currently done by the form.
113 -- Set flex attributes to NULL in order to avoid defaulting them.
114
115 x_line_tbl(1).attribute1 := NULL;
116 x_line_tbl(1).attribute10 := NULL;
117 x_line_tbl(1).attribute11 := NULL;
118 x_line_tbl(1).attribute12 := NULL;
119 x_line_tbl(1).attribute13 := NULL;
120 x_line_tbl(1).attribute14 := NULL;
121 x_line_tbl(1).attribute15 := NULL;
122 x_line_tbl(1).attribute2 := NULL;
123 x_line_tbl(1).attribute3 := NULL;
124 x_line_tbl(1).attribute4 := NULL;
125 x_line_tbl(1).attribute5 := NULL;
126 x_line_tbl(1).attribute6 := NULL;
127 x_line_tbl(1).attribute7 := NULL;
128 x_line_tbl(1).attribute8 := NULL;
129 x_line_tbl(1).attribute9 := NULL;
130 x_line_tbl(1).context := NULL;
131 x_line_tbl(1).global_attribute1 := NULL;
132 x_line_tbl(1).global_attribute10 := NULL;
133 x_line_tbl(1).global_attribute11 := NULL;
134 x_line_tbl(1).global_attribute12 := NULL;
135 x_line_tbl(1).global_attribute13 := NULL;
136 x_line_tbl(1).global_attribute14 := NULL;
137 x_line_tbl(1).global_attribute15 := NULL;
138 x_line_tbl(1).global_attribute16 := NULL;
139 x_line_tbl(1).global_attribute17 := NULL;
140 x_line_tbl(1).global_attribute18 := NULL;
141 x_line_tbl(1).global_attribute19 := NULL;
142 x_line_tbl(1).global_attribute2 := NULL;
143 x_line_tbl(1).global_attribute20 := NULL;
144 x_line_tbl(1).global_attribute3 := NULL;
145 x_line_tbl(1).global_attribute4 := NULL;
146 x_line_tbl(1).global_attribute5 := NULL;
147 x_line_tbl(1).global_attribute6 := NULL;
148 x_line_tbl(1).global_attribute7 := NULL;
149 x_line_tbl(1).global_attribute8 := NULL;
150 x_line_tbl(1).global_attribute9 := NULL;
151 x_line_tbl(1).global_attribute_category := NULL;
152 x_line_tbl(1).industry_attribute1 := NULL;
153 x_line_tbl(1).industry_attribute10 := NULL;
154 x_line_tbl(1).industry_attribute11 := NULL;
155 x_line_tbl(1).industry_attribute12 := NULL;
156 x_line_tbl(1).industry_attribute13 := NULL;
157 x_line_tbl(1).industry_attribute14 := NULL;
158 x_line_tbl(1).industry_attribute15 := NULL;
159 x_line_tbl(1).industry_attribute16 := NULL;
160 x_line_tbl(1).industry_attribute17 := NULL;
161 x_line_tbl(1).industry_attribute18 := NULL;
162 x_line_tbl(1).industry_attribute19 := NULL;
163 x_line_tbl(1).industry_attribute2 := NULL;
164 x_line_tbl(1).industry_attribute20 := NULL;
165 x_line_tbl(1).industry_attribute21 := NULL;
166 x_line_tbl(1).industry_attribute22 := NULL;
167 x_line_tbl(1).industry_attribute23 := NULL;
168 x_line_tbl(1).industry_attribute24 := NULL;
169 x_line_tbl(1).industry_attribute25 := NULL;
170 x_line_tbl(1).industry_attribute26 := NULL;
171 x_line_tbl(1).industry_attribute27 := NULL;
172 x_line_tbl(1).industry_attribute28 := NULL;
173 x_line_tbl(1).industry_attribute29 := NULL;
174 x_line_tbl(1).industry_attribute3 := NULL;
175 x_line_tbl(1).industry_attribute30 := NULL;
176 x_line_tbl(1).industry_attribute4 := NULL;
177 x_line_tbl(1).industry_attribute5 := NULL;
178 x_line_tbl(1).industry_attribute6 := NULL;
179 x_line_tbl(1).industry_attribute7 := NULL;
180 x_line_tbl(1).industry_attribute8 := NULL;
181 x_line_tbl(1).industry_attribute9 := NULL;
182 x_line_tbl(1).industry_context := NULL;
183 x_line_tbl(1).pricing_attribute1 := NULL;
184 x_line_tbl(1).pricing_attribute10 := NULL;
185 x_line_tbl(1).pricing_attribute2 := NULL;
186 x_line_tbl(1).pricing_attribute3 := NULL;
187 x_line_tbl(1).pricing_attribute4 := NULL;
188 x_line_tbl(1).pricing_attribute5 := NULL;
189 x_line_tbl(1).pricing_attribute6 := NULL;
190 x_line_tbl(1).pricing_attribute7 := NULL;
191 x_line_tbl(1).pricing_attribute8 := NULL;
192 x_line_tbl(1).pricing_attribute9 := NULL;
193 x_line_tbl(1).pricing_context := NULL;
194 x_line_tbl(1).return_attribute1 := NULL;
195 x_line_tbl(1).return_attribute10 := NULL;
196 x_line_tbl(1).return_attribute11 := NULL;
197 x_line_tbl(1).return_attribute12 := NULL;
198 x_line_tbl(1).return_attribute13 := NULL;
199 x_line_tbl(1).return_attribute14 := NULL;
200 x_line_tbl(1).return_attribute15 := NULL;
201 x_line_tbl(1).return_attribute2 := NULL;
202 x_line_tbl(1).return_attribute3 := NULL;
203 x_line_tbl(1).return_attribute4 := NULL;
204 x_line_tbl(1).return_attribute5 := NULL;
205 x_line_tbl(1).return_attribute6 := NULL;
206 x_line_tbl(1).return_attribute7 := NULL;
207 x_line_tbl(1).return_attribute8 := NULL;
208 x_line_tbl(1).return_attribute9 := NULL;
209 x_line_tbl(1).return_context := NULL;
210 x_line_tbl(1).tp_attribute1 := NULL;
211 x_line_tbl(1).tp_attribute10 := NULL;
212 x_line_tbl(1).tp_attribute11 := NULL;
213 x_line_tbl(1).tp_attribute12 := NULL;
214 x_line_tbl(1).tp_attribute13 := NULL;
215 x_line_tbl(1).tp_attribute14 := NULL;
216 x_line_tbl(1).tp_attribute15 := NULL;
217 x_line_tbl(1).tp_attribute2 := NULL;
218 x_line_tbl(1).tp_attribute3 := NULL;
219 x_line_tbl(1).tp_attribute4 := NULL;
220 x_line_tbl(1).tp_attribute5 := NULL;
221 x_line_tbl(1).tp_attribute6 := NULL;
222 x_line_tbl(1).tp_attribute7 := NULL;
223 x_line_tbl(1).tp_attribute8 := NULL;
224 x_line_tbl(1).tp_attribute9 := NULL;
225 x_line_tbl(1).tp_context := NULL;
226
227 -- Set Operation to Create
228
229 l_error := 2;
230 x_line_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE;
231
232 -- Populate line table
233
234
235 IF l_debug_level > 0 THEN
236 oe_debug_pub.add( 'LINE CONTROLLER - DEFAULT ATTRIBUTES - CALLING PROCESS' , 2 ) ;
237 END IF;
238
239 -- Call Oe_Order_Pvt.Process_order
240
241 l_error := 3;
242
243 Oe_Order_Pvt.Lines
244 ( p_validation_level => FND_API.G_VALID_LEVEL_NONE
245 , p_init_msg_list => FND_API.G_TRUE
246 , p_control_rec => l_control_rec
247 , p_x_line_tbl => x_line_tbl
248 , p_x_old_line_tbl => x_old_line_tbl
249 , x_return_status => l_return_status
250 );
251
252 l_error := 3;
253 IF l_debug_level > 0 THEN
254 oe_debug_pub.add( 'LINE CONTROLLER - DEFAULT ATTRIBUTES - AFTER PROCESS' , 2 ) ;
255 END IF;
256
257 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
258 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
259 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
260 RAISE FND_API.G_EXC_ERROR;
261 END IF;
262
263
264 -- Unload OUT
265
266 -- l_x_line_rec := x_line_tbl(1);
267
268
269 -- Load display OUT parameters if any
270 x_line_val_tbl(1):=OE_ORDER_PUB.G_MISS_LINE_VAL_REC;
271 x_line_val_tbl(1):=OE_Line_Util.Get_Values
272 ( p_line_rec => x_line_tbl(1)
273 );
274 -- Write to cache.
275 -- Set db_flag to False before writing to cache
276
277 IF l_debug_level > 0 THEN
278 oe_debug_pub.add( 'LINE CONTROLLER - DEFAULT ATTRIBUTES - CALLING WRITE LINE' , 2 ) ;
279 END IF;
280
281 x_line_tbl(1).db_flag := FND_API.G_FALSE;
282
283 Write_line
284 ( p_line_rec => x_line_tbl(1)
285 );
286
287 -- Re-set the UI flag to FALSE
288 OE_GLOBALS.G_UI_FLAG := FALSE;
289
290 -- Set return status.
291
292 x_return_status := FND_API.G_RET_STS_SUCCESS;
293
294 -- Get message count and data
295
296 oe_msg_pub.count_and_get
297 ( p_count => x_msg_count
298 , p_data => x_msg_data
299 );
300
301 IF l_debug_level > 0 THEN
302 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE.DEFAULT_ATTRIBUTES' , 1 ) ;
303 END IF;
304
305 EXCEPTION
306
307 WHEN FND_API.G_EXC_ERROR THEN
308
309 OE_GLOBALS.G_UI_FLAG := FALSE;
310
311 x_return_status := FND_API.G_RET_STS_ERROR;
312
313 -- Get message count and data
314
315 oe_msg_pub.count_and_get
316 ( p_count => x_msg_count
317 , p_data => x_msg_data
318 );
319
320 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
321
322 OE_GLOBALS.G_UI_FLAG := FALSE;
323
324 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
325
326 -- Get message count and data
327
328 oe_msg_pub.count_and_get
329 ( p_count => x_msg_count
330 , p_data => x_msg_data
331 );
332
333 WHEN OTHERS THEN
334
335 OE_GLOBALS.G_UI_FLAG := FALSE;
336
337 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
338
339 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
340 THEN
341 oe_msg_pub.Add_Exc_Msg
342 ( G_PKG_NAME
343 , 'Default_Attributes' || l_error
344 );
345 END IF;
346
347 -- Get message count and data
348
349 oe_msg_pub.count_and_get
350 ( p_count => x_msg_count
351 , p_data => x_msg_data
352 );
353
354 END Default_Attributes;
355
356 PROCEDURE Copy_Attribute_To_Rec
357 ( p_attr_id IN NUMBER
358 , p_attr_value IN VARCHAR2
359 , p_line_dff_rec IN OE_OE_FORM_LINE.line_dff_rec_type
360 , p_date_format_mask IN VARCHAR2 DEFAULT 'DD-MON-YYYY HH24:MI:SS'
361 , x_line_tbl IN OUT NOCOPY OE_Order_PUB.Line_Tbl_Type
362 , x_old_line_tbl IN OUT NOCOPY OE_ORDER_PUB.Line_Tbl_Type
363 )
364 IS
365 l_date_format_mask VARCHAR2(30) := p_date_format_mask;
366 --
367 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
368 --
369 BEGIN
370 IF l_debug_level > 0 THEN
371 oe_debug_pub.add( 'ATTRIBUTE VALUE : '|| P_ATTR_VALUE ) ; --bug 5179564
372 END IF;
373
374 IF p_attr_id = OE_Line_Util.G_ACCOUNTING_RULE THEN
375 x_line_tbl(1).accounting_rule_id := TO_NUMBER(p_attr_value);
376 ELSIF p_attr_id = OE_Line_Util.G_ACCOUNTING_RULE_DURATION THEN
377 x_line_tbl(1).accounting_rule_duration := TO_NUMBER(p_attr_value);
378 ELSIF p_attr_id = OE_Line_Util.G_ACTUAL_ARRIVAL_DATE THEN
379 -- x_line_tbl(1).actual_arrival_date := TO_DATE(p_attr_value, l_date_format_mask);
380 x_line_tbl(1).actual_arrival_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
381 ELSIF p_attr_id = OE_Line_Util.G_ACTUAL_SHIPMENT_DATE THEN
382 -- x_line_tbl(1).actual_shipment_date := TO_DATE(p_attr_value, l_date_format_mask);
383 x_line_tbl(1).actual_shipment_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
384 ELSIF p_attr_id = OE_Line_Util.G_AGREEMENT THEN
385 x_line_tbl(1).agreement_id := TO_NUMBER(p_attr_value);
386 ELSIF p_attr_id = OE_Line_Util.G_IB_OWNER THEN
387 x_line_tbl(1).ib_owner := p_attr_value;
388 ELSIF p_attr_id = OE_Line_Util.G_IB_INSTALLED_AT_LOCATION THEN
389 x_line_tbl(1).ib_installed_at_location := p_attr_value;
390 ELSIF p_attr_id = OE_Line_Util.G_IB_CURRENT_LOCATION THEN
391 x_line_tbl(1).ib_current_location := p_attr_value;
392 ELSIF p_attr_id = OE_Line_Util.G_END_CUSTOMER_SITE_USE THEN
393 x_line_tbl(1).end_customer_site_use_id := TO_NUMBER(p_attr_value);
394 ELSIF p_attr_id = OE_Line_Util.G_END_CUSTOMER_CONTACT THEN
395 x_line_tbl(1).end_customer_contact_id := TO_NUMBER(p_attr_value);
396 ELSIF p_attr_id = OE_Line_Util.G_END_CUSTOMER THEN
397 x_line_tbl(1).end_customer_id := TO_NUMBER(p_attr_value);
398 ELSIF p_attr_id = OE_Line_Util.G_ATO_LINE THEN
399 x_line_tbl(1).ato_line_id := TO_NUMBER(p_attr_value);
400 ELSIF p_attr_id = OE_Line_Util.G_AUTO_SELECTED_QUANTITY THEN
401 x_line_tbl(1).auto_selected_quantity := TO_NUMBER(p_attr_value);
402 ELSIF p_attr_id = OE_Line_Util.G_BLANKET_NUMBER THEN
403 x_line_tbl(1).blanket_number := TO_NUMBER(p_attr_value);
404 ELSIF p_attr_id = OE_Line_Util.G_BLANKET_LINE_NUMBER THEN
405 x_line_tbl(1).blanket_line_number := TO_NUMBER(p_attr_value);
406 ELSIF p_attr_id = OE_Line_Util.G_BLANKET_VERSION_NUMBER THEN
407 x_line_tbl(1).blanket_version_number := TO_NUMBER(p_attr_value);
408 ELSIF p_attr_id = OE_Line_Util.G_BOOKED THEN
409 x_line_tbl(1).booked_flag := p_attr_value;
410 ELSIF p_attr_id = OE_Line_Util.G_CANCELLED THEN
411 x_line_tbl(1).cancelled_flag := p_attr_value;
412 ELSIF p_attr_id = OE_Line_Util.G_CANCELLED_QUANTITY THEN
413 x_line_tbl(1).cancelled_quantity := TO_NUMBER(p_attr_value);
414 ELSIF p_attr_id = OE_Line_Util.G_COMPONENT THEN
415 x_line_tbl(1).component_code := p_attr_value;
416 ELSIF p_attr_id = OE_Line_Util.G_COMPONENT_NUMBER THEN
417 x_line_tbl(1).component_number := p_attr_value;
418 ELSIF p_attr_id = OE_Line_Util.G_COMPONENT_SEQUENCE THEN
419 x_line_tbl(1).component_sequence_id := TO_NUMBER(p_attr_value);
420 ELSIF p_attr_id = OE_Line_Util.G_CONFIG_DISPLAY_SEQUENCE THEN
421 x_line_tbl(1).config_display_sequence := TO_NUMBER(p_attr_value);
422 ELSIF p_attr_id = OE_Line_Util.G_CONFIGURATION THEN
423 x_line_tbl(1).configuration_id := TO_NUMBER(p_attr_value);
424 ELSIF p_attr_id = OE_Line_Util.G_CONFIG_HEADER THEN
425 x_line_tbl(1).config_header_id := TO_NUMBER(p_attr_value);
426 ELSIF p_attr_id = OE_Line_Util.G_CONFIG_REV_NBR THEN
427 x_line_tbl(1).config_rev_nbr := TO_NUMBER(p_attr_value);
428 ELSIF p_attr_id = OE_Line_Util.G_CREDIT_INVOICE_LINE THEN
429 x_line_tbl(1).credit_invoice_line_id := TO_NUMBER(p_attr_value);
430 ELSIF p_attr_id = OE_Line_Util.G_CUSTOMER_DOCK THEN
431 x_line_tbl(1).customer_dock_code := p_attr_value;
432 ELSIF p_attr_id = OE_Line_Util.G_CUSTOMER_JOB THEN
433 x_line_tbl(1).customer_job := p_attr_value;
434 ELSIF p_attr_id = OE_Line_Util.G_CUSTOMER_PRODUCTION_LINE THEN
435 x_line_tbl(1).customer_production_line := p_attr_value;
436 ELSIF p_attr_id = OE_Line_Util.G_CUSTOMER_TRX_LINE THEN
437 x_line_tbl(1).customer_trx_line_id := TO_NUMBER(p_attr_value);
438 ELSIF p_attr_id = OE_Line_Util.G_CUST_MODEL_SERIAL_NUMBER THEN
439 x_line_tbl(1).cust_model_serial_number := p_attr_value;
440 ELSIF p_attr_id = OE_Line_Util.G_CUST_PO_NUMBER THEN
441 x_line_tbl(1).cust_po_number := p_attr_value;
442 ELSIF p_attr_id = OE_Line_Util.G_DELIVERY_LEAD_TIME THEN
443 x_line_tbl(1).delivery_lead_time := TO_NUMBER(p_attr_value);
444 ELSIF p_attr_id = OE_Line_Util.G_DELIVER_TO_CONTACT THEN
445 x_line_tbl(1).deliver_to_contact_id := TO_NUMBER(p_attr_value);
446 ELSIF p_attr_id = OE_Line_Util.G_DELIVER_TO_ORG THEN
447 x_line_tbl(1).deliver_to_org_id := TO_NUMBER(p_attr_value);
448 ELSIF p_attr_id = OE_Line_Util.G_DEMAND_BUCKET_TYPE THEN
449 x_line_tbl(1).demand_bucket_type_code := p_attr_value;
450 ELSIF p_attr_id = OE_Line_Util.G_DEMAND_CLASS THEN
451 x_line_tbl(1).demand_class_code := p_attr_value;
452 ELSIF p_attr_id = OE_Line_Util.G_DEP_PLAN_REQUIRED THEN
453 x_line_tbl(1).dep_plan_required_flag := p_attr_value;
454 ELSIF p_attr_id = OE_Line_Util.G_EARLIEST_ACCEPTABLE_DATE THEN
455 -- x_line_tbl(1).earliest_acceptable_date := TO_DATE(p_attr_value, l_date_format_mask);
456 x_line_tbl(1).earliest_acceptable_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
457 ELSIF p_attr_id = OE_Line_Util.G_EXPLOSION_DATE THEN
458 -- x_line_tbl(1).explosion_date := TO_DATE(p_attr_value, l_date_format_mask);
459 x_line_tbl(1).explosion_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
460 ELSIF p_attr_id = OE_Line_Util.G_FOB_POINT THEN
461 x_line_tbl(1).fob_point_code := p_attr_value;
462 ELSIF p_attr_id = OE_Line_Util.G_FREIGHT_CARRIER THEN
463 x_line_tbl(1).freight_carrier_code := p_attr_value;
464 ELSIF p_attr_id = OE_Line_Util.G_FREIGHT_TERMS THEN
465 x_line_tbl(1).freight_terms_code := p_attr_value;
466 ELSIF p_attr_id = OE_Line_Util.G_FULFILLED_QUANTITY THEN
467 x_line_tbl(1).fulfilled_quantity := TO_NUMBER(p_attr_value);
468 ELSIF p_attr_id = OE_Line_Util.G_HEADER THEN
469 x_line_tbl(1).header_id := TO_NUMBER(p_attr_value);
470 ELSIF p_attr_id = OE_Line_Util.G_INTERMED_SHIP_TO_CONTACT THEN
471 x_line_tbl(1).intermed_ship_to_contact_id := TO_NUMBER(p_attr_value);
472 ELSIF p_attr_id = OE_Line_Util.G_INTERMED_SHIP_TO_ORG THEN
473 x_line_tbl(1).intermed_ship_to_org_id := TO_NUMBER(p_attr_value);
474 ELSIF p_attr_id = OE_Line_Util.G_INVENTORY_ITEM THEN
475 x_line_tbl(1).inventory_item_id := TO_NUMBER(p_attr_value);
476 ELSIF p_attr_id = OE_Line_Util.G_INVOICE_INTERFACE_STATUS THEN
477 x_line_tbl(1).invoice_interface_status_code := p_attr_value;
478 ELSIF p_attr_id = OE_Line_Util.G_INVOICE_TO_CONTACT THEN
479 x_line_tbl(1).invoice_to_contact_id := TO_NUMBER(p_attr_value);
480 ELSIF p_attr_id = OE_Line_Util.G_INVOICE_TO_ORG THEN
481 x_line_tbl(1).invoice_to_org_id := TO_NUMBER(p_attr_value);
482 ELSIF p_attr_id = OE_Line_Util.G_INVOICED_QUANTITY THEN
483 x_line_tbl(1).invoiced_quantity := TO_NUMBER(p_attr_value);
484 ELSIF p_attr_id = OE_Line_Util.G_INVOICING_RULE THEN
485 x_line_tbl(1).invoicing_rule_id := TO_NUMBER(p_attr_value);
486 ELSIF p_attr_id = OE_Line_Util.G_ORDERED_ITEM_ID THEN
487 x_line_tbl(1).ordered_item_id := TO_NUMBER(p_attr_value);
488 ELSIF p_attr_id = OE_Line_Util.G_ITEM_IDENTIFIER_TYPE THEN
489 x_line_tbl(1).item_identifier_type := p_attr_value;
490 ELSIF p_attr_id = OE_Line_Util.G_ORDERED_ITEM THEN
491 x_line_tbl(1).ordered_item := p_attr_value;
492 ELSIF p_attr_id = OE_Line_Util.G_ITEM_REVISION THEN
493 x_line_tbl(1).item_revision := p_attr_value;
494 ELSIF p_attr_id = OE_Line_Util.G_ITEM_TYPE THEN
495 x_line_tbl(1).item_type_code := p_attr_value;
496 ELSIF p_attr_id = OE_Line_Util.G_LATEST_ACCEPTABLE_DATE THEN
497 -- x_line_tbl(1).latest_acceptable_date := TO_DATE(p_attr_value, l_date_format_mask);
498 x_line_tbl(1).latest_acceptable_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
499 ELSIF p_attr_id = OE_Line_Util.G_LATE_DEMAND_PENALTY_FACTOR THEN
500 x_line_tbl(1).late_demand_penalty_factor := TO_NUMBER(p_attr_value);
501 ELSIF p_attr_id = OE_Line_Util.G_LINE_CATEGORY THEN
502 x_line_tbl(1).line_category_code := p_attr_value;
503 x_line_tbl(1).line_type_id := FND_API.G_MISS_NUM;
504 ELSIF p_attr_id = OE_Line_Util.G_LINE THEN
505 x_line_tbl(1).line_id := TO_NUMBER(p_attr_value);
506 ELSIF p_attr_id = OE_Line_Util.G_LINE_NUMBER THEN
507 x_line_tbl(1).line_number := TO_NUMBER(p_attr_value);
508 ELSIF p_attr_id = OE_Line_Util.G_LINE_TYPE THEN
509 x_line_tbl(1).line_type_id := TO_NUMBER(p_attr_value);
510 ELSIF p_attr_id = OE_Line_Util.G_LINK_TO_LINE THEN
511 x_line_tbl(1).link_to_line_id := TO_NUMBER(p_attr_value);
512 ELSIF p_attr_id = OE_Line_Util.G_MODEL_GROUP_NUMBER THEN
513 x_line_tbl(1).model_group_number := TO_NUMBER(p_attr_value);
514 ELSIF p_attr_id = OE_Line_Util.G_OPEN THEN
515 x_line_tbl(1).open_flag := p_attr_value;
516 ELSIF p_attr_id = OE_Line_Util.G_OPTION_FLAG THEN
517 x_line_tbl(1).option_flag := p_attr_value;
518 ELSIF p_attr_id = OE_Line_Util.G_OPTION_NUMBER THEN
519 x_line_tbl(1).option_number := TO_NUMBER(p_attr_value);
520 ELSIF p_attr_id = OE_Line_Util.G_ORDERED_QUANTITY THEN
521 x_line_tbl(1).ordered_quantity := FND_NUMBER.CANONICAL_TO_NUMBER(p_attr_value); --bug 5179564
522 ELSIF p_attr_id = OE_Line_Util.G_ORDER_QUANTITY_UOM THEN
523 x_line_tbl(1).order_quantity_uom := p_attr_value;
524 ELSIF p_attr_id = OE_Line_Util.G_ORDERED_QUANTITY2 THEN --OPM
525 x_line_tbl(1).ordered_quantity2 := FND_NUMBER.CANONICAL_TO_NUMBER(p_attr_value); --bug 5179564
526 ELSIF p_attr_id = OE_Line_Util.G_ORDERED_QUANTITY_UOM2 THEN --OPM
527 x_line_tbl(1).ordered_quantity_uom2 := p_attr_value;
528
529 ELSIF p_attr_id = OE_Line_Util.G_ORG THEN
530 x_line_tbl(1).org_id := TO_NUMBER(p_attr_value);
531 ELSIF p_attr_id = OE_Line_Util.G_ORIG_SYS_DOCUMENT_REF THEN
532 x_line_tbl(1).orig_sys_document_ref := p_attr_value;
533 ELSIF p_attr_id = OE_Line_Util.G_ORIG_SYS_LINE_REF THEN
534 x_line_tbl(1).orig_sys_line_ref := p_attr_value;
535 ELSIF p_attr_id = OE_Line_Util.G_ORIG_SYS_SHIPMENT_REF THEN
536 x_line_tbl(1).orig_sys_shipment_ref := p_attr_value;
537 ELSIF p_attr_id = OE_Line_Util.G_ORIGINAL_INVENTORY_ITEM THEN
538 x_line_tbl(1).original_inventory_item_id:= to_number(p_attr_value);
539 ELSIF p_attr_id = OE_Line_Util.G_ORIGINAL_ORDERED_ITEM THEN
540 x_line_tbl(1).original_ordered_item := p_attr_value;
541 ELSIF p_attr_id = OE_Line_Util.G_ORIGINAL_ORDERED_ITEM_ID THEN
542 x_line_tbl(1).original_ordered_item_id := to_number(p_attr_value);
543 ELSIF p_attr_id = OE_Line_Util.G_ORIGINAL_ITEM_IDEN_TYPE THEN
544 x_line_tbl(1).original_item_identifier_type := p_attr_value;
545 ELSIF p_attr_id = OE_Line_Util.G_ITEM_RELATIONSHIP_TYPE THEN
546 x_line_tbl(1).item_relationship_type := to_number(p_attr_value);
547 ELSIF p_attr_id = OE_Line_Util.G_PAYMENT_TERM THEN
548 x_line_tbl(1).payment_term_id := TO_NUMBER(p_attr_value);
549 ELSIF p_attr_id = OE_Line_Util.G_PLANNING_PRIORITY THEN
550 x_line_tbl(1).planning_priority := TO_NUMBER(p_attr_value);
551 ELSIF p_attr_id = OE_Line_Util.G_PREFERRED_GRADE THEN --OPM
552 x_line_tbl(1).preferred_grade := p_attr_value;
553
554 ELSIF p_attr_id = OE_Line_Util.G_PRICE_LIST THEN
555 x_line_tbl(1).price_list_id := TO_NUMBER(p_attr_value);
556 ELSIF p_attr_id = OE_Line_Util.G_PRICING_DATE THEN
557 -- x_line_tbl(1).pricing_date := TO_DATE(p_attr_value, l_date_format_mask);
558 x_line_tbl(1).pricing_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
559 ELSIF p_attr_id = OE_Line_Util.G_PRICING_QUANTITY THEN
560 x_line_tbl(1).pricing_quantity := TO_NUMBER(p_attr_value);
561 ELSIF p_attr_id = OE_Line_Util.G_PRICING_QUANTITY_UOM THEN
562 x_line_tbl(1).pricing_quantity_uom := p_attr_value;
563 ELSIF p_attr_id = OE_Line_Util.G_PROJECT THEN
564 x_line_tbl(1).project_id := TO_NUMBER(p_attr_value);
565 ELSIF p_attr_id = OE_Line_Util.G_PROMISE_DATE THEN
566 -- x_line_tbl(1).promise_date := TO_DATE(p_attr_value, l_date_format_mask);
567 x_line_tbl(1).promise_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
568 ELSIF p_attr_id = OE_Line_Util.G_REFERENCE_CUSTOMER_TRX_LINE THEN
569 x_line_tbl(1).reference_customer_trx_line_id := TO_NUMBER(p_attr_value);
570 ELSIF p_attr_id = OE_Line_Util.G_REFERENCE_HEADER THEN
571 x_line_tbl(1).reference_header_id := TO_NUMBER(p_attr_value);
572 ELSIF p_attr_id = OE_Line_Util.G_REFERENCE_LINE THEN
573 x_line_tbl(1).reference_line_id := TO_NUMBER(p_attr_value);
574 ELSIF p_attr_id = OE_Line_Util.G_REFERENCE_TYPE THEN
575 NULL;
576 ELSIF p_attr_id = OE_Line_Util.G_REQUEST_DATE THEN
577 -- x_line_tbl(1).request_date := TO_DATE(p_attr_value, l_date_format_mask);
578 x_line_tbl(1).request_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
579 ELSIF p_attr_id = OE_Line_Util.G_RESERVED_QUANTITY THEN
580 x_line_tbl(1).reserved_quantity := p_attr_value;
581 ELSIF p_attr_id = OE_Line_Util.G_RLA_SCHEDULE_TYPE THEN
582 x_line_tbl(1).rla_schedule_type_code := p_attr_value;
583 ELSIF p_attr_id = OE_Line_Util.G_SCHEDULE_ARRIVAL_DATE THEN
584 -- x_line_tbl(1).schedule_arrival_date := TO_DATE(p_attr_value, l_date_format_mask);
585 x_line_tbl(1).schedule_arrival_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
586 ELSIF p_attr_id = OE_Line_Util.G_SCHEDULE_SHIP_DATE THEN
587 /* x_line_tbl(1).schedule_ship_date :=
588 TO_DATE(p_attr_value, l_date_format_mask);*/
589 x_line_tbl(1).schedule_ship_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
590 ELSIF p_attr_id = OE_Line_Util.G_EARLIEST_SHIP_DATE THEN
591 /* x_line_tbl(1).earliest_ship_date :=
592 TO_DATE(p_attr_value, l_date_format_mask);*/
593 x_line_tbl(1).earliest_ship_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
594 ELSIF p_attr_id = OE_Line_Util.G_FIRM_DEMAND THEN
595 x_line_tbl(1).firm_demand_flag := p_attr_value;
596 ELSIF p_attr_id = OE_Line_Util.G_SCHEDULE_ACTION THEN
597 x_line_tbl(1).schedule_action_code := p_attr_value;
598 ELSIF p_attr_id = OE_Line_Util.G_OVERRIDE_ATP_DATE THEN
599 x_line_tbl(1).override_atp_date_code := p_attr_value;
600 ELSIF p_attr_id = OE_Line_Util.G_SCHEDULE_STATUS THEN
601 x_line_tbl(1).schedule_status_code := p_attr_value;
602 ELSIF p_attr_id = OE_Line_Util.G_SHIPMENT_NUMBER THEN
603 x_line_tbl(1).shipment_number := TO_NUMBER(p_attr_value);
604 ELSIF p_attr_id = OE_Line_Util.G_SHIPMENT_PRIORITY THEN
605 x_line_tbl(1).shipment_priority_code := p_attr_value;
606 ELSIF p_attr_id = OE_Line_Util.G_SHIPPED_QUANTITY THEN
607 x_line_tbl(1).shipped_quantity := TO_NUMBER(p_attr_value);
608 ELSIF p_attr_id = OE_Line_Util.G_SHIPPING_METHOD THEN
609 x_line_tbl(1).shipping_method_code := p_attr_value;
610 ELSIF p_attr_id = OE_Line_Util.G_SHIPPING_QUANTITY THEN
611 x_line_tbl(1).shipping_quantity := TO_NUMBER(p_attr_value);
612 ELSIF p_attr_id = OE_Line_Util.G_SHIPPING_QUANTITY_UOM THEN
613 x_line_tbl(1).shipping_quantity_uom := p_attr_value;
614 ELSIF p_attr_id = OE_Line_Util.G_SHIP_FROM_ORG THEN
615 x_line_tbl(1).ship_from_org_id := TO_NUMBER(p_attr_value);
616 ELSIF p_attr_id = OE_Line_Util.G_SUBINVENTORY THEN
617 x_line_tbl(1).subinventory := p_attr_value;
618 ELSIF p_attr_id = OE_Line_Util.G_SHIP_TOLERANCE_ABOVE THEN
619 x_line_tbl(1).ship_tolerance_above := TO_NUMBER(p_attr_value);
620 ELSIF p_attr_id = OE_Line_Util.G_SHIP_TOLERANCE_BELOW THEN
621 x_line_tbl(1).ship_tolerance_below := TO_NUMBER(p_attr_value);
622 ELSIF p_attr_id = OE_Line_Util.G_SHIPPING_INTERFACED THEN
623 x_line_tbl(1).shipping_interfaced_flag := p_attr_value;
624 ELSIF p_attr_id = OE_Line_Util.G_SHIP_TO_CONTACT THEN
625 x_line_tbl(1).ship_to_contact_id := TO_NUMBER(p_attr_value);
626 IF l_debug_level > 0 THEN
627 oe_debug_pub.add( 'SHIP TO CONTACT1'|| X_LINE_TBL ( 1 ) .SHIP_TO_CONTACT_ID , 1 ) ;
628 END IF;
629 ELSIF p_attr_id = OE_Line_Util.G_SHIP_TO_ORG THEN
630 x_line_tbl(1).ship_to_org_id := TO_NUMBER(p_attr_value);
631 ELSIF p_attr_id = OE_Line_Util.G_SHIP_MODEL_COMPLETE_FLAG THEN
632 x_line_tbl(1).ship_model_complete_flag := p_attr_value;
633 ELSIF p_attr_id = OE_Line_Util.G_SOLD_TO_ORG THEN
634 x_line_tbl(1).sold_to_org_id := TO_NUMBER(p_attr_value);
635 ELSIF p_attr_id = OE_Line_Util.G_SORT_ORDER THEN
636 x_line_tbl(1).sort_order := p_attr_value;
637 ELSIF p_attr_id = OE_Line_Util.G_SOURCE_DOCUMENT THEN
638 x_line_tbl(1).source_document_id := TO_NUMBER(p_attr_value);
639 ELSIF p_attr_id = OE_Line_Util.G_SOURCE_DOCUMENT_LINE THEN
640 x_line_tbl(1).source_document_line_id := TO_NUMBER(p_attr_value);
641 ELSIF p_attr_id = OE_Line_Util.G_SOURCE_DOCUMENT_TYPE THEN
642 x_line_tbl(1).source_document_type_id := TO_NUMBER(p_attr_value);
643 ELSIF p_attr_id = OE_Line_Util.G_SOURCE_TYPE THEN
644 x_line_tbl(1).source_type_code := p_attr_value;
645 ELSIF p_attr_id = OE_Line_Util.G_TASK THEN
646 x_line_tbl(1).task_id := TO_NUMBER(p_attr_value);
647 ELSIF p_attr_id = OE_Line_Util.G_TAX THEN
648 x_line_tbl(1).tax_code := p_attr_value;
649 ELSIF p_attr_id = OE_Line_Util.G_TAX_DATE THEN
650 -- x_line_tbl(1).tax_date := TO_DATE(p_attr_value, l_date_format_mask);
651 x_line_tbl(1).tax_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
652 ELSIF p_attr_id = OE_Line_Util.G_TAX_EXEMPT THEN
653 x_line_tbl(1).tax_exempt_flag := p_attr_value;
654 ELSIF p_attr_id = OE_Line_Util.G_TAX_EXEMPT_NUMBER THEN
655 x_line_tbl(1).tax_exempt_number := p_attr_value;
656 ELSIF p_attr_id = OE_Line_Util.G_TAX_EXEMPT_REASON THEN
657 x_line_tbl(1).tax_exempt_reason_code := p_attr_value;
658 ELSIF p_attr_id = OE_Line_Util.G_TAX_POINT THEN
659 x_line_tbl(1).tax_point_code := p_attr_value;
660 ELSIF p_attr_id = OE_Line_Util.G_TAX_RATE THEN
661 x_line_tbl(1).tax_rate := TO_NUMBER(p_attr_value);
662 ELSIF p_attr_id = OE_Line_Util.G_TAX_VALUE THEN
663 x_line_tbl(1).tax_value := TO_NUMBER(p_attr_value);
664 ELSIF p_attr_id = OE_Line_Util.G_TOP_MODEL_LINE THEN
665 x_line_tbl(1).top_model_line_id := TO_NUMBER(p_attr_value);
666 ELSIF p_attr_id = OE_Line_Util.G_UNIT_LIST_PRICE THEN
667 x_line_tbl(1).unit_list_price := TO_NUMBER(p_attr_value);
668 ELSIF p_attr_id = OE_Line_Util.G_UNIT_LIST_PRICE_PER_PQTY THEN
669 x_line_tbl(1).unit_list_price_per_pqty := TO_NUMBER(p_attr_value);
670 ELSIF p_attr_id = OE_Line_Util.G_UNIT_SELLING_PRICE THEN
671 x_line_tbl(1).unit_selling_price := FND_NUMBER.CANONICAL_TO_NUMBER(p_attr_value); -- bug 5179564
672 ELSIF p_attr_id = OE_Line_Util.G_UNIT_SELLING_PRICE_PER_PQTY THEN
673 x_line_tbl(1).unit_selling_price_per_pqty := FND_NUMBER.CANONICAL_TO_NUMBER(p_attr_value); -- bug 5179564
674 ELSIF p_attr_id = OE_Line_Util.G_VISIBLE_DEMAND THEN
675 x_line_tbl(1).visible_demand_flag := p_attr_value;
676 ELSIF p_attr_id = OE_Line_Util.G_SPLIT_FROM_LINE THEN
677 x_line_tbl(1).split_from_line_id := TO_NUMBER(p_attr_value);
678 ELSIF p_attr_id = OE_Line_Util.G_CUST_PRODUCTION_SEQ_NUM THEN
679 x_line_tbl(1).cust_production_seq_num := p_attr_value;
680 ELSIF p_attr_id = OE_Line_Util.G_AUTHORIZED_TO_SHIP THEN
681 x_line_tbl(1).authorized_to_ship_flag := p_attr_value;
682 ELSIF p_attr_id = OE_Line_Util.G_VEH_CUS_ITEM_CUM_KEY THEN
683 x_line_tbl(1).veh_cus_item_cum_key_id := TO_NUMBER(p_attr_value);
684 ELSIF p_attr_id = OE_Line_Util.G_SALESREP THEN
685 x_line_tbl(1).salesrep_id := TO_NUMBER(p_attr_value);
686 ELSIF p_attr_id = OE_Line_Util.G_RETURN_REASON THEN
687 x_line_tbl(1).return_reason_code := p_attr_value;
688 ELSIF p_attr_id = OE_Line_Util.G_ARRIVAL_SET THEN
689 x_line_tbl(1).arrival_set_id := TO_NUMBER(p_attr_value);
690 ELSIF p_attr_id = OE_Line_Util.G_ARRIVAL_SET_NAME THEN
691 IF l_debug_level > 0 THEN
692 oe_debug_pub.add( 'RAJ CONTROLLER - ATTRIBUTE CHANGE'|| P_ATTR_VALUE ) ;
693 END IF;
694 IF p_attr_value IS NULL THEN
695 x_line_tbl(1).arrival_set_id := NULL;
696 x_line_tbl(1).arrival_set := p_attr_value;
697 x_old_line_tbl(1).arrival_set := null;
698 ELSE
699 x_line_tbl(1).arrival_set := p_attr_value;
700 x_line_tbl(1).arrival_set_id := NULL;
701 END IF;
702 ELSIF p_attr_id = OE_Line_Util.G_SHIP_SET THEN
703 x_line_tbl(1).ship_set_id := TO_NUMBER(p_attr_value);
704 ELSIF p_attr_id = OE_Line_Util.G_SHIP_SET_NAME THEN
705 IF p_attr_value IS NULL THEN
706 x_line_tbl(1).ship_set_id := NULL;
707 x_line_tbl(1).ship_set := p_attr_value;
708 x_old_line_tbl(1).ship_set := null;
709 ELSE
710 x_line_tbl(1).ship_set := p_attr_value;
711 x_line_tbl(1).ship_set_id := NULL;
712 END IF;
713 ELSIF p_attr_id = OE_Line_Util.G_FULFILLMENT_SET THEN
714 x_line_tbl(1).fulfillment_set := TO_NUMBER(p_attr_value);
715 ELSIF p_attr_id = OE_Line_Util.G_FULFILLMENT_SET_NAME THEN
716 IF p_attr_value IS NULL THEN
717 x_line_tbl(1).fulfillment_set_id := NULL;
718 ELSE
719 x_line_tbl(1).fulfillment_set := p_attr_value;
720 x_line_tbl(1).fulfillment_set_id := NULL;
721 END IF;
722 ELSIF p_attr_id = OE_Line_Util.G_OVER_SHIP_REASON THEN
723 x_line_tbl(1).over_ship_reason_code := p_attr_value;
724 ELSIF p_attr_id = OE_Line_Util.G_OVER_SHIP_RESOLVED THEN
725 x_line_tbl(1).over_ship_resolved_flag := p_attr_value;
726 ELSIF p_attr_id = OE_Line_Util.G_FIRST_ACK THEN
727 x_line_tbl(1).first_ack_code := p_attr_value;
728 ELSIF p_attr_id = OE_Line_Util.G_FIRST_ACK_DATE THEN
729 -- x_line_tbl(1).first_ack_date := TO_DATE(p_attr_value, l_date_format_mask);
730 x_line_tbl(1).first_ack_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
731 ELSIF p_attr_id = OE_Line_Util.G_LAST_ACK THEN
732 x_line_tbl(1).last_ack_code := p_attr_value;
733 ELSIF p_attr_id = OE_Line_Util.G_LAST_ACK_DATE THEN
734 -- x_line_tbl(1).last_ack_date := TO_DATE(p_attr_value, l_date_format_mask);
735 x_line_tbl(1).last_ack_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
736 ELSIF p_attr_id = OE_Line_Util.G_END_ITEM_UNIT_NUMBER THEN
737 x_line_tbl(1).end_item_unit_number := p_attr_value;
738 ELSIF p_attr_id = OE_Line_Util.G_SHIPPING_INSTRUCTIONS THEN
739 x_line_tbl(1).shipping_instructions := p_attr_value;
740 ELSIF p_attr_id = OE_Line_Util.G_PACKING_INSTRUCTIONS THEN
741 x_line_tbl(1).packing_instructions := p_attr_value;
742 ELSIF p_attr_id = OE_Line_Util.G_SERVICE_TXN_REASON THEN
743 x_line_tbl(1).service_txn_reason_code := p_attr_value;
744 ELSIF p_attr_id = OE_Line_Util.G_SERVICE_TXN_COMMENTS THEN
745 x_line_tbl(1).service_txn_comments := p_attr_value;
746 ELSIF p_attr_id = OE_Line_Util.G_SERVICE_DURATION THEN
747 x_line_tbl(1).service_duration := TO_NUMBER(p_attr_value);
748 ELSIF p_attr_id = OE_Line_Util.G_SERVICE_PERIOD THEN
749 x_line_tbl(1).service_period := p_attr_value;
750 ELSIF p_attr_id = OE_Line_Util.G_SERVICE_START_DATE THEN
751 -- x_line_tbl(1).service_start_date := TO_DATE(p_attr_value, l_date_format_mask);
752 x_line_tbl(1).service_start_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
753 ELSIF p_attr_id = OE_Line_Util.G_SERVICE_END_DATE THEN
754 -- x_line_tbl(1).service_end_date := TO_DATE(p_attr_value, l_date_format_mask);
755 x_line_tbl(1).service_end_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
756 ELSIF p_attr_id = OE_Line_Util.G_SERVICE_COTERMINATE_FLAG THEN
757 x_line_tbl(1).service_coterminate_flag := p_attr_value;
758 ELSIF p_attr_id = OE_Line_Util.G_UNIT_SELLING_PERCENT THEN
759 x_line_tbl(1).unit_selling_percent := TO_NUMBER(p_attr_value);
760 ELSIF p_attr_id = OE_Line_Util.G_UNIT_LIST_PERCENT THEN
761 x_line_tbl(1).unit_list_percent := TO_NUMBER(p_attr_value);
762 ELSIF p_attr_id = OE_Line_Util.G_UNIT_PERCENT_BASE_PRICE THEN
763 x_line_tbl(1).unit_percent_base_price := TO_NUMBER(p_attr_value);
764 ELSIF p_attr_id = OE_Line_Util.G_SERVICE_NUMBER THEN
765 x_line_tbl(1).service_number := TO_NUMBER(p_attr_value);
766 ELSIF p_attr_id = OE_Line_Util.G_Service_Reference_Type_Code THEN
767 x_line_tbl(1).service_reference_type_code := p_attr_value;
768 ELSIF p_attr_id = OE_Line_Util.G_Service_Reference_Line_Id THEN
769 x_line_tbl(1).service_reference_line_id := TO_NUMBER(p_attr_value);
770 ELSIF p_attr_id = OE_Line_Util.G_Service_Reference_System_Id THEN
771 x_line_tbl(1).service_reference_system_id := TO_NUMBER(p_attr_value);
772 ELSIF p_attr_id = OE_Line_Util.G_CHANGE_REASON THEN
773 x_line_tbl(1).change_reason := p_attr_value;
774 ELSIF p_attr_id = OE_Line_Util.G_CHANGE_COMMENTS THEN
775 x_line_tbl(1).change_comments := p_attr_value;
776 ELSIF p_attr_id = OE_Line_Util.G_CALCULATE_PRICE_FLAG THEN
777 x_line_tbl(1).calculate_price_flag := p_attr_value;
778 ELSIF p_attr_id = OE_Line_Util.G_CUSTOMER_LINE_NUMBER THEN
779 x_line_tbl(1).customer_line_number := p_attr_value;
780 ELSIF p_attr_id = OE_Line_Util.G_CUSTOMER_SHIPMENT_NUMBER THEN
781 x_line_tbl(1).customer_shipment_number := p_attr_value;
782 ELSIF p_attr_id = OE_Line_Util.G_user_ITEM_DESCRIPTION THEN
783 x_line_tbl(1).user_item_description := p_attr_value;
784 --recurring charges
785 ELSIF p_attr_id = OE_LINE_UTIL.G_CHARGE_PERIODICITY THEN
786 x_line_tbl(1).charge_periodicity_code := p_attr_value;
787 --Customer Acceptance
788 ELSIF p_attr_id = OE_Line_Util.G_CONTINGENCY THEN
789 x_line_tbl(1).contingency_id := TO_NUMBER(p_attr_value);
790 ELSIF p_attr_id = OE_Line_Util.G_REVREC_EVENT THEN
791 x_line_tbl(1).revrec_event_code := p_attr_value;
792 ELSIF p_attr_id = OE_Line_Util.G_REVREC_EXPIRATION_DAYS THEN
793 x_line_tbl(1).revrec_expiration_days := TO_NUMBER(p_attr_value);
794 ELSIF p_attr_id = OE_Line_Util.G_REVREC_COMMENTS THEN
795 x_line_tbl(1).revrec_comments := p_attr_value;
796 ELSIF p_attr_id = OE_Line_Util.G_REVREC_REFERENCE_DOCUMENT THEN
797 x_line_tbl(1).revrec_reference_document := p_attr_value;
798 ELSIF p_attr_id = OE_Line_Util.G_REVREC_SIGNATURE THEN
799 x_line_tbl(1).revrec_signature := p_attr_value;
800 ELSIF p_attr_id = OE_Line_Util.G_ATTRIBUTE1
801 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE10
802 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE11
803 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE12
804 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE13
805 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE14
806 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE15
807 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE16 --For bug 2184255
808 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE17
809 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE18
810 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE19
811 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE2
812 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE20
813 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE3
814 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE4
815 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE5
816 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE6
817 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE7
818 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE8
819 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE9
820 OR p_attr_id = OE_Line_Util.G_CONTEXT
821 THEN
822
823 x_line_tbl(1).attribute1 := p_line_dff_rec.attribute1;
824 x_line_tbl(1).attribute10 := p_line_dff_rec.attribute10;
825 x_line_tbl(1).attribute11 := p_line_dff_rec.attribute11;
826 x_line_tbl(1).attribute12 := p_line_dff_rec.attribute12;
827 x_line_tbl(1).attribute13 := p_line_dff_rec.attribute13;
828 x_line_tbl(1).attribute14 := p_line_dff_rec.attribute14;
829 x_line_tbl(1).attribute15 := p_line_dff_rec.attribute15;
830 x_line_tbl(1).attribute16 := p_line_dff_rec.attribute16; --For bug 2184255
831 x_line_tbl(1).attribute17 := p_line_dff_rec.attribute17;
832 x_line_tbl(1).attribute18 := p_line_dff_rec.attribute18;
833 x_line_tbl(1).attribute19 := p_line_dff_rec.attribute19;
834 x_line_tbl(1).attribute2 := p_line_dff_rec.attribute2;
835 x_line_tbl(1).attribute20 := p_line_dff_rec.attribute20;
836 x_line_tbl(1).attribute3 := p_line_dff_rec.attribute3;
837 x_line_tbl(1).attribute4 := p_line_dff_rec.attribute4;
838 x_line_tbl(1).attribute5 := p_line_dff_rec.attribute5;
839 x_line_tbl(1).attribute6 := p_line_dff_rec.attribute6;
840 x_line_tbl(1).attribute7 := p_line_dff_rec.attribute7;
841 x_line_tbl(1).attribute8 := p_line_dff_rec.attribute8;
842 x_line_tbl(1).attribute9 := p_line_dff_rec.attribute9;
843 x_line_tbl(1).context := p_line_dff_rec.context;
844
845 ELSIF p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE1
846 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE10
847 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE11
848 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE12
849 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE13
850 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE14
851 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE15
852 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE16
853 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE17
854 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE18
855 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE19
856 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE2
857 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE20
858 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE3
859 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE4
860 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE5
861 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE6
862 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE7
863 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE8
864 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE9
865 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE_CATEGORY
866 THEN
867
868 x_line_tbl(1).global_attribute1 := p_line_dff_rec.global_attribute1;
869 x_line_tbl(1).global_attribute10 := p_line_dff_rec.global_attribute10;
870 x_line_tbl(1).global_attribute11 := p_line_dff_rec.global_attribute11;
871 x_line_tbl(1).global_attribute12 := p_line_dff_rec.global_attribute12;
872 x_line_tbl(1).global_attribute13 := p_line_dff_rec.global_attribute13;
873 x_line_tbl(1).global_attribute14 := p_line_dff_rec.global_attribute14;
874 x_line_tbl(1).global_attribute15 := p_line_dff_rec.global_attribute15;
875 x_line_tbl(1).global_attribute16 := p_line_dff_rec.global_attribute16;
876 x_line_tbl(1).global_attribute17 := p_line_dff_rec.global_attribute17;
877 x_line_tbl(1).global_attribute18 := p_line_dff_rec.global_attribute18;
878 x_line_tbl(1).global_attribute19 := p_line_dff_rec.global_attribute19;
879 x_line_tbl(1).global_attribute2 := p_line_dff_rec.global_attribute2;
880 x_line_tbl(1).global_attribute20 := p_line_dff_rec.global_attribute20;
881 x_line_tbl(1).global_attribute3 := p_line_dff_rec.global_attribute3;
882 x_line_tbl(1).global_attribute4 := p_line_dff_rec.global_attribute4;
883 x_line_tbl(1).global_attribute5 := p_line_dff_rec.global_attribute5;
884 x_line_tbl(1).global_attribute6 := p_line_dff_rec.global_attribute6;
885 x_line_tbl(1).global_attribute7 := p_line_dff_rec.global_attribute7;
886 x_line_tbl(1).global_attribute8 := p_line_dff_rec.global_attribute8;
887 x_line_tbl(1).global_attribute9 := p_line_dff_rec.global_attribute9;
888 x_line_tbl(1).global_attribute_category := p_line_dff_rec.global_attribute_category;
889
890 ELSIF p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE1
891 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE10
892 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE11
893 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE12
894 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE13
895 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE14
896 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE15
897 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE2
898 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE3
899 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE4
900 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE5
901 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE6
902 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE7
903 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE8
904 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE9
905 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE16
906 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE17
907 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE18
908 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE19
909 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE20
910 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE21
911 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE22
912 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE23
913 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE24
914 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE25
915 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE26
916 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE27
917 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE28
918 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE29
919 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE30
920 OR p_attr_id = OE_Line_Util.G_INDUSTRY_CONTEXT
921 THEN
922
923 x_line_tbl(1).industry_attribute1 := p_line_dff_rec.industry_attribute1;
924 x_line_tbl(1).industry_attribute10 := p_line_dff_rec.industry_attribute10;
925 x_line_tbl(1).industry_attribute11 := p_line_dff_rec.industry_attribute11;
926 x_line_tbl(1).industry_attribute12 := p_line_dff_rec.industry_attribute12;
927 x_line_tbl(1).industry_attribute13 := p_line_dff_rec.industry_attribute13;
928 x_line_tbl(1).industry_attribute14 := p_line_dff_rec.industry_attribute14;
929 x_line_tbl(1).industry_attribute15 := p_line_dff_rec.industry_attribute15;
930 x_line_tbl(1).industry_attribute2 := p_line_dff_rec.industry_attribute2;
931 x_line_tbl(1).industry_attribute3 := p_line_dff_rec.industry_attribute3;
932 x_line_tbl(1).industry_attribute4 := p_line_dff_rec.industry_attribute4;
933 x_line_tbl(1).industry_attribute5 := p_line_dff_rec.industry_attribute5;
934 x_line_tbl(1).industry_attribute6 := p_line_dff_rec.industry_attribute6;
935 x_line_tbl(1).industry_attribute7 := p_line_dff_rec.industry_attribute7;
936 x_line_tbl(1).industry_attribute8 := p_line_dff_rec.industry_attribute8;
937 x_line_tbl(1).industry_attribute9 := p_line_dff_rec.industry_attribute9;
938 x_line_tbl(1).industry_attribute16 := p_line_dff_rec.industry_attribute16;
939 x_line_tbl(1).industry_attribute17 := p_line_dff_rec.industry_attribute17;
940 x_line_tbl(1).industry_attribute18 := p_line_dff_rec.industry_attribute18;
941 x_line_tbl(1).industry_attribute19 := p_line_dff_rec.industry_attribute19;
942 x_line_tbl(1).industry_attribute20 := p_line_dff_rec.industry_attribute20;
943 x_line_tbl(1).industry_attribute21 := p_line_dff_rec.industry_attribute21;
944 x_line_tbl(1).industry_attribute22 := p_line_dff_rec.industry_attribute22;
945 x_line_tbl(1).industry_attribute23 := p_line_dff_rec.industry_attribute23;
946 x_line_tbl(1).industry_attribute24 := p_line_dff_rec.industry_attribute24;
947 x_line_tbl(1).industry_attribute25 := p_line_dff_rec.industry_attribute25;
948 x_line_tbl(1).industry_attribute26 := p_line_dff_rec.industry_attribute26;
949 x_line_tbl(1).industry_attribute27 := p_line_dff_rec.industry_attribute27;
950 x_line_tbl(1).industry_attribute28 := p_line_dff_rec.industry_attribute28;
951 x_line_tbl(1).industry_attribute29 := p_line_dff_rec.industry_attribute29;
952 x_line_tbl(1).industry_attribute30 := p_line_dff_rec.industry_attribute30;
953 x_line_tbl(1).industry_context := p_line_dff_rec.industry_context;
954
955 ELSIF p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE1
956 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE10
957 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE2
958 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE3
959 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE4
960 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE5
961 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE6
962 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE7
963 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE8
964 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE9
965 OR p_attr_id = OE_Line_Util.G_PRICING_CONTEXT
966 THEN
967
968 x_line_tbl(1).pricing_attribute1 := p_line_dff_rec.pricing_attribute1;
969 x_line_tbl(1).pricing_attribute10 := p_line_dff_rec.pricing_attribute10;
970 x_line_tbl(1).pricing_attribute2 := p_line_dff_rec.pricing_attribute2;
971 x_line_tbl(1).pricing_attribute3 := p_line_dff_rec.pricing_attribute3;
972 x_line_tbl(1).pricing_attribute4 := p_line_dff_rec.pricing_attribute4;
973 x_line_tbl(1).pricing_attribute5 := p_line_dff_rec.pricing_attribute5;
974 x_line_tbl(1).pricing_attribute6 := p_line_dff_rec.pricing_attribute6;
975 x_line_tbl(1).pricing_attribute7 := p_line_dff_rec.pricing_attribute7;
976 x_line_tbl(1).pricing_attribute8 := p_line_dff_rec.pricing_attribute8;
977 x_line_tbl(1).pricing_attribute9 := p_line_dff_rec.pricing_attribute9;
978 x_line_tbl(1).pricing_context := p_line_dff_rec.pricing_context;
979 /* Amy Return, enable return attributes */
980 ELSIF p_attr_id = OE_Line_Util.G_RETURN_CONTEXT THEN
981 x_line_tbl(1).return_context := p_attr_value;
982 x_line_tbl(1).return_attribute1 := p_line_dff_rec.return_attribute1;
983 x_line_tbl(1).return_attribute10 := p_line_dff_rec.return_attribute10;
984 x_line_tbl(1).return_attribute11 := p_line_dff_rec.return_attribute11;
985 x_line_tbl(1).return_attribute12 := p_line_dff_rec.return_attribute12;
986 x_line_tbl(1).return_attribute13 := p_line_dff_rec.return_attribute13;
987 x_line_tbl(1).return_attribute14 := p_line_dff_rec.return_attribute14;
988 x_line_tbl(1).return_attribute15 := p_line_dff_rec.return_attribute15;
989 x_line_tbl(1).return_attribute2 := p_line_dff_rec.return_attribute2;
990 x_line_tbl(1).return_attribute3 := p_line_dff_rec.return_attribute3;
991 x_line_tbl(1).return_attribute4 := p_line_dff_rec.return_attribute4;
992 x_line_tbl(1).return_attribute5 := p_line_dff_rec.return_attribute5;
993 x_line_tbl(1).return_attribute6 := p_line_dff_rec.return_attribute6;
994 x_line_tbl(1).return_attribute7 := p_line_dff_rec.return_attribute7;
995 x_line_tbl(1).return_attribute8 := p_line_dff_rec.return_attribute8;
996 x_line_tbl(1).return_attribute9 := p_line_dff_rec.return_attribute9;
997 x_line_tbl(1).line_category_code := OE_GLOBALS.G_RETURN_CATEGORY_CODE;
998
999 ELSIF p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE1
1000 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE10
1001 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE11
1002 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE12
1003 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE13
1004 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE14
1005 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE15
1006 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE2
1007 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE3
1008 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE4
1009 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE5
1010 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE6
1011 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE7
1012 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE8
1013 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE9
1014 OR p_attr_id = OE_Line_Util.G_TP_CONTEXT
1015 THEN
1016 IF l_debug_level > 0 THEN
1017 oe_debug_pub.add( 'JYOTHI: I AM IN CHANGE ATTRIBUTE' ) ;
1018 END IF;
1019
1020 x_line_tbl(1).tp_attribute1 := p_line_dff_rec.tp_attribute1;
1021 x_line_tbl(1).tp_attribute10 := p_line_dff_rec.tp_attribute10;
1022 x_line_tbl(1).tp_attribute11 := p_line_dff_rec.tp_attribute11;
1023 x_line_tbl(1).tp_attribute12 := p_line_dff_rec.tp_attribute12;
1024 x_line_tbl(1).tp_attribute13 := p_line_dff_rec.tp_attribute13;
1025 x_line_tbl(1).tp_attribute14 := p_line_dff_rec.tp_attribute14;
1026 x_line_tbl(1).tp_attribute15 := p_line_dff_rec.tp_attribute15;
1027 x_line_tbl(1).tp_attribute2 := p_line_dff_rec.tp_attribute2;
1028 x_line_tbl(1).tp_attribute3 := p_line_dff_rec.tp_attribute3;
1029 x_line_tbl(1).tp_attribute4 := p_line_dff_rec.tp_attribute4;
1030 x_line_tbl(1).tp_attribute5 := p_line_dff_rec.tp_attribute5;
1031 x_line_tbl(1).tp_attribute6 := p_line_dff_rec.tp_attribute6;
1032 x_line_tbl(1).tp_attribute7 := p_line_dff_rec.tp_attribute7;
1033 x_line_tbl(1).tp_attribute8 := p_line_dff_rec.tp_attribute8;
1034 x_line_tbl(1).tp_attribute9 := p_line_dff_rec.tp_attribute9;
1035 x_line_tbl(1).tp_context := p_line_dff_rec.tp_context;
1036
1037 IF l_debug_level > 0 THEN
1038 oe_debug_pub.add( 'JYOTHI- TP ATTRIBUTE IS ' || X_LINE_TBL ( 1 ) .TP_ATTRIBUTE1 ) ;
1039 END IF;
1040 ELSIF p_attr_id = OE_Line_Util.G_COMMITMENT THEN
1041 x_line_tbl(1).commitment_id := TO_NUMBER(p_attr_value);
1042 ELSIF p_attr_id = OE_Line_Util.G_COMMITMENT_APPLIED_AMOUNT THEN
1043 x_line_tbl(1).commitment_applied_amount := TO_NUMBER(p_attr_value);
1044 --MRG BGN
1045 ELSIF p_attr_id = OE_LINE_UTIL.G_UNIT_COST Then
1046 IF l_debug_level > 0 THEN
1047 oe_debug_pub.add( 'P_ATTR_VALUE='||P_ATTR_VALUE ) ;
1048 END IF;
1049 x_line_tbl(1).unit_cost := TO_NUMBER(p_attr_value);
1050 IF l_debug_level > 0 THEN
1051 oe_debug_pub.add( 'FLINB:UNIT_COST:'||P_ATTR_VALUE ) ;
1052 END IF;
1053 --MRG END
1054 --retro{
1055 ELSIF p_attr_id = OE_Line_Util.G_RETROBILL_REQUEST THEN
1056 x_line_tbl(1).retrobill_request_id := TO_NUMBER(p_attr_value);
1057
1058 --retro}
1059 -- Override Selling price
1060 ELSIF p_attr_id = OE_Line_Util.G_ORIGINAL_LIST_PRICE THEN
1061 x_line_tbl(1).original_list_price := TO_NUMBER(p_attr_value);
1062 ELSIF p_attr_id = OE_Line_Util.G_UNIT_LIST_PRICE_PER_PQTY THEN
1063 x_line_tbl(1).unit_list_price_per_pqty := TO_NUMBER(p_attr_value);
1064 ELSIF p_attr_id = OE_Line_Util.G_UNIT_SELLING_PRICE_PER_PQTY THEN
1065 x_line_tbl(1).unit_selling_price_per_pqty := TO_NUMBER(p_attr_value);
1066 -- Override Selling price
1067 -- INVCONV
1068 ELSIF p_attr_id = OE_Line_Util.G_CANCELLED_QUANTITY2 THEN
1069 x_line_tbl(1).cancelled_quantity2 := TO_NUMBER(p_attr_value);
1070 ELSIF p_attr_id = OE_Line_Util.G_FULFILLED_QUANTITY2 THEN
1071 x_line_tbl(1).fulfilled_quantity2 := TO_NUMBER(p_attr_value);
1072 ELSIF p_attr_id = OE_Line_Util.G_SHIPPED_QUANTITY2 THEN
1073 x_line_tbl(1).shipped_quantity2 := TO_NUMBER(p_attr_value);
1074 ELSIF p_attr_id = OE_Line_Util.G_SHIPPING_QUANTITY2 THEN
1075 x_line_tbl(1).shipping_quantity2 := TO_NUMBER(p_attr_value);
1076 ELSIF p_attr_id = OE_Line_Util.G_SHIPPING_QUANTITY_UOM2 THEN
1077 x_line_tbl(1).shipping_quantity_uom2 := p_attr_value;
1078 ELSIF p_attr_id = OE_Line_Util.G_RESERVED_QUANTITY2 THEN
1079 x_line_tbl(1).reserved_quantity2 := p_attr_value;
1080
1081 ELSE
1082
1083 IF l_debug_level > 0 THEN
1084 oe_debug_pub.add( 'UNRECOGNIZED ATTRIBUTE EXCEPTION' , 2 ) ;
1085 END IF;
1086
1087 -- Unexpected error, unrecognized attribute
1088
1089 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1090 THEN
1091 oe_msg_pub.Add_Exc_Msg
1092 ( G_PKG_NAME
1093 , 'Change_Attribute'
1094 , 'Unrecognized attribute'
1095 );
1096 END IF;
1097
1098 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1099
1100 END IF;
1101
1102
1103 EXCEPTION
1104 WHEN OTHERS THEN
1105 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1106 THEN
1107 oe_msg_pub.Add_Exc_Msg
1108 ( G_PKG_NAME
1109 , 'Copy_Attribute_To_Rec'
1110 );
1111 END IF;
1112 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1113 END Copy_Attribute_To_Rec;
1114
1115 -- Procedure : Change_Attribute
1116 --
1117 -- Commenting OUT all flex attributes because
1118 -- we ran into an odd bug where the client(pld) does not recognize a package
1119 -- at all once it gets over a certain size (255 parameters per procedure)
1120
1121 -- Commenting OUT the pricing attributes for now since the number of
1122 -- parameters increases beyond the 255 parameters.
1123
1124 PROCEDURE Change_Attribute
1125 ( x_return_status OUT NOCOPY VARCHAR2
1126 , x_msg_count OUT NOCOPY NUMBER
1127 , x_msg_data OUT NOCOPY VARCHAR2
1128 , p_line_id IN NUMBER
1129 , p_attr_id IN NUMBER
1130 , p_attr_value IN VARCHAR2
1131 , p_attr_id_tbl IN Number_Tbl_Type
1132 , p_attr_value_tbl IN Varchar2_Tbl_Type
1133 , p_reason IN VARCHAR2
1134 , p_comments IN VARCHAR2
1135 , p_line_dff_rec IN OE_OE_FORM_LINE.line_dff_rec_type
1136 , p_default_cache_line_rec IN OE_ORDER_PUB.Line_Rec_Type
1137 , p_date_format_mask IN VARCHAR2 DEFAULT 'DD-MON-YYYY HH24:MI:SS'
1138 , x_line_tbl IN OUT NOCOPY OE_ORDER_PUB.Line_Tbl_Type
1139 , x_old_line_tbl IN OUT NOCOPY OE_ORDER_PUB.Line_Tbl_Type
1140 , x_line_val_tbl IN OUT NOCOPY OE_ORDER_PUB.Line_Val_Tbl_Type
1141 --, x_dualum_ind OUT NOCOPY NUMBER --OPM 02/JUN/00 INVCONV
1142 --, x_grade_ctl OUT NOCOPY NUMBER --OPM 02/JUN/00 INVCONV
1143 , x_process_warehouse_flag OUT NOCOPY VARCHAR2 --OPM 02/JUN/00
1144 --, x_ont_pricing_qty_source OUT NOCOPY NUMBER --OPM 2046190
1145 , x_ont_pricing_qty_source OUT NOCOPY VARCHAR2 -- INVCONV
1146 , x_grade_control_flag OUT NOCOPY VARCHAR2 -- INVCONV
1147 , x_tracking_quantity_ind OUT NOCOPY VARCHAR2 -- INVCONV
1148 , x_secondary_default_ind OUT NOCOPY VARCHAR2 -- INVCONV
1149 , x_lot_divisible_flag OUT NOCOPY VARCHAR2 -- INVCONV
1150 , x_lot_control_code OUT NOCOPY /* file.sql.39 change */ NUMBER -- 4172680 INVCONV
1151
1152 )
1153 IS
1154 l_control_rec OE_GLOBALS.Control_Rec_Type;
1155 l_return_status VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
1156 l_date_format_mask VARCHAR2(30) := p_date_format_mask;
1157 l_order_date_type_code VARCHAR2(30) := null;
1158 l_orig_ship_from_org_id OE_Order_LINES.ship_from_org_id%TYPE;
1159 l_x_item_rec_type OE_ORDER_CACHE.item_rec_type; -- OPM 2/JUN/00
1160 file_name varchar2(100);
1161 i pls_Integer;
1162 L_PRICE_CONTROL_REC QP_PREQ_GRP.control_record_type;
1163 --
1164 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1165 --
1166 BEGIN
1167
1168 IF l_debug_level > 0 THEN
1169 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE.CHANGE_ATTRIBUTES' , 1 ) ;
1170 END IF;
1171
1172 -- Set UI flag to TRUE
1173 OE_GLOBALS.G_UI_FLAG := TRUE;
1174
1175
1176 -- Set control flags.
1177
1178 l_control_rec.controlled_operation := TRUE;
1179 l_control_rec.change_attributes := TRUE;
1180
1181 l_control_rec.validate_entity := FALSE;
1182 l_control_rec.write_to_DB := FALSE;
1183 l_control_rec.process := FALSE;
1184
1185 -- Instruct API to retain its caches
1186
1187 l_control_rec.clear_api_cache := FALSE;
1188 l_control_rec.clear_api_requests := FALSE;
1189
1190 -- Read line from cache
1191
1192 IF p_default_cache_line_rec.line_id IS NOT NULL THEN
1193 x_line_tbl(1):=p_default_cache_line_rec;
1194 x_line_tbl(1).db_flag := FND_API.G_FALSE;
1195 Write_line
1196 ( p_line_rec => x_line_tbl(1)
1197 );
1198
1199 END IF;
1200
1201
1202 IF p_default_cache_line_rec.line_id IS NOT NULL THEN
1203 --x_old_line_tbl(1) := OE_ORDER_PUB.G_MISS_LINE_REC;
1204 x_old_line_tbl(1).line_id := null;
1205 x_line_tbl(1):=p_default_cache_line_rec;
1206 l_control_rec.default_attributes := FALSE;
1207 l_control_rec.clear_dependents := FALSE;
1208 l_control_rec.check_security := FALSE;
1209
1210 IF FND_API.To_Boolean(x_line_tbl(1).db_flag) THEN
1211 x_line_tbl(1).operation := OE_GLOBALS.G_OPR_UPDATE;
1212 ELSE
1213 x_line_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE;
1214 END IF;
1215
1216 Oe_Order_Pvt.Lines
1217 (
1218 p_validation_level => FND_API.G_VALID_LEVEL_NONE
1219 , p_init_msg_list => FND_API.G_TRUE
1220 , p_control_rec => l_control_rec
1221 , p_x_line_tbl => x_line_tbl
1222 , p_x_old_line_tbl => x_old_line_tbl
1223 , x_return_status => l_return_status
1224 );
1225 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1226 IF l_debug_level > 0 THEN
1227 oe_debug_pub.add( 'DATE TYPE RETURNED UNEXP_ERROR' , 2 ) ;
1228 END IF;
1229 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1230 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1231 IF l_debug_level > 0 THEN
1232 oe_debug_pub.add( 'DATE TYPE RETURN RET_STS_ERROR' , 2 ) ;
1233 END IF;
1234 RAISE FND_API.G_EXC_ERROR;
1235 END IF;
1236
1237 x_old_line_tbl(1) := x_line_tbl(1);
1238 ELSE
1239
1240 Get_line
1241 ( p_db_record => FALSE
1242 , p_line_id => p_line_id
1243 , x_line_rec => x_line_tbl(1)
1244 );
1245
1246 IF l_debug_level > 0 THEN
1247 oe_debug_pub.add( 'JPN:AFTER LINE QUERY : ' || X_LINE_TBL ( 1 ) .TP_ATTRIBUTE1 ) ;
1248 END IF;
1249
1250 x_old_line_tbl(1) := x_line_tbl(1);
1251
1252 END IF;
1253 l_control_rec.default_attributes := TRUE;
1254 l_control_rec.clear_dependents := TRUE;
1255 l_control_rec.check_security := TRUE;
1256
1257 IF OE_CODE_CONTROL.Code_Release_Level >= '110509' THEN
1258
1259 IF l_debug_level > 0 THEN
1260 oe_debug_pub.add( 'Code Release is >= 11.5.9') ;
1261 END IF;
1262
1263 Copy_Attribute_To_Rec
1264 (p_attr_id => p_attr_id
1265 ,p_attr_value => p_attr_value
1266 ,p_line_dff_rec => p_line_dff_rec
1267 ,p_date_format_mask => p_date_format_mask
1268 ,x_line_tbl => x_line_tbl
1269 ,x_old_line_tbl => x_old_line_tbl
1270 );
1271
1272 FOR l_index IN 1..p_attr_id_tbl.COUNT LOOP
1273
1274 Copy_Attribute_To_Rec
1275 (p_attr_id => p_attr_id_tbl(l_index)
1276 ,p_attr_value => p_attr_value_tbl(l_index)
1277 ,p_line_dff_rec => p_line_dff_rec
1278 ,p_date_format_mask => p_date_format_mask
1279 ,x_line_tbl => x_line_tbl
1280 ,x_old_line_tbl => x_old_line_tbl
1281 );
1282
1283 END LOOP;
1284
1285 ELSE
1286
1287 IF l_debug_level > 0 THEN
1288 oe_debug_pub.add( 'Code Release is < 11.5.9') ;
1289 END IF;
1290
1291 -- PLEASE ADD THIS IF LOGIC FOR NEW ATTRIBUTES TO THE PROCEDURE
1292 -- COPY_ATTRIBUTE_TO_REC ALSO. THIS NEW PROCEDURE WILL REPLACE
1293 -- THESE IF CALLS POST OM PACK I OR 11.5.9.
1294
1295 IF p_attr_id = OE_Line_Util.G_ACCOUNTING_RULE THEN
1296 x_line_tbl(1).accounting_rule_id := TO_NUMBER(p_attr_value);
1297 ELSIF p_attr_id = OE_Line_Util.G_ACCOUNTING_RULE_DURATION THEN
1298 x_line_tbl(1).accounting_rule_duration := TO_NUMBER(p_attr_value);
1299 ELSIF p_attr_id = OE_Line_Util.G_ACTUAL_ARRIVAL_DATE THEN
1300 -- x_line_tbl(1).actual_arrival_date := TO_DATE(p_attr_value, l_date_format_mask);
1301 x_line_tbl(1).actual_arrival_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
1302 ELSIF p_attr_id = OE_Line_Util.G_ACTUAL_SHIPMENT_DATE THEN
1303 -- x_line_tbl(1).actual_shipment_date := TO_DATE(p_attr_value, l_date_format_mask);
1304 x_line_tbl(1).actual_shipment_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
1305 ELSIF p_attr_id = OE_Line_Util.G_AGREEMENT THEN
1306 x_line_tbl(1).agreement_id := TO_NUMBER(p_attr_value);
1307 ELSIF p_attr_id = OE_Line_Util.G_IB_OWNER THEN
1308 x_line_tbl(1).ib_owner := p_attr_value;
1309 ELSIF p_attr_id = OE_Line_Util.G_IB_INSTALLED_AT_LOCATION THEN
1310 x_line_tbl(1).ib_installed_at_location := p_attr_value;
1311 ELSIF p_attr_id = OE_Line_Util.G_IB_CURRENT_LOCATION THEN
1312 x_line_tbl(1).ib_current_location := p_attr_value;
1313 ELSIF p_attr_id = OE_Line_Util.G_END_CUSTOMER_SITE_USE THEN
1314 x_line_tbl(1).end_customer_site_use_id := TO_NUMBER(p_attr_value);
1315 ELSIF p_attr_id = OE_Line_Util.G_END_CUSTOMER_CONTACT THEN
1316 x_line_tbl(1).end_customer_contact_id := TO_NUMBER(p_attr_value);
1317 ELSIF p_attr_id = OE_Line_Util.G_END_CUSTOMER THEN
1318 x_line_tbl(1).end_customer_id := TO_NUMBER(p_attr_value);
1319 ELSIF p_attr_id = OE_Line_Util.G_ATO_LINE THEN
1320 x_line_tbl(1).ato_line_id := TO_NUMBER(p_attr_value);
1321 ELSIF p_attr_id = OE_Line_Util.G_AUTO_SELECTED_QUANTITY THEN
1322 x_line_tbl(1).auto_selected_quantity := TO_NUMBER(p_attr_value);
1323 ELSIF p_attr_id = OE_Line_Util.G_BLANKET_NUMBER THEN
1324 x_line_tbl(1).blanket_number := TO_NUMBER(p_attr_value);
1325 ELSIF p_attr_id = OE_Line_Util.G_BLANKET_LINE_NUMBER THEN
1326 x_line_tbl(1).blanket_line_number := TO_NUMBER(p_attr_value);
1327 ELSIF p_attr_id = OE_Line_Util.G_BLANKET_VERSION_NUMBER THEN
1328 x_line_tbl(1).blanket_version_number := TO_NUMBER(p_attr_value);
1329 ELSIF p_attr_id = OE_Line_Util.G_BOOKED THEN
1330 x_line_tbl(1).booked_flag := p_attr_value;
1331 ELSIF p_attr_id = OE_Line_Util.G_CANCELLED THEN
1332 x_line_tbl(1).cancelled_flag := p_attr_value;
1333 ELSIF p_attr_id = OE_Line_Util.G_CANCELLED_QUANTITY THEN
1334 x_line_tbl(1).cancelled_quantity := TO_NUMBER(p_attr_value);
1335 ELSIF p_attr_id = OE_Line_Util.G_COMPONENT THEN
1336 x_line_tbl(1).component_code := p_attr_value;
1337 ELSIF p_attr_id = OE_Line_Util.G_COMPONENT_NUMBER THEN
1338 x_line_tbl(1).component_number := p_attr_value;
1339 ELSIF p_attr_id = OE_Line_Util.G_COMPONENT_SEQUENCE THEN
1340 x_line_tbl(1).component_sequence_id := TO_NUMBER(p_attr_value);
1341 ELSIF p_attr_id = OE_Line_Util.G_CONFIG_DISPLAY_SEQUENCE THEN
1342 x_line_tbl(1).config_display_sequence := TO_NUMBER(p_attr_value);
1343 ELSIF p_attr_id = OE_Line_Util.G_CONFIGURATION THEN
1344 x_line_tbl(1).configuration_id := TO_NUMBER(p_attr_value);
1345 ELSIF p_attr_id = OE_Line_Util.G_CONFIG_HEADER THEN
1346 x_line_tbl(1).config_header_id := TO_NUMBER(p_attr_value);
1347 ELSIF p_attr_id = OE_Line_Util.G_CONFIG_REV_NBR THEN
1348 x_line_tbl(1).config_rev_nbr := TO_NUMBER(p_attr_value);
1349 ELSIF p_attr_id = OE_Line_Util.G_CREDIT_INVOICE_LINE THEN
1350 x_line_tbl(1).credit_invoice_line_id := TO_NUMBER(p_attr_value);
1351 ELSIF p_attr_id = OE_Line_Util.G_CUSTOMER_DOCK THEN
1352 x_line_tbl(1).customer_dock_code := p_attr_value;
1353 ELSIF p_attr_id = OE_Line_Util.G_CUSTOMER_JOB THEN
1354 x_line_tbl(1).customer_job := p_attr_value;
1355 ELSIF p_attr_id = OE_Line_Util.G_CUSTOMER_PRODUCTION_LINE THEN
1356 x_line_tbl(1).customer_production_line := p_attr_value;
1357 ELSIF p_attr_id = OE_Line_Util.G_CUSTOMER_TRX_LINE THEN
1358 x_line_tbl(1).customer_trx_line_id := TO_NUMBER(p_attr_value);
1359 ELSIF p_attr_id = OE_Line_Util.G_CUST_MODEL_SERIAL_NUMBER THEN
1360 x_line_tbl(1).cust_model_serial_number := p_attr_value;
1361 ELSIF p_attr_id = OE_Line_Util.G_CUST_PO_NUMBER THEN
1362 x_line_tbl(1).cust_po_number := p_attr_value;
1363 ELSIF p_attr_id = OE_Line_Util.G_DELIVERY_LEAD_TIME THEN
1364 x_line_tbl(1).delivery_lead_time := TO_NUMBER(p_attr_value);
1365 ELSIF p_attr_id = OE_Line_Util.G_DELIVER_TO_CONTACT THEN
1366 x_line_tbl(1).deliver_to_contact_id := TO_NUMBER(p_attr_value);
1367 ELSIF p_attr_id = OE_Line_Util.G_DELIVER_TO_ORG THEN
1368 x_line_tbl(1).deliver_to_org_id := TO_NUMBER(p_attr_value);
1369 ELSIF p_attr_id = OE_Line_Util.G_DEMAND_BUCKET_TYPE THEN
1370 x_line_tbl(1).demand_bucket_type_code := p_attr_value;
1371 ELSIF p_attr_id = OE_Line_Util.G_DEMAND_CLASS THEN
1372 x_line_tbl(1).demand_class_code := p_attr_value;
1373 ELSIF p_attr_id = OE_Line_Util.G_DEP_PLAN_REQUIRED THEN
1374 x_line_tbl(1).dep_plan_required_flag := p_attr_value;
1375 ELSIF p_attr_id = OE_Line_Util.G_EARLIEST_ACCEPTABLE_DATE THEN
1376 -- x_line_tbl(1).earliest_acceptable_date := TO_DATE(p_attr_value, l_date_format_mask);
1377 x_line_tbl(1).earliest_acceptable_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
1378 ELSIF p_attr_id = OE_Line_Util.G_EXPLOSION_DATE THEN
1379 -- x_line_tbl(1).explosion_date := TO_DATE(p_attr_value, l_date_format_mask);
1380 x_line_tbl(1).explosion_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
1381 ELSIF p_attr_id = OE_Line_Util.G_FOB_POINT THEN
1382 x_line_tbl(1).fob_point_code := p_attr_value;
1383 ELSIF p_attr_id = OE_Line_Util.G_FREIGHT_CARRIER THEN
1384 x_line_tbl(1).freight_carrier_code := p_attr_value;
1385 ELSIF p_attr_id = OE_Line_Util.G_FREIGHT_TERMS THEN
1386 x_line_tbl(1).freight_terms_code := p_attr_value;
1387 ELSIF p_attr_id = OE_Line_Util.G_FULFILLED_QUANTITY THEN
1388 x_line_tbl(1).fulfilled_quantity := TO_NUMBER(p_attr_value);
1389 ELSIF p_attr_id = OE_Line_Util.G_HEADER THEN
1390 x_line_tbl(1).header_id := TO_NUMBER(p_attr_value);
1391 ELSIF p_attr_id = OE_Line_Util.G_INTERMED_SHIP_TO_CONTACT THEN
1392 x_line_tbl(1).intermed_ship_to_contact_id := TO_NUMBER(p_attr_value);
1393 ELSIF p_attr_id = OE_Line_Util.G_INTERMED_SHIP_TO_ORG THEN
1394 x_line_tbl(1).intermed_ship_to_org_id := TO_NUMBER(p_attr_value);
1395 ELSIF p_attr_id = OE_Line_Util.G_INVENTORY_ITEM THEN
1396 x_line_tbl(1).inventory_item_id := TO_NUMBER(p_attr_value);
1397 ELSIF p_attr_id = OE_Line_Util.G_INVOICE_INTERFACE_STATUS THEN
1398 x_line_tbl(1).invoice_interface_status_code := p_attr_value;
1399 ELSIF p_attr_id = OE_Line_Util.G_INVOICE_TO_CONTACT THEN
1400 x_line_tbl(1).invoice_to_contact_id := TO_NUMBER(p_attr_value);
1401 ELSIF p_attr_id = OE_Line_Util.G_INVOICE_TO_ORG THEN
1402 x_line_tbl(1).invoice_to_org_id := TO_NUMBER(p_attr_value);
1403 ELSIF p_attr_id = OE_Line_Util.G_INVOICED_QUANTITY THEN
1404 x_line_tbl(1).invoiced_quantity := TO_NUMBER(p_attr_value);
1405 ELSIF p_attr_id = OE_Line_Util.G_INVOICING_RULE THEN
1406 x_line_tbl(1).invoicing_rule_id := TO_NUMBER(p_attr_value);
1407 ELSIF p_attr_id = OE_Line_Util.G_ORDERED_ITEM_ID THEN
1408 x_line_tbl(1).ordered_item_id := TO_NUMBER(p_attr_value);
1409 ELSIF p_attr_id = OE_Line_Util.G_ITEM_IDENTIFIER_TYPE THEN
1410 x_line_tbl(1).item_identifier_type := p_attr_value;
1411 ELSIF p_attr_id = OE_Line_Util.G_ORDERED_ITEM THEN
1412 x_line_tbl(1).ordered_item := p_attr_value;
1413 ELSIF p_attr_id = OE_Line_Util.G_ITEM_REVISION THEN
1414 x_line_tbl(1).item_revision := p_attr_value;
1415 ELSIF p_attr_id = OE_Line_Util.G_ITEM_TYPE THEN
1416 x_line_tbl(1).item_type_code := p_attr_value;
1417 ELSIF p_attr_id = OE_Line_Util.G_LATEST_ACCEPTABLE_DATE THEN
1418 -- x_line_tbl(1).latest_acceptable_date := TO_DATE(p_attr_value, l_date_format_mask);
1419 x_line_tbl(1).latest_acceptable_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
1420 ELSIF p_attr_id = OE_Line_Util.G_LATE_DEMAND_PENALTY_FACTOR THEN
1421 x_line_tbl(1).late_demand_penalty_factor := TO_NUMBER(p_attr_value);
1422 ELSIF p_attr_id = OE_Line_Util.G_LINE_CATEGORY THEN
1423 x_line_tbl(1).line_category_code := p_attr_value;
1424 x_line_tbl(1).line_type_id := FND_API.G_MISS_NUM;
1425 ELSIF p_attr_id = OE_Line_Util.G_LINE THEN
1426 x_line_tbl(1).line_id := TO_NUMBER(p_attr_value);
1427 ELSIF p_attr_id = OE_Line_Util.G_LINE_NUMBER THEN
1428 x_line_tbl(1).line_number := TO_NUMBER(p_attr_value);
1429 ELSIF p_attr_id = OE_Line_Util.G_LINE_TYPE THEN
1430 x_line_tbl(1).line_type_id := TO_NUMBER(p_attr_value);
1431 ELSIF p_attr_id = OE_Line_Util.G_LINK_TO_LINE THEN
1432 x_line_tbl(1).link_to_line_id := TO_NUMBER(p_attr_value);
1433 ELSIF p_attr_id = OE_Line_Util.G_MODEL_GROUP_NUMBER THEN
1434 x_line_tbl(1).model_group_number := TO_NUMBER(p_attr_value);
1435 ELSIF p_attr_id = OE_Line_Util.G_OPEN THEN
1436 x_line_tbl(1).open_flag := p_attr_value;
1437 ELSIF p_attr_id = OE_Line_Util.G_OPTION_FLAG THEN
1438 x_line_tbl(1).option_flag := p_attr_value;
1439 ELSIF p_attr_id = OE_Line_Util.G_OPTION_NUMBER THEN
1440 x_line_tbl(1).option_number := TO_NUMBER(p_attr_value);
1441 ELSIF p_attr_id = OE_Line_Util.G_ORDERED_QUANTITY THEN
1442 x_line_tbl(1).ordered_quantity := FND_NUMBER.CANONICAL_TO_NUMBER(p_attr_value); --bug 5179564
1443 ELSIF p_attr_id = OE_Line_Util.G_ORDER_QUANTITY_UOM THEN
1444 x_line_tbl(1).order_quantity_uom := p_attr_value;
1445 ELSIF p_attr_id = OE_Line_Util.G_ORDERED_QUANTITY2 THEN --OPM
1446 x_line_tbl(1).ordered_quantity2 := FND_NUMBER.CANONICAL_TO_NUMBER(p_attr_value); --bug 5179564
1447 ELSIF p_attr_id = OE_Line_Util.G_ORDERED_QUANTITY_UOM2 THEN --OPM
1448 x_line_tbl(1).ordered_quantity_uom2 := p_attr_value;
1449
1450 ELSIF p_attr_id = OE_Line_Util.G_ORG THEN
1451 x_line_tbl(1).org_id := TO_NUMBER(p_attr_value);
1452 ELSIF p_attr_id = OE_Line_Util.G_ORIG_SYS_DOCUMENT_REF THEN
1453 x_line_tbl(1).orig_sys_document_ref := p_attr_value;
1454 ELSIF p_attr_id = OE_Line_Util.G_ORIG_SYS_LINE_REF THEN
1455 x_line_tbl(1).orig_sys_line_ref := p_attr_value;
1456 ELSIF p_attr_id = OE_Line_Util.G_ORIG_SYS_SHIPMENT_REF THEN
1457 x_line_tbl(1).orig_sys_shipment_ref := p_attr_value;
1458 ELSIF p_attr_id = OE_Line_Util.G_ORIGINAL_INVENTORY_ITEM THEN
1459 x_line_tbl(1).original_inventory_item_id:= to_number(p_attr_value);
1460 ELSIF p_attr_id = OE_Line_Util.G_ORIGINAL_ORDERED_ITEM THEN
1461 x_line_tbl(1).original_ordered_item := p_attr_value;
1462 ELSIF p_attr_id = OE_Line_Util.G_ORIGINAL_ORDERED_ITEM_ID THEN
1463 x_line_tbl(1).original_ordered_item_id := to_number(p_attr_value);
1464 ELSIF p_attr_id = OE_Line_Util.G_ORIGINAL_ITEM_IDEN_TYPE THEN
1465 x_line_tbl(1).original_item_identifier_type := p_attr_value;
1466 ELSIF p_attr_id = OE_Line_Util.G_ITEM_RELATIONSHIP_TYPE THEN
1467 x_line_tbl(1).item_relationship_type := to_number(p_attr_value);
1468 ELSIF p_attr_id = OE_Line_Util.G_PAYMENT_TERM THEN
1469 x_line_tbl(1).payment_term_id := TO_NUMBER(p_attr_value);
1470 ELSIF p_attr_id = OE_Line_Util.G_PLANNING_PRIORITY THEN
1471 x_line_tbl(1).planning_priority := TO_NUMBER(p_attr_value);
1472 ELSIF p_attr_id = OE_Line_Util.G_PREFERRED_GRADE THEN --OPM
1473 x_line_tbl(1).preferred_grade := p_attr_value;
1474
1475 ELSIF p_attr_id = OE_Line_Util.G_PRICE_LIST THEN
1476 x_line_tbl(1).price_list_id := TO_NUMBER(p_attr_value);
1477 ELSIF p_attr_id = OE_Line_Util.G_PRICING_DATE THEN
1478 -- x_line_tbl(1).pricing_date := TO_DATE(p_attr_value, l_date_format_mask);
1479 x_line_tbl(1).pricing_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
1480 ELSIF p_attr_id = OE_Line_Util.G_PRICING_QUANTITY THEN
1481 x_line_tbl(1).pricing_quantity := TO_NUMBER(p_attr_value);
1482 ELSIF p_attr_id = OE_Line_Util.G_PRICING_QUANTITY_UOM THEN
1483 x_line_tbl(1).pricing_quantity_uom := p_attr_value;
1484 ELSIF p_attr_id = OE_Line_Util.G_PROJECT THEN
1485 x_line_tbl(1).project_id := TO_NUMBER(p_attr_value);
1486 ELSIF p_attr_id = OE_Line_Util.G_PROMISE_DATE THEN
1487 -- x_line_tbl(1).promise_date := TO_DATE(p_attr_value, l_date_format_mask);
1488 x_line_tbl(1).promise_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
1489 ELSIF p_attr_id = OE_Line_Util.G_REFERENCE_CUSTOMER_TRX_LINE THEN
1490 x_line_tbl(1).reference_customer_trx_line_id := TO_NUMBER(p_attr_value);
1491 ELSIF p_attr_id = OE_Line_Util.G_REFERENCE_HEADER THEN
1492 x_line_tbl(1).reference_header_id := TO_NUMBER(p_attr_value);
1493 ELSIF p_attr_id = OE_Line_Util.G_REFERENCE_LINE THEN
1494 x_line_tbl(1).reference_line_id := TO_NUMBER(p_attr_value);
1495 ELSIF p_attr_id = OE_Line_Util.G_REFERENCE_TYPE THEN
1496 NULL;
1497 ELSIF p_attr_id = OE_Line_Util.G_REQUEST_DATE THEN
1498 -- x_line_tbl(1).request_date := TO_DATE(p_attr_value, l_date_format_mask);
1499 x_line_tbl(1).request_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
1500 ELSIF p_attr_id = OE_Line_Util.G_RESERVED_QUANTITY THEN
1501 x_line_tbl(1).reserved_quantity := p_attr_value;
1502 ELSIF p_attr_id = OE_Line_Util.G_RLA_SCHEDULE_TYPE THEN
1503 x_line_tbl(1).rla_schedule_type_code := p_attr_value;
1504 ELSIF p_attr_id = OE_Line_Util.G_SCHEDULE_ARRIVAL_DATE THEN
1505 -- x_line_tbl(1).schedule_arrival_date := TO_DATE(p_attr_value, l_date_format_mask);
1506 x_line_tbl(1).schedule_arrival_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
1507 ELSIF p_attr_id = OE_Line_Util.G_SCHEDULE_SHIP_DATE THEN
1508 /* x_line_tbl(1).schedule_ship_date :=
1509 TO_DATE(p_attr_value, l_date_format_mask);*/
1510 x_line_tbl(1).schedule_ship_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
1511 ELSIF p_attr_id = OE_Line_Util.G_EARLIEST_SHIP_DATE THEN
1512 /* x_line_tbl(1).earliest_ship_date :=
1513 TO_DATE(p_attr_value, l_date_format_mask);*/
1514 x_line_tbl(1).earliest_ship_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
1515 ELSIF p_attr_id = OE_Line_Util.G_FIRM_DEMAND THEN
1516 x_line_tbl(1).firm_demand_flag := p_attr_value;
1517 ELSIF p_attr_id = OE_Line_Util.G_SCHEDULE_ACTION THEN
1518 x_line_tbl(1).schedule_action_code := p_attr_value;
1519 ELSIF p_attr_id = OE_Line_Util.G_OVERRIDE_ATP_DATE THEN
1520 x_line_tbl(1).override_atp_date_code := p_attr_value;
1521 ELSIF p_attr_id = OE_Line_Util.G_SCHEDULE_STATUS THEN
1522 x_line_tbl(1).schedule_status_code := p_attr_value;
1523 ELSIF p_attr_id = OE_Line_Util.G_SHIPMENT_NUMBER THEN
1524 x_line_tbl(1).shipment_number := TO_NUMBER(p_attr_value);
1525 ELSIF p_attr_id = OE_Line_Util.G_SHIPMENT_PRIORITY THEN
1526 x_line_tbl(1).shipment_priority_code := p_attr_value;
1527 ELSIF p_attr_id = OE_Line_Util.G_SHIPPED_QUANTITY THEN
1528 x_line_tbl(1).shipped_quantity := TO_NUMBER(p_attr_value);
1529 ELSIF p_attr_id = OE_Line_Util.G_SHIPPING_METHOD THEN
1530 x_line_tbl(1).shipping_method_code := p_attr_value;
1531 ELSIF p_attr_id = OE_Line_Util.G_SHIPPING_QUANTITY THEN
1532 x_line_tbl(1).shipping_quantity := TO_NUMBER(p_attr_value);
1533 ELSIF p_attr_id = OE_Line_Util.G_SHIPPING_QUANTITY_UOM THEN
1534 x_line_tbl(1).shipping_quantity_uom := p_attr_value;
1535 ELSIF p_attr_id = OE_Line_Util.G_SHIP_FROM_ORG THEN
1536 x_line_tbl(1).ship_from_org_id := TO_NUMBER(p_attr_value);
1537 ELSIF p_attr_id = OE_Line_Util.G_SUBINVENTORY THEN
1538 x_line_tbl(1).subinventory := p_attr_value;
1539 ELSIF p_attr_id = OE_Line_Util.G_SHIP_TOLERANCE_ABOVE THEN
1540 x_line_tbl(1).ship_tolerance_above := TO_NUMBER(p_attr_value);
1541 ELSIF p_attr_id = OE_Line_Util.G_SHIP_TOLERANCE_BELOW THEN
1542 x_line_tbl(1).ship_tolerance_below := TO_NUMBER(p_attr_value);
1543 ELSIF p_attr_id = OE_Line_Util.G_SHIPPING_INTERFACED THEN
1544 x_line_tbl(1).shipping_interfaced_flag := p_attr_value;
1545 ELSIF p_attr_id = OE_Line_Util.G_SHIP_TO_CONTACT THEN
1546 x_line_tbl(1).ship_to_contact_id := TO_NUMBER(p_attr_value);
1547 IF l_debug_level > 0 THEN
1548 oe_debug_pub.add( 'SHIP TO CONTACT1'|| X_LINE_TBL ( 1 ) .SHIP_TO_CONTACT_ID , 1 ) ;
1549 END IF;
1550 ELSIF p_attr_id = OE_Line_Util.G_SHIP_TO_ORG THEN
1551 x_line_tbl(1).ship_to_org_id := TO_NUMBER(p_attr_value);
1552 ELSIF p_attr_id = OE_Line_Util.G_SHIP_MODEL_COMPLETE_FLAG THEN
1553 x_line_tbl(1).ship_model_complete_flag := p_attr_value;
1554 ELSIF p_attr_id = OE_Line_Util.G_SOLD_TO_ORG THEN
1555 x_line_tbl(1).sold_to_org_id := TO_NUMBER(p_attr_value);
1556 ELSIF p_attr_id = OE_Line_Util.G_SORT_ORDER THEN
1557 x_line_tbl(1).sort_order := p_attr_value;
1558 ELSIF p_attr_id = OE_Line_Util.G_SOURCE_DOCUMENT THEN
1559 x_line_tbl(1).source_document_id := TO_NUMBER(p_attr_value);
1560 ELSIF p_attr_id = OE_Line_Util.G_SOURCE_DOCUMENT_LINE THEN
1561 x_line_tbl(1).source_document_line_id := TO_NUMBER(p_attr_value);
1562 ELSIF p_attr_id = OE_Line_Util.G_SOURCE_DOCUMENT_TYPE THEN
1563 x_line_tbl(1).source_document_type_id := TO_NUMBER(p_attr_value);
1564 ELSIF p_attr_id = OE_Line_Util.G_SOURCE_TYPE THEN
1565 x_line_tbl(1).source_type_code := p_attr_value;
1566 ELSIF p_attr_id = OE_Line_Util.G_TASK THEN
1567 x_line_tbl(1).task_id := TO_NUMBER(p_attr_value);
1568 ELSIF p_attr_id = OE_Line_Util.G_TAX THEN
1569 x_line_tbl(1).tax_code := p_attr_value;
1570 ELSIF p_attr_id = OE_Line_Util.G_TAX_DATE THEN
1571 -- x_line_tbl(1).tax_date := TO_DATE(p_attr_value, l_date_format_mask);
1572 x_line_tbl(1).tax_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
1573 ELSIF p_attr_id = OE_Line_Util.G_TAX_EXEMPT THEN
1574 x_line_tbl(1).tax_exempt_flag := p_attr_value;
1575 ELSIF p_attr_id = OE_Line_Util.G_TAX_EXEMPT_NUMBER THEN
1576 x_line_tbl(1).tax_exempt_number := p_attr_value;
1577 ELSIF p_attr_id = OE_Line_Util.G_TAX_EXEMPT_REASON THEN
1578 x_line_tbl(1).tax_exempt_reason_code := p_attr_value;
1579 ELSIF p_attr_id = OE_Line_Util.G_TAX_POINT THEN
1580 x_line_tbl(1).tax_point_code := p_attr_value;
1581 ELSIF p_attr_id = OE_Line_Util.G_TAX_RATE THEN
1582 x_line_tbl(1).tax_rate := TO_NUMBER(p_attr_value);
1583 ELSIF p_attr_id = OE_Line_Util.G_TAX_VALUE THEN
1584 x_line_tbl(1).tax_value := TO_NUMBER(p_attr_value);
1585 ELSIF p_attr_id = OE_Line_Util.G_TOP_MODEL_LINE THEN
1586 x_line_tbl(1).top_model_line_id := TO_NUMBER(p_attr_value);
1587 ELSIF p_attr_id = OE_Line_Util.G_UNIT_LIST_PRICE THEN
1588 x_line_tbl(1).unit_list_price := TO_NUMBER(p_attr_value);
1589 ELSIF p_attr_id = OE_Line_Util.G_UNIT_LIST_PRICE_PER_PQTY THEN
1590 x_line_tbl(1).unit_list_price_per_pqty := TO_NUMBER(p_attr_value);
1591 ELSIF p_attr_id = OE_Line_Util.G_UNIT_SELLING_PRICE THEN
1592 x_line_tbl(1).unit_selling_price := FND_NUMBER.CANONICAL_TO_NUMBER(p_attr_value); -- bug 5179564
1593 ELSIF p_attr_id = OE_Line_Util.G_UNIT_SELLING_PRICE_PER_PQTY THEN
1594 x_line_tbl(1).unit_selling_price_per_pqty := FND_NUMBER.CANONICAL_TO_NUMBER(p_attr_value); -- bug 5179564
1595 ELSIF p_attr_id = OE_Line_Util.G_VISIBLE_DEMAND THEN
1596 x_line_tbl(1).visible_demand_flag := p_attr_value;
1597 ELSIF p_attr_id = OE_Line_Util.G_SPLIT_FROM_LINE THEN
1598 x_line_tbl(1).split_from_line_id := TO_NUMBER(p_attr_value);
1599 ELSIF p_attr_id = OE_Line_Util.G_CUST_PRODUCTION_SEQ_NUM THEN
1600 x_line_tbl(1).cust_production_seq_num := p_attr_value;
1601 ELSIF p_attr_id = OE_Line_Util.G_AUTHORIZED_TO_SHIP THEN
1602 x_line_tbl(1).authorized_to_ship_flag := p_attr_value;
1603 ELSIF p_attr_id = OE_Line_Util.G_VEH_CUS_ITEM_CUM_KEY THEN
1604 x_line_tbl(1).veh_cus_item_cum_key_id := TO_NUMBER(p_attr_value);
1605 ELSIF p_attr_id = OE_Line_Util.G_SALESREP THEN
1606 x_line_tbl(1).salesrep_id := TO_NUMBER(p_attr_value);
1607 ELSIF p_attr_id = OE_Line_Util.G_RETURN_REASON THEN
1608 x_line_tbl(1).return_reason_code := p_attr_value;
1609 ELSIF p_attr_id = OE_Line_Util.G_ARRIVAL_SET THEN
1610 x_line_tbl(1).arrival_set_id := TO_NUMBER(p_attr_value);
1611 --recurring charges
1612 ELSIF p_attr_id = OE_LINE_UTIL.G_CHARGE_PERIODICITY THEN
1613 x_line_tbl(1).charge_periodicity_code := p_attr_value;
1614 ELSIF p_attr_id = OE_Line_Util.G_ARRIVAL_SET_NAME THEN
1615 IF l_debug_level > 0 THEN
1616 oe_debug_pub.add( 'RAJ CONTROLLER - ATTRIBUTE CHANGE'|| P_ATTR_VALUE ) ;
1617 END IF;
1618 IF p_attr_value IS NULL THEN
1619 x_line_tbl(1).arrival_set_id := NULL;
1620 x_line_tbl(1).arrival_set := p_attr_value;
1621 x_old_line_tbl(1).arrival_set := null;
1622 ELSE
1623 x_line_tbl(1).arrival_set := p_attr_value;
1624 x_line_tbl(1).arrival_set_id := NULL;
1625 END IF;
1626 ELSIF p_attr_id = OE_Line_Util.G_SHIP_SET THEN
1627 x_line_tbl(1).ship_set_id := TO_NUMBER(p_attr_value);
1628 ELSIF p_attr_id = OE_Line_Util.G_SHIP_SET_NAME THEN
1629 IF p_attr_value IS NULL THEN
1630 x_line_tbl(1).ship_set_id := NULL;
1631 x_line_tbl(1).ship_set := p_attr_value;
1632 x_old_line_tbl(1).ship_set := null;
1633 ELSE
1634 x_line_tbl(1).ship_set := p_attr_value;
1635 x_line_tbl(1).ship_set_id := NULL;
1636 END IF;
1637 ELSIF p_attr_id = OE_Line_Util.G_FULFILLMENT_SET THEN
1638 x_line_tbl(1).fulfillment_set := TO_NUMBER(p_attr_value);
1639 ELSIF p_attr_id = OE_Line_Util.G_FULFILLMENT_SET_NAME THEN
1640 IF p_attr_value IS NULL THEN
1641 x_line_tbl(1).fulfillment_set_id := NULL;
1642 ELSE
1643 x_line_tbl(1).fulfillment_set := p_attr_value;
1644 x_line_tbl(1).fulfillment_set_id := NULL;
1645 END IF;
1646 ELSIF p_attr_id = OE_Line_Util.G_OVER_SHIP_REASON THEN
1647 x_line_tbl(1).over_ship_reason_code := p_attr_value;
1648 ELSIF p_attr_id = OE_Line_Util.G_OVER_SHIP_RESOLVED THEN
1649 x_line_tbl(1).over_ship_resolved_flag := p_attr_value;
1650 ELSIF p_attr_id = OE_Line_Util.G_FIRST_ACK THEN
1651 x_line_tbl(1).first_ack_code := p_attr_value;
1652 ELSIF p_attr_id = OE_Line_Util.G_FIRST_ACK_DATE THEN
1653 -- x_line_tbl(1).first_ack_date := TO_DATE(p_attr_value, l_date_format_mask);
1654 x_line_tbl(1).first_ack_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
1655 ELSIF p_attr_id = OE_Line_Util.G_LAST_ACK THEN
1656 x_line_tbl(1).last_ack_code := p_attr_value;
1657 ELSIF p_attr_id = OE_Line_Util.G_LAST_ACK_DATE THEN
1658 -- x_line_tbl(1).last_ack_date := TO_DATE(p_attr_value, l_date_format_mask);
1659 x_line_tbl(1).last_ack_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
1660 ELSIF p_attr_id = OE_Line_Util.G_END_ITEM_UNIT_NUMBER THEN
1661 x_line_tbl(1).end_item_unit_number := p_attr_value;
1662 ELSIF p_attr_id = OE_Line_Util.G_SHIPPING_INSTRUCTIONS THEN
1663 x_line_tbl(1).shipping_instructions := p_attr_value;
1664 ELSIF p_attr_id = OE_Line_Util.G_PACKING_INSTRUCTIONS THEN
1665 x_line_tbl(1).packing_instructions := p_attr_value;
1666 ELSIF p_attr_id = OE_Line_Util.G_SERVICE_TXN_REASON THEN
1667 x_line_tbl(1).service_txn_reason_code := p_attr_value;
1668 ELSIF p_attr_id = OE_Line_Util.G_SERVICE_TXN_COMMENTS THEN
1669 x_line_tbl(1).service_txn_comments := p_attr_value;
1670 ELSIF p_attr_id = OE_Line_Util.G_SERVICE_DURATION THEN
1671 x_line_tbl(1).service_duration := TO_NUMBER(p_attr_value);
1672 ELSIF p_attr_id = OE_Line_Util.G_SERVICE_PERIOD THEN
1673 x_line_tbl(1).service_period := p_attr_value;
1674 ELSIF p_attr_id = OE_Line_Util.G_SERVICE_START_DATE THEN
1675 -- x_line_tbl(1).service_start_date := TO_DATE(p_attr_value, l_date_format_mask);
1676 x_line_tbl(1).service_start_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
1677 ELSIF p_attr_id = OE_Line_Util.G_SERVICE_END_DATE THEN
1678 -- x_line_tbl(1).service_end_date := TO_DATE(p_attr_value, l_date_format_mask);
1679 x_line_tbl(1).service_end_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
1680 ELSIF p_attr_id = OE_Line_Util.G_SERVICE_COTERMINATE_FLAG THEN
1681 x_line_tbl(1).service_coterminate_flag := p_attr_value;
1682 ELSIF p_attr_id = OE_Line_Util.G_UNIT_SELLING_PERCENT THEN
1683 x_line_tbl(1).unit_selling_percent := TO_NUMBER(p_attr_value);
1684 ELSIF p_attr_id = OE_Line_Util.G_UNIT_LIST_PERCENT THEN
1685 x_line_tbl(1).unit_list_percent := TO_NUMBER(p_attr_value);
1686 ELSIF p_attr_id = OE_Line_Util.G_UNIT_PERCENT_BASE_PRICE THEN
1687 x_line_tbl(1).unit_percent_base_price := TO_NUMBER(p_attr_value);
1688 ELSIF p_attr_id = OE_Line_Util.G_SERVICE_NUMBER THEN
1689 x_line_tbl(1).service_number := TO_NUMBER(p_attr_value);
1690 ELSIF p_attr_id = OE_Line_Util.G_Service_Reference_Type_Code THEN
1691 x_line_tbl(1).service_reference_type_code := p_attr_value;
1692 ELSIF p_attr_id = OE_Line_Util.G_Service_Reference_Line_Id THEN
1693 x_line_tbl(1).service_reference_line_id := TO_NUMBER(p_attr_value);
1694 ELSIF p_attr_id = OE_Line_Util.G_Service_Reference_System_Id THEN
1695 x_line_tbl(1).service_reference_system_id := TO_NUMBER(p_attr_value);
1696 ELSIF p_attr_id = OE_Line_Util.G_CHANGE_REASON THEN
1697 x_line_tbl(1).change_reason := p_attr_value;
1698 ELSIF p_attr_id = OE_Line_Util.G_CHANGE_COMMENTS THEN
1699 x_line_tbl(1).change_comments := p_attr_value;
1700 ELSIF p_attr_id = OE_Line_Util.G_CALCULATE_PRICE_FLAG THEN
1701 x_line_tbl(1).calculate_price_flag := p_attr_value;
1702 ELSIF p_attr_id = OE_Line_Util.G_CUSTOMER_LINE_NUMBER THEN
1703 x_line_tbl(1).customer_line_number := p_attr_value;
1704 ELSIF p_attr_id = OE_Line_Util.G_CUSTOMER_SHIPMENT_NUMBER THEN
1705 x_line_tbl(1).customer_shipment_number := p_attr_value;
1706 ELSIF p_attr_id = OE_Line_Util.G_user_ITEM_DESCRIPTION THEN
1707 x_line_tbl(1).user_item_description := p_attr_value;
1708 ELSIF p_attr_id = OE_Line_Util.G_ATTRIBUTE1
1709 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE10
1710 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE11
1711 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE12
1712 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE13
1713 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE14
1714 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE15
1715 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE16 --For bug 2184255
1716 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE17
1717 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE18
1718 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE19
1719 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE2
1720 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE20
1721 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE3
1722 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE4
1723 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE5
1724 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE6
1725 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE7
1726 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE8
1727 OR p_attr_id = OE_Line_Util.G_ATTRIBUTE9
1728 OR p_attr_id = OE_Line_Util.G_CONTEXT
1729 THEN
1730
1731 x_line_tbl(1).attribute1 := p_line_dff_rec.attribute1;
1732 x_line_tbl(1).attribute10 := p_line_dff_rec.attribute10;
1733 x_line_tbl(1).attribute11 := p_line_dff_rec.attribute11;
1734 x_line_tbl(1).attribute12 := p_line_dff_rec.attribute12;
1735 x_line_tbl(1).attribute13 := p_line_dff_rec.attribute13;
1736 x_line_tbl(1).attribute14 := p_line_dff_rec.attribute14;
1737 x_line_tbl(1).attribute15 := p_line_dff_rec.attribute15;
1738 x_line_tbl(1).attribute16 := p_line_dff_rec.attribute16; --For bug 2184255
1739 x_line_tbl(1).attribute17 := p_line_dff_rec.attribute17;
1740 x_line_tbl(1).attribute18 := p_line_dff_rec.attribute18;
1741 x_line_tbl(1).attribute19 := p_line_dff_rec.attribute19;
1742 x_line_tbl(1).attribute2 := p_line_dff_rec.attribute2;
1743 x_line_tbl(1).attribute20 := p_line_dff_rec.attribute20;
1744 x_line_tbl(1).attribute3 := p_line_dff_rec.attribute3;
1745 x_line_tbl(1).attribute4 := p_line_dff_rec.attribute4;
1746 x_line_tbl(1).attribute5 := p_line_dff_rec.attribute5;
1747 x_line_tbl(1).attribute6 := p_line_dff_rec.attribute6;
1748 x_line_tbl(1).attribute7 := p_line_dff_rec.attribute7;
1749 x_line_tbl(1).attribute8 := p_line_dff_rec.attribute8;
1750 x_line_tbl(1).attribute9 := p_line_dff_rec.attribute9;
1751 x_line_tbl(1).context := p_line_dff_rec.context;
1752
1753 ELSIF p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE1
1754 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE10
1755 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE11
1756 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE12
1757 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE13
1758 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE14
1759 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE15
1760 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE16
1761 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE17
1762 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE18
1763 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE19
1764 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE2
1765 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE20
1766 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE3
1767 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE4
1768 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE5
1769 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE6
1770 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE7
1771 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE8
1772 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE9
1773 OR p_attr_id = OE_Line_Util.G_GLOBAL_ATTRIBUTE_CATEGORY
1774 THEN
1775
1776 x_line_tbl(1).global_attribute1 := p_line_dff_rec.global_attribute1;
1777 x_line_tbl(1).global_attribute10 := p_line_dff_rec.global_attribute10;
1778 x_line_tbl(1).global_attribute11 := p_line_dff_rec.global_attribute11;
1779 x_line_tbl(1).global_attribute12 := p_line_dff_rec.global_attribute12;
1780 x_line_tbl(1).global_attribute13 := p_line_dff_rec.global_attribute13;
1781 x_line_tbl(1).global_attribute14 := p_line_dff_rec.global_attribute14;
1782 x_line_tbl(1).global_attribute15 := p_line_dff_rec.global_attribute15;
1783 x_line_tbl(1).global_attribute16 := p_line_dff_rec.global_attribute16;
1784 x_line_tbl(1).global_attribute17 := p_line_dff_rec.global_attribute17;
1785 x_line_tbl(1).global_attribute18 := p_line_dff_rec.global_attribute18;
1786 x_line_tbl(1).global_attribute19 := p_line_dff_rec.global_attribute19;
1787 x_line_tbl(1).global_attribute2 := p_line_dff_rec.global_attribute2;
1788 x_line_tbl(1).global_attribute20 := p_line_dff_rec.global_attribute20;
1789 x_line_tbl(1).global_attribute3 := p_line_dff_rec.global_attribute3;
1790 x_line_tbl(1).global_attribute4 := p_line_dff_rec.global_attribute4;
1791 x_line_tbl(1).global_attribute5 := p_line_dff_rec.global_attribute5;
1792 x_line_tbl(1).global_attribute6 := p_line_dff_rec.global_attribute6;
1793 x_line_tbl(1).global_attribute7 := p_line_dff_rec.global_attribute7;
1794 x_line_tbl(1).global_attribute8 := p_line_dff_rec.global_attribute8;
1795 x_line_tbl(1).global_attribute9 := p_line_dff_rec.global_attribute9;
1796 x_line_tbl(1).global_attribute_category := p_line_dff_rec.global_attribute_category;
1797
1798 ELSIF p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE1
1799 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE10
1800 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE11
1801 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE12
1802 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE13
1803 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE14
1804 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE15
1805 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE2
1806 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE3
1807 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE4
1808 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE5
1809 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE6
1810 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE7
1811 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE8
1812 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE9
1813 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE16
1814 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE17
1815 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE18
1816 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE19
1817 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE20
1818 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE21
1819 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE22
1820 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE23
1821 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE24
1822 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE25
1823 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE26
1824 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE27
1825 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE28
1826 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE29
1827 OR p_attr_id = OE_Line_Util.G_INDUSTRY_ATTRIBUTE30
1828 OR p_attr_id = OE_Line_Util.G_INDUSTRY_CONTEXT
1829 THEN
1830
1831 x_line_tbl(1).industry_attribute1 := p_line_dff_rec.industry_attribute1;
1832 x_line_tbl(1).industry_attribute10 := p_line_dff_rec.industry_attribute10;
1833 x_line_tbl(1).industry_attribute11 := p_line_dff_rec.industry_attribute11;
1834 x_line_tbl(1).industry_attribute12 := p_line_dff_rec.industry_attribute12;
1835 x_line_tbl(1).industry_attribute13 := p_line_dff_rec.industry_attribute13;
1836 x_line_tbl(1).industry_attribute14 := p_line_dff_rec.industry_attribute14;
1837 x_line_tbl(1).industry_attribute15 := p_line_dff_rec.industry_attribute15;
1838 x_line_tbl(1).industry_attribute2 := p_line_dff_rec.industry_attribute2;
1839 x_line_tbl(1).industry_attribute3 := p_line_dff_rec.industry_attribute3;
1840 x_line_tbl(1).industry_attribute4 := p_line_dff_rec.industry_attribute4;
1841 x_line_tbl(1).industry_attribute5 := p_line_dff_rec.industry_attribute5;
1842 x_line_tbl(1).industry_attribute6 := p_line_dff_rec.industry_attribute6;
1843 x_line_tbl(1).industry_attribute7 := p_line_dff_rec.industry_attribute7;
1844 x_line_tbl(1).industry_attribute8 := p_line_dff_rec.industry_attribute8;
1845 x_line_tbl(1).industry_attribute9 := p_line_dff_rec.industry_attribute9;
1846 x_line_tbl(1).industry_attribute16 := p_line_dff_rec.industry_attribute16;
1847 x_line_tbl(1).industry_attribute17 := p_line_dff_rec.industry_attribute17;
1848 x_line_tbl(1).industry_attribute18 := p_line_dff_rec.industry_attribute18;
1849 x_line_tbl(1).industry_attribute19 := p_line_dff_rec.industry_attribute19;
1850 x_line_tbl(1).industry_attribute20 := p_line_dff_rec.industry_attribute20;
1851 x_line_tbl(1).industry_attribute21 := p_line_dff_rec.industry_attribute21;
1852 x_line_tbl(1).industry_attribute22 := p_line_dff_rec.industry_attribute22;
1853 x_line_tbl(1).industry_attribute23 := p_line_dff_rec.industry_attribute23;
1854 x_line_tbl(1).industry_attribute24 := p_line_dff_rec.industry_attribute24;
1855 x_line_tbl(1).industry_attribute25 := p_line_dff_rec.industry_attribute25;
1856 x_line_tbl(1).industry_attribute26 := p_line_dff_rec.industry_attribute26;
1857 x_line_tbl(1).industry_attribute27 := p_line_dff_rec.industry_attribute27;
1858 x_line_tbl(1).industry_attribute28 := p_line_dff_rec.industry_attribute28;
1859 x_line_tbl(1).industry_attribute29 := p_line_dff_rec.industry_attribute29;
1860 x_line_tbl(1).industry_attribute30 := p_line_dff_rec.industry_attribute30;
1861 x_line_tbl(1).industry_context := p_line_dff_rec.industry_context;
1862
1863 ELSIF p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE1
1864 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE10
1865 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE2
1866 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE3
1867 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE4
1868 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE5
1869 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE6
1870 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE7
1871 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE8
1872 OR p_attr_id = OE_Line_Util.G_PRICING_ATTRIBUTE9
1873 OR p_attr_id = OE_Line_Util.G_PRICING_CONTEXT
1874 THEN
1875
1876 x_line_tbl(1).pricing_attribute1 := p_line_dff_rec.pricing_attribute1;
1877 x_line_tbl(1).pricing_attribute10 := p_line_dff_rec.pricing_attribute10;
1878 x_line_tbl(1).pricing_attribute2 := p_line_dff_rec.pricing_attribute2;
1879 x_line_tbl(1).pricing_attribute3 := p_line_dff_rec.pricing_attribute3;
1880 x_line_tbl(1).pricing_attribute4 := p_line_dff_rec.pricing_attribute4;
1881 x_line_tbl(1).pricing_attribute5 := p_line_dff_rec.pricing_attribute5;
1882 x_line_tbl(1).pricing_attribute6 := p_line_dff_rec.pricing_attribute6;
1883 x_line_tbl(1).pricing_attribute7 := p_line_dff_rec.pricing_attribute7;
1884 x_line_tbl(1).pricing_attribute8 := p_line_dff_rec.pricing_attribute8;
1885 x_line_tbl(1).pricing_attribute9 := p_line_dff_rec.pricing_attribute9;
1886 x_line_tbl(1).pricing_context := p_line_dff_rec.pricing_context;
1887 /* Amy Return, enable return attributes */
1888 ELSIF p_attr_id = OE_Line_Util.G_RETURN_CONTEXT THEN
1889 x_line_tbl(1).return_context := p_attr_value;
1890 x_line_tbl(1).return_attribute1 := p_line_dff_rec.return_attribute1;
1891 x_line_tbl(1).return_attribute10 := p_line_dff_rec.return_attribute10;
1892 x_line_tbl(1).return_attribute11 := p_line_dff_rec.return_attribute11;
1893 x_line_tbl(1).return_attribute12 := p_line_dff_rec.return_attribute12;
1894 x_line_tbl(1).return_attribute13 := p_line_dff_rec.return_attribute13;
1895 x_line_tbl(1).return_attribute14 := p_line_dff_rec.return_attribute14;
1896 x_line_tbl(1).return_attribute15 := p_line_dff_rec.return_attribute15;
1897 x_line_tbl(1).return_attribute2 := p_line_dff_rec.return_attribute2;
1898 x_line_tbl(1).return_attribute3 := p_line_dff_rec.return_attribute3;
1899 x_line_tbl(1).return_attribute4 := p_line_dff_rec.return_attribute4;
1900 x_line_tbl(1).return_attribute5 := p_line_dff_rec.return_attribute5;
1901 x_line_tbl(1).return_attribute6 := p_line_dff_rec.return_attribute6;
1902 x_line_tbl(1).return_attribute7 := p_line_dff_rec.return_attribute7;
1903 x_line_tbl(1).return_attribute8 := p_line_dff_rec.return_attribute8;
1904 x_line_tbl(1).return_attribute9 := p_line_dff_rec.return_attribute9;
1905 x_line_tbl(1).line_category_code := OE_GLOBALS.G_RETURN_CATEGORY_CODE;
1906
1907 ELSIF p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE1
1908 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE10
1909 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE11
1910 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE12
1911 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE13
1912 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE14
1913 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE15
1914 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE2
1915 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE3
1916 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE4
1917 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE5
1918 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE6
1919 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE7
1920 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE8
1921 OR p_attr_id = OE_Line_Util.G_TP_ATTRIBUTE9
1922 OR p_attr_id = OE_Line_Util.G_TP_CONTEXT
1923 THEN
1924 IF l_debug_level > 0 THEN
1925 oe_debug_pub.add( 'JYOTHI: I AM IN CHANGE ATTRIBUTE' ) ;
1926 END IF;
1927
1928 x_line_tbl(1).tp_attribute1 := p_line_dff_rec.tp_attribute1;
1929 x_line_tbl(1).tp_attribute10 := p_line_dff_rec.tp_attribute10;
1930 x_line_tbl(1).tp_attribute11 := p_line_dff_rec.tp_attribute11;
1931 x_line_tbl(1).tp_attribute12 := p_line_dff_rec.tp_attribute12;
1932 x_line_tbl(1).tp_attribute13 := p_line_dff_rec.tp_attribute13;
1933 x_line_tbl(1).tp_attribute14 := p_line_dff_rec.tp_attribute14;
1934 x_line_tbl(1).tp_attribute15 := p_line_dff_rec.tp_attribute15;
1935 x_line_tbl(1).tp_attribute2 := p_line_dff_rec.tp_attribute2;
1936 x_line_tbl(1).tp_attribute3 := p_line_dff_rec.tp_attribute3;
1937 x_line_tbl(1).tp_attribute4 := p_line_dff_rec.tp_attribute4;
1938 x_line_tbl(1).tp_attribute5 := p_line_dff_rec.tp_attribute5;
1939 x_line_tbl(1).tp_attribute6 := p_line_dff_rec.tp_attribute6;
1940 x_line_tbl(1).tp_attribute7 := p_line_dff_rec.tp_attribute7;
1941 x_line_tbl(1).tp_attribute8 := p_line_dff_rec.tp_attribute8;
1942 x_line_tbl(1).tp_attribute9 := p_line_dff_rec.tp_attribute9;
1943 x_line_tbl(1).tp_context := p_line_dff_rec.tp_context;
1944
1945 IF l_debug_level > 0 THEN
1946 oe_debug_pub.add( 'JYOTHI- TP ATTRIBUTE IS ' || X_LINE_TBL ( 1 ) .TP_ATTRIBUTE1 ) ;
1947 END IF;
1948 ELSIF p_attr_id = OE_Line_Util.G_COMMITMENT THEN
1949 x_line_tbl(1).commitment_id := TO_NUMBER(p_attr_value);
1950 --MRG BGN
1951 ELSIF p_attr_id = OE_LINE_UTIL.G_UNIT_COST Then
1952 IF l_debug_level > 0 THEN
1953 oe_debug_pub.add( 'P_ATTR_VALUE='||P_ATTR_VALUE ) ;
1954 END IF;
1955 x_line_tbl(1).unit_cost := TO_NUMBER(p_attr_value);
1956 IF l_debug_level > 0 THEN
1957 oe_debug_pub.add( 'FLINB:UNIT_COST:'||P_ATTR_VALUE ) ;
1958 END IF;
1959 --MRG END
1960 -- INVCONV
1961 ELSIF p_attr_id = OE_Line_Util.G_CANCELLED_QUANTITY2 THEN
1962 x_line_tbl(1).cancelled_quantity2 := TO_NUMBER(p_attr_value);
1963 ELSIF p_attr_id = OE_Line_Util.G_FULFILLED_QUANTITY2 THEN
1964 x_line_tbl(1).fulfilled_quantity2 := TO_NUMBER(p_attr_value);
1965 ELSIF p_attr_id = OE_Line_Util.G_SHIPPED_QUANTITY2 THEN
1966 x_line_tbl(1).shipped_quantity2 := TO_NUMBER(p_attr_value);
1967 ELSIF p_attr_id = OE_Line_Util.G_SHIPPING_QUANTITY2 THEN
1968 x_line_tbl(1).shipping_quantity2 := TO_NUMBER(p_attr_value);
1969 ELSIF p_attr_id = OE_Line_Util.G_SHIPPING_QUANTITY_UOM2 THEN
1970 x_line_tbl(1).shipping_quantity_uom2 := p_attr_value;
1971 ELSIF p_attr_id = OE_Line_Util.G_RESERVED_QUANTITY2 THEN
1972 x_line_tbl(1).reserved_quantity2 := p_attr_value;
1973
1974 -- INVCONV
1975 ELSE
1976
1977 IF l_debug_level > 0 THEN
1978 oe_debug_pub.add( 'UNRECOGNIZED ATTRIBUTE EXCEPTION' , 2 ) ;
1979 END IF;
1980
1981 -- Unexpected error, unrecognized attribute
1982
1983 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1984 THEN
1985 oe_msg_pub.Add_Exc_Msg
1986 ( G_PKG_NAME
1987 , 'Change_Attribute'
1988 , 'Unrecognized attribute'
1989 );
1990 END IF;
1991
1992 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1993
1994 END IF;
1995
1996 -- PLEASE ADD THE ABOVE IF LOGIC FOR NEW ATTRIBUTES TO THE PROCEDURE
1997 -- COPY_ATTRIBUTE_TO_REC ALSO. THIS NEW PROCEDURE WILL REPLACE
1998 -- THESE IF CALLS POST OM PACK I OR 11.5.9.
1999
2000 END IF; -- End if code release >= 11.5.9
2001
2002 -- Set Operation.
2003
2004 IF l_debug_level > 0 THEN
2005 oe_debug_pub.add( 'SETTING OPERATION' , 2 ) ;
2006 END IF;
2007
2008 IF FND_API.To_Boolean(x_line_tbl(1).db_flag) THEN
2009 x_line_tbl(1).operation := OE_GLOBALS.G_OPR_UPDATE;
2010 ELSE
2011 x_line_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE;
2012 END IF;
2013
2014 -- Populate line table
2015 -- Validate Scheduling Dates Changes, if any.
2016
2017 IF NVL(x_line_tbl(1).source_type_code,OE_GLOBALS.G_SOURCE_INTERNAL)
2018 = OE_GLOBALS.G_SOURCE_INTERNAL THEN
2019 IF NOT OE_GLOBALS.Equal(x_line_tbl(1).schedule_ship_date,
2020 x_old_line_tbl(1).schedule_ship_date)
2021 THEN
2022 -- If the Order Type is ARRIVAL, the user is not
2023 -- allowed to change the schedule ship date
2024
2025 l_order_date_type_code := Get_Date_Type(x_line_tbl(1).header_id);
2026
2027 IF nvl(l_order_date_type_code,'SHIP') = 'ARRIVAL' THEN
2028
2029 FND_MESSAGE.SET_NAME('ONT','OE_SCH_INV_SHP_DATE');
2030 OE_MSG_PUB.Add;
2031
2032 l_return_status := FND_API.G_RET_STS_ERROR;
2033
2034 END IF;
2035
2036 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2037 IF l_debug_level > 0 THEN
2038 oe_debug_pub.add( 'DATE TYPE RETURNED UNEXP_ERROR' , 2 ) ;
2039 END IF;
2040 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2041 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2042 IF l_debug_level > 0 THEN
2043 oe_debug_pub.add( 'DATE TYPE RETURN RET_STS_ERROR' , 2 ) ;
2044 END IF;
2045 RAISE FND_API.G_EXC_ERROR;
2046 END IF;
2047
2048 END IF;
2049
2050 IF NOT OE_GLOBALS.Equal(x_line_tbl(1).schedule_arrival_date,
2051 x_old_line_tbl(1).schedule_arrival_date)
2052 THEN
2053
2054 -- If the Order Type is SHIP (or null), the user is not
2055 -- allowed to change the schedule arrival date
2056
2057 l_order_date_type_code := Get_Date_Type(x_line_tbl(1).header_id);
2058
2059 IF nvl(l_order_date_type_code,'SHIP') = 'SHIP' THEN
2060
2061 FND_MESSAGE.SET_NAME('ONT','OE_SCH_INV_ARR_DATE');
2062 OE_MSG_PUB.Add;
2063
2064 l_return_status := FND_API.G_RET_STS_ERROR;
2065
2066 END IF;
2067
2068 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2069 IF l_debug_level > 0 THEN
2070 oe_debug_pub.add( 'DATE TYPE RETURNED UNEXP_ERROR' , 2 ) ;
2071 END IF;
2072 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2073 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2074 IF l_debug_level > 0 THEN
2075 oe_debug_pub.add( 'DATE TYPE RETURN RET_STS_ERROR' , 2 ) ;
2076 END IF;
2077 RAISE FND_API.G_EXC_ERROR;
2078 END IF;
2079
2080 END IF;
2081 END IF;
2082 -- start for 3998402
2083 IF (NVL(x_line_tbl(1).source_type_code,OE_GLOBALS.G_SOURCE_INTERNAL)
2084 = OE_GLOBALS.G_SOURCE_EXTERNAL
2085 AND (x_line_tbl(1).ship_set_id is not null
2086 OR x_line_tbl(1).arrival_set_id is not null)) THEN
2087 IF l_debug_level > 0 THEN
2088 oe_debug_pub.add('Cannot change source type',2);
2089 END IF;
2090 FND_MESSAGE.SET_NAME('ONT','ONT_CANT_CHG_SRC_TYPE');
2091 OE_MSG_PUB.Add;
2092 l_return_status := FND_API.G_RET_STS_ERROR;
2093 RAISE FND_API.G_EXC_ERROR;
2094 END IF;
2095 -- end for 3998402
2096
2097 IF l_debug_level > 0 THEN
2098 oe_debug_pub.add( 'CALLING PROCESS ORDER' , 2 ) ;
2099 oe_debug_pub.add( 'BEFORE CALLING PROCESS ORDER' , 1 ) ;
2100 END IF;
2101
2102 -- Call Oe_Order_Pvt.Process_order
2103 Oe_Order_Pvt.Lines
2104 (
2105 p_validation_level => FND_API.G_VALID_LEVEL_NONE
2106 , p_init_msg_list => FND_API.G_TRUE
2107 , p_control_rec => l_control_rec
2108 , p_x_line_tbl => x_line_tbl
2109 , p_x_old_line_tbl => x_old_line_tbl
2110 , x_return_status => l_return_status
2111 );
2112
2113 IF l_debug_level > 0 THEN
2114 oe_debug_pub.add( 'AFTER CALLING PROCESS ORDER' , 1 ) ;
2115 END IF;
2116 --bug 2438466 begin
2117 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN -- Fix for bug3546224
2118 IF p_attr_id = OE_Line_Util.G_RETURN_CONTEXT THEN
2119 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
2120 (p_request_type =>OE_GLOBALS.G_COPY_ADJUSTMENTS
2121 ,p_delete => FND_API.G_TRUE
2122 ,x_return_status => l_return_status
2123 );
2124 END IF;
2125 END IF;
2126 --bug 2438466 end
2127
2128 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2129 IF l_debug_level > 0 THEN
2130 oe_debug_pub.add( 'PROCESS ORDER RETURN UNEXP_ERROR' , 2 ) ;
2131 END IF;
2132 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2133 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2134 IF l_debug_level > 0 THEN
2135 oe_debug_pub.add( 'PROCESS ORDER RETURN RET_STS_ERROR' , 2 ) ;
2136 END IF;
2137 RAISE FND_API.G_EXC_ERROR;
2138 END IF;
2139
2140
2141 -- Unload OUT tbl
2142
2143
2144 -- Init OUT parameters to missing.
2145
2146 -- Load display OUT parameters if any
2147
2148 x_line_val_tbl(1):=OE_Line_Util.Get_Values
2149 ( p_line_rec => x_line_tbl(1)
2150 , p_old_line_rec => x_old_line_tbl(1)
2151 );
2152
2153 -- OPM 02/JUN/00 - Load process control attributes
2154 l_x_item_rec_type := OE_Order_Cache.Load_Item
2155 (x_line_tbl(1).inventory_item_id
2156 ,x_line_tbl(1).ship_from_org_id
2157 );
2158
2159 -- x_dualum_ind := l_x_item_rec_type.dualum_ind; INVCONV
2160 -- x_grade_ctl := l_x_item_rec_type.grade_ctl; INVCONV
2161 x_process_warehouse_flag := l_x_item_rec_type.process_warehouse_flag;
2162 x_ont_pricing_qty_source := l_x_item_rec_type.ont_pricing_qty_source; -- OPM 2046190
2163 x_grade_control_flag := l_x_item_rec_type.grade_control_flag; -- INVCONV
2164 x_tracking_quantity_ind := l_x_item_rec_type.tracking_quantity_ind; -- INVCONV
2165 x_secondary_default_ind := l_x_item_rec_type.secondary_default_ind; -- INVCONV
2166 x_lot_control_code := l_x_item_rec_type.lot_control_code; -- 4172680 INVCONV
2167 x_lot_divisible_flag := l_x_item_rec_type.lot_divisible_flag; -- INVCONV
2168
2169 -- Write to cache.
2170 IF l_debug_level > 0 THEN
2171 oe_debug_pub.add( 'WRITING TO CACHE' , 2 ) ;
2172 END IF;
2173
2174 Write_line
2175 ( p_line_rec => x_line_tbl(1)
2176 );
2177
2178 -- Re-set the UI flag to FALSE
2179 OE_GLOBALS.G_UI_FLAG := FALSE;
2180
2181 -- Set return status.
2182
2183 x_return_status := FND_API.G_RET_STS_SUCCESS;
2184
2185 -- Get message count and data
2186
2187 oe_msg_pub.count_and_get
2188 ( p_count => x_msg_count
2189 , p_data => x_msg_data
2190 );
2191
2192 IF l_debug_level > 0 THEN
2193 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE.CHANGE_ATTRIBUTE' , 1 ) ;
2194 END IF;
2195
2196 EXCEPTION
2197
2198 WHEN FND_API.G_EXC_ERROR THEN
2199
2200 OE_GLOBALS.G_UI_FLAG := FALSE;
2201
2202 x_return_status := FND_API.G_RET_STS_ERROR;
2203
2204 -- Get message count and data
2205
2206 oe_msg_pub.count_and_get
2207 ( p_count => x_msg_count
2208 , p_data => x_msg_data
2209 );
2210
2211 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2212
2213 OE_GLOBALS.G_UI_FLAG := FALSE;
2214
2215 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2216
2217 -- Get message count and data
2218
2219 oe_msg_pub.count_and_get
2220 ( p_count => x_msg_count
2221 , p_data => x_msg_data
2222 );
2223
2224 WHEN OTHERS THEN
2225
2226 OE_GLOBALS.G_UI_FLAG := FALSE;
2227
2228 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2229
2230 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
2231 THEN
2232 oe_msg_pub.Add_Exc_Msg
2233 ( G_PKG_NAME
2234 , 'Change_Attribute'
2235 );
2236 END IF;
2237
2238 -- Get message count and data
2239
2240 oe_msg_pub.count_and_get
2241 ( p_count => x_msg_count
2242 , p_data => x_msg_data
2243 );
2244
2245 END Change_Attribute;
2246
2247
2248 -- Procedure Validate_And_Write
2249 --
2250 -- 2806483 All OUT parameters are replaced by validate_write_rec_type
2251 PROCEDURE Validate_And_Write
2252 (x_return_status OUT NOCOPY VARCHAR2
2253 , x_msg_count OUT NOCOPY NUMBER
2254 , x_msg_data OUT NOCOPY VARCHAR2
2255 , x_cascade_flag OUT NOCOPY BOOLEAN
2256 , p_line_id IN NUMBER
2257 , p_change_reason_code IN VARCHAR2
2258 , p_change_comments IN VARCHAR2
2259 , x_line_val_rec OUT NOCOPY validate_write_rec_type
2260 )
2261 IS
2262 l_x_line_rec OE_Order_PUB.Line_Rec_Type;
2263 l_x_line_tbl OE_Order_PUB.Line_Tbl_Type;
2264 l_x_old_line_tbl OE_Order_PUB.Line_Tbl_Type;
2265 l_control_rec OE_GLOBALS.Control_Rec_Type;
2266 l_return_status VARCHAR2(1);
2267 l_charge_amount NUMBER := 0.0;
2268 l_last_index NUMBER;
2269 l_organization_id NUMBER:= OE_Sys_Parameters.VALUE('MASTER_ORGANIZATION_ID');
2270 l_set_rec OE_ORDER_CACHE.set_rec_type; -- 2806483
2271 --
2272 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2273 --
2274 BEGIN
2275
2276 SAVEPOINT Line_Validate_And_Write;
2277
2278 IF l_debug_level > 0 THEN
2279 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE.VALIDATE_AND_WRITE' , 1 ) ;
2280 END IF;
2281
2282 -- Set UI flag to TRUE
2283 OE_GLOBALS.G_UI_FLAG := TRUE;
2284
2285 -- Set control flags.
2286
2287 l_control_rec.controlled_operation := TRUE;
2288 l_control_rec.validate_entity := TRUE;
2289 l_control_rec.write_to_DB := TRUE;
2290
2291 l_control_rec.check_security := FALSE;
2292 l_control_rec.clear_dependents := FALSE;
2293 l_control_rec.default_attributes := FALSE;
2294 l_control_rec.change_attributes := FALSE;
2295 l_control_rec.process := FALSE;
2296
2297 -- Instruct API to retain its caches
2298
2299 l_control_rec.clear_api_cache := FALSE;
2300 l_control_rec.clear_api_requests := FALSE;
2301
2302 -- Read line from cache
2303
2304 Get_line
2305 ( p_db_record => TRUE
2306 , p_line_id => p_line_id
2307 , x_line_rec => l_x_old_line_tbl(1)
2308 );
2309
2310 Get_line
2311 ( p_db_record => FALSE
2312 , p_line_id => p_line_id
2313 , x_line_rec => l_x_line_tbl(1)
2314 );
2315
2316 /* Start Audit Trail -- pass change reason, comments */
2317
2318 l_x_line_tbl(1).change_reason := p_change_reason_code;
2319 l_x_line_tbl(1).change_comments := p_change_comments;
2320
2321 /* End Audit Trail */
2322
2323 -- Set Operation.
2324
2325 IF FND_API.To_Boolean(l_x_line_tbl(1).db_flag) THEN
2326 l_x_line_tbl(1).operation := OE_GLOBALS.G_OPR_UPDATE;
2327 ELSE
2328 l_x_line_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE;
2329
2330 /* We are passing the miss quantity for reserved filed
2331 since we are not converting this to null in OE_LINE_UTIL_EXT' */
2332 l_x_old_line_tbl(1).reserved_quantity := FND_API.G_MISS_NUM;
2333
2334 END IF;
2335
2336 -- Populate line table
2337
2338
2339
2340 -- Call Oe_Order_Pvt.Process_order
2341
2342 IF l_debug_level > 0 THEN
2343 oe_debug_pub.add( 'IN VALIDATE_AND_WRITE' ) ;
2344 END IF;
2345 oe_debug_pub.add( 'IN VALIDATE_AND_WRITE Change Reason'||p_change_reason_code ) ;
2346 Oe_Order_Pvt.Lines
2347 ( p_validation_level => FND_API.G_VALID_LEVEL_NONE
2348 , p_init_msg_list => FND_API.G_TRUE
2349 , p_control_rec => l_control_rec
2350 , p_x_line_tbl => l_x_line_tbl
2351 , p_x_old_line_tbl => l_x_old_line_tbl
2352 , x_return_Status => l_return_status
2353 );
2354
2355 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2356 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2357 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2358 RAISE FND_API.G_EXC_ERROR;
2359 END IF;
2360
2361 /* The Process Requests and Notify should be invoked for */
2362 /* Pre-Pack H code level */
2363
2364 IF OE_CODE_CONTROL.CODE_RELEASE_LEVEL < '110508' THEN
2365 Oe_Order_Pvt.Process_Requests_And_Notify
2366 ( p_process_requests => FALSE
2367 , p_init_msg_list => FND_API.G_FALSE
2368 , p_notify => TRUE
2369 , x_return_status => l_return_status
2370 , p_line_tbl => l_x_line_tbl
2371 , p_old_line_tbl => l_x_old_line_tbl
2372 );
2373
2374 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2375 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2376 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2377 RAISE FND_API.G_EXC_ERROR;
2378 END IF;
2379
2380 END IF;
2381
2382 -- bug 1834260, process delayed request for G_COPY_ADJUSTMENTS
2383 -- before processing for G_PRICE_LINE.
2384 IF OE_GLOBALS.G_DEFER_PRICING='N' THEN
2385 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
2386 (p_request_type =>OE_GLOBALS.G_COPY_ADJUSTMENTS
2387 ,p_delete => FND_API.G_TRUE
2388 ,x_return_status => l_return_status
2389 );
2390 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2391 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2392 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2393 RAISE FND_API.G_EXC_ERROR;
2394 END IF;
2395 END IF;
2396
2397 IF OE_GLOBALS.G_DEFER_PRICING='N' THEN
2398 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
2399 (p_request_type =>OE_GLOBALS.G_PRICE_LINE
2400 ,p_delete => FND_API.G_TRUE
2401 ,x_return_status => l_return_status
2402 );
2403 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2404 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2405 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2406 RAISE FND_API.G_EXC_ERROR;
2407 END IF;
2408 END IF;
2409
2410 IF OE_GLOBALS.G_DEFER_PRICING='N' THEN
2411 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
2412 (p_request_type =>OE_GLOBALS.G_TAX_LINE
2413 ,p_delete => FND_API.G_TRUE
2414 ,x_return_status => l_return_status
2415 );
2416 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2417 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2418 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2419 RAISE FND_API.G_EXC_ERROR;
2420 END IF;
2421 END IF;
2422
2423 -- lkxu, commitment enhancement
2424 IF l_debug_level > 0 THEN
2425 oe_debug_pub.add( 'CALLING TO PROCESS DELAYED REQUEST FOR COMMITMENT!' , 1 ) ;
2426 END IF;
2427
2428 IF OE_GLOBALS.G_DEFER_PRICING='N' THEN
2429 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
2430 (p_request_type =>OE_GLOBALS.G_CALCULATE_COMMITMENT
2431 ,p_delete => FND_API.G_TRUE
2432 ,x_return_status => l_return_status
2433 );
2434 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2435 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2436 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2437 RAISE FND_API.G_EXC_ERROR;
2438 END IF;
2439
2440 --bug 3560198
2441 OE_DELAYED_REQUESTS_PVT.Process_Request_for_Reqtype
2442 (p_request_type =>OE_GLOBALS.G_UPDATE_COMMITMENT_APPLIED
2443 ,p_delete => FND_API.G_TRUE
2444 ,x_return_status => l_return_status
2445 );
2446 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2447 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2448 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2449 RAISE FND_API.G_EXC_ERROR;
2450 END IF;
2451 --bug 3560198
2452 END IF;
2453
2454 x_cascade_flag := OE_GLOBALS.G_CASCADING_REQUEST_LOGGED;
2455
2456 --fix for bug 4102372
2457 -- x_line_val_rec.x_lock_control:=l_x_line_tbl(1).lock_control;
2458
2459 -- Load OUT parameters.
2460
2461 oe_line_util.query_row(
2462 p_line_id =>l_x_line_tbl(1).line_id
2463 ,x_line_rec=>l_x_line_rec
2464 );
2465 x_line_val_rec.x_lock_control :=l_x_line_rec.lock_control;
2466 x_line_val_rec.x_creation_date := l_x_line_rec.creation_date;
2467 x_line_val_rec.x_created_by := l_x_line_rec.created_by;
2468 x_line_val_rec.x_last_update_date := l_x_line_rec.last_update_date;
2469 x_line_val_rec.x_last_updated_by := l_x_line_rec.last_updated_by;
2470 x_line_val_rec.x_last_update_login := l_x_line_rec.last_update_login;
2471
2472 -- Loading Scheduling attributes
2473
2474 x_line_val_rec.x_schedule_ship_date := l_x_line_rec.schedule_ship_date;
2475 x_line_val_rec.x_schedule_arrival_date := l_x_line_rec.schedule_arrival_date;
2476 x_line_val_rec.x_schedule_status_code := l_x_line_rec.schedule_status_code;
2477 x_line_val_rec.x_schedule_action_code := l_x_line_rec.schedule_action_code;
2478 x_line_val_rec.x_earliest_ship_date := l_x_line_rec.earliest_ship_date;
2479 x_line_val_rec.x_firm_demand_flag := l_x_line_rec.firm_demand_flag;
2480
2481 -- Loading Item substitution attributes.
2482
2483 x_line_val_rec.x_original_inventory_item_id
2484 := l_x_line_rec.original_inventory_item_id;
2485 x_line_val_rec.x_original_item_iden_type
2486 := l_x_line_rec.original_item_identifier_type;
2487 x_line_val_rec.x_original_ordered_item_id
2488 := l_x_line_rec.original_ordered_item_id;
2489
2490 IF x_line_val_rec.x_original_inventory_item_id IS NOT NULL
2491 OR x_line_val_rec.x_original_ordered_item_id IS NOT NULL THEN
2492 OE_ID_TO_VALUE.Ordered_Item
2493 (p_Item_Identifier_type => x_line_val_rec.x_original_item_iden_type
2494 ,p_inventory_item_id => x_line_val_rec.x_original_inventory_item_id
2495 ,p_organization_id => l_organization_id
2496 ,p_ordered_item_id => x_line_val_rec.x_original_ordered_item_id
2497 ,p_sold_to_org_id => l_x_line_rec.sold_to_org_id
2498 ,p_ordered_item => l_x_line_rec.original_ordered_item
2499 ,x_ordered_item => x_line_val_rec.x_original_ordered_item
2500 ,x_inventory_item => x_line_val_rec.x_original_inventory_item);
2501
2502 END IF;
2503 IF x_line_val_rec.x_original_item_iden_type IS NOT NULL THEN
2504 OE_ID_TO_VALUE.item_identifier
2505 (p_Item_Identifier_type => x_line_val_rec.x_original_item_iden_type
2506 ,x_Item_Identifier => x_line_val_rec.x_original_item_type);
2507 END IF;
2508
2509 -- Update Late Demand Penalty Factor Bug-2478107
2510 x_line_val_rec.x_late_demand_penalty_factor := l_x_line_rec.late_demand_penalty_factor;
2511
2512 -- Update Override ATP Flag
2513 x_line_val_rec.x_override_atp_date_code := l_x_line_rec.override_atp_date_code;
2514
2515 /* The following IF statement is commented to fix bug#1382357 */
2516 -- IF NVL(l_x_old_line_tbl(1).ship_from_org_id,-1) <>
2517 -- NVL(l_x_line_rec.ship_from_org_id,-1) THEN
2518
2519 OE_ID_TO_VALUE.Ship_From_Org(
2520 p_ship_from_org_id => l_x_line_rec.ship_from_org_id
2521 ,x_ship_from_address1 => x_line_val_rec.x_ship_from_address1
2522 ,x_ship_from_address2 => x_line_val_rec.x_ship_from_address2
2523 ,x_ship_from_address3 => x_line_val_rec.x_ship_from_address3
2524 ,x_ship_from_address4 => x_line_val_rec.x_ship_from_address4
2525 ,x_ship_from_location => x_line_val_rec.x_ship_from_location
2526 ,x_ship_from_org => x_line_val_rec.x_ship_from_org
2527 );
2528
2529 -- END IF;
2530
2531 x_line_val_rec.x_ship_from_org_id := l_x_line_rec.ship_from_org_id;
2532 x_line_val_rec.x_subinventory := l_x_line_rec.subinventory;
2533 x_line_val_rec.x_promise_date := l_x_line_rec.promise_date;
2534 -- Start 2806483
2535 x_line_val_rec.x_shipping_method_code
2536 := l_x_line_rec.shipping_method_code;
2537 IF x_line_val_rec.x_shipping_method_code IS NOT NULL THEN
2538 x_line_val_rec.x_shipping_method
2539 := OE_ID_TO_VALUE.Ship_Method(p_ship_method_code => x_line_val_rec.x_shipping_method_code);
2540 END IF;
2541 x_line_val_rec.x_freight_carrier_code
2542 := l_x_line_rec.freight_carrier_code;
2543 IF x_line_val_rec.x_freight_carrier_code IS NOT NULL THEN
2544 x_line_val_rec.x_freight_carrier
2545 := OE_ID_TO_VALUE.Freight_Carrier
2546 (p_freight_carrier_code =>x_line_val_rec.x_freight_carrier_code,
2547 p_ship_from_org_id =>x_line_val_rec.x_ship_from_org_id);
2548 END IF;
2549 -- End 2806483
2550 -- 2817915
2551 IF l_x_line_rec.ship_set_id IS NOT NULL THEN
2552 l_set_rec := OE_ORDER_CACHE.Load_Set(l_x_line_rec.ship_set_id);
2553 x_line_val_rec.x_ship_set_id := l_x_line_rec.ship_set_id;
2554 x_line_val_rec.x_ship_set := l_set_rec.set_name;
2555 ELSIF l_x_line_rec.arrival_set_id IS NOT NULL THEN
2556 l_set_rec := OE_ORDER_CACHE.Load_Set(l_x_line_rec.arrival_set_id);
2557 x_line_val_rec.x_arrival_set_id := l_x_line_rec.arrival_set_id;
2558 x_line_val_rec.x_arrival_set := l_set_rec.set_name;
2559 END IF;
2560 -- 2817915
2561
2562 IF l_debug_level > 0 THEN
2563 oe_debug_pub.add( 'ARRIVALSET-'|| TO_CHAR ( L_X_LINE_REC.ARRIVAL_SET_ID ) , 2 ) ;
2564 END IF;
2565 -- Calculate Tax
2566
2567 x_line_val_rec.x_line_tax_value := l_x_line_rec.tax_value;
2568
2569 IF l_debug_level > 0 THEN
2570 oe_debug_pub.add( 'TAX VALUE IS'|| TO_CHAR ( L_X_LINE_REC.TAX_VALUE ) , 1 ) ;
2571 oe_debug_pub.add( 'CALLING ORDER TOTAL' , 2 ) ;
2572 END IF;
2573
2574 -- Call the charges API to get the Line level charges.
2575 IF OE_GLOBALS.G_DEFER_PRICING='N' THEN
2576 OE_CHARGE_PVT.Get_Charge_Amount(
2577 p_api_version_number => 1.1 ,
2578 p_init_msg_list => FND_API.G_FALSE ,
2579 p_header_id => l_x_line_rec.header_id ,
2580 p_line_id => l_x_line_rec.line_id ,
2581 p_all_charges => FND_API.G_FALSE ,
2582 x_return_status => l_return_status ,
2583 x_msg_count => x_msg_count ,
2584 x_msg_data => x_msg_data ,
2585 x_charge_amount => l_charge_amount );
2586
2587 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2588 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2589 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2590 RAISE FND_API.G_EXC_ERROR;
2591 END IF;
2592 x_line_val_rec.x_charges := l_charge_amount;
2593 END IF;
2594
2595 -- Update pricing details
2596 x_line_val_rec.x_unit_selling_price := l_x_line_rec.unit_selling_price;
2597 x_line_val_rec.x_unit_list_price := l_x_line_rec.unit_list_price;
2598 x_line_val_rec.x_list_percent := l_x_line_rec.unit_list_percent;
2599 x_line_val_rec.x_selling_percent := round(l_x_line_rec.unit_selling_percent,6);
2600 x_line_val_rec.x_pricing_quantity := l_x_line_rec.pricing_quantity;
2601 x_line_val_rec.x_pricing_quantity_uom := l_x_line_rec.pricing_quantity_uom;
2602 x_line_val_rec.x_calculate_price_flag := l_x_line_rec.calculate_price_flag;
2603 x_line_val_rec.x_calculate_price_descr
2604 := OE_Id_To_Value.Calculate_Price_Flag(x_line_val_rec.x_calculate_price_flag);
2605 x_line_val_rec.x_price_list_id := l_x_line_rec.price_list_id;
2606 x_line_val_rec.x_price_list := OE_Id_To_Value.Price_List(x_line_val_rec.x_price_list_id);
2607 x_line_val_rec.x_payment_term_id := l_x_line_rec.payment_term_id;
2608 x_line_val_rec.x_payment_term := OE_Id_To_Value.Payment_Term(x_line_val_rec.x_payment_term_id);
2609
2610 x_line_val_rec.x_shipment_priority_code := l_x_line_rec.shipment_priority_code;
2611 x_line_val_rec.x_shipment_priority
2612 := OE_Id_To_Value.Shipment_Priority(x_line_val_rec.x_shipment_priority_code);
2613 x_line_val_rec.x_freight_terms_code := l_x_line_rec.freight_terms_code;
2614 x_line_val_rec.x_freight_terms := OE_Id_To_Value.Freight_Terms(x_line_val_rec.x_freight_terms_code);
2615 x_line_val_rec.x_inventory_item_id := l_x_line_rec.inventory_item_id;
2616 x_line_val_rec.x_ordered_item_id := l_x_line_rec.ordered_item_id;
2617
2618 IF OE_GLOBALS.G_DEFER_PRICING='N' THEN
2619 -- lkxu, commitment enhancement.
2620 IF UPPER(Nvl(Fnd_Profile.Value('OE_COMMITMENT_SEQUENCING'),'N')) = 'Y' THEN
2621 x_line_val_rec.x_commitment_applied_amount := OE_COMMITMENT_PVT.get_commitment_applied_amount
2622 (p_header_id => l_x_line_rec.header_id ,
2623 p_line_id => l_x_line_rec.line_id ,
2624 p_commitment_id => l_x_line_rec.commitment_id);
2625 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2626 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2627 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2628 RAISE FND_API.G_EXC_ERROR;
2629 END IF;
2630 END IF;
2631 END IF;
2632 -- Override List Price
2633 x_line_val_rec.x_original_list_price := l_x_line_rec.original_list_price;
2634 x_line_val_rec.x_unit_list_price_per_pqty := l_x_line_rec.unit_list_price_per_pqty;
2635 x_line_val_rec.x_unit_selling_price_per_pqty := l_x_line_rec.unit_selling_price_per_pqty;
2636 -- Override List Price
2637
2638 -- Clear line record cache
2639
2640 Clear_line;
2641
2642
2643
2644 -- Re-set the UI flag to FALSE
2645 OE_GLOBALS.G_UI_FLAG := FALSE;
2646
2647 -- Set return status.
2648
2649 x_return_status := FND_API.G_RET_STS_SUCCESS;
2650
2651 -- Get message count and data
2652
2653 oe_msg_pub.count_and_get
2654 ( p_count => x_msg_count
2655 , p_data => x_msg_data
2656 );
2657
2658 IF l_debug_level > 0 THEN
2659 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE.VALIDATE_AND_WRITE' , 1 ) ;
2660 END IF;
2661
2662
2663 EXCEPTION
2664
2665 WHEN FND_API.G_EXC_ERROR THEN
2666
2667 OE_GLOBALS.G_UI_FLAG := FALSE;
2668
2669 ROLLBACK TO SAVEPOINT Line_Validate_And_Write;
2670 /* From the UI, if we raise an exception here, user can
2671 make proper change and try to commit again, ended up with multiple
2672 records in the start flow global table. To avoid that, we
2673 are deleting the last entry in the global table upon exception.
2674
2675 This change is only made here, assuming only UI has the
2676 ability to do something like that.
2677 */
2678
2679 l_last_index := OE_GLOBALS.G_START_LINE_FLOWS_TBL.last;
2680 IF (l_x_line_tbl(1).operation = OE_GLOBALS.G_OPR_CREATE
2681 AND l_last_index IS NOT NULL -- 2068070
2682 AND OE_GLOBALS.G_START_LINE_FLOWS_TBL(l_last_index).line_id = p_line_id) THEN --Bug 3000619
2683 OE_GLOBALS.G_START_LINE_FLOWS_TBL.delete(l_last_index);
2684 END IF;
2685 x_return_status := FND_API.G_RET_STS_ERROR;
2686
2687 -- Get message count and data
2688
2689 oe_msg_pub.count_and_get
2690 ( p_count => x_msg_count
2691 , p_data => x_msg_data
2692 );
2693
2694 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2695
2696 OE_GLOBALS.G_UI_FLAG := FALSE;
2697
2698 ROLLBACK TO SAVEPOINT Line_Validate_And_Write;
2699 l_last_index := OE_GLOBALS.G_START_LINE_FLOWS_TBL.last;
2700 IF (l_x_line_tbl(1).operation = OE_GLOBALS.G_OPR_CREATE
2701 AND l_last_index IS NOT NULL -- 2068070
2702 AND OE_GLOBALS.G_START_LINE_FLOWS_TBL(l_last_index).line_id = p_line_id) THEN --Bug 3000619
2703 OE_GLOBALS.G_START_LINE_FLOWS_TBL.delete(l_last_index);
2704 END IF;
2705 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2706
2707 -- Get message count and data
2708
2709 oe_msg_pub.count_and_get
2710 ( p_count => x_msg_count
2711 , p_data => x_msg_data
2712 );
2713
2714 WHEN OTHERS THEN
2715
2716 OE_GLOBALS.G_UI_FLAG := FALSE;
2717
2718 ROLLBACK TO SAVEPOINT Line_Validate_And_Write;
2719 l_last_index := OE_GLOBALS.G_START_LINE_FLOWS_TBL.last;
2720 IF (l_x_line_tbl(1).operation = OE_GLOBALS.G_OPR_CREATE
2721 AND l_last_index IS NOT NULL -- 2068070
2722 AND OE_GLOBALS.G_START_LINE_FLOWS_TBL(l_last_index).line_id = p_line_id) THEN --Bug 3000619
2723 OE_GLOBALS.G_START_LINE_FLOWS_TBL.delete(l_last_index);
2724 END IF;
2725 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2726
2727 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
2728 THEN
2729 oe_msg_pub.Add_Exc_Msg
2730 ( G_PKG_NAME
2731 , 'Validate_And_Write'
2732 );
2733 END IF;
2734
2735 -- Get message count and data
2736
2737 oe_msg_pub.count_and_get
2738 ( p_count => x_msg_count
2739 , p_data => x_msg_data
2740 );
2741
2742 END Validate_And_Write;
2743
2744 -- Procedure Delete_Row
2745 --
2746
2747 PROCEDURE Delete_Row
2748 ( x_return_status OUT NOCOPY VARCHAR2
2749 , x_msg_count OUT NOCOPY NUMBER
2750 , x_msg_data OUT NOCOPY VARCHAR2
2751 , p_line_id IN NUMBER
2752 , p_change_reason_code IN VARCHAR2 Default Null
2753 , p_change_comments IN VARCHAR2 Default Null
2754 )
2755 IS
2756 l_x_line_rec OE_Order_PUB.Line_Rec_Type;
2757 l_x_line_tbl OE_Order_PUB.Line_Tbl_Type;
2758 l_x_old_line_tbl OE_Order_PUB.Line_Tbl_Type;
2759 l_control_rec OE_GLOBALS.Control_Rec_Type;
2760 l_return_status VARCHAR2(1);
2761 --
2762 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2763 --
2764 BEGIN
2765 SAVEPOINT LINE_DELETE;
2766 IF l_debug_level > 0 THEN
2767 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE.DELETE_ROW' , 1 ) ;
2768 END IF;
2769
2770 -- Set UI flag to TRUE
2771 OE_GLOBALS.G_UI_FLAG := TRUE;
2772
2773 -- Set control flags.
2774
2775 l_control_rec.controlled_operation := TRUE;
2776 l_control_rec.check_security := TRUE;
2777 l_control_rec.validate_entity := TRUE;
2778 l_control_rec.write_to_DB := TRUE;
2779
2780 l_control_rec.default_attributes := FALSE;
2781 l_control_rec.change_attributes := FALSE;
2782 l_control_rec.process := FALSE;
2783
2784 -- Instruct API to retain its caches
2785
2786 l_control_rec.clear_api_cache := FALSE;
2787 l_control_rec.clear_api_requests := FALSE;
2788
2789 -- Read DB record from cache
2790
2791 Get_line
2792 ( p_db_record => TRUE
2793 , p_line_id => p_line_id
2794 , x_line_rec => l_x_line_rec
2795 );
2796
2797 -- Set Operation.
2798
2799 l_x_line_rec.operation := OE_GLOBALS.G_OPR_DELETE;
2800
2801 -- Populate line table
2802
2803 l_x_line_tbl(1) := l_x_line_rec;
2804 l_x_line_tbl(1).change_reason := p_change_reason_code;
2805 l_x_line_tbl(1).change_comments := p_change_comments;
2806
2807 -- Call Oe_Order_Pvt.Process_order
2808
2809 Oe_Order_Pvt.Lines
2810 ( p_validation_level => FND_API.G_VALID_LEVEL_NONE
2811 , p_init_msg_list => FND_API.G_TRUE
2812 , p_control_rec => l_control_rec
2813 , p_x_line_tbl => l_x_line_tbl
2814 , p_x_old_line_tbl => l_x_old_line_tbl
2815 , x_return_status => l_return_status
2816
2817 );
2818
2819
2820 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2821 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2822 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2823 RAISE FND_API.G_EXC_ERROR;
2824 END IF;
2825
2826 -- Re-set the UI flag to FALSE
2827 OE_GLOBALS.G_UI_FLAG := FALSE;
2828
2829 -- Clear line record cache
2830
2831 Clear_line;
2832
2833 -- Set return status.
2834
2835 x_return_status := FND_API.G_RET_STS_SUCCESS;
2836
2837 -- Get message count and data
2838
2839 oe_msg_pub.count_and_get
2840 ( p_count => x_msg_count
2841 , p_data => x_msg_data
2842 );
2843
2844 IF l_debug_level > 0 THEN
2845 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE.DELETE_ROW' , 1 ) ;
2846 END IF;
2847
2848 EXCEPTION
2849
2850 WHEN FND_API.G_EXC_ERROR THEN
2851 ROLLBACK TO SAVEPOINT Line_Delete;
2852 OE_GLOBALS.G_UI_FLAG := FALSE;
2853
2854 x_return_status := FND_API.G_RET_STS_ERROR;
2855
2856 -- Get message count and data
2857
2858 oe_msg_pub.count_and_get
2859 ( p_count => x_msg_count
2860 , p_data => x_msg_data
2861 );
2862
2863 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2864 ROLLBACK TO SAVEPOINT Line_Delete;
2865
2866 OE_GLOBALS.G_UI_FLAG := FALSE;
2867
2868 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2869
2870 -- Get message count and data
2871
2872 oe_msg_pub.count_and_get
2873 ( p_count => x_msg_count
2874 , p_data => x_msg_data
2875 );
2876
2877 WHEN OTHERS THEN
2878 ROLLBACK TO SAVEPOINT Line_Delete;
2879
2880 OE_GLOBALS.G_UI_FLAG := FALSE;
2881
2882 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2883
2884 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
2885 THEN
2886 oe_msg_pub.Add_Exc_Msg
2887 ( G_PKG_NAME
2888 , 'Delete_Row'
2889 );
2890 END IF;
2891
2892 -- Get message count and data
2893
2894 oe_msg_pub.count_and_get
2895 ( p_count => x_msg_count
2896 , p_data => x_msg_data
2897 );
2898
2899 END Delete_Row;
2900
2901 -- Procedure Process_Entity
2902 --
2903
2904 PROCEDURE Process_Entity
2905 ( x_return_status OUT NOCOPY VARCHAR2
2906 , x_msg_count OUT NOCOPY NUMBER
2907 , x_msg_data OUT NOCOPY VARCHAR2
2908 )
2909 IS
2910 l_control_rec OE_GLOBALS.Control_Rec_Type;
2911 l_return_status VARCHAR2(1);
2912 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
2913 l_x_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
2914 l_x_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
2915 l_x_Header_Scredit_rec OE_Order_PUB.Header_Scredit_Rec_Type;
2916 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
2917 l_x_line_rec OE_Order_PUB.Line_Rec_Type;
2918 l_x_line_tbl OE_Order_PUB.Line_Tbl_Type;
2919 l_x_Line_Adj_rec OE_Order_PUB.Line_Adj_Rec_Type;
2920 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
2921 l_x_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
2922 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
2923 l_x_Action_Request_tbl OE_Order_PUB.Request_Tbl_Type;
2924 l_x_Lot_Serial_Tbl OE_Order_PUB.Lot_Serial_Tbl_Type;
2925 l_x_Header_price_Att_tbl OE_Order_PUB.Header_Price_Att_Tbl_Type;
2926 l_x_Header_Adj_Att_tbl OE_Order_PUB.Header_Adj_Att_Tbl_Type;
2927 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
2928 l_x_Line_price_Att_tbl OE_Order_PUB.Line_Price_Att_Tbl_Type;
2929 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_Tbl_Type;
2930 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
2931 --serla begin
2932 l_x_Header_Payment_tbl OE_Order_PUB.Header_Payment_Tbl_Type;
2933 l_x_Line_Payment_tbl OE_Order_PUB.Line_Payment_Tbl_Type;
2934 --serla end
2935 --
2936 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
2937 --
2938 BEGIN
2939
2940 IF l_debug_level > 0 THEN
2941 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE.PROCESS_ENTITY' , 1 ) ;
2942 END IF;
2943
2944 -- Set UI flag to TRUE
2945 OE_GLOBALS.G_UI_FLAG := TRUE;
2946
2947 -- Set control flags.
2948
2949 l_control_rec.controlled_operation := TRUE;
2950 l_control_rec.process := TRUE;
2951 l_control_rec.process_entity := OE_GLOBALS.G_ENTITY_LINE;
2952
2953 l_control_rec.check_security := FALSE;
2954 l_control_rec.clear_dependents := FALSE;
2955 l_control_rec.default_attributes := FALSE;
2956 l_control_rec.change_attributes := FALSE;
2957 l_control_rec.validate_entity := FALSE;
2958 l_control_rec.write_to_DB := FALSE;
2959
2960 -- Instruct API to clear its request table
2961
2962 l_control_rec.clear_api_cache := FALSE;
2963 l_control_rec.clear_api_requests := FALSE;
2964
2965 -- Call Oe_Order_Pvt.Process_order
2966
2967 Oe_Order_Pvt.Process_order
2968 ( p_api_version_number => 1.0
2969 , p_init_msg_list => FND_API.G_TRUE
2970 , x_return_status => l_return_status
2971 , x_msg_count => x_msg_count
2972 , x_msg_data => x_msg_data
2973 , p_control_rec => l_control_rec
2974 , p_x_header_rec => l_x_header_rec
2975 , p_x_Header_Adj_tbl => l_x_Header_Adj_tbl
2976 , p_x_header_price_att_tbl => l_x_header_price_att_tbl
2977 , p_x_Header_Adj_att_tbl => l_x_Header_Adj_att_tbl
2978 , p_x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
2979 , p_x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
2980 --serla begin
2981 , p_x_Header_Payment_tbl => l_x_Header_Payment_tbl
2982 --serla end
2983 , p_x_line_tbl => l_x_line_tbl
2984 , p_x_Line_Adj_tbl => l_x_Line_Adj_tbl
2985 , p_x_Line_Price_att_tbl => l_x_Line_Price_att_tbl
2986 , p_x_Line_Adj_att_tbl => l_x_Line_Adj_att_tbl
2987 , p_x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
2988 , p_x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
2989 --serla begin
2990 , p_x_Line_Payment_tbl => l_x_Line_Payment_tbl
2991 --serla end
2992 , p_x_action_request_tbl => l_x_Action_Request_tbl
2993 , p_x_lot_serial_tbl => l_x_lot_serial_tbl
2994 );
2995
2996 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
2997 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2998 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
2999 RAISE FND_API.G_EXC_ERROR;
3000 END IF;
3001
3002 -- Re-set the UI flag to FALSE
3003 OE_GLOBALS.G_UI_FLAG := FALSE;
3004
3005 -- Set return status.
3006
3007 x_return_status := FND_API.G_RET_STS_SUCCESS;
3008
3009 -- Get message count and data
3010
3011 oe_msg_pub.count_and_get
3012 ( p_count => x_msg_count
3013 , p_data => x_msg_data
3014 );
3015
3016 IF l_debug_level > 0 THEN
3017 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE.PROCESS_ENTITY' , 1 ) ;
3018 END IF;
3019
3020 EXCEPTION
3021
3022 WHEN FND_API.G_EXC_ERROR THEN
3023
3024 OE_GLOBALS.G_UI_FLAG := FALSE;
3025
3026 x_return_status := FND_API.G_RET_STS_ERROR;
3027
3028 -- Get message count and data
3029
3030 oe_msg_pub.count_and_get
3031 ( p_count => x_msg_count
3032 , p_data => x_msg_data
3033 );
3034
3035 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3036
3037 OE_GLOBALS.G_UI_FLAG := FALSE;
3038
3039 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3040
3041 -- Get message count and data
3042
3043 oe_msg_pub.count_and_get
3044 ( p_count => x_msg_count
3045 , p_data => x_msg_data
3046 );
3047
3048 WHEN OTHERS THEN
3049
3050 OE_GLOBALS.G_UI_FLAG := FALSE;
3051
3052 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3053
3054 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
3055 THEN
3056 oe_msg_pub.Add_Exc_Msg
3057 ( G_PKG_NAME
3058 , 'Process_Entity'
3059 );
3060 END IF;
3061
3062 -- Get message count and data
3063
3064 oe_msg_pub.count_and_get
3065 ( p_count => x_msg_count
3066 , p_data => x_msg_data
3067 );
3068
3069 END Process_Entity;
3070
3071 -- Procedure lock_Row
3072 --
3073
3074 PROCEDURE Lock_Row
3075 ( x_return_status OUT NOCOPY VARCHAR2
3076 , x_msg_count OUT NOCOPY NUMBER
3077 , x_msg_data OUT NOCOPY VARCHAR2
3078 , p_line_id IN NUMBER
3079 , p_lock_control IN NUMBER
3080 )
3081
3082 IS
3083 l_return_status VARCHAR2(1);
3084 l_x_line_rec OE_Order_PUB.Line_Rec_Type;
3085 --
3086 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
3087 --
3088 BEGIN
3089
3090 IF l_debug_level > 0 THEN
3091 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE.LOCK_ROW' , 1 ) ;
3092 END IF;
3093
3094 -- Load line record
3095
3096 l_x_line_rec.lock_control := p_lock_control;
3097 l_x_line_rec.line_id := p_line_id;
3098 l_x_line_rec.operation := OE_GLOBALS.G_OPR_LOCK; -- not req.
3099
3100 --Bug 3025978
3101 OE_GLOBALS.G_UI_FLAG := TRUE;
3102
3103 -- Call OE_Line_Util.Lock_Row instead of Oe_Order_Pvt.Lock_order
3104 OE_MSG_PUB.initialize;
3105 OE_Line_Util.Lock_Row
3106 ( x_return_status => l_return_status
3107 , p_x_line_rec => l_x_line_rec
3108 , p_line_id => p_line_id);
3109
3110 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
3111
3112 -- Set DB flag and write record to cache.
3113
3114 l_x_line_rec.db_flag := FND_API.G_TRUE;
3115 IF l_debug_level > 0 THEN
3116 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE.LOCK_ROW'||L_X_LINE_REC.LINE_ID , 1 ) ;
3117 END IF;
3118
3119 Write_line
3120 ( p_line_rec => l_x_line_rec
3121 , p_db_record => TRUE
3122 );
3123
3124 END IF;
3125
3126 -- Set return status.
3127
3128 x_return_status := l_return_status;
3129 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
3130 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3131 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
3132 RAISE FND_API.G_EXC_ERROR;
3133 END IF;
3134
3135 -- Get message count and data
3136
3137 oe_msg_pub.count_and_get
3138 ( p_count => x_msg_count
3139 , p_data => x_msg_data
3140 );
3141
3142 IF l_debug_level > 0 THEN
3143 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE.LOCK_ROW' , 1 ) ;
3144 END IF;
3145
3146 EXCEPTION
3147 WHEN FND_API.G_EXC_ERROR THEN
3148
3149 OE_GLOBALS.G_UI_FLAG := FALSE;
3150
3151 x_return_status := FND_API.G_RET_STS_ERROR;
3152
3153 -- Get message count and data
3154
3155 oe_msg_pub.count_and_get
3156 ( p_count => x_msg_count
3157 , p_data => x_msg_data
3158 );
3159
3160 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3161
3162 OE_GLOBALS.G_UI_FLAG := FALSE;
3163
3164 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3165
3166 -- Get message count and data
3167
3168 oe_msg_pub.count_and_get
3169 ( p_count => x_msg_count
3170 , p_data => x_msg_data
3171 );
3172
3173 WHEN OTHERS THEN
3174
3175 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
3176 THEN
3177 oe_msg_pub.Add_Exc_Msg
3178 ( G_PKG_NAME
3179 , 'Lock_Row'
3180 );
3181 END IF;
3182
3183 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
3184
3185 -- Get message count and data
3186
3187 oe_msg_pub.count_and_get
3188 ( p_count => x_msg_count
3189 , p_data => x_msg_data
3190 );
3191
3192
3193
3194 END Lock_Row;
3195
3196 -- Procedures maintaining line record cache.
3197
3198 PROCEDURE Write_line
3199 ( p_line_rec IN OE_Order_PUB.Line_Rec_Type
3200 , p_db_record IN BOOLEAN := FALSE
3201 )
3202 IS
3203 --
3204 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
3205 --
3206 BEGIN
3207
3208 IF l_debug_level > 0 THEN
3209 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE.WRITE_LINE' , 1 ) ;
3210 END IF;
3211 g_line_rec := p_line_rec;
3212
3213 IF p_db_record THEN
3214
3215 g_db_line_rec := p_line_rec;
3216
3217 END IF;
3218
3219 IF l_debug_level > 0 THEN
3220 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE.WRITE_LINE' , 1 ) ;
3221 END IF;
3222
3223 END Write_Line;
3224
3225 PROCEDURE Get_line
3226 ( p_db_record IN BOOLEAN := FALSE
3227 , p_line_id IN NUMBER
3228 , x_line_rec OUT NOCOPY OE_Order_PUB.Line_Rec_Type
3229 )
3230 IS
3231 --
3232 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
3233 --
3234 BEGIN
3235
3236 IF l_debug_level > 0 THEN
3237 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE.GET_LINE'||P_LINE_ID , 1 ) ;
3238 END IF;
3239 --reverting back the fix made for bug 2103000 as the problem
3240 --is fixed in file OEXOEFRM.pld(version 115.251)
3241 --Fixes the issue reported in bug 2150247
3242 IF p_line_id <> NVL(g_line_rec.line_id,FND_API.G_MISS_NUM)
3243 THEN
3244
3245 -- Query row from DB
3246 IF l_debug_level > 0 THEN
3247 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE.GET_LINE QUERY '||P_LINE_ID , 1 ) ;
3248 END IF;
3249
3250 OE_Line_Util.Query_Row
3251 ( p_line_id => p_line_id,
3252 x_line_rec =>g_line_rec
3253 );
3254
3255 g_line_rec.db_flag := FND_API.G_TRUE;
3256
3257 -- Load DB record
3258
3259 g_db_line_rec := g_line_rec;
3260
3261 END IF;
3262
3263 IF l_debug_level > 0 THEN
3264 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE.GET_LINE' , 1 ) ;
3265 END IF;
3266
3267 IF p_db_record THEN
3268 --Added for bug3911285
3269 IF p_line_id <> g_db_line_rec.line_id THEN
3270 g_db_line_rec := OE_Order_PUB.G_MISS_LINE_REC;
3271 END IF;
3272 --End of bug3911285
3273
3274 x_line_rec:= g_db_line_rec;
3275
3276 ELSE
3277
3278 x_line_rec:= g_line_rec;
3279
3280 END IF;
3281
3282 END Get_Line;
3283
3284 PROCEDURE Clear_Line
3285 IS
3286 --
3287 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
3288 --
3289 BEGIN
3290
3291 IF l_debug_level > 0 THEN
3292 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE.CLEAR_LINE' , 1 ) ;
3293 END IF;
3294
3295 g_line_rec := OE_Order_PUB.G_MISS_LINE_REC;
3296 g_db_line_rec := OE_Order_PUB.G_MISS_LINE_REC;
3297
3298 IF l_debug_level > 0 THEN
3299 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE.CLEAR_LINE' , 1 ) ;
3300 END IF;
3301
3302 END Clear_Line;
3303
3304 PROCEDURE POPULATE_CONTROL_FIELDS
3305 ( p_line_rec IN line_rec_type,
3306 x_line_val_rec OUT NOCOPY line_val_rec_type,
3307 p_calling_block IN VARCHAR2
3308 ) IS
3309 l_flow_meaning VARCHAR2(80);
3310 released_count NUMBER;
3311 total_count NUMBER;
3312 l_status VARCHAR2(80);
3313 /*1931163*/
3314 l_hold_exists VARCHAR2(1);
3315 l_ato_line_id NUMBER;
3316 l_top_model_line_id NUMBER;
3317 l_smc_flag VARCHAR2(1);
3318 l_item_type_code VARCHAR2(30);
3319 l_link_to_line_id NUMBER;
3320 --retro{
3321 l_retrobilled_price_diff NUMBER;
3322 l_unit_selling_price NUMBER;
3323 --retro}
3324 --recurring charges
3325 l_charge_periodicity VARCHAR2(25);
3326
3327 CURSOR C1(tax_exempt_reason_code VARCHAR2,
3328 tax_exempt_flag VARCHAR2,
3329 fob_point_code VARCHAR2,
3330 return_reason_code VARCHAR2)
3331 IS
3332 SELECT meaning,lookup_type
3333 FROM AR_LOOKUPS
3334 WHERE (lookup_code=tax_exempt_reason_code
3335 AND lookup_type='TAX_REASON')
3336 OR (lookup_code=tax_exempt_flag
3337 AND lookup_type='TAX_CONTROL_FLAG')
3338 OR (lookup_code=fob_point_code
3339 AND lookup_type='FOB')
3340 OR (lookup_code=return_reason_code
3341 AND lookup_type='CREDIT_MEMO_REASON');
3342 CURSOR c2(shipment_priority_code VARCHAR2,
3343 freight_terms_code VARCHAR2)
3344 IS
3345 SELECT meaning,lookup_type
3346 FROM FND_LOOKUP_VALUES LV
3347 WHERE LANGUAGE = userenv('LANG')
3348 and VIEW_APPLICATION_ID = 660
3349 and((lookup_code= shipment_priority_code
3350 and lookup_type='SHIPMENT_PRIORITY')
3351 or (lookup_code=freight_terms_code
3352 and lookup_type='FREIGHT_TERMS'))
3353 and SECURITY_GROUP_ID =fnd_global.Lookup_Security_Group(lv.lookup_type,lv.view_application_id);
3354 /*l_organization_id Number:=fnd_profile.value('OE_ORGANIZATION_ID');*/
3355 -- This change is required since we are dropping the profile OE_ORGANIZATION -- _ID. Change made by Esha.
3356 l_organization_id Number;
3357 /* Need to Change Exception Handling- Not Sure whether we should continue
3358 to process other attribute when one of the attribute raises exception.
3359 Checked in 11i and they are continuing processing of other attributes */
3360 l_address_id number;
3361 l_sales_order_id number;
3362 l_msg_count number;
3363 l_msg_data Varchar2(2000);
3364 l_return_status VARCHAR2(1);
3365
3366 /* 1931163 */
3367 CURSOR line_on_hold(c_line_id NUMBER) IS
3368 SELECT 'Y' hold_exists
3369 FROM oe_order_holds
3370 WHERE line_id = c_line_id
3371 AND released_flag = 'N';
3372
3373 CURSOR line_info(c_line_id NUMBER) IS
3374 SELECT
3375 ato_line_id
3376 , top_model_line_id
3377 , nvl(ship_model_complete_flag, 'N') smc_flag
3378 , item_type_code
3379 , link_to_line_id
3380 FROM oe_order_lines
3381 WHERE line_id = c_line_id;
3382
3383 CURSOR ato_lines_on_hold(c_ato_line_id NUMBER, c_top_model_line_id NUMBER) IS
3384 SELECT 'Y' hold_exists
3385 FROM oe_order_holds ooh, oe_order_lines ool
3386 where ool.ato_line_id = c_ato_line_id
3387 and ool.top_model_line_id = c_top_model_line_id
3388 and ooh.line_id = ool.line_id
3389 and ooh.released_flag = 'N';
3390
3391 CURSOR smc_lines_on_hold(c_top_model_line_id NUMBER) IS
3392 SELECT 'Y' hold_exists
3393 FROM oe_order_holds ooh, oe_order_lines ool
3394 where ool.top_model_line_id = c_top_model_line_id
3395 and ooh.line_id = ool.line_id
3396 and ooh.released_flag = 'N';
3397
3398 CURSOR link_to_line_hold(c_link_to_line_id NUMBER) IS
3399 SELECT 'Y' hold_exists
3400 FROM oe_order_holds ooh, oe_hold_definitions ohd, oe_hold_sources ohs
3401 where ooh.line_id = c_link_to_line_id
3402 and ooh.released_flag = 'N'
3403 and ohs.hold_source_id = ooh.hold_source_id
3404 and ohs.hold_id = ohd.hold_id
3405 and nvl(ohd.hold_included_items_flag, 'N') = 'Y';
3406
3407 --MRG BGN
3408 l_order_margin_percent NUMBER;
3409 l_order_margin_amount NUMBER;
3410 --MRG END
3411
3412 --
3413 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
3414 --
3415 --7832836 l_cascade_hold_non_smc VARCHAR2(1) := NVL(OE_SYS_PARAMETERS.VALUE('ONT_CASCADE_HOLD_NONSMC_PTO'),'N'); --ER#7479609
3416 l_cascade_hold_non_smc VARCHAR2(1); -- 7832836
3417 BEGIN
3418 l_organization_id := OE_Sys_Parameters.VALUE('MASTER_ORGANIZATION_ID',
3419 p_line_rec.org_id);
3420 l_cascade_hold_non_smc := NVL(OE_SYS_PARAMETERS.VALUE('ONT_CASCADE_HOLD_NONSMC_PTO',p_line_rec.org_id),'N'); --7832836
3421 -- Populate Project Number and Task Number
3422 IF p_line_rec.project_id is not Null then
3423 BEGIN
3424 /* Select project_number
3425 into x_line_val_rec.project_number
3426 from pjm_projects_org_v
3427 Where project_id=p_line_rec.project_id;*/
3428
3429 x_line_val_rec.project_number := pjm_project.all_proj_idtonum(p_line_rec.project_id);
3430 EXCEPTION
3431 When no_data_found then
3432 Null;
3433 When too_many_rows then
3434 Null;
3435 END;
3436 END IF;
3437
3438 IF p_line_rec.task_id is not null then
3439 /* Select task_number
3440 Into x_line_val_rec.task_number
3441 From pjm_tasks_v
3442 Where task_id=p_line_rec.task_id;*/
3443
3444 x_line_val_rec.task_number := pjm_project.all_task_idtonum(p_line_rec.task_id);
3445 END IF;
3446 --retro{Previously commented by VMALAPAT. Removed the comment for retrobilling
3447 --This query fires only once per order
3448 IF(g_header_id is NULL or p_line_rec.header_id <> g_header_id) THEN
3449 IF p_line_rec.header_id is not null THEN
3450 select transactional_curr_code
3451 into x_line_val_rec.transactional_curr_code
3452 from oe_order_headers
3453 where header_id=p_line_rec.header_id;
3454 g_header_id := p_line_rec.header_id;
3455 g_currency_code :=x_line_val_rec. transactional_curr_code;
3456 END IF;
3457 ELSE
3458 x_line_val_rec.transactional_curr_code := g_currency_code;
3459 END IF;
3460 --retro}
3461 IF p_line_rec.line_id IS NOT NULL THEN
3462
3463 x_line_val_rec.hold_exists_flag := 'N';
3464 x_line_val_rec.cascaded_hold_exists_flag := 'N';
3465
3466 /* 1931163: First check if there is ANY unreleased hold on the order/lines */
3467 BEGIN
3468 SELECT 'Y'
3469 INTO l_hold_exists
3470 FROM OE_ORDER_HOLDS
3471 WHERE HEADER_ID = p_line_rec.header_id
3472 AND RELEASED_FLAG = 'N';
3473 EXCEPTION
3474 WHEN TOO_MANY_ROWS THEN
3475 l_hold_exists := 'Y';
3476 null;
3477 WHEN OTHERS THEN
3478 l_hold_exists := 'N';
3479 null;
3480 END;
3481
3482 IF l_hold_exists = 'Y' THEN
3483
3484 /* 1931163: Check if Hold Exist on Line */
3485 FOR line_hold_rec in line_on_hold(p_line_rec.line_id) LOOP
3486
3487 x_line_val_rec.hold_exists_flag := line_hold_rec.hold_exists;
3488 EXIT;
3489
3490 END LOOP;
3491
3492 /* 1931163: Check if Cascaded Hold Exist on Line */
3493 IF x_line_val_rec.hold_exists_flag = 'N' THEN
3494
3495 OPEN line_info(p_line_rec.line_id);
3496
3497 FETCH line_info
3498 INTO l_ato_line_id, l_top_model_line_id, l_smc_flag,
3499 l_item_type_code, l_link_to_line_id;
3500
3501 CLOSE line_info;
3502
3503 /* 1931163: Check Cascaded Hold based on ATO Line(s) */
3504 IF l_ato_line_id IS NOT NULL AND
3505 NOT (l_ato_line_id = p_line_rec.line_id AND l_item_type_code = OE_GLOBALS.G_ITEM_OPTION) THEN
3506
3507 FOR ato_hold_rec in ato_lines_on_hold(l_ato_line_id, l_top_model_line_id)
3508 LOOP
3509
3510 IF p_line_rec.cancelled_flag = 'N' and p_line_rec.open_flag = 'Y'
3511 THEN
3512
3513 x_line_val_rec.cascaded_hold_exists_flag := ato_hold_rec.hold_exists;
3514 END IF;
3515 EXIT;
3516
3517 END LOOP;
3518 END IF; -- ATO
3519
3520 /* 1931163: Check Cascaded Hold based on SMC Line(s) */
3521 IF l_smc_flag = 'Y' AND x_line_val_rec.cascaded_hold_exists_flag = 'N' THEN
3522
3523 FOR smc_hold_rec in smc_lines_on_hold(l_top_model_line_id)
3524 LOOP
3525 IF p_line_rec.cancelled_flag = 'N' and p_line_rec.open_flag = 'Y'
3526 THEN
3527
3528 x_line_val_rec.cascaded_hold_exists_flag := smc_hold_rec.hold_exists;
3529 END IF;
3530 EXIT;
3531
3532 END LOOP;
3533 END IF; -- SMC
3534
3535
3536 --5737464
3537 IF l_smc_flag = 'N' AND x_line_val_rec.cascaded_hold_exists_flag = 'N'
3538 THEN
3539 IF l_debug_level > 0 THEN
3540 oe_debug_pub.add('GOING TO CHECK FOR CONFIG VALIDATION HOLD FOR '||l_top_model_line_id,1);
3541 END IF;
3542
3543 BEGIN
3544 l_hold_exists := NULL;
3545
3546 IF l_cascade_hold_non_smc <> 'Y' THEN
3547 SELECT 'Y' hold_exists
3548 INTO l_hold_exists
3549 FROM oe_order_holds ooh, oe_hold_definitions ohd, oe_hold_sources ohs
3550 where ooh.line_id = l_top_model_line_id
3551 and ooh.released_flag = 'N'
3552 and ohs.hold_source_id = ooh.hold_source_id
3553 and ohs.hold_id = ohd.hold_id
3554 and ohd.hold_id = 3;
3555 --ER#7479609 start
3556 ELSE
3557 SELECT 'Y' hold_exists
3558 INTO l_hold_exists
3559 FROM oe_order_holds ooh, oe_hold_definitions ohd, oe_hold_sources ohs
3560 where ooh.line_id = l_top_model_line_id
3561 and ooh.released_flag = 'N'
3562 and ohs.hold_source_id = ooh.hold_source_id
3563 and ohs.hold_id = ohd.hold_id;
3564 END IF;
3565 --ER#7479609 end
3566 EXCEPTION
3567 WHEN OTHERS THEN
3568 NULL;
3569 END;
3570 IF l_hold_exists = 'Y' THEN
3571
3572 IF p_line_rec.cancelled_flag = 'N' and p_line_rec.open_flag = 'Y'
3573 THEN
3574 IF l_debug_level > 0 THEN
3575 oe_debug_pub.add('HOLD CASCADED TO LINE ID '||p_line_rec.line_id,1);
3576 END IF;
3577 x_line_val_rec.cascaded_hold_exists_flag := 'Y';
3578 END IF;
3579 END IF;
3580 END IF;
3581 --5737464
3582
3583
3584 /* 1931163: Check Cascaded Hold for Included Item */
3585 IF l_item_type_code = OE_GLOBALS.G_ITEM_INCLUDED AND x_line_val_rec.cascaded_hold_exists_flag = 'N' THEN
3586
3587 FOR link_to_hold_rec in link_to_line_hold(l_link_to_line_id)
3588 LOOP
3589
3590 IF p_line_rec.cancelled_flag = 'N' and p_line_rec.open_flag = 'Y'
3591 THEN
3592 x_line_val_rec.cascaded_hold_exists_flag := link_to_hold_rec.hold_exists;
3593 END IF;
3594 EXIT;
3595
3596 END LOOP;
3597
3598 END IF; -- Hold on Included Items
3599
3600 END IF; -- No Real Holds on Line
3601
3602 END IF; -- Any Hold on Order/Line
3603
3604 END IF;
3605
3606 -- Changes for Visibility to Process Messages datafix project begin
3607
3608 x_line_val_rec.message_exists_flag := 'N';
3609
3610 IF G_ENABLE_VISIBILITY_MSG = 'Y' AND
3611 p_line_rec.line_id is NOT NULL THEN
3612 BEGIN
3613 SELECT 'Y'
3614 INTO x_line_val_rec.message_exists_flag
3615 FROM OE_PROCESSING_MSGS
3616 WHERE header_id = p_line_rec.header_id
3617 AND line_id = p_line_rec.line_id
3618 AND NVL(message_status_code, '0') <> 'CLOSED' --datafix_begin_end
3619 AND rownum < 2;
3620 EXCEPTION
3621 WHEN TOO_MANY_ROWS THEN
3622 x_line_val_rec.message_exists_flag := 'Y';
3623 WHEN OTHERS THEN
3624 x_line_val_rec.message_exists_flag := 'N';
3625 END;
3626 END IF;
3627
3628 IF (p_line_rec.line_category_code = 'RETURN') THEN
3629 IF (p_line_rec.reference_line_id is not null) THEN
3630 BEGIN
3631 select /* MOAC_SQL_CHANGE */ H.order_number,
3632 l.line_number,
3633 l.shipment_number,
3634 l.option_number,
3635 l.component_number
3636 into x_line_val_rec.ref_order_number,
3637 x_line_val_rec.ref_line_number,
3638 x_line_val_rec.ref_shipment_number,
3639 x_line_val_rec.ref_option_number,
3640 x_line_val_rec.ref_component_number
3641 from oe_order_headers_all h,
3642 oe_order_lines_all l
3643 where l.line_id=p_line_rec.reference_line_id
3644 and h.header_id=l.header_id;
3645 EXCEPTION
3646 WHEN NO_DATA_FOUND THEN
3647 Null;
3648 oe_debug_pub.add('In NO Data Found ');
3649 When too_many_rows then
3650 Null;
3651 When others then
3652 oe_debug_pub.add('In Others Found ');
3653 Null;
3654 END;
3655 END IF;
3656
3657 IF (p_line_rec.reference_customer_trx_line_id is not null) THEN
3658 BEGIN
3659 select /* MOAC_SQL_CHANGE */ rct.trx_number,
3660 rctl.line_number
3661 into x_line_val_rec.ref_invoice_number,
3662 x_line_val_rec.ref_invoice_line_number
3663 from ra_customer_trx_all rct,
3664 ra_customer_trx_lines_all rctl
3665 where rctl.customer_trx_line_id = p_line_rec.reference_customer_trx_line_id
3666 and rctl.customer_trx_id = rct.customer_trx_id;
3667 EXCEPTION
3668 WHEN NO_DATA_FOUND THEN
3669 Null;
3670 When too_many_rows then
3671 Null;
3672 When others then
3673 Null;
3674 END;
3675 END IF;
3676
3677 IF (p_line_rec.reference_customer_trx_line_id is not null) THEN
3678 BEGIN
3679 select /* MOAC_SQL_CHANGE */ rct.trx_number,
3680 rctl.line_number
3681 into x_line_val_rec.ref_invoice_number,
3682 x_line_val_rec.ref_invoice_line_number
3683 from ra_customer_trx_all rct,
3684 ra_customer_trx_lines_all rctl
3685 where rctl.customer_trx_line_id = p_line_rec.reference_customer_trx_line_id
3686 and rctl.customer_trx_id = rct.customer_trx_id;
3687 EXCEPTION
3688 WHEN NO_DATA_FOUND THEN
3689 Null;
3690 When too_many_rows then
3691 Null;
3692 When others then
3693 Null;
3694 END;
3695 END IF;
3696
3697 IF (p_line_rec.credit_invoice_line_id is not null) THEN
3698 BEGIN
3699 select /* MOAC_SQL_CHANGE */ rct.trx_number
3700 into x_line_val_rec.credit_invoice_number
3701 from ra_customer_trx_all rct,
3702 ra_customer_trx_lines_all rctl
3703 where rctl.customer_trx_line_id = p_line_rec.credit_invoice_line_id
3704 and rctl.customer_trx_id = rct.customer_trx_id;
3705 EXCEPTION
3706 WHEN NO_DATA_FOUND THEN
3707 NULL;
3708 When too_many_rows then
3709 Null;
3710 When others then
3711 Null;
3712 END;
3713 END IF;
3714 END IF;
3715
3716 IF (p_line_rec.salesrep_id is not null) then
3717 BEGIN
3718 Select Name
3719 INTO x_line_val_rec.salesrep
3720 FROM RA_SALESREPS
3721 WHERE Salesrep_id=p_line_rec.salesrep_id
3722 AND org_id=p_line_rec.org_id;
3723 EXCEPTION
3724 WHEN NO_DATA_FOUND THEN
3725 NULL;
3726 When too_many_rows then
3727 Null;
3728 END;
3729 END IF;
3730
3731 IF (p_line_rec.tax_exempt_reason_code is not null) or
3732 (p_line_rec.tax_exempt_flag is not null)or
3733 (p_line_rec.fob_point_code is not null) or
3734 (p_line_rec.return_reason_code is not null) then
3735 BEGIN
3736 FOR lookups in c1(p_line_rec.tax_exempt_reason_code,
3737 p_line_rec.tax_exempt_flag,
3738 p_line_rec.fob_point_code,
3739 p_line_rec.return_reason_code)
3740 LOOP
3741 IF lookups.lookup_type='TAX_REASON' then
3742 x_line_val_rec.tax_exempt_reason:=lookups.meaning;
3743 ELSIF lookups.lookup_type='TAX_CONTROL_FLAG' then
3744 x_line_val_rec.tax_exempt:=lookups.meaning;
3745 ELSIF lookups.lookup_type='FOB' then
3746 x_line_val_rec.fob:=lookups.meaning;
3747 ELSIF lookups.lookup_type='CREDIT_MEMO_REASON' then
3748 x_line_val_rec.return_reason:=lookups.meaning;
3749 END IF;
3750 END LOOP;
3751 END;
3752 END IF;
3753
3754 IF (p_line_rec.shipment_priority_code is not null) or
3755 (p_Line_rec.freight_terms_code is not null) THEN
3756 BEGIN
3757 FOR oe_lookups in c2(p_line_rec.shipment_priority_code,
3758 p_Line_rec.freight_terms_code)
3759 LOOP
3760 IF oe_lookups.lookup_type='SHIPMENT_PRIORITY'then
3761 x_line_val_rec.shipment_priority:=oe_lookups.meaning;
3762 ELSIF oe_lookups.lookup_type='FREIGHT_TERMS' then
3763 x_line_val_rec.freight_terms:=oe_lookups.meaning;
3764 END IF;
3765 END LOOP;
3766 END;
3767 END IF;
3768
3769 -- Changes for 2748513
3770
3771 IF p_line_rec.flow_status_code is not NULL THEN
3772
3773 x_line_val_rec.status :=
3774 OE_LINE_STATUS_PUB.Get_Line_Status(
3775 p_line_id => p_line_rec.line_id
3776 ,p_flow_status_code => p_line_rec.flow_status_code);
3777 END IF;
3778
3779 /* IF (p_line_rec.flow_status_code is not null) THEN
3780 BEGIN
3781 IF p_line_rec.flow_status_code <> 'AWAITING_SHIPPING' AND
3782 p_line_rec.flow_status_code <> 'PRODUCTION_COMPLETE' AND
3783 p_line_rec.flow_status_code <> 'PICKED' AND
3784 p_line_rec.flow_status_code <> 'PICKED_PARTIAL' AND
3785 p_line_rec.flow_status_code <> 'PO_RECEIVED'
3786 THEN
3787 SELECT meaning
3788 INTO l_flow_meaning
3789 FROM fnd_lookup_values lv
3790 WHERE lookup_type = 'LINE_FLOW_STATUS'
3791 AND lookup_code = p_line_rec.flow_status_code
3792 AND LANGUAGE = userenv('LANG')
3793 AND VIEW_APPLICATION_ID = 660
3794 AND SECURITY_GROUP_ID =
3795 fnd_global.Lookup_Security_Group(lv.lookup_type,
3796 lv.view_application_id);
3797
3798 status is AWAITING_SHIPPING or PRODUCTION_COMPLETE etc.
3799 get value from shipping table
3800 ELSE
3801 l_status := p_line_rec.flow_status_code;
3802
3803 SELECT sum(decode(released_status, 'Y', 1, 0)), sum(1)
3804 INTO released_count, total_count
3805 FROM wsh_delivery_details
3806 WHERE source_line_id = p_line_rec.line_id
3807 AND source_code = 'OE'
3808 AND released_status <> 'D';
3809
3810 IF released_count = total_count THEN
3811 SELECT meaning
3812 INTO l_flow_meaning
3813 FROM fnd_lookup_values lv
3814 WHERE lookup_type = 'LINE_FLOW_STATUS'
3815 AND lookup_code = 'PICKED'
3816 AND LANGUAGE = userenv('LANG')
3817 AND VIEW_APPLICATION_ID = 660
3818 AND SECURITY_GROUP_ID =
3819 fnd_global.Lookup_Security_Group(lv.lookup_type,
3820 lv.view_application_id);
3821
3822 ELSIF released_count < total_count and released_count <> 0 THEN
3823 SELECT meaning
3824 INTO l_flow_meaning
3825 FROM fnd_lookup_values lv
3826 WHERE lookup_type = 'LINE_FLOW_STATUS'
3827 AND lookup_code = 'PICKED_PARTIAL'
3828 AND LANGUAGE = userenv('LANG')
3829 AND VIEW_APPLICATION_ID = 660
3830 AND SECURITY_GROUP_ID =
3831 fnd_global.Lookup_Security_Group(lv.lookup_type,
3832 lv.view_application_id);
3833 ELSE
3834 SELECT meaning
3835 INTO l_flow_meaning
3836 FROM fnd_lookup_values lv
3837 WHERE lookup_type = 'LINE_FLOW_STATUS'
3838 AND lookup_code = l_status
3839 AND LANGUAGE = userenv('LANG')
3840 AND VIEW_APPLICATION_ID = 660
3841 AND SECURITY_GROUP_ID =
3842 fnd_global.Lookup_Security_Group(lv.lookup_type,
3843 lv.view_application_id);
3844 END IF;
3845 END IF;
3846 x_line_val_rec.status:= l_flow_meaning;
3847 END;
3848 END IF;
3849 */
3850
3851 IF NVL(p_line_rec.item_identifier_type, 'INT') = 'INT' THEN
3852 BEGIN
3853 IF l_debug_level > 0 THEN
3854 oe_debug_pub.add( 'IN OEXFLINB. ITEM IDENTIFIER IS INT' ) ;
3855 END IF;
3856 SELECT description
3857 ,concatenated_segments
3858 ,concatenated_segments /*Bug 1766327 chhung*/
3859 INTO x_line_val_rec.item_description
3860 ,x_line_val_rec.ordered_item_dsp
3861 ,x_line_val_rec.inventory_item /*bug 1766327 chhung*/
3862 FROM mtl_system_items_vl
3863 WHERE inventory_item_id = p_line_rec.inventory_item_id
3864 AND organization_id = l_organization_id;
3865 IF l_debug_level > 0 THEN
3866 oe_debug_pub.add( 'DESCRIPTION: '||X_LINE_VAL_REC.ITEM_DESCRIPTION ) ;
3867 oe_debug_pub.add( 'ORDERED_ITEM_DSP: '||X_LINE_VAL_REC.ORDERED_ITEM_DSP ) ;
3868 oe_debug_pub.add( 'INVENTORY_ITEM: '|| X_LINE_VAL_REC.INVENTORY_ITEM ) ;
3869 END IF;
3870
3871 EXCEPTION
3872 WHEN NO_DATA_FOUND THEN
3873 Null;
3874 When too_many_rows then
3875 Null;
3876 When others then
3877 Null;
3878 END;
3879 ELSIF NVL(p_line_rec.item_identifier_type, 'INT') = 'CUST' THEN
3880 BEGIN
3881 IF l_debug_level > 0 THEN
3882 oe_debug_pub.add( 'IN OEXFLINB. ITEM IDENTIFIER IS CUST' ) ;
3883 END IF;
3884 SELECT nvl(citems.customer_item_desc, sitems.description)
3885 ,citems.customer_item_number
3886 ,sitems.concatenated_segments /*Bug 1766327 chhung*/
3887 INTO x_line_val_rec.item_description
3888 ,x_line_val_rec.ordered_item_dsp
3889 ,x_line_val_rec.inventory_item /*Bug 1766327 chhung*/
3890 FROM mtl_customer_items citems
3891 ,mtl_customer_item_xrefs cxref
3892 ,mtl_system_items_vl sitems
3893 ,mtl_parameters mp -- bug 3918771
3894 WHERE citems.customer_item_id = cxref.customer_item_id
3895 AND cxref.inventory_item_id = sitems.inventory_item_id
3896 AND sitems.inventory_item_id = p_line_rec.inventory_item_id
3897 AND sitems.organization_id = l_organization_id
3898 AND citems.customer_item_id = p_line_rec.ordered_item_id
3899 AND citems.customer_id = p_line_rec.sold_to_org_id
3900 AND cxref.master_organization_id = mp.master_organization_id
3901 AND mp.organization_id = sitems.organization_id ; -- bug 3918771
3902 IF l_debug_level > 0 THEN
3903 oe_debug_pub.add( 'DESCRIPTION: '||X_LINE_VAL_REC.ITEM_DESCRIPTION ) ;
3904 oe_debug_pub.add( 'ORDERED_ITEM_DSP: '||X_LINE_VAL_REC.ORDERED_ITEM_DSP ) ;
3905 oe_debug_pub.add( 'INVENTORY_ITEM: '|| X_LINE_VAL_REC.INVENTORY_ITEM ) ;
3906 END IF;
3907
3908 EXCEPTION
3909 WHEN NO_DATA_FOUND THEN
3910 /* Customer Cross Reference relationship changed */
3911 /* ----------------------------------------------*/
3912 /* We still need to preserve old value of ordered_item_dsp
3913 from ordered_item */
3914 IF p_line_rec.ordered_item IS NOT NULL THEN
3915 SELECT description
3916 ,p_line_rec.ordered_item
3917 ,concatenated_segments
3918 INTO x_line_val_rec.item_description
3919 ,x_line_val_rec.ordered_item_dsp
3920 ,x_line_val_rec.inventory_item
3921 FROM mtl_system_items_vl
3922 WHERE inventory_item_id = p_line_rec.inventory_item_id
3923 AND organization_id = l_organization_id;
3924
3925 IF l_debug_level > 0 THEN
3926 oe_debug_pub.add('DESCRIPTION: '||X_LINE_VAL_REC.ITEM_DESCRIPTION ) ;
3927 oe_debug_pub.add('ORDERED_ITEM_DSP: '||X_LINE_VAL_REC.ORDERED_ITEM_DSP ) ;
3928 oe_debug_pub.add('INVENTORY_ITEM: '|| X_LINE_VAL_REC.INVENTORY_ITEM ) ;
3929 END IF;
3930 END IF;
3931 When too_many_rows then
3932 Null;
3933 When others then
3934 Null;
3935 END;
3936 ELSE
3937 BEGIN
3938 IF l_debug_level > 0 THEN
3939 oe_debug_pub.add( 'IN OEXFLINB. ITEM IDENTIFIER IS '||P_LINE_REC.ITEM_IDENTIFIER_TYPE ) ;
3940 oe_debug_pub.add( 'ORDERED_ITEM_ID: '||P_LINE_REC.ORDERED_ITEM_ID ) ;
3941 END IF;
3942 IF p_line_rec.ordered_item_id IS NULL THEN
3943 IF l_debug_level > 0 THEN
3944 oe_debug_pub.add( 'ORDERED_ITEM_ID IS NULL ' ) ;
3945 oe_debug_pub.add( 'ORDERED_ITEM: '||P_LINE_REC.ORDERED_ITEM ) ;
3946 END IF;
3947 SELECT nvl(items.description, sitems.description)
3948 ,items.cross_reference
3949 ,sitems.concatenated_segments /*Bug 1766327 chhung*/
3950 INTO x_line_val_rec.item_description
3951 ,x_line_val_rec.ordered_item_dsp
3952 ,x_line_val_rec.inventory_item /*Bug 1766327 chhung*/
3953 FROM mtl_cross_reference_types types
3954 , mtl_cross_references items
3955 , mtl_system_items_vl sitems
3956 WHERE types.cross_reference_type = items.cross_reference_type
3957 AND items.inventory_item_id = sitems.inventory_item_id
3958 AND sitems.organization_id = l_organization_id
3959 AND sitems.inventory_item_id = p_line_rec.inventory_item_id
3960 AND items.cross_reference_type = p_line_rec.item_identifier_type
3961 AND items.cross_reference = p_line_rec.ordered_item;
3962 IF l_debug_level > 0 THEN
3963 oe_debug_pub.add( 'DESCRIPTION: '||X_LINE_VAL_REC.ITEM_DESCRIPTION ) ;
3964 oe_debug_pub.add( 'ORDERED_ITEM_DSP: '||X_LINE_VAL_REC.ORDERED_ITEM_DSP ) ;
3965 oe_debug_pub.add( 'INVENTORY_ITEM: '|| X_LINE_VAL_REC.INVENTORY_ITEM ) ;
3966 END IF;
3967 END IF;
3968
3969 EXCEPTION
3970 WHEN NO_DATA_FOUND THEN
3971 /* Cross Reference relationship changed */
3972 /* ----------------------------------------------*/
3973 /* We still need to preserve old value of ordered_item_dsp
3974 from ordered_item */
3975 IF p_line_rec.ordered_item IS NOT NULL THEN
3976 SELECT description
3977 ,p_line_rec.ordered_item
3978 ,concatenated_segments
3979 INTO x_line_val_rec.item_description
3980 ,x_line_val_rec.ordered_item_dsp
3981 ,x_line_val_rec.inventory_item
3982 FROM mtl_system_items_vl
3983 WHERE inventory_item_id = p_line_rec.inventory_item_id
3984 AND organization_id = l_organization_id;
3985
3986 IF l_debug_level > 0 THEN
3987 oe_debug_pub.add('DESCRIPTION: '||X_LINE_VAL_REC.ITEM_DESCRIPTION ) ;
3988 oe_debug_pub.add('ORDERED_ITEM_DSP: '||X_LINE_VAL_REC.ORDERED_ITEM_DSP ) ;
3989 oe_debug_pub.add('INVENTORY_ITEM: '|| X_LINE_VAL_REC.INVENTORY_ITEM ) ;
3990 END IF;
3991 END IF;
3992 When too_many_rows then
3993 --Null;
3994 --start bug 3918771
3995 BEGIN
3996 SELECT nvl(items.description, sitems.description)
3997 ,items.cross_reference
3998 ,sitems.concatenated_segments
3999 INTO x_line_val_rec.item_description
4000 ,x_line_val_rec.ordered_item_dsp
4001 ,x_line_val_rec.inventory_item
4002 FROM mtl_cross_reference_types types
4003 ,mtl_cross_references items
4004 ,mtl_system_items_vl sitems
4005 WHERE types.cross_reference_type = items.cross_reference_type
4006 AND items.inventory_item_id = sitems.inventory_item_id
4007 AND sitems.organization_id = l_organization_id
4008 AND sitems.inventory_item_id = p_line_rec.inventory_item_id
4009 AND items.cross_reference_type = p_line_rec.item_identifier_type
4010 AND items.cross_reference = p_line_rec.ordered_item
4011 AND items.org_independent_flag = 'Y' ;
4012 EXCEPTION
4013 WHEN No_Data_Found THEN
4014 BEGIN
4015 SELECT nvl(items.description, sitems.description)
4016 ,items.cross_reference
4017 ,sitems.concatenated_segments
4018 INTO x_line_val_rec.item_description
4019 ,x_line_val_rec.ordered_item_dsp
4020 ,x_line_val_rec.inventory_item
4021 FROM mtl_cross_reference_types types
4022 ,mtl_cross_references items
4023 ,mtl_system_items_vl sitems
4024 WHERE types.cross_reference_type = items.cross_reference_type
4025 AND items.inventory_item_id = sitems.inventory_item_id
4026 AND sitems.organization_id = l_organization_id
4027 AND sitems.inventory_item_id = p_line_rec.inventory_item_id
4028 AND items.cross_reference_type = p_line_rec.item_identifier_type
4029 AND items.cross_reference = p_line_rec.ordered_item
4030 AND items.organization_id = l_organization_id ;
4031 EXCEPTION
4032 WHEN No_Data_Found THEN
4033 IF p_line_rec.ordered_item IS NOT NULL THEN
4034 SELECT description
4035 ,p_line_rec.ordered_item
4036 ,concatenated_segments
4037 INTO x_line_val_rec.item_description
4038 ,x_line_val_rec.ordered_item_dsp
4039 ,x_line_val_rec.inventory_item
4040 FROM mtl_system_items_vl
4041 WHERE inventory_item_id = p_line_rec.inventory_item_id
4042 AND organization_id = l_organization_id;
4043 END IF ;
4044 When Others then
4045 Null ;
4046 END ; -- end innermost exception block
4047 END ;
4048 -- end bug 3918771
4049 When others then
4050 Null;
4051 END; -- end outermost exception block
4052 END IF;
4053
4054 /*IF (p_line_rec.tax_code IS NOT NULL) THEN
4055 BEGIN
4056 x_line_val_rec.tax_group := OE_Id_To_Value.tax_group(
4057 p_tax_code => p_line_rec.tax_code);
4058 EXCEPTION
4059 WHEN OTHERS THEN
4060 NULL;
4061 END;
4062 END IF; */
4063
4064 IF (p_line_rec.ship_to_org_id IS NOT NULL) THEN
4065 BEGIN
4066 /*OE_Id_To_Value.Ship_To_Customer_Name
4067 (
4068 p_ship_to_org_id => p_line_rec.ship_to_org_id,
4069 x_ship_to_customer_name=>x_line_val_rec.ship_to_customer_name
4070 );*/
4071
4072 get_customer_details(
4073 p_site_use_id => p_line_rec.ship_to_org_id,
4074 p_site_use_code => 'SHIP_TO',
4075 x_customer_id => x_line_val_rec.ship_To_customer_id,
4076 x_customer_name => x_line_val_rec.ship_To_customer_name,
4077 x_customer_number => x_line_val_rec.ship_To_customer_number
4078 );
4079
4080 EXCEPTION
4081 WHEN OTHERS THEN
4082 NULL;
4083 END;
4084
4085 END IF;
4086 IF (p_line_rec.end_customer_site_use_id IS NOT NULL) THEN
4087 OE_ID_TO_VALUE.END_CUSTOMER_SITE_USE
4088 ( p_end_customer_site_use_id => p_line_rec.end_customer_site_use_id,
4089 x_end_customer_address1 => x_line_val_rec.END_CUSTOMER_SITE_ADDRESS1,
4090 x_end_customer_address2 => x_line_val_rec.END_CUSTOMER_SITE_ADDRESS2,
4091 x_end_customer_address3 => x_line_val_rec.END_CUSTOMER_SITE_ADDRESS3,
4092 x_end_customer_address4 => x_line_val_rec.END_CUSTOMER_SITE_ADDRESS4,
4093 x_end_customer_location => x_line_val_rec.END_CUSTOMER_SITE_LOCATION,
4094 x_end_customer_city => x_line_val_rec.END_CUSTOMER_SITE_CITY,
4095 x_end_customer_state => x_line_val_rec.END_CUSTOMER_SITE_STATE,
4096 x_end_customer_postal_code => x_line_val_rec.END_CUSTOMER_SITE_POSTAL_CODE,
4097 x_end_customer_country => x_line_val_rec.END_CUSTOMER_SITE_COUNTRY
4098 );
4099
4100 END IF;
4101
4102 IF (p_line_rec.end_customer_id IS NOT NULL) THEN
4103 OE_ID_TO_VALUE.END_CUSTOMER
4104 ( p_end_customer_id => p_line_rec.end_customer_id,
4105 x_end_customer_name => x_line_val_rec.END_CUSTOMER_NAME,
4106 x_end_customer_number => x_line_val_rec.END_CUSTOMER_NUMBER
4107 );
4108 END IF;
4109
4110 IF (p_line_rec.end_customer_contact_id IS NOT NULL) THEN
4111 x_line_val_rec.END_CUSTOMER_CONTACT := OE_ID_TO_VALUE.END_CUSTOMER_CONTACT
4112 ( p_end_customer_contact_id => p_line_rec.end_customer_contact_id);
4113 END IF;
4114
4115
4116 IF (p_line_rec.invoice_to_org_id IS NOT NULL) THEN
4117 BEGIN
4118 /*OE_Id_To_Value.Invoice_To_Customer_Name
4119 (
4120 p_invoice_to_org_id => p_line_rec.invoice_to_org_id,
4121 x_invoice_to_customer_name=>x_line_val_rec.invoice_to_customer_name
4122 ); */
4123
4124 get_customer_details(
4125 p_site_use_id => p_line_rec.invoice_to_org_id,
4126 p_site_use_code =>'BILL_TO',
4127 x_customer_id =>x_line_val_rec.invoice_To_customer_id,
4128 x_customer_name =>x_line_val_rec.invoice_To_customer_name,
4129 x_customer_number => x_line_val_rec.invoice_To_customer_number
4130 );
4131
4132
4133 EXCEPTION
4134 WHEN OTHERS THEN
4135 NULL;
4136 END;
4137
4138 END IF;
4139
4140 IF p_line_rec.shipping_method_code IS NOT NULL THEN
4141 BEGIN
4142 Select meaning
4143 INTO x_line_val_rec.shipping_method
4144 FROM oe_ship_methods_v
4145 WHERE lookup_code=p_line_rec.shipping_method_code;
4146 EXCEPTION
4147 WHEN NO_DATA_FOUND THEN
4148 Null;
4149 When too_many_rows then
4150 Null;
4151 When others then
4152 Null;
4153 END;
4154 END IF;
4155 --3557382
4156 IF p_line_rec.service_reference_type_code IS NOT NULL THEN
4157 BEGIN
4158 Select meaning
4159 INTO x_line_val_rec.service_reference_type
4160 FROM oe_lookups
4161 WHERE lookup_code=p_line_rec.service_Reference_type_code
4162 and lookup_type = 'SERVICE_REFERENCE_TYPE_CODE';
4163 EXCEPTION
4164 WHEN NO_DATA_FOUND THEN
4165 Null;
4166 When too_many_rows then
4167 Null;
4168 When others then
4169 Null;
4170 END;
4171 END IF;
4172 --3557382
4173 --3605052
4174 IF p_line_rec.service_period IS NOT NULL THEN
4175 BEGIN
4176 Select description
4177 INTO x_line_val_rec.service_period_dsp
4178 FROM mtl_item_uoms_view
4179 WHERE uom_code =p_line_rec.service_period
4180 and inventory_item_id = p_line_rec.inventory_item_id
4181 and organization_id = l_organization_id;
4182 EXCEPTION
4183 WHEN NO_DATA_FOUND THEN
4184 Null;
4185 When too_many_rows then
4186 Null;
4187 When others then
4188 Null;
4189 END;
4190 END IF;
4191 --3605052
4192 IF p_line_rec.freight_carrier_code IS NOT NULL THEN
4193 BEGIN
4194 Select description
4195 INTO x_line_val_rec.freight_carrier
4196 FROM org_freight
4197 WHERE freight_code=p_line_rec.freight_carrier_code
4198 and organization_id = p_line_rec.ship_from_org_id;
4199 EXCEPTION
4200 WHEN NO_DATA_FOUND THEN
4201 Null;
4202 When too_many_rows then
4203 Null;
4204 When others then
4205 Null;
4206 END;
4207 END IF;
4208
4209 IF (p_line_rec.source_type_code is not null) THEN
4210 BEGIN
4211 select meaning
4212 into x_line_val_rec.source_type
4213 from oe_lookups
4214 where lookup_code=p_line_rec.source_type_code
4215 AND lookup_type='SOURCE_TYPE';
4216
4217 EXCEPTION
4218 WHEN NO_DATA_FOUND THEN
4219 Null;
4220 When too_many_rows then
4221 Null;
4222 When others then
4223 Null;
4224 END;
4225 END IF;
4226
4227 IF (p_line_rec.demand_class_code is not null) THEN
4228 BEGIN
4229 select meaning
4230 into x_line_val_rec.demand_class
4231 from oe_fnd_common_lookups_v
4232 where lookup_code=p_line_rec.demand_class_code
4233 and lookup_type='DEMAND_CLASS';
4234
4235 EXCEPTION
4236 WHEN NO_DATA_FOUND THEN
4237 Null;
4238 When too_many_rows then
4239 Null;
4240 When others then
4241 Null;
4242 END;
4243 END IF;
4244
4245
4246
4247 -- added by jmore
4248
4249 IF (p_line_rec.intermed_ship_to_org_id is not null) THEN
4250 BEGIN
4251 select location,cust_acct_site_id
4252 into x_line_val_rec.intmed_ship_to,
4253 l_address_id
4254 from hz_cust_site_uses_all
4255 where site_use_id=p_line_rec.intermed_ship_to_org_id;
4256 x_line_val_rec.intmed_ship_to_location := x_line_val_rec.intmed_ship_to;
4257 /*1621182*/
4258 select loc.address1,loc.address2,loc.address3,loc.address4,
4259 DECODE(loc.city, NULL, NULL,loc.city || ', ') ||
4260 DECODE(loc.state, NULL, loc.province || ', ', loc.state || ', ') || -- 3603600
4261 DECODE(loc.postal_code, NULL, NULL,loc.postal_code || ', ') ||
4262 DECODE(loc.country, NULL, NULL,loc.country)
4263 into x_line_val_rec.intmed_ship_to_address1,
4264 x_line_val_rec.intmed_ship_to_address2,
4265 x_line_val_rec.intmed_ship_to_address3,
4266 x_line_val_rec.intmed_ship_to_address4,
4267 x_line_val_rec.intmed_ship_to_address5
4268 from hz_locations loc,
4269 hz_party_sites ps,
4270 hz_cust_acct_sites cas
4271 where cas.cust_acct_site_id = l_address_id
4272 and cas.party_site_id = ps.party_site_id
4273 and ps.location_id = loc.location_id;
4274
4275 /*1621182*/
4276 EXCEPTION
4277 WHEN NO_DATA_FOUND THEN
4278 Null;
4279 When too_many_rows then
4280 Null;
4281 When others then
4282 Null;
4283 END;
4284 END IF;
4285
4286
4287 IF (p_line_rec.intermed_ship_to_contact_id is not null) THEN
4288 BEGIN
4289 select name
4290 into x_line_val_rec.intmed_ship_to_contact
4291 from oe_contacts_v
4292 where contact_id=p_line_rec.intermed_ship_to_contact_id;
4293
4294
4295 EXCEPTION
4296 WHEN NO_DATA_FOUND THEN
4297 Null;
4298 When too_many_rows then
4299 Null;
4300 When others then
4301 Null;
4302 END;
4303 END IF;
4304
4305
4306 IF (p_line_rec.deliver_to_org_id is not null) THEN
4307 BEGIN
4308 SELECT /* MOAC_SQL_CHANGE */
4309 cust_acct.cust_account_id,
4310 party.party_name,
4311 cust_acct.account_number,
4312 cust_site.location,
4313 location.address1,
4314 location.address2,
4315 location.address3,
4316 location.address4,
4317 DECODE(location.city, NULL, NULL,location.city || ', ')
4318 || DECODE(location.state, NULL, location.province || ', ', location.state || ', ') --3603600
4319 || DECODE(location.postal_code, NULL, NULL,location.postal_code || ', ')
4320 || DECODE(location.country, NULL, NULL,location.country)
4321 INTO
4322 x_line_val_rec.deliver_to_customer_id,
4323 x_line_val_rec.deliver_to_customer_name,
4324 x_line_val_rec.deliver_to_customer_number,
4325 x_line_val_rec.deliver_to,
4326 x_line_val_rec.deliver_to_address1,
4327 x_line_val_rec.deliver_to_address2,
4328 x_line_val_rec.deliver_to_address3,
4329 x_line_val_rec.deliver_to_address4,
4330 x_line_val_rec.deliver_to_address5
4331 FROM
4332 hz_cust_site_uses_all cust_site,
4333 hz_cust_acct_sites_all cust_acct_site,
4334 hz_party_sites party_site,
4335 hz_parties party,
4336 hz_cust_accounts cust_acct,
4337 hz_locations location
4338 WHERE
4339 cust_site.site_use_id=p_line_rec.deliver_to_org_id
4340 and cust_site.site_use_code = 'DELIVER_TO'
4341 and cust_site.cust_acct_site_id = cust_acct_site.cust_acct_site_id
4342 and cust_acct_site.party_site_id = party_site.party_site_id
4343 and party_site.party_id = party.party_id
4344 and cust_acct.cust_account_id = cust_acct_site.cust_account_id
4345 and party_site.location_id = location.location_id;
4346
4347 x_line_val_rec.deliver_to_location := x_line_val_rec.deliver_to;
4348
4349 EXCEPTION
4350 WHEN NO_DATA_FOUND THEN
4351 Null;
4352 When too_many_rows then
4353 Null;
4354 When others then
4355 Null;
4356 END;
4357 END IF;
4358
4359
4360 IF (p_line_rec.deliver_to_contact_id is not null) THEN
4361 BEGIN
4362 select name
4363 into x_line_val_rec.deliver_to_contact
4364 from oe_contacts_v
4365 where contact_id=p_line_rec.deliver_to_contact_id;
4366
4367
4368 EXCEPTION
4369 WHEN NO_DATA_FOUND THEN
4370 Null;
4371 When too_many_rows then
4372 Null;
4373 When others then
4374 Null;
4375 END;
4376 END IF;
4377
4378 -- Concatenated Revision with name for Bug-2249065
4379 IF (p_line_rec.agreement_id is not null) THEN
4380 BEGIN
4381 select name||' : '||revision
4382 into x_line_val_rec.agreement
4383 from oe_agreements
4384 where agreement_id=p_line_rec.agreement_id;
4385
4386
4387 EXCEPTION
4388 WHEN NO_DATA_FOUND THEN
4389 Null;
4390 When too_many_rows then
4391 Null;
4392 When others then
4393 Null;
4394 END;
4395 END IF;
4396
4397
4398 IF (p_line_rec.source_document_type_id is not null) THEN
4399 BEGIN
4400 select name
4401 into x_line_val_rec.source_document_type
4402 from oe_order_sources
4403 where order_source_id=p_line_rec.source_document_type_id;
4404
4405
4406 EXCEPTION
4407 WHEN NO_DATA_FOUND THEN
4408 Null;
4409 When too_many_rows then
4410 Null;
4411 When others then
4412 Null;
4413 END;
4414 END IF;
4415
4416
4417 IF (p_line_rec.arrival_set_id is not null) THEN
4418 BEGIN
4419 select set_name
4420 into x_line_val_rec.arrival_set
4421 from oe_sets
4422 where set_id=p_line_rec.arrival_set_id;
4423
4424
4425 EXCEPTION
4426 WHEN NO_DATA_FOUND THEN
4427 Null;
4428 When too_many_rows then
4429 Null;
4430 When others then
4431 Null;
4432 END;
4433 END IF;
4434
4435
4436
4437 IF (p_line_rec.ship_set_id is not null) THEN
4438 BEGIN
4439 select set_name
4440 into x_line_val_rec.ship_set
4441 from oe_sets
4442 where set_id=p_line_rec.ship_set_id;
4443
4444
4445 EXCEPTION
4446 WHEN NO_DATA_FOUND THEN
4447 Null;
4448 When too_many_rows then
4449 Null;
4450 When others then
4451 Null;
4452 END;
4453 END IF;
4454
4455
4456 IF (p_line_rec.commitment_id is not null) THEN
4457 BEGIN
4458 select trx_number
4459 into x_line_val_rec.commitment
4460 from ra_customer_trx
4461 where customer_trx_id=p_line_rec.commitment_id;
4462
4463
4464 EXCEPTION
4465 WHEN NO_DATA_FOUND THEN
4466 Null;
4467 When too_many_rows then
4468 Null;
4469 When others then
4470 Null;
4471 END;
4472 END IF;
4473
4474 -- lkxu, commitment
4475 IF (p_line_rec.payment_level_code is not null) THEN
4476 BEGIN
4477 -- lkxu, commitment enhancement.
4478 select commitment_applied_amount
4479 into x_line_val_rec.commitment_applied_amount
4480 from oe_payments
4481 where payment_trx_id = p_line_rec.payment_commitment_id
4482 and ((line_id = p_line_rec.line_id
4483 and payment_level_code = 'LINE')
4484 OR (header_id = p_line_rec.header_id
4485 and payment_level_code = 'ORDER'));
4486
4487
4488 EXCEPTION
4489 WHEN NO_DATA_FOUND THEN
4490 x_line_val_rec.commitment_applied_amount := 0.0;
4491 When others then
4492 Null;
4493 END;
4494 END IF;
4495
4496 IF p_line_rec.header_id IS NOT NULL AND
4497 p_line_rec.line_id IS NOT NULL THEN
4498 OE_CHARGE_PVT.Get_Charge_Amount(
4499 p_api_version_number=>1.0
4500 , p_init_msg_list=>'F'
4501 , p_all_charges=>'F'
4502 , p_header_id=> p_line_rec.header_id
4503 , p_line_id=>p_line_rec.line_id
4504 , x_return_status=>l_return_status
4505 , x_msg_count=>l_msg_count
4506 , x_msg_data=>l_msg_data
4507 , x_charge_amount=>x_line_val_rec.line_charges
4508 );
4509 END IF;
4510
4511 IF p_line_rec.header_id IS NOT NULL THEN
4512
4513 IF p_calling_block = 'LINES_SUMMARY' THEN --FP 3351788
4514
4515 IF g_current_header_id <> p_line_rec.header_id THEN
4516
4517 OE_OE_TOTALS_SUMMARY.Order_Totals
4518 (
4519 p_header_id=>p_line_rec.header_id ,
4520 p_subtotal =>x_line_val_rec.subtotal,
4521 p_discount =>x_line_val_rec.discount,
4522 p_charges =>x_line_val_rec.charges,
4523 p_tax =>x_line_val_rec.tax
4524 );
4525
4526 --MRG BGN
4527 IF OE_FEATURES_PVT.IS_MARGIN_AVAIL THEN
4528 OE_MARGIN_PVT.Get_Order_Margin(p_header_id=>p_line_rec.header_id,
4529 p_org_id => p_line_rec.org_id,
4530 x_order_margin_percent=>l_order_margin_percent,
4531 x_order_margin_amount=>l_order_margin_amount);
4532
4533 x_line_val_rec.margin := l_order_margin_amount;
4534 x_line_val_rec.margin_percent := l_order_margin_percent;
4535 END IF;
4536
4537 --MRG END
4538 END IF;
4539 -- for 5331980 start*
4540 ELSIF p_calling_block = 'LINE' THEN
4541
4542 IF OE_GLOBALS.G_CALCULATE_LINE_TOTAL THEN
4543
4544 OE_OE_TOTALS_SUMMARY.Order_Totals
4545 (
4546 p_header_id=>p_line_rec.header_id ,
4547 p_subtotal =>x_line_val_rec.subtotal,
4548 p_discount =>x_line_val_rec.discount,
4549 p_charges =>x_line_val_rec.charges,
4550 p_tax =>x_line_val_rec.tax
4551 );
4552
4553 OE_GLOBALS.G_CALCULATE_LINE_TOTAL := FALSE;
4554
4555 g_subtotal := x_line_val_rec.subtotal;
4556 g_discount := x_line_val_rec.discount;
4557 g_charges := x_line_val_rec.charges;
4558 g_total_tax := x_line_val_rec.tax;
4559
4560 ELSE
4561
4562 x_line_val_rec.subtotal := g_subtotal;
4563 x_line_val_rec.discount := g_discount;
4564 x_line_val_rec.charges := g_charges;
4565 x_line_val_rec.tax := g_total_tax;
4566
4567 END IF;
4568
4569 IF OE_FEATURES_PVT.IS_MARGIN_AVAIL THEN
4570 OE_MARGIN_PVT.Get_Order_Margin(p_header_id=>p_line_rec.header_id,
4571 x_order_margin_percent=>l_order_margin_percent,
4572 x_order_margin_amount=>l_order_margin_amount);
4573
4574 x_line_val_rec.margin := l_order_margin_amount;
4575 x_line_val_rec.margin_percent := l_order_margin_percent;
4576 END IF;
4577 -- for 5331980 end*
4578 ELSE
4579
4580
4581 OE_OE_TOTALS_SUMMARY.Order_Totals
4582 (
4583 p_header_id=>p_line_rec.header_id ,
4584 p_subtotal =>x_line_val_rec.subtotal,
4585 p_discount =>x_line_val_rec.discount,
4586 p_charges =>x_line_val_rec.charges,
4587 p_tax =>x_line_val_rec.tax
4588 );
4589
4590 --MRG BGN
4591 IF OE_FEATURES_PVT.IS_MARGIN_AVAIL THEN
4592 OE_MARGIN_PVT.Get_Order_Margin(p_header_id=>p_line_rec.header_id,
4593 p_org_id => p_line_rec.org_id,
4594 x_order_margin_percent=>l_order_margin_percent,
4595 x_order_margin_amount=>l_order_margin_amount);
4596
4597 x_line_val_rec.margin := l_order_margin_amount;
4598 x_line_val_rec.margin_percent := l_order_margin_percent;
4599 END IF;
4600 --MRG END
4601 END IF;
4602 END IF;
4603
4604 IF p_line_rec.order_quantity_uom IS NOT NULL AND
4605 p_line_rec.order_quantity_uom='ENR' THEN
4606 BEGIN
4607 select tdb.booking_id, bst.name
4608 into x_line_val_rec.booking_id,x_line_val_rec.ota_name
4609 from ota_delegate_bookings tdb,
4610 ota_booking_status_types bst
4611 where tdb.line_id = p_line_rec.line_id
4612 and bst.booking_status_type_id = tdb.booking_status_type_id;
4613 EXCEPTION
4614 When No_Data_Found THEN
4615 Null;
4616 When TOO_MANY_ROWS THEN
4617 Null;
4618 When Others THEN
4619 Null;
4620 END;
4621 END IF;
4622
4623 g_current_header_id := p_line_rec.header_id;
4624
4625 IF p_line_rec.schedule_status_code is not null THEN
4626
4627 l_sales_order_id :=
4628 OE_ORDER_SCH_UTIL.Get_mtl_sales_order_id(p_line_rec.header_id);
4629 -- INVCONV - SAO MERGED CALLS FOR OE_LINE_UTIL.Get_Reserved_Quantity and OE_LINE_UTIL.Get_Reserved_Quantity2
4630
4631 OE_LINE_UTIL.Get_Reserved_Quantities(p_header_id => l_sales_order_id
4632 ,p_line_id => p_line_rec.line_id
4633 ,p_org_id => p_line_rec.ship_from_org_id
4634 ,x_reserved_quantity => x_line_val_rec.reserved_quantity
4635 ,x_reserved_quantity2 => x_line_val_rec.reserved_quantity2
4636 );
4637
4638 /*x_line_val_rec.reserved_quantity :=
4639 OE_LINE_UTIL.Get_Reserved_Quantity
4640 (p_header_id => l_sales_order_id
4641 ,p_line_id => p_line_rec.line_id
4642 , p_org_id => p_line_rec.ship_from_org_id);
4643 x_line_val_rec.reserved_quantity2 :=
4644 OE_LINE_UTIL.Get_Reserved_Quantity2 -- INVCONV
4645 (p_header_id => l_sales_order_id
4646 ,p_line_id => p_line_rec.line_id
4647 , p_org_id => p_line_rec.ship_from_org_id); */
4648
4649
4650 END IF;
4651
4652 IF p_line_rec.line_id IS NOT NULL THEN
4653
4654 x_line_val_rec.fulfillment_list :=
4655 oe_set_util.get_fulfillment_list(p_line_id => p_line_rec.line_id);
4656 END IF;
4657
4658 IF p_line_rec.calculate_price_flag IS NOT NULL THEN
4659 BEGIN
4660 SELECT MEANING
4661 INTO x_line_val_rec.calculate_price_descr
4662 FROM OE_LOOKUPS
4663 WHERE LOOKUP_CODE = p_line_rec.calculate_price_flag
4664 AND LOOKUP_TYPE = 'CALCULATE_PRICE_FLAG';
4665 EXCEPTION
4666 WHEN NO_DATA_FOUND THEN
4667 Null;
4668 When too_many_rows then
4669 Null;
4670 When others then
4671 Null;
4672 END;
4673 END IF;
4674
4675 IF p_line_rec.svc_ref_order_number IS NOT NULL
4676 AND p_line_rec.svc_ref_order_type IS NOT NULL THEN
4677 BEGIN
4678 select /* MOAC_SQL_CHANGE */ header_id into x_line_val_rec.svc_header_id
4679 from oe_order_headers_all oh,oe_order_types_v ot
4680 where order_number=p_line_rec.svc_ref_order_number
4681 and oh.order_type_id=ot.order_type_id
4682 and ot.name=p_line_rec.svc_ref_order_type;
4683 EXCEPTION
4684 WHEN NO_DATA_FOUND THEN
4685 Null;
4686 WHEN TOO_MANY_ROWS THEN
4687 Null;
4688 WHEN OTHERS THEN
4689 Null;
4690 END;
4691 END IF;
4692
4693 IF p_line_rec.order_source_id IS NOT NULL AND
4694 p_line_rec.source_document_type_id IS NULL THEN
4695 -- Order Import
4696 Begin
4697 Select name into x_line_val_rec.order_source
4698 from oe_order_sources
4699 where order_source_id=p_line_rec.order_source_id;
4700 Exception
4701 when no_data_found then
4702 null;
4703 when too_many_rows then
4704 null;
4705 when others then
4706 null;
4707 END;
4708 ELSIF p_line_rec.source_document_type_id=2 AND
4709 -- The following is commented for bug#1939079
4710 -- p_line_rec.order_source_id IS NULL AND
4711 p_line_rec.source_document_id IS NOT NULL THEN
4712 -- Copy Orders
4713 Begin
4714 Select name into x_line_val_rec.order_source
4715 from oe_order_sources
4716 where order_source_id=2;
4717
4718 Select order_number into x_line_val_rec.order_source_ref
4719 from oe_order_headers
4720 where header_id=p_line_rec.source_document_id;
4721
4722 Select line_number into x_line_val_rec.order_source_line_ref
4723 from oe_order_lines
4724 where line_id=p_line_rec.source_document_line_id;
4725 Exception
4726 when no_data_found then
4727 null;
4728 when too_many_rows then
4729 null;
4730 when others then
4731 null;
4732 END;
4733
4734 ELSIF p_line_rec.source_document_type_id=10 AND
4735 p_line_rec.order_source_id=10 THEN
4736 -- Internal Orders
4737 Begin
4738 Select name into x_line_val_rec.order_source
4739 from oe_order_sources
4740 where order_source_id=10;
4741
4742 Exception
4743 when no_data_found then
4744 null;
4745 when too_many_rows then
4746 null;
4747 when others then
4748 null;
4749 END;
4750 ELSIF p_line_rec.source_document_type_id IS NOT NULL
4751 AND p_line_rec.source_document_type_id<>2 THEN
4752
4753 Begin
4754 Select name into x_line_val_rec.order_source
4755 from oe_order_sources
4756 where order_source_id=p_line_rec.source_document_type_id;
4757
4758 Exception
4759 when no_data_found then
4760 null;
4761 when too_many_rows then
4762 null;
4763 when others then
4764 null;
4765
4766 END;
4767 ELSE
4768 Null;
4769 END IF;
4770
4771 IF p_line_rec.Original_inventory_item_id IS NOT NULL
4772 OR p_line_rec.original_ordered_item_id IS NOT NULL THEN
4773 OE_ID_TO_VALUE.Ordered_Item
4774 (p_Item_Identifier_type => p_line_rec.original_item_identifier_Type
4775 ,p_inventory_item_id => p_line_rec.original_Inventory_Item_Id
4776 ,p_organization_id => l_organization_id
4777 ,p_ordered_item_id => p_line_rec.original_ordered_item_id
4778 ,p_sold_to_org_id => p_line_rec.sold_to_org_id
4779 ,p_ordered_item => p_line_rec.original_ordered_item
4780 ,x_ordered_item => x_line_val_rec.original_ordered_item
4781 ,x_inventory_item => x_line_val_rec.original_inventory_item);
4782 END IF;
4783
4784 IF p_line_rec.Original_item_identifier_Type IS NOT NULL THEN
4785 OE_ID_TO_VALUE.item_identifier
4786 (p_Item_Identifier_type => p_line_rec.Original_item_identifier_Type
4787 ,x_Item_Identifier => x_line_val_rec.Original_item_type);
4788 END IF;
4789
4790 IF p_line_rec.item_relationship_type IS NOT NULL THEN
4791 OE_ID_TO_VALUE.item_relationship_type
4792 (p_Item_relationship_type => p_line_rec.item_relationship_type
4793 ,x_Item_relationship_type_dsp => x_line_val_rec.item_relationship_type_dsp);
4794 END IF;
4795 --Spagadal
4796 IF p_line_rec.blanket_number is not null then
4797 oe_blanket_util_misc.get_blanketAgrName
4798 (p_blanket_number => p_line_rec.blanket_number,
4799 x_blanket_agr_name => x_line_val_rec.blanket_agreement_name);
4800 END If;
4801 --{ recurring charges
4802 /* IF p_line_rec.charge_periodicity_code IS NOT NULL AND
4803 p_line_rec.charge_periodicity_code <> FND_API.G_MISS_CHAR AND
4804 OE_SYS_PARAMETERS.Value('RECURRING_CHARGES',p_line_rec.org_id) = 'Y' THEN
4805
4806 SELECT unit_of_measure
4807 INTO l_charge_periodicity
4808 FROM MTL_UNITS_OF_MEASURE_VL
4809 WHERE uom_code = p_line_rec.charge_periodicity_code;
4810 --AND uom_class = FND_PROFILE.Value('ONT_UOM_CLASS_CHARGE_PERIODICITY');
4811
4812 x_line_val_rec.charge_periodicity := l_charge_periodicity;
4813
4814 IF l_debug_level > 0 THEN
4815 OE_DEBUG_PUB.Add ('PCode:'||p_line_rec.charge_periodicity_code,5);
4816 OE_DEBUG_PUB.Add ('Populate value for Charge Periodicity',5);
4817 OE_DEBUG_PUB.Add ('Periodicity='||l_charge_periodicity,3);
4818 END IF;
4819 END IF;
4820 */
4821 -- recurring charges }
4822
4823 --retro{
4824
4825 /* Sql statements to get the vaues of Retrobilled price for original lines
4826 and Retrobilled order and Retrobilled line information for retrobill lines. */
4827
4828 IF(OE_CODE_CONTROL.Code_Release_Level >= 110510) THEN
4829 IF (p_line_rec.line_id IS NOT NULL AND oe_sys_parameters.value('ENABLE_RETROBILLING',p_line_rec.org_id) = 'Y') THEN
4830 BEGIN
4831 SELECT sum(decode(line_category_code,'RETURN',-1*nvl(unit_selling_price,0),nvl(unit_selling_price,0)))
4832 INTO l_retrobilled_price_diff
4833 FROM oe_order_lines
4834 WHERE order_source_id=27 AND
4835 orig_sys_document_ref=to_char(p_line_rec.header_id) AND
4836 orig_sys_line_ref = to_char(p_line_rec.line_id) AND
4837 retrobill_request_id IS NOT NULL;
4838
4839 SELECT unit_selling_price
4840 INTO l_unit_selling_price
4841 FROM oe_order_lines_all
4842 WHERE line_id=p_line_rec.line_id;
4843
4844 IF(l_retrobilled_price_diff IS NOT NULL AND l_unit_selling_price IS NOT NULL) THEN
4845 x_line_val_rec.retrobilled_price := l_unit_selling_price+l_retrobilled_price_diff;
4846 ELSE
4847 x_line_val_rec.retrobilled_price := null;
4848 END IF;
4849 oe_debug_pub.add( 'RETROBILLED_PRICE: '||x_line_val_rec.retrobilled_price) ;
4850
4851 IF(p_line_rec.order_source_id=27) THEN
4852 SELECT orig_head.order_number,
4853 orig_lin.line_number,
4854 orig_lin.shipment_number,
4855 orig_lin.option_number,
4856 orig_lin.component_number,
4857 orig_lin.service_number
4858 INTO x_line_val_rec.Retro_Order_Number,
4859 x_line_val_rec.Retro_Line_Number,
4860 x_line_val_rec.Retro_Shipment_Number,
4861 x_line_val_rec.Retro_Option_Number,
4862 x_line_val_rec.Retro_Component_Number,
4863 x_line_val_rec.Retro_Service_Number
4864 FROM oe_order_headers_all orig_head,
4865 oe_order_lines_all orig_lin
4866 WHERE line_id =
4867 (
4868 SELECT orig_sys_line_ref
4869 FROM oe_order_lines_all
4870 WHERE line_id=p_line_rec.line_id
4871 and order_source_id=27) AND
4872 orig_head.header_id=orig_lin.header_id;
4873 END IF;
4874
4875
4876 EXCEPTION
4877 WHEN NO_DATA_FOUND THEN
4878 oe_debug_pub.add( 'IN EXCEPTION: ' ||SQLERRM);
4879 WHEN OTHERS THEN
4880 oe_debug_pub.add( 'IN EXCEPTION: ' ||SQLERRM);
4881 END;
4882 END IF;
4883 END IF;
4884 --retro}
4885 --Macd
4886 IF l_debug_level > 0 THEN
4887 oe_debug_pub.add( 'MACD configuration_id'||p_line_rec.configuration_id);
4888 oe_debug_pub.add( 'MACD config_rev_nbr'||p_line_rec.config_rev_nbr);
4889 oe_debug_pub.add( 'MACD config_header_id'||p_line_rec.config_header_id);
4890 END IF;
4891 IF p_line_rec.configuration_id IS NOT NULL THEN
4892 BEGIN
4893 select cz.name
4894 into x_line_val_rec.instance_name
4895 from cz_config_details_v cz
4896 where cz.config_hdr_id = p_line_rec.config_header_id
4897 and cz.config_rev_nbr = p_line_rec.config_rev_nbr
4898 and cz.config_item_id = p_line_rec.configuration_id;
4899 IF l_debug_level > 0 THEN
4900 oe_debug_pub.add( 'MACD instance name'||x_line_val_rec.instance_name);
4901 END IF;
4902
4903 EXCEPTION
4904
4905 WHEN NO_DATA_FOUND THEN
4906 null;
4907 WHEN TOO_MANY_ROWS THEN
4908 null;
4909 WHEN OTHERS THEN
4910 null;
4911
4912 END;
4913
4914 END IF;
4915
4916 IF p_line_rec.ib_owner IS NOT NULL THEN
4917
4918 BEGIN
4919 select meaning into x_line_val_rec.ib_owner_dsp
4920 from oe_lookups
4921 where
4922 ( lookup_type='ITEM_OWNER' OR lookup_type='ONT_INSTALL_BASE') and lookup_code=p_line_rec.ib_owner;
4923 EXCEPTION
4924
4925 WHEN NO_DATA_FOUND THEN
4926 null;
4927 WHEN TOO_MANY_ROWS THEN
4928 null;
4929 WHEN OTHERS THEN
4930 null;
4931 END;
4932 END IF;
4933
4934 IF p_line_rec.ib_current_location IS NOT NULL THEN
4935
4936 BEGIN
4937 select meaning into x_line_val_rec.ib_current_location_dsp
4938 from oe_lookups
4939 where
4940 ( lookup_type='ITEM_CURRENT_LOCATION' OR lookup_type='ONT_INSTALL_BASE')and lookup_code=p_line_rec.ib_current_location;
4941 EXCEPTION
4942
4943 WHEN NO_DATA_FOUND THEN
4944 null;
4945 WHEN TOO_MANY_ROWS THEN
4946 null;
4947 WHEN OTHERS THEN
4948 null;
4949 END;
4950 END IF;
4951
4952 IF p_line_rec.ib_installed_at_location IS NOT NULL THEN
4953
4954 BEGIN
4955 select meaning into x_line_val_rec.ib_installed_at_location_dsp
4956 from oe_lookups
4957 where
4958 (lookup_type='ITEM_INSTALL_LOCATION' OR lookup_type='ONT_INSTALL_BASE')and lookup_code=p_line_rec.ib_installed_at_location;
4959 EXCEPTION
4960
4961 WHEN NO_DATA_FOUND THEN
4962 null;
4963 WHEN TOO_MANY_ROWS THEN
4964 null;
4965 WHEN OTHERS THEN
4966 null;
4967 END;
4968 END IF;
4969 --End OF Macd
4970 --Recurring CHarges
4971 -- Check if recurring Charges is Enabled or not
4972
4973 IF OE_SYS_PARAMETERS.Value('RECURRING_CHARGES',p_line_rec.org_id)='Y' THEN
4974
4975 BEGIN
4976
4977 IF p_line_rec.charge_periodicity_code IS NOT NULL THEN
4978
4979 x_line_val_rec.charge_periodicity_dsp:=OE_ID_TO_VALUE.Charge_periodicity(p_line_rec.charge_periodicity_code);
4980
4981 END IF;
4982
4983 EXCEPTION
4984
4985 WHEN NO_DATA_FOUND THEN
4986 null;
4987 WHEN TOO_MANY_ROWS THEN
4988 null;
4989 WHEN OTHERS THEN
4990 null;
4991 END;
4992
4993 END IF;
4994 --Customer Acceptance
4995 IF p_line_rec.contingency_id is not null then
4996 OE_ID_TO_VALUE.Get_Contingency_Attributes(
4997 p_contingency_id => p_line_rec.contingency_id
4998 , x_contingency_name => x_line_val_rec.contingency_name
4999 , x_contingency_description => x_line_val_rec.contingency_description
5000 , x_expiration_event_attribute => x_line_val_rec.expiration_event_attribute
5001 );
5002 x_line_val_rec.revrec_event := OE_ID_TO_VALUE.Revrec_Event(p_line_rec.revrec_event_code);
5003
5004 END IF;
5005
5006 IF p_line_rec.accepted_by is not null THEN
5007 x_line_val_rec.accepted_by_dsp := OE_ID_TO_VALUE.Accepted_By(p_line_rec.accepted_by);
5008 END IF;
5009
5010
5011 END POPULATE_CONTROL_FIELDS;
5012
5013 -- OPM 02/JUN/00 overloaded proc below
5014
5015 PROCEDURE POPULATE_CONTROL_FIELDS
5016 ( p_line_rec IN line_rec_type,
5017 x_line_val_rec OUT NOCOPY line_val_rec_type,
5018 p_calling_block IN VARCHAR2,
5019 x_process_controls_rec OUT NOCOPY process_controls_rec_type
5020
5021 ) IS
5022
5023
5024 l_item_rec OE_Order_Cache.Item_Rec_Type;
5025 --
5026 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
5027 --
5028 BEGIN
5029
5030 POPULATE_CONTROL_FIELDS
5031 (
5032 p_line_rec => p_line_rec,
5033 x_line_val_rec => x_line_val_rec,
5034 p_calling_block => 'LINE'
5035 );
5036
5037 l_item_rec :=
5038 OE_Order_Cache.Load_Item (p_line_rec.inventory_item_id
5039 ,p_line_rec.ship_from_org_id
5040 ,p_line_rec.org_id); -- R12.MOAC
5041
5042 -- x_process_controls_rec.dualum_ind := l_item_rec.dualum_ind; -- INVCONV
5043 -- x_process_controls_rec.grade_ctl := l_item_rec.grade_ctl; -- INVCONV
5044 x_process_controls_rec.process_warehouse_flag
5045 := l_item_rec.process_warehouse_flag;
5046 x_process_controls_rec.ont_pricing_qty_source := l_item_rec.ont_pricing_qty_source; -- OPM 2046190
5047 x_process_controls_rec.grade_control_flag := l_item_rec.grade_control_flag; -- INCONV
5048 x_process_controls_rec.tracking_quantity_ind := l_item_rec.tracking_quantity_ind; -- INCONV
5049 x_process_controls_rec.secondary_default_ind := l_item_rec.secondary_default_ind; -- INCONV
5050 x_process_controls_rec.lot_divisible_flag := l_item_rec.lot_divisible_flag; -- INCONV
5051 x_process_controls_rec.lot_control_code := l_item_rec.lot_control_code; -- INCONV 4172680
5052
5053 END POPULATE_CONTROL_FIELDS;
5054
5055
5056 FUNCTION Is_Description_Matched
5057 (p_item_identifier_type IN VARCHAR2
5058 ,p_ordered_item_id IN NUMBER
5059 ,p_inventory_item_id IN NUMBER
5060 ,p_ordered_item IN VARCHAR2
5061 ,p_sold_to_org_id IN NUMBER
5062 ,p_description IN VARCHAR2
5063 ) RETURN VARCHAR2 IS
5064 /*l_organization_id NUMBER := fnd_profile.value('OE_ORGANIZATION_ID');*/
5065 -- This change is required since we are dropping the profile OE_ORGANIZATION -- _ID. Change made by Esha.
5066 l_organization_id Number:= OE_Sys_Parameters.VALUE('MASTER_ORGANIZATION_ID');
5067 l_count NUMBER := 0;
5068 --
5069 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
5070 --
5071 BEGIN
5072
5073 IF l_debug_level > 0 THEN
5074 oe_debug_pub.add( 'P_ITEM_IDENTIFIER_TYPE:'||P_ITEM_IDENTIFIER_TYPE ) ;
5075 oe_debug_pub.add( 'P_ORDERED_ITEM_ID: '||P_ORDERED_ITEM_ID ) ;
5076 oe_debug_pub.add( 'P_INVENTORY_ITEM_ID: '||P_INVENTORY_ITEM_ID ) ;
5077 oe_debug_pub.add( 'P_ORDERED_ITEM: '||P_ORDERED_ITEM ) ;
5078 oe_debug_pub.add( 'P_SOLD_TO_ORG_ID: '||P_SOLD_TO_ORG_ID ) ;
5079 oe_debug_pub.add( 'P_DESCRIPTION: '||P_DESCRIPTION ) ;
5080 oe_debug_pub.add( 'L_ORGANIZATION_ID: '||L_ORGANIZATION_ID ) ;
5081 END IF;
5082
5083 IF NVL(p_item_identifier_type, 'INT') = 'INT' THEN
5084 IF (Instr(p_description, '%') = 0) THEN
5085 IF l_debug_level > 0 THEN
5086 oe_debug_pub.add( 'ENTERING INT::EXACT MATCH' ) ;
5087 END IF;
5088 SELECT count(*)
5089 INTO l_count
5090 FROM mtl_system_items_vl
5091 WHERE inventory_item_id = p_inventory_item_id
5092 AND organization_id = l_organization_id
5093 AND description = p_description;
5094 ELSE
5095 IF l_debug_level > 0 THEN
5096 oe_debug_pub.add( 'ENTERING INT::PARTIAL' ) ;
5097 END IF;
5098
5099 SELECT count(*)
5100 INTO l_count
5101 FROM mtl_system_items_tl t --3751209
5102 WHERE inventory_item_id = p_inventory_item_id
5103 AND organization_id = l_organization_id
5104 AND description like p_description
5105 AND language= userenv('LANG');
5106 END IF;
5107
5108 ELSIF NVL(p_item_identifier_type, 'INT') = 'CUST' THEN
5109 IF (Instr(p_description, '%') = 0) THEN
5110 IF l_debug_level > 0 THEN
5111 oe_debug_pub.add( 'ENTERING CUST::EXACT MATCH' ) ;
5112 END IF;
5113 SELECT count(*)
5114 INTO l_count
5115 FROM mtl_customer_items citems
5116 ,mtl_customer_item_xrefs cxref
5117 ,mtl_system_items_vl sitems
5118 WHERE citems.customer_item_id = cxref.customer_item_id
5119 AND cxref.inventory_item_id = sitems.inventory_item_id
5120 AND sitems.inventory_item_id = p_inventory_item_id
5121 AND sitems.organization_id = l_organization_id
5122 AND citems.customer_item_id = p_ordered_item_id
5123 AND citems.customer_id = p_sold_to_org_id
5124 AND nvl(citems.customer_item_desc, sitems.description) = p_description;
5125 ELSE
5126 IF l_debug_level > 0 THEN
5127 oe_debug_pub.add( 'ENTERING CUST::PARTIAL' ) ;
5128 END IF;
5129 SELECT count(*)
5130 INTO l_count
5131 FROM mtl_customer_items citems
5132 ,mtl_customer_item_xrefs cxref
5133 ,mtl_system_items_vl sitems
5134 WHERE citems.customer_item_id = cxref.customer_item_id
5135 AND cxref.inventory_item_id = sitems.inventory_item_id
5136 AND sitems.inventory_item_id = p_inventory_item_id
5137 AND sitems.organization_id = l_organization_id
5138 AND citems.customer_item_id = p_ordered_item_id
5139 AND citems.customer_id = p_sold_to_org_id
5140 AND nvl(citems.customer_item_desc, sitems.description) like p_description;
5141 END IF;
5142 ELSE
5143 IF p_ordered_item_id IS NULL THEN
5144 IF (Instr(p_description, '%') = 0) THEN
5145 IF l_debug_level > 0 THEN
5146 oe_debug_pub.add( 'ENTERING GENERIC::EXACT MATCH' ) ;
5147 END IF;
5148 SELECT count(*)
5149 INTO l_count
5150 FROM mtl_cross_reference_types types
5151 , mtl_cross_references items
5152 , mtl_system_items_vl sitems
5153 WHERE types.cross_reference_type = items.cross_reference_type
5154 AND items.inventory_item_id = sitems.inventory_item_id
5155 AND sitems.inventory_item_id = p_inventory_item_id
5156 AND sitems.organization_id = l_organization_id
5157 AND items.cross_reference_type = p_item_identifier_type
5158 AND items.cross_reference = p_ordered_item
5159 AND nvl(items.description, sitems.description) = p_description;
5160 ELSE
5161 IF l_debug_level > 0 THEN
5162 oe_debug_pub.add( 'ENTERING GENERIC::PARTIAL' ) ;
5163 END IF;
5164 SELECT count(*)
5165 INTO l_count
5166 FROM mtl_cross_reference_types types
5167 , mtl_cross_references items
5168 , mtl_system_items_vl sitems
5169 WHERE types.cross_reference_type = items.cross_reference_type
5170 AND items.inventory_item_id = sitems.inventory_item_id
5171 AND sitems.inventory_item_id = p_inventory_item_id
5172 AND sitems.organization_id = l_organization_id
5173 AND items.cross_reference_type = p_item_identifier_type
5174 AND items.cross_reference = p_ordered_item
5175 AND nvl(items.description, sitems.description) like p_description;
5176 END IF;
5177 END IF;
5178 END IF;
5179
5180 IF l_count = 0 THEN
5181 IF l_debug_level > 0 THEN
5182 oe_debug_pub.add( 'NO MATCHES' ) ;
5183 END IF;
5184 RETURN 'N';
5185 ELSE
5186 IF l_debug_level > 0 THEN
5187 oe_debug_pub.add( 'THERE ARE MATCHES' ) ;
5188 END IF;
5189 RETURN 'Y';
5190 END IF;
5191
5192 END Is_Description_Matched;
5193
5194 /* 2913927 - 3348159 start */
5195
5196 FUNCTION Is_Internal_Item_Matched
5197 (p_item_identifier_type IN VARCHAR2
5198 ,p_ordered_item_id IN NUMBER
5199 ,p_inventory_item_id IN NUMBER
5200 ,p_ordered_item IN VARCHAR2
5201 ,p_sold_to_org_id IN NUMBER
5202 ,p_inventory_item IN VARCHAR2
5203 ) RETURN VARCHAR2 IS
5204 l_organization_id Number:= OE_Sys_Parameters.VALUE('MASTER_ORGANIZATION_ID');
5205 l_count NUMBER := 0;
5206 --
5207 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
5208 --
5209 BEGIN
5210
5211
5212 IF l_debug_level > 0 THEN
5213
5214 oe_debug_pub.add( 'P_ITEM_IDENTIFIER_TYPE: '||P_ITEM_IDENTIFIER_TYPE ) ;
5215 oe_debug_pub.add( 'P_ORDERED_ITEM_ID: '||P_ORDERED_ITEM_ID ) ;
5216 oe_debug_pub.add( 'P_INVENTORY_ITEM_ID: '||P_INVENTORY_ITEM_ID ) ;
5217 oe_debug_pub.add( 'P_ORDERED_ITEM: '||P_ORDERED_ITEM ) ;
5218 oe_debug_pub.add( 'P_SOLD_TO_ORG_ID: '||P_SOLD_TO_ORG_ID ) ;
5219 oe_debug_pub.add( 'p_inventory_item: '||p_inventory_item ) ;
5220 oe_debug_pub.add( 'L_ORGANIZATION_ID: '||L_ORGANIZATION_ID ) ;
5221 END IF;
5222
5223 IF NVL(p_item_identifier_type, 'INT') = 'INT' THEN
5224 IF (Instr(p_inventory_item, '%') = 0) THEN
5225 IF l_debug_level > 0 THEN
5226 oe_debug_pub.add( 'ENTERING INT::EXACT MATCH' ) ;
5227 END IF;
5228 SELECT count(*)
5229 INTO l_count
5230 FROM mtl_system_items_vl
5231 WHERE inventory_item_id = p_inventory_item_id
5232 AND organization_id = l_organization_id
5233 AND concatenated_segments = p_inventory_item;
5234 ELSE
5235 IF l_debug_level > 0 THEN
5236 oe_debug_pub.add( 'ENTERING INT::PARTIAL' ) ;
5237 END IF;
5238 SELECT count(*)
5239 INTO l_count
5240 FROM mtl_system_items_vl
5241 WHERE inventory_item_id = p_inventory_item_id
5242 AND organization_id = l_organization_id
5243 AND concatenated_segments like p_inventory_item;
5244 END IF;
5245
5246 ELSIF NVL(p_item_identifier_type, 'INT') = 'CUST' THEN
5247 IF (Instr(p_inventory_item, '%') = 0) THEN
5248 IF l_debug_level > 0 THEN
5249 oe_debug_pub.add( 'ENTERING CUST::EXACT MATCH' ) ;
5250 END IF;
5251 SELECT count(*)
5252 INTO l_count
5253 FROM mtl_customer_items citems
5254 ,mtl_customer_item_xrefs cxref
5255 ,mtl_system_items_vl sitems
5256 WHERE citems.customer_item_id = cxref.customer_item_id
5257 AND cxref.inventory_item_id = sitems.inventory_item_id
5258 AND sitems.inventory_item_id = p_inventory_item_id
5259 AND sitems.organization_id = l_organization_id
5260 AND citems.customer_item_id = p_ordered_item_id
5261 AND citems.customer_id = p_sold_to_org_id
5262 AND sitems.concatenated_segments = p_inventory_item;
5263 ELSE
5264 IF l_debug_level > 0 THEN
5265 oe_debug_pub.add( 'ENTERING CUST::PARTIAL' ) ;
5266 END IF;
5267 SELECT count(*)
5268 INTO l_count
5269 FROM mtl_customer_items citems
5270 ,mtl_customer_item_xrefs cxref
5271 ,mtl_system_items_vl sitems
5272 WHERE citems.customer_item_id = cxref.customer_item_id
5273 AND cxref.inventory_item_id = sitems.inventory_item_id
5274 AND sitems.inventory_item_id = p_inventory_item_id
5275 AND sitems.organization_id = l_organization_id
5276 AND citems.customer_item_id = p_ordered_item_id
5277 AND citems.customer_id = p_sold_to_org_id
5278 AND sitems.concatenated_segments like p_inventory_item;
5279
5280 END IF;
5281 ELSE
5282 IF p_ordered_item_id IS NULL THEN
5283 IF (Instr(p_inventory_item, '%') = 0) THEN
5284 IF l_debug_level > 0 THEN
5285 oe_debug_pub.add( 'ENTERING GENERIC::EXACT MATCH' ) ;
5286 END IF;
5287 SELECT count(*)
5288 INTO l_count
5289 FROM mtl_cross_reference_types types
5290 , mtl_cross_references items
5291 , mtl_system_items_vl sitems
5292 WHERE types.cross_reference_type = items.cross_reference_type
5293 AND items.inventory_item_id = sitems.inventory_item_id
5294 AND sitems.inventory_item_id = p_inventory_item_id
5295 AND sitems.organization_id = l_organization_id
5296 AND items.cross_reference_type = p_item_identifier_type
5297 AND items.cross_reference = p_ordered_item
5298 AND sitems.concatenated_segments = p_inventory_item;
5299 ELSE
5300 IF l_debug_level > 0 THEN
5301 oe_debug_pub.add( 'ENTERING GENERIC::PARTIAL' ) ;
5302 END IF;
5303 SELECT count(*)
5304 INTO l_count
5305 FROM mtl_cross_reference_types types
5306 , mtl_cross_references items
5307 , mtl_system_items_vl sitems
5308 WHERE types.cross_reference_type = items.cross_reference_type
5309 AND items.inventory_item_id = sitems.inventory_item_id
5310 AND sitems.inventory_item_id = p_inventory_item_id
5311 AND sitems.organization_id = l_organization_id
5312 AND items.cross_reference_type = p_item_identifier_type
5313 AND items.cross_reference = p_ordered_item
5314 AND sitems.concatenated_segments like p_inventory_item;
5315 END IF;
5316 END IF;
5317 END IF;
5318
5319 IF l_count = 0 THEN
5320 IF l_debug_level > 0 THEN
5321 oe_debug_pub.add( 'NO MATCHES' ) ;
5322 END IF;
5323 RETURN 'N';
5324 ELSE
5325 IF l_debug_level > 0 THEN
5326 oe_debug_pub.add( 'THERE ARE MATCHES' ) ;
5327 END IF;
5328 RETURN 'Y';
5329 END IF;
5330 END Is_Internal_Item_Matched;
5331
5332 /* 2913927 - 3348159 end */
5333
5334 /*1477598*/
5335 FUNCTION Is_Item_Matched
5336 (p_item_identifier_type IN VARCHAR2
5337 ,p_ordered_item_id IN NUMBER
5338 ,p_inventory_item_id IN NUMBER
5339 ,p_ordered_item IN VARCHAR2
5340 ,p_sold_to_org_id IN NUMBER
5341 ,p_item IN VARCHAR2
5342 ) RETURN VARCHAR2 IS
5343 l_organization_id Number:= OE_Sys_Parameters.VALUE('MASTER_ORGANIZATION_ID');
5344 l_count NUMBER := 0;
5345 --
5346 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
5347 --
5348 BEGIN
5349
5350 IF l_debug_level > 0 THEN
5351 oe_debug_pub.add( 'P_ITEM_IDENTIFIER_TYPE: '||P_ITEM_IDENTIFIER_TYPE ) ;
5352 oe_debug_pub.add( 'P_ORDERED_ITEM_ID: '||P_ORDERED_ITEM_ID ) ;
5353 oe_debug_pub.add( 'P_INVENTORY_ITEM_ID: '||P_INVENTORY_ITEM_ID ) ;
5354 oe_debug_pub.add( 'P_ORDERED_ITEM: '||P_ORDERED_ITEM ) ;
5355 oe_debug_pub.add( 'P_SOLD_TO_ORG_ID: '||P_SOLD_TO_ORG_ID ) ;
5356 oe_debug_pub.add( 'P_ITEM: '||P_ITEM ) ;
5357 oe_debug_pub.add( 'L_ORGANIZATION_ID: '||L_ORGANIZATION_ID ) ;
5358 END IF;
5359
5360 IF NVL(p_item_identifier_type, 'INT') = 'INT' THEN
5361 IF (Instr(p_item, '%') = 0) THEN
5362 IF l_debug_level > 0 THEN
5363 oe_debug_pub.add( 'ENTERING INT::EXACT MATCH' ) ;
5364 END IF;
5365 SELECT count(*)
5366 INTO l_count
5367 FROM mtl_system_items_vl
5368 WHERE inventory_item_id = p_inventory_item_id
5369 AND organization_id = l_organization_id
5370 AND concatenated_segments = p_item;
5371 ELSE
5372 IF l_debug_level > 0 THEN
5373 oe_debug_pub.add( 'ENTERING INT::PARTIAL' ) ;
5374 END IF;
5375 SELECT count(*)
5376 INTO l_count
5377 FROM mtl_system_items_vl
5378 WHERE inventory_item_id = p_inventory_item_id
5379 AND organization_id = l_organization_id
5380 AND concatenated_segments like p_item;
5381 END IF;
5382
5383 ELSIF NVL(p_item_identifier_type, 'INT') = 'CUST' THEN
5384 IF (Instr(p_item, '%') = 0) THEN
5385 IF l_debug_level > 0 THEN
5386 oe_debug_pub.add( 'ENTERING CUST::EXACT MATCH' ) ;
5387 END IF;
5388 SELECT count(*)
5389 INTO l_count
5390 FROM mtl_customer_items citems
5391 ,mtl_customer_item_xrefs cxref
5392 ,mtl_system_items_vl sitems
5393 WHERE citems.customer_item_id = cxref.customer_item_id
5394 AND cxref.inventory_item_id = sitems.inventory_item_id
5395 AND sitems.inventory_item_id = p_inventory_item_id
5396 AND sitems.organization_id = l_organization_id
5397 AND citems.customer_item_id = p_ordered_item_id
5398 AND citems.customer_id = p_sold_to_org_id
5399 AND nvl(citems.customer_item_number, sitems.concatenated_segments) =p_item;
5400 ELSE
5401 IF l_debug_level > 0 THEN
5402 oe_debug_pub.add( 'ENTERING CUST::PARTIAL' ) ;
5403 END IF;
5404 SELECT count(*)
5405 INTO l_count
5406 FROM mtl_customer_items citems
5407 ,mtl_customer_item_xrefs cxref
5408 ,mtl_system_items_vl sitems
5409 WHERE citems.customer_item_id = cxref.customer_item_id
5410 AND cxref.inventory_item_id = sitems.inventory_item_id
5411 AND sitems.inventory_item_id = p_inventory_item_id
5412 AND sitems.organization_id = l_organization_id
5413 AND citems.customer_item_id = p_ordered_item_id
5414 AND citems.customer_id = p_sold_to_org_id
5415 AND nvl(citems.customer_item_number, sitems.concatenated_segments) like p_item;
5416 END IF;
5417 ELSE
5418 IF p_ordered_item_id IS NULL THEN
5419 IF (Instr(p_item, '%') = 0) THEN
5420 IF l_debug_level > 0 THEN
5421 oe_debug_pub.add( 'ENTERING GENERIC::EXACT MATCH' ) ;
5422 END IF;
5423 SELECT count(*)
5424 INTO l_count
5425 FROM mtl_cross_reference_types types
5426 , mtl_cross_references items
5427 , mtl_system_items_vl sitems
5428 WHERE types.cross_reference_type = items.cross_reference_type
5429 AND items.inventory_item_id = sitems.inventory_item_id
5430 AND sitems.inventory_item_id = p_inventory_item_id
5431 AND sitems.organization_id = l_organization_id
5432 AND items.cross_reference_type = p_item_identifier_type
5433 AND items.cross_reference = p_ordered_item
5434 AND nvl(items.cross_reference, sitems.concatenated_segments) = p_item;
5435 ELSE
5436 IF l_debug_level > 0 THEN
5437 oe_debug_pub.add( 'ENTERING GENERIC::PARTIAL' ) ;
5438 END IF;
5439 SELECT count(*)
5440 INTO l_count
5441 FROM mtl_cross_reference_types types
5442 , mtl_cross_references items
5443 , mtl_system_items_vl sitems
5444 WHERE types.cross_reference_type = items.cross_reference_type
5445 AND items.inventory_item_id = sitems.inventory_item_id
5446 AND sitems.inventory_item_id = p_inventory_item_id
5447 AND sitems.organization_id = l_organization_id
5448 AND items.cross_reference_type = p_item_identifier_type
5449 AND items.cross_reference = p_ordered_item
5450 AND nvl(items.cross_reference, sitems.concatenated_segments) like p_item;
5451 END IF;
5452 END IF;
5453 END IF;
5454
5455 IF l_count = 0 THEN
5456 IF l_debug_level > 0 THEN
5457 oe_debug_pub.add( 'NO MATCHES' ) ;
5458 END IF;
5459 RETURN 'N';
5460 ELSE
5461 IF l_debug_level > 0 THEN
5462 oe_debug_pub.add( 'THERE ARE MATCHES' ) ;
5463 END IF;
5464 RETURN 'Y';
5465 END IF;
5466 END Is_Item_Matched;
5467 /*1477598*/
5468
5469 PROCEDURE SPLIT_LINE
5470 (
5471 p_split_by IN VARCHAR2 DEFAULT null
5472 ,x_line_tbl_type IN split_line_tbl_type
5473 ,p_change_reason_code IN VARCHAR2 DEFAULT NULL
5474 ,p_change_comments IN VARCHAR2 DEFAULT NULL
5475 ,x_return_status OUT NOCOPY VARCHAR2
5476 ,x_msg_count OUT NOCOPY NUMBER
5477 ,x_msg_data OUT NOCOPY VARCHAR2
5478 ) IS
5479
5480 i NUMBER;
5481 l_line_tbl OE_Order_PUB.Line_Tbl_Type;
5482 l_x_line_tbl OE_Order_PUB.Line_Tbl_Type;
5483 l_line_rec OE_Order_PUB.Line_Rec_Type;
5484 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
5485 l_x_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
5486 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
5487 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
5488 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
5489 l_x_Action_Request_tbl OE_Order_PUB.Request_Tbl_Type;
5490 l_x_Lot_Serial_Tbl OE_Order_PUB.Lot_Serial_Tbl_Type;
5491 l_x_Header_price_Att_tbl OE_Order_PUB.Header_Price_Att_Tbl_Type;
5492 l_x_Header_Adj_Att_tbl OE_Order_PUB.Header_Adj_Att_Tbl_Type;
5493 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
5494 l_x_Line_price_Att_tbl OE_Order_PUB.Line_Price_Att_Tbl_Type;
5495 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_Tbl_Type;
5496 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
5497 l_control_rec OE_GLOBALS.Control_Rec_Type;
5498 l_return_status VARCHAR2(1);
5499 l_line_id NUMBER;
5500 l_process_add_attributes Boolean :=FALSE;
5501 j NUMBER; -- for bug 1988144
5502 k NUMBER; -- for bug 1988144
5503 l_rec_count NUMBER; -- for bug 1988144
5504 --serla begin
5505 l_x_Header_Payment_tbl OE_Order_PUB.Header_Payment_Tbl_Type;
5506 l_x_Line_Payment_tbl OE_Order_PUB.Line_Payment_Tbl_Type;
5507 --serla end
5508 --
5509 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
5510 --
5511 BEGIN
5512
5513 IF l_debug_level > 0 THEN
5514 oe_debug_pub.add( 'LINE CONTROLLER - IN SPLIT ' , 1 ) ;
5515 END IF;
5516
5517 /* l_control_rec.controlled_operation := TRUE;
5518 l_control_rec.validate_entity := TRUE;
5519 l_control_rec.write_to_DB := TRUE;
5520
5521 l_control_rec.default_attributes := FALSE;
5522 l_control_rec.change_attributes := FALSE;
5523 l_control_rec.process := FALSE;
5524
5525 l_control_rec.clear_api_cache := FALSE;
5526 l_control_rec.clear_api_requests := FALSE; */
5527
5528 -- OE_GLOBALS.G_UI_FLAG := TRUE; -- FP bug#6968460 (for bug#5727279): reverting the fix done in bug#4751632
5529
5530 IF x_line_tbl_type.count>0 THEN
5531 for i in x_line_tbl_type.first .. x_line_tbl_type.last loop
5532 IF i =1 THEN
5533 IF x_line_tbl_type(i).line_id is not null THEN
5534 l_line_id:=x_line_tbl_type(i).line_id;
5535 IF l_debug_level > 0 THEN
5536 oe_debug_pub.add( 'LINE CONTROLLER - BEFORE GET LINE'|| X_LINE_TBL_TYPE ( I ) .LINE_ID , 1 ) ;
5537 END IF;
5538 -- l_x_line_tbl(i):=OE_ORDER_PUB.G_MISS_LINE_REC;
5539 /* Get_line
5540 ( p_db_record => FALSE
5541 ,p_line_id => x_line_tbl_type(i).line_id
5542 ,x_line_rec => l_x_line_tbl(i)); */
5543 l_x_line_tbl(i).line_id:=x_line_tbl_type(i).line_id;
5544 OE_Line_Util.Lock_Row
5545 ( x_return_status => l_return_status
5546 , p_x_line_rec => l_x_line_tbl(i)
5547 , p_line_id => x_line_tbl_type(i).line_id);
5548
5549 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5550 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5551 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5552 RAISE FND_API.G_EXC_ERROR;
5553 END IF;
5554
5555 IF l_debug_level > 0 THEN
5556 oe_debug_pub.add( 'LINE CONTROLLER - AFTER GET LINE ' , 1 ) ;
5557 END IF;
5558 END IF;
5559 l_x_line_tbl(i).line_id:=x_line_tbl_type(i).line_id;
5560 l_x_line_tbl(i).split_action_code:='SPLIT';
5561 --SAO
5562 IF p_split_by = 'SCHEDULER' THEN
5563 l_x_line_tbl(i).split_by:='SYSTEM';
5564 ELSE
5565 l_x_line_tbl(i).split_by:='USER';
5566 END IF;
5567 l_x_line_tbl(i).operation:= OE_GLOBALS.G_OPR_UPDATE;
5568 IF l_debug_level > 0 THEN
5569 OE_DEBUG_PUB.add('Audit Trail Reason Code being passed as '||p_change_reason_code,1);
5570 END IF;
5571 l_x_line_tbl(i).change_reason := p_change_reason_code;
5572 l_x_line_tbl(i).change_comments := p_change_comments;
5573 -- Bug# 4008409
5574 -- Pass ship_from_org_id for the update line since the Dual UOM control for the item can be different
5575 l_x_line_tbl(i).ship_from_org_id := x_line_tbl_type(i).ship_from_org_id;
5576 ELSE
5577 IF l_line_id is not null then
5578 l_x_line_tbl(i).split_from_line_id:=l_line_id;
5579 END IF;
5580 l_x_line_tbl(i).operation:= OE_GLOBALS.G_OPR_CREATE;
5581 --SAO
5582 IF p_split_by = 'SCHEDULER' THEN
5583 l_x_line_tbl(i).split_by:='SYSTEM';
5584 ELSE
5585 l_x_line_tbl(i).split_by := 'USER'; -- for bug 2211261
5586 END IF;
5587 END IF;
5588 l_x_line_tbl(i).ordered_quantity:= x_line_tbl_type(i).ordered_quantity;
5589 /* OPM - NC 3/8/02 Bug#2046641 */
5590 l_x_line_tbl(i).ordered_quantity2:= x_line_tbl_type(i).ordered_quantity2;
5591 end loop;
5592
5593 IF l_debug_level > 0 THEN
5594 oe_debug_pub.add( 'LINE CONTROLLER - IN SPLIT - CALLING PROCESS' , 1 ) ;
5595 END IF;
5596
5597 Oe_Order_Pvt.Process_order
5598 ( p_api_version_number => 1.0
5599 , p_init_msg_list => FND_API.G_TRUE
5600 , x_return_status => l_return_status
5601 , x_msg_count => x_msg_count
5602 , x_msg_data => x_msg_data
5603 , p_control_rec => l_control_rec
5604 , p_x_header_rec => l_x_header_rec
5605 , p_x_Header_Adj_tbl => l_x_Header_Adj_tbl
5606 , p_x_header_price_att_tbl => l_x_header_price_att_tbl
5607 , p_x_Header_Adj_att_tbl => l_x_Header_Adj_att_tbl
5608 , p_x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
5609 , p_x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
5610 --serla begin
5611 , p_x_Header_Payment_tbl => l_x_Header_Payment_tbl
5612 --serla end
5613 , p_x_line_tbl => l_x_line_tbl
5614 , p_x_Line_Adj_tbl => l_x_Line_Adj_tbl
5615 , p_x_Line_Price_att_tbl => l_x_Line_Price_att_tbl
5616 , p_x_Line_Adj_att_tbl => l_x_Line_Adj_att_tbl
5617 , p_x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
5618 , p_x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
5619 --serla begin
5620 , p_x_Line_Payment_tbl => l_x_Line_Payment_tbl
5621 --serla end
5622 , p_x_action_request_tbl => l_x_Action_Request_tbl
5623 , p_x_lot_serial_tbl => l_x_lot_serial_tbl
5624
5625 );
5626
5627 END IF;
5628 IF l_debug_level > 0 THEN
5629 oe_debug_pub.add( 'LINE CONTROLLER - IN SPLIT - AFTER CALLING PROCESS' , 1 ) ;
5630 END IF;
5631
5632 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5633 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5634 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5635 RAISE FND_API.G_EXC_ERROR;
5636 END IF;
5637
5638
5639 IF l_x_line_tbl.count>0 THEN
5640 l_line_tbl.delete;
5641 FOR i in x_line_tbl_type.first .. x_line_tbl_type.last LOOP
5642 l_line_tbl(i):=OE_ORDER_PUB.G_MISS_LINE_REC;
5643 IF x_line_tbl_type(i).ship_to_org_id is not null THEN
5644 IF nvl(l_x_line_tbl(i).ship_to_org_id,-1)<>nvl(x_line_tbl_type(i).ship_to_org_id,-1) THEN
5645 l_line_tbl(i).ship_to_org_id:=x_line_tbl_type(i).ship_to_org_id;
5646 l_process_add_attributes:=TRUE;
5647 END IF;
5648 END IF;
5649
5650 IF x_line_tbl_type(i).request_date is not null THEN
5651 IF nvl(l_x_line_tbl(i).request_date,sysdate)<> nvl(x_line_tbl_type(i).request_date,sysdate) THEN
5652 l_line_tbl(i).request_date:=x_line_tbl_type(i).request_date;
5653 l_process_add_attributes:=TRUE;
5654 END IF;
5655 END IF;
5656
5657 -- This is to fix a p1 bug on tst115. The second call should not
5658 -- come as split
5659 l_line_tbl(i).operation:= OE_GLOBALS.G_OPR_UPDATE;
5660 IF l_debug_level > 0 THEN
5661 OE_DEBUG_PUB.add('Reason code being passed : '||l_line_tbl(i).change_reason,1);
5662 END IF;
5663 l_line_tbl(i).change_reason := p_change_reason_code;
5664 l_line_tbl(i).change_comments := p_change_comments;
5665 l_line_tbl(i).split_action_code:=fnd_api.g_miss_char;
5666 l_line_tbl(i).line_id:=l_x_line_tbl(i).line_id;
5667 l_line_tbl(i).header_id:=l_x_line_tbl(i).header_id;
5668
5669 IF x_line_tbl_type(i).ship_from_org_id is not null THEN
5670 IF nvl(l_x_line_tbl(i).ship_from_org_id,-1)<>nvl(x_line_tbl_type(i).ship_from_org_id,-1) THEN
5671 l_line_tbl(i).ship_from_org_id:=x_line_tbl_type(i).ship_from_org_id;
5672 -- ship_from_org_id is changed during split, null OUT subinventory
5673 l_line_tbl(i).subinventory:= null;
5674 -- Bug# 4008409
5675 -- pass the ordered_quantity2 which is entered in the split window
5676 l_line_tbl(i).ordered_quantity2 := x_line_tbl_type(i).ordered_quantity2;
5677 l_process_add_attributes:=TRUE;
5678 END IF;
5679 END IF;
5680
5681 -- l_line_tbl(i):=l_x_line_tbl(i);
5682 END LOOP;
5683
5684 /* Extra loop being handled so as to deal with the service lines */
5685 /* for bug 1988144, added by dbuduru */
5686
5687 -- At this point l_line_tbl contains the order line that was split as well as the
5688 -- the order lines that are created as a result of the split. Prior to this modification
5689 -- only these records were being passed to the Process Order API ( second call ) and there
5690 -- is no code in the Process Order API that would update the service lines if split attributes
5691 -- are modified in the order lines to which they refer to.
5692 --
5693 -- In order to make the Process Order API handle the service lines, the service lines are
5694 -- explicitly being bundled with the order lines in the l_line_tbl. The Following loop
5695 -- takes care of that. The loop is coded taking Models, standard items and kits into consideration
5696 --
5697 -- Local variables j, k, l_rec_count have been added. The variables j, k
5698 -- are used as a loop indices
5699 -- and l_rec_count is used to work on the l_line_tbl.
5700 --
5701 -- l_line_id would contain the line_id of the line to which the service line is attached
5702 -- to or the top_most_line_id if the line to which its attached to is a part of a Model.
5703 -- This is done because splitting happens at the top most level.
5704
5705 l_rec_count := l_line_tbl.last + 1;
5706
5707 FOR i in l_x_line_tbl.first .. l_x_line_tbl.last LOOP
5708 IF l_x_line_tbl(i).item_type_code = 'SERVICE' THEN
5709
5710 l_line_tbl(l_rec_count) := OE_ORDER_PUB.G_MISS_LINE_REC;
5711
5712 FOR j in l_x_line_tbl.first .. l_x_line_tbl.last LOOP
5713 IF l_x_line_tbl(i).service_reference_line_id = l_x_line_tbl(j).line_id THEN
5714 l_line_id := nvl( l_x_line_tbl(j).top_model_line_id, l_x_line_tbl(j).line_id );
5715 EXIT;
5716 END IF; -- service_Ref_line = line_id
5717 END LOOP; -- loop on l_x_line_tbl
5718
5719 FOR k in x_line_tbl_type.first .. x_line_tbl_type.last LOOP
5720 IF l_line_id = l_x_line_tbl(k).line_id THEN
5721 IF x_line_tbl_type(k).ship_to_org_id is not null THEN
5722 IF nvl(l_x_line_tbl(i).ship_to_org_id,-1)<>nvl(x_line_tbl_type(k).ship_to_org_id,-1) THEN
5723 l_line_tbl(l_rec_count).ship_to_org_id := x_line_tbl_type(k).ship_to_org_id;
5724 l_process_add_attributes:=TRUE;
5725 END IF; -- if ship_to_changed
5726 END IF; -- ship_to not null
5727
5728 -- Code added for bug 2216899
5729
5730 IF x_line_tbl_type(k).ship_from_org_id is not null THEN
5731 IF nvl(l_x_line_tbl(i).ship_from_org_id,-1)<>nvl(x_line_tbl_type(k).ship_from_org_id,-1) THEN
5732 l_line_tbl(l_rec_count).ship_from_org_id := x_line_tbl_type(k).ship_from_org_id;
5733 l_line_tbl(l_rec_count).subinventory := null;
5734 l_process_add_attributes:=TRUE;
5735 END IF; -- if ship_from_changed
5736 END IF; -- ship_from not null
5737
5738 -- end 2216899
5739
5740 IF x_line_tbl_type(k).request_date is not null THEN
5741 IF nvl(l_x_line_tbl(i).request_date,sysdate)<> nvl(x_line_tbl_type(k).request_date,sysdate) THEN
5742 l_line_tbl(l_rec_count).request_date := x_line_tbl_type(k).request_date;
5743 l_process_add_attributes:=TRUE;
5744 END IF;
5745 END IF;
5746
5747 l_line_tbl(l_rec_count).operation := OE_GLOBALS.G_OPR_UPDATE;
5748 IF l_debug_level > 0 THEN
5749 OE_DEBUG_PUB.add('Reason code being passed : '||l_line_tbl(l_rec_count).change_reason,1);
5750 END IF;
5751 l_line_tbl(l_rec_count).change_reason := p_change_reason_code;
5752 l_line_tbl(l_rec_count).change_comments := p_change_comments;
5753 l_line_tbl(l_rec_count).split_action_code := fnd_api.g_miss_char;
5754 l_line_tbl(l_rec_count).line_id := l_x_line_tbl(i).line_id;
5755 l_line_tbl(l_rec_count).header_id := l_x_line_tbl(i).header_id;
5756
5757 l_rec_count := l_rec_count + 1;
5758 EXIT;
5759 END IF; -- if l_line_id matches a line_id in x_line_tbl_type
5760 END LOOP; -- loop on index k
5761 END IF; -- If item_type_code = 'SERVICE'
5762 END LOOP; -- First For Loop
5763
5764 /* end of 1988144 */
5765 /* this l_line_tbl is passed to the process Order API */
5766
5767
5768 l_x_Header_Adj_tbl.delete;
5769 l_x_header_price_att_tbl.delete;
5770 l_x_Header_Adj_att_tbl.delete;
5771 l_x_Header_Adj_Assoc_tbl.delete;
5772 l_x_Header_Scredit_tbl.delete;
5773 l_x_Line_Adj_tbl.delete;
5774 l_x_Line_Price_att_tbl.delete;
5775 l_x_Line_Adj_att_tbl.delete;
5776 l_x_Line_Adj_Assoc_tbl.delete;
5777 l_x_Line_Scredit_tbl.delete;
5778 l_x_lot_serial_tbl.delete;
5779
5780
5781 IF l_process_add_attributes THEN
5782 Oe_Order_Pvt.Process_order
5783 ( p_api_version_number => 1.0
5784 , p_init_msg_list => FND_API.G_TRUE
5785 , x_return_status => l_return_status
5786 , x_msg_count => x_msg_count
5787 , x_msg_data => x_msg_data
5788 , p_control_rec => l_control_rec
5789 , p_x_line_tbl => l_line_tbl
5790 , p_x_header_rec => l_x_header_rec
5791 , p_x_Header_Adj_tbl => l_x_Header_Adj_tbl
5792 , p_x_header_price_att_tbl => l_x_header_price_att_tbl
5793 , p_x_Header_Adj_att_tbl => l_x_Header_Adj_att_tbl
5794 , p_x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
5795 , p_x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
5796 --serla begin
5797 , p_x_Header_Payment_tbl => l_x_Header_Payment_tbl
5798 --serla end
5799 , p_x_Line_Adj_tbl => l_x_Line_Adj_tbl
5800 , p_x_Line_Price_att_tbl => l_x_Line_Price_att_tbl
5801 , p_x_Line_Adj_att_tbl => l_x_Line_Adj_att_tbl
5802 , p_x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
5803 , p_x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
5804 --serla begin
5805 , p_x_Line_Payment_tbl => l_x_Line_Payment_tbl
5806 --serla end
5807 , p_x_action_request_tbl => l_x_Action_Request_tbl
5808 , p_x_lot_serial_tbl => l_x_lot_serial_tbl
5809
5810 );
5811
5812
5813 END IF;
5814 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
5815 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
5816 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
5817 RAISE FND_API.G_EXC_ERROR;
5818 END IF;
5819
5820 END IF;
5821 x_return_status := FND_API.G_RET_STS_SUCCESS;
5822
5823 -- Get message count and data
5824
5825 oe_msg_pub.count_and_get
5826 ( p_count => x_msg_count
5827 , p_data => x_msg_data
5828 );
5829
5830 EXCEPTION
5831
5832 WHEN FND_API.G_EXC_ERROR THEN
5833
5834 x_return_status := FND_API.G_RET_STS_ERROR;
5835
5836 -- Get message count and data
5837
5838 oe_msg_pub.count_and_get
5839 ( p_count => x_msg_count
5840 , p_data => x_msg_data
5841 );
5842
5843 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
5844
5845 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5846
5847 -- Get message count and data
5848
5849 oe_msg_pub.count_and_get
5850 ( p_count => x_msg_count
5851 , p_data => x_msg_data
5852 );
5853
5854 WHEN OTHERS THEN
5855
5856 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
5857
5858 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
5859 THEN
5860 oe_msg_pub.Add_Exc_Msg
5861 ( G_PKG_NAME
5862 , 'Split Lines'
5863 );
5864 END IF;
5865
5866 -- Get message count and data
5867
5868 oe_msg_pub.count_and_get
5869 ( p_count => x_msg_count
5870 , p_data => x_msg_data
5871 );
5872
5873 END SPLIT_LINE;
5874
5875 -- This procedure will be called from the client when the user
5876 -- clears a record
5877 Procedure Clear_Record
5878 ( x_return_status OUT NOCOPY VARCHAR2
5879 , x_msg_count OUT NOCOPY NUMBER
5880 , x_msg_data OUT NOCOPY VARCHAR2
5881 , p_line_id IN NUMBER
5882 )
5883 IS
5884 l_return_status Varchar2(30);
5885 l_count_to_keep NUMBER;
5886 --
5887 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
5888 --
5889 /* l_new_line_rec OE_Order_PUB.Line_Rec_Type; --3445778
5890 l_old_line_rec OE_Order_PUB.Line_Rec_Type; --3445778
5891 l_index NUMBER; --3445778 */
5892 l_header_id NUMBER;
5893 BEGIN
5894 OE_MSG_PUB.initialize;
5895 x_return_status := FND_API.G_RET_STS_SUCCESS;
5896
5897 -- Bug 3800577
5898 -- Clear versioning globals if request was not logged. If request was
5899 -- logged, that indicates that a change on another record had logged the
5900 -- request and versioning should still fire.
5901
5902 IF OE_GLOBALS.G_ROLL_VERSION <> 'N' THEN
5903
5904 l_header_id := g_line_rec.header_id;
5905
5906 if l_debug_level > 0 then
5907 oe_debug_pub.add('Roll version global is set');
5908 oe_debug_pub.add('Header ID: '||l_header_id);
5909 end if;
5910
5911 IF NOT OE_Delayed_Requests_Pvt.Check_For_Request
5912 (p_entity_code => OE_GLOBALS.G_ENTITY_ALL
5913 ,p_entity_id => l_header_id
5914 ,p_request_type => OE_GLOBALS.G_VERSION_AUDIT
5915 )
5916 THEN
5917 oe_debug_pub.add('Request does not exist, reset versioning globals');
5918 IF (NOT OE_Versioning_Util.Reset_Globals) THEN
5919 l_return_status := FND_API.G_RET_STS_ERROR;
5920 RETURN;
5921 END IF;
5922 END IF;
5923
5924 END IF;
5925
5926 OE_DELAYED_REQUESTS_PVT.Delete_Reqs_for_Deleted_Entity(
5927 p_entity_code => OE_GLOBALS.G_ENTITY_LINE
5928 ,p_entity_id => p_line_id
5929 -- Bug 3800577
5930 -- Also delete requests logged by this entity
5931 ,p_delete_against => FALSE
5932 ,x_return_status => l_return_status);
5933
5934 /* -- Added for bug 3445778 --Commenting the code for 3575018
5935 oe_debug_pub.add('Executing code for updating global picture, line_id: ' || p_line_id, 1);
5936
5937 -- Set the operation on the record so that globals are updated
5938 l_new_line_rec.operation := OE_GLOBALS.G_OPR_DELETE;
5939 l_new_line_rec.line_id := p_line_id;
5940 l_old_line_rec.line_id := p_line_id;
5941
5942 OE_ORDER_UTIL.Update_Global_Picture(p_Upd_New_Rec_If_Exists => True,
5943 p_line_rec => l_new_line_rec,
5944 p_line_id => p_line_id,
5945 p_old_line_rec => l_old_line_rec,
5946 x_index => l_index,
5947 x_return_status => l_return_status);
5948
5949 -- End of 3445778 */
5950
5951 --bug#3947584
5952 --Calling procedure to remove fulfillment set info for the record
5953
5954 --bug # 6059554--
5955 --Before calling procedure OE_Set_Util.Remove_From_Fulfilment to remove the fulfillment information,
5956 --check whether Order line exists in oe_order_lines_all or not.If it does
5957 --not exists then only Call OE_Set_Util.Remove_From_Fulfilment to remove the fulfillment set information for the
5958 --line otherwise we will not remove the fulfillment information from line.
5959
5960 select count(1) into l_count_to_keep
5961 from oe_order_lines_all
5962 where line_id=p_line_id;
5963
5964 if l_count_to_keep = 0 then
5965
5966 OE_Set_Util.Remove_From_Fulfillment(p_line_id => p_line_id);
5967
5968 end if;
5969
5970 --Close for bug #6059554--
5971
5972
5973 OE_MSG_PUB.Count_And_Get
5974 ( p_count => x_msg_count
5975 , p_data => x_msg_data
5976 );
5977
5978
5979 -- Clear the controller cache, so that it will not be used for
5980 -- next operation on same record
5981
5982 Clear_line;
5983
5984 EXCEPTION
5985 WHEN OTHERS THEN
5986 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
5987 THEN
5988 OE_MSG_PUB.Add_Exc_Msg
5989 ( G_PKG_NAME
5990 , 'Clear_Record'
5991 );
5992 END IF;
5993 -- Get message count and data
5994 OE_MSG_PUB.Count_And_Get
5995 ( p_count => x_msg_count
5996 , p_data => x_msg_data
5997 );
5998 x_return_status := FND_API.G_RET_STS_ERROR;
5999
6000 END Clear_Record;
6001
6002 FUNCTION Get_Date_Type
6003 ( p_header_id IN NUMBER)
6004 RETURN VARCHAR2
6005 IS
6006 l_order_date_type_code VARCHAR2(30) := null;
6007 --
6008 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
6009 --
6010 BEGIN
6011
6012 SELECT order_date_type_code
6013 INTO l_order_date_type_code
6014 FROM oe_order_headers
6015 WHERE header_id = p_header_id;
6016
6017 RETURN l_order_date_type_code;
6018
6019
6020 EXCEPTION
6021 WHEN NO_DATA_FOUND THEN
6022 RETURN NULL;
6023 WHEN OTHERS THEN
6024 RETURN null;
6025 END Get_Date_Type;
6026
6027 PROCEDURE Ship_To_Customer_Id(
6028 p_ship_to_org_id IN Number,
6029 x_ship_to_Customer_id OUT NOCOPY Number
6030 ) IS
6031 l_site_use_code VARCHAR2(30);
6032
6033 --
6034 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
6035 --
6036 BEGIN
6037 l_site_use_code := 'SHIP_TO';
6038
6039 SELECT /* MOAC_SQL_CHANGE */ cas.cust_account_id
6040 INTO x_ship_to_customer_id
6041 FROM HZ_CUST_SITE_USES_ALL site,
6042 HZ_CUST_ACCT_SITES_ALL cas
6043 WHERE site.cust_acct_site_id = cas.cust_acct_site_id
6044 AND site.site_use_code=l_site_use_code
6045 AND site.site_use_id=p_ship_to_org_id;
6046
6047 EXCEPTION
6048
6049 WHEN NO_DATA_FOUND THEN
6050 Null;
6051 When too_many_rows then
6052 Null;
6053 When others then
6054 Null;
6055 END Ship_To_Customer_Id;
6056
6057
6058 PROCEDURE Invoice_To_Customer_Id(
6059 p_invoice_to_org_id IN Number,
6060 x_invoice_to_Customer_id OUT NOCOPY Number
6061 ) IS
6062
6063 l_site_use_code VARCHAR2(30);
6064 --
6065 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
6066 --
6067 BEGIN
6068 l_site_use_code := 'BILL_TO';
6069
6070 SELECT /* MOAC_SQL_CHANGE */ cas.cust_account_id
6071 INTO x_invoice_to_customer_id
6072 FROM HZ_CUST_SITE_USES_ALL site,
6073 HZ_CUST_ACCT_SITES_ALL cas
6074 WHERE site.cust_acct_site_id = cas.cust_acct_site_id
6075 AND site.site_use_code=l_site_use_code
6076 AND site.site_use_id=p_invoice_to_org_id;
6077
6078
6079 EXCEPTION
6080
6081 WHEN NO_DATA_FOUND THEN
6082 Null;
6083 When too_many_rows then
6084 Null;
6085 When others then
6086 Null;
6087 END Invoice_To_Customer_Id;
6088
6089 PROCEDURE GET_LINE_SHIPMENT_NUMBER(
6090 x_return_status OUT NOCOPY VARCHAR2
6091 , x_msg_count OUT NOCOPY NUMBER
6092 , x_msg_data OUT NOCOPY VARCHAR2
6093 , p_header_id IN Number
6094 , x_line_id OUT NOCOPY Number
6095 , x_line_number OUT NOCOPY Number
6096 , x_shipment_number OUT NOCOPY Number
6097 ) IS
6098 l_line_number Number;
6099 --
6100 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
6101 --
6102 BEGIN
6103 SELECT OE_ORDER_LINES_S.NEXTVAL
6104 INTO x_line_id
6105 FROM DUAL;
6106
6107 SELECT NVL(MAX(LINE_NUMBER)+1,1)
6108 INTO x_line_number
6109 FROM OE_ORDER_LINES_ALL
6110 WHERE HEADER_ID = p_header_id;
6111 l_line_number:=x_line_number;
6112 IF x_line_number IS NOT NULL THEN
6113 SELECT NVL(MAX(SHIPMENT_NUMBER)+1,1)
6114 INTO x_shipment_number
6115 FROM OE_ORDER_LINES
6116 WHERE HEADER_ID = p_header_id
6117 AND LINE_NUMBER = l_line_number;
6118 END IF;
6119
6120 EXCEPTION
6121
6122 WHEN OTHERS THEN
6123
6124 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6125 THEN
6126 OE_MSG_PUB.Add_Exc_Msg
6127 ( G_PKG_NAME
6128 , 'Get_Line_Shipment_Number'
6129 );
6130 END IF;
6131
6132 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6133
6134 END GET_LINE_SHIPMENT_NUMBER;
6135
6136
6137 /*--- Bug 1823073 start----- */
6138 -- This Get_ORDERED_ITEM procedure is called from OEXOELIN.pld
6139 -- Added this procedure to provide ordered_item
6140 -- and fix the problem cauesd by null ordered_item
6141 PROCEDURE GET_ORDERED_ITEM ( x_return_status OUT NOCOPY VARCHAR2
6142 , x_msg_count OUT NOCOPY NUMBER
6143 , x_msg_data OUT NOCOPY VARCHAR2
6144 , p_item_identifier_type IN VARCHAR2
6145 , p_inventory_item_id IN Number
6146 , p_ordered_item_id IN Number
6147 , p_sold_to_org_id IN Number
6148 , x_ordered_item OUT NOCOPY VARCHAR2
6149 ) IS
6150
6151 l_organization_id Number:= OE_Sys_Parameters.VALUE('MASTER_ORGANIZATION_ID');
6152
6153 --
6154 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
6155 --
6156 BEGIN
6157 IF l_debug_level > 0 THEN
6158 oe_debug_pub.add( 'ENTER GET_ORDERED_ITEM PROCEDURE' ) ;
6159 oe_debug_pub.add( 'ITEM_IDENTIFIER_TYPE : '||P_ITEM_IDENTIFIER_TYPE ) ;
6160 oe_debug_pub.add( 'INVENTORY_ITEM_ID : '||P_INVENTORY_ITEM_ID ) ;
6161 oe_debug_pub.add( 'ORDERED_ITEM_ID : '||P_ORDERED_ITEM_ID ) ;
6162 oe_debug_pub.add( 'SOLD_TO_ORG_ID : '||P_SOLD_TO_ORG_ID ) ;
6163 END IF;
6164
6165 IF NVL(p_item_identifier_type, 'INT') = 'INT' THEN
6166
6167 BEGIN
6168 SELECT concatenated_segments
6169 INTO x_ordered_item
6170 FROM MTL_SYSTEM_ITEMS_KFV
6171 WHERE inventory_item_id = p_inventory_item_id
6172 AND organization_id = l_organization_id;
6173
6174 EXCEPTION
6175 WHEN NO_DATA_FOUND THEN
6176 Null;
6177 When too_many_rows then
6178 Null;
6179 When others then
6180 Null;
6181 END;
6182 ELSIF NVL(p_item_identifier_type, 'INT') = 'CUST' and p_ordered_item_id is not null and p_sold_to_org_id is not null THEN
6183 BEGIN
6184 SELECT citems.customer_item_number
6185 INTO x_ordered_item
6186 FROM mtl_customer_items citems
6187 ,mtl_customer_item_xrefs cxref
6188 ,mtl_system_items_vl sitems
6189 WHERE citems.customer_item_id = cxref.customer_item_id
6190 AND cxref.inventory_item_id = sitems.inventory_item_id
6191 AND sitems.inventory_item_id = p_inventory_item_id
6192 AND sitems.organization_id = l_organization_id
6193 AND citems.customer_item_id = p_ordered_item_id
6194 AND citems.customer_id = p_sold_to_org_id;
6195
6196 EXCEPTION
6197 WHEN NO_DATA_FOUND THEN
6198 Null;
6199 When too_many_rows then
6200 Null;
6201 When others then
6202 Null;
6203 END;
6204 END IF;
6205 IF l_debug_level > 0 THEN
6206 oe_debug_pub.add( 'EXIT GET_ORDERED_ITEM PROCEDURE' ) ;
6207 END IF;
6208
6209 EXCEPTION
6210
6211 WHEN OTHERS THEN
6212
6213 IF OE_MSG_PUB.Check_Msg_Level(OE_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
6214 THEN
6215 OE_MSG_PUB.Add_Exc_Msg
6216 ( G_PKG_NAME
6217 , 'GET_ORDERED_ITEM'
6218 );
6219 END IF;
6220
6221 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
6222
6223 END GET_ORDERED_ITEM;
6224 /*--- Bug 1823073 end----- */
6225
6226 -- Bug 1713035
6227 -- This procedure is called from OEXOELIN.pld
6228 -- to delete the current line and all associated
6229 -- adjustments. This new procedure was added
6230 -- to reduce the number of calls to server side
6231 -- packages from the form.
6232 PROCEDURE Delete_Adjustments(x_line_id IN NUMBER) IS
6233
6234 l_return_status Varchar2(1);
6235
6236 --
6237 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
6238 --
6239 BEGIN
6240 OE_LINE_ADJ_UTIL.Delete_Row(p_line_id=>x_line_id);
6241
6242 /* 1905650
6243 This is no longer required, since G_PRICE_ADJ request
6244 is logged against LINE entity now
6245
6246 oe_debug_pub.add('delete the request logged for this line too');
6247 oe_delayed_requests_pvt.delete_request(
6248 p_entity_code =>OE_GLOBALS.G_ENTITY_LINE_ADJ,
6249 p_entity_id => x_line_id,
6250 p_request_type => OE_GLOBALS.G_PRICE_ADJ,
6251 x_return_status => l_return_status);
6252 */
6253
6254 END Delete_Adjustments;
6255
6256 PROCEDURE get_customer_details( p_site_use_id IN NUMBER,
6257 p_site_use_code IN VARCHAR2,
6258 x_customer_id OUT NOCOPY NUMBER,
6259 x_customer_name OUT NOCOPY VARCHAR2,
6260 x_customer_number OUT NOCOPY VARCHAR2
6261 ) IS
6262
6263 --
6264 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
6265 --
6266 BEGIN
6267
6268 /* 2172651*/
6269 select /* MOAC_SQL_CHANGE */ cust.cust_account_id,
6270 party.party_name,
6271 cust.account_number
6272 INTO x_customer_id,
6273 x_customer_name,
6274 x_customer_number
6275 from
6276 hz_cust_site_uses_all site,
6277 hz_cust_acct_sites_all cas,
6278 hz_cust_accounts cust,
6279 hz_parties party
6280 where site.site_use_code = p_site_use_code
6281 and site_use_id = p_site_use_id
6282 and site.cust_acct_site_id = cas.cust_acct_site_id
6283 and cas.cust_account_id = cust.cust_account_id
6284 and cust.party_id=party.party_id;
6285 /* 2172651*/
6286
6287 EXCEPTION
6288
6289 WHEN NO_DATA_FOUND THEN
6290 Null;
6291 When too_many_rows then
6292 Null;
6293 When others then
6294 Null;
6295
6296 END get_customer_details;
6297
6298 -- for 5331980 start**
6299 PROCEDURE Reset_calculate_line_total IS
6300 BEGIN
6301 OE_GLOBALS.G_CALCULATE_LINE_TOTAL := TRUE;
6302 END Reset_Calculate_line_Total;
6303 --for 5331980 end**
6304
6305 END oe_oe_form_line;