[Home] [Help]
PACKAGE BODY: APPS.OE_OE_FORM_LINE_PAYMENT
Source
1 PACKAGE BODY OE_OE_Form_Line_Payment AS
2 /* $Header: OEXFLPMB.pls 120.4.12010000.5 2009/12/08 12:48:31 msundara ship $ */
3
4 -- Global constant holding the package name
5
6 G_PKG_NAME CONSTANT VARCHAR2(30) := 'OE_OE_Form_Line_Payment';
7
8 -- Global variables holding cached record.
9
10 g_Line_Payment_rec OE_Order_PUB.Line_PAYMENT_Rec_Type;
11 g_db_Line_Payment_rec OE_Order_PUB.Line_PAYMENT_Rec_Type;
12
13 -- Forward declaration of procedures maintaining entity record cache.
14
15 PROCEDURE Write_Line_Payment
16 ( p_Line_Payment_rec IN OE_Order_PUB.Line_PAYMENT_Rec_Type
17 , p_db_record IN BOOLEAN := FALSE
18 );
19
20 PROCEDURE Get_Line_Payment
21 ( p_db_record IN BOOLEAN := FALSE
22 , p_payment_number IN NUMBER
23 , p_line_id IN NUMBER
24 , p_header_id IN NUMBER
25 , x_line_Payment_rec OUT NOCOPY OE_Order_PUB.Line_PAYMENT_Rec_Type
26 );
27
28 PROCEDURE Clear_Line_Payment;
29
30 -- Global variable holding performed operations.
31
32 g_opr__tbl OE_Order_PUB.Line_Payment_Tbl_Type;
33
34 -- Procedure : Default_Attributes
35 --
36
37 PROCEDURE Default_Attributes
38 ( x_return_status OUT NOCOPY VARCHAR2
39 , x_msg_count OUT NOCOPY NUMBER
40 , x_msg_data OUT NOCOPY VARCHAR2
41 , p_payment_number IN NUMBER
42 , p_line_id IN NUMBER
43 , x_payment_number OUT NOCOPY NUMBER
44 , x_attribute1 OUT NOCOPY VARCHAR2
45 , x_attribute2 OUT NOCOPY VARCHAR2
46 , x_attribute3 OUT NOCOPY VARCHAR2
47 , x_attribute4 OUT NOCOPY VARCHAR2
48 , x_attribute5 OUT NOCOPY VARCHAR2
49 , x_attribute6 OUT NOCOPY VARCHAR2
50 , x_attribute7 OUT NOCOPY VARCHAR2
51 , x_attribute8 OUT NOCOPY VARCHAR2
52 , x_attribute9 OUT NOCOPY VARCHAR2
53 , x_attribute10 OUT NOCOPY VARCHAR2
54 , x_attribute11 OUT NOCOPY VARCHAR2
55 , x_attribute12 OUT NOCOPY VARCHAR2
56 , x_attribute13 OUT NOCOPY VARCHAR2
57 , x_attribute14 OUT NOCOPY VARCHAR2
58 , x_attribute15 OUT NOCOPY VARCHAR2
59 , x_context OUT NOCOPY VARCHAR2
60 , x_header_id OUT NOCOPY NUMBER
61 , x_line_id OUT NOCOPY NUMBER
62 , x_check_number OUT NOCOPY VARCHAR2
63 , x_credit_card_approval_code OUT NOCOPY VARCHAR2
64 , x_credit_card_approval_date OUT NOCOPY DATE
65 , x_credit_card_code OUT NOCOPY VARCHAR2
66 , x_credit_card_expiration_date OUT NOCOPY DATE
67 , x_credit_card_holder_name OUT NOCOPY VARCHAR2
68 , x_credit_card_number OUT NOCOPY VARCHAR2
69 , x_payment_level_code OUT NOCOPY VARCHAR2
70 , x_commitment_applied_amount OUT NOCOPY NUMBER
71 , x_commitment_interfaced_amount OUT NOCOPY NUMBER
72 , x_payment_amount OUT NOCOPY NUMBER
73 , x_payment_collection_event OUT NOCOPY VARCHAR2
74 , x_payment_trx_id OUT NOCOPY NUMBER
75 , x_payment_type_code OUT NOCOPY VARCHAR2
76 , x_payment_set_id OUT NOCOPY NUMBER
77 , x_prepaid_amount OUT NOCOPY NUMBER
78 , x_receipt_method_id OUT NOCOPY NUMBER
79 , x_tangible_id OUT NOCOPY VARCHAR2
80 , x_receipt_method OUT NOCOPY VARCHAR2
81 , x_pmt_collection_event_name OUT NOCOPY VARCHAR2
82 , x_payment_type OUT NOCOPY VARCHAR2
83 , x_defer_processing_flag OUT NOCOPY VARCHAR2
84 , x_trxn_extension_id OUT NOCOPY NUMBER --R12 process order api changes
85 , x_instrument_security_code OUT NOCOPY VARCHAR2 --R12 CC Encryption
86 )
87 IS
88 l_Line_Payment_val_rec OE_Order_PUB.Line_Payment_Val_Rec_Type;
89 l_control_rec OE_GLOBALS.Control_Rec_Type;
90 l_return_status VARCHAR2(1);
91 l_x_Line_Payment_tbl OE_Order_PUB.Line_Payment_Tbl_Type;
92 l_x_Old_Line_Payment_tbl OE_Order_PUB.Line_Payment_Tbl_Type;
93
94 --
95 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
96 --
97 l_header_id NUMBER := NULL;
98
99 BEGIN
100
101 IF l_debug_level > 0 THEN
102 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_PAYMENT.DEFAULT_ATTRIBUTES' , 1 ) ;
103 END IF;
104
105 BEGIN
106
107 IF p_line_id is not null THEN
108
109 select header_id into l_header_id
110 from oe_order_lines_all
111 where line_id = p_line_id;
112
113 END IF;
114
115 END;
116
117 -- Set the UI flag
118 OE_GLOBALS.G_UI_FLAG := TRUE;
119
120 -- Set control flags.
121
122 l_control_rec.controlled_operation := TRUE;
123 l_control_rec.check_security := TRUE;
124 l_control_rec.default_attributes := TRUE;
125 l_control_rec.change_attributes := TRUE;
126
127 l_control_rec.clear_dependents := FALSE;
128 l_control_rec.validate_entity := FALSE;
129 l_control_rec.write_to_DB := FALSE;
130 l_control_rec.process := FALSE;
131
132 -- Instruct API to retain its caches
133
134 l_control_rec.clear_api_cache := FALSE;
135 l_control_rec.clear_api_requests := FALSE;
136
137 -- Load IN parameters if any exist
138 l_x_Line_Payment_tbl(1):=OE_ORDER_PUB.G_MISS_LINE_PAYMENT_REC;
139 l_x_old_Line_Payment_Tbl(1):=OE_ORDER_PUB.G_MISS_LINE_PAYMENT_REC;
140
141 l_x_Line_Payment_tbl(1).payment_number := p_payment_number;
142 l_x_Line_Payment_tbl(1).line_id := p_line_id;
143 l_x_Line_Payment_tbl(1).header_id := l_header_id;
144 l_x_Line_Payment_tbl(1).payment_collection_event := 'INVOICE';
145 l_x_Line_Payment_tbl(1).payment_level_code := 'LINE';
146
147
148 -- Defaulting of flex values is currently done by the form.
149 -- Set flex attributes to NULL in order to avoid defaulting them.
150
151 l_x_line_Payment_tbl(1).attribute1 := NULL;
152 l_x_line_Payment_tbl(1).attribute2 := NULL;
153 l_x_line_Payment_tbl(1).attribute3 := NULL;
154 l_x_line_Payment_tbl(1).attribute4 := NULL;
155 l_x_line_Payment_tbl(1).attribute5 := NULL;
156 l_x_line_Payment_tbl(1).attribute6 := NULL;
157 l_x_line_Payment_tbl(1).attribute7 := NULL;
158 l_x_line_Payment_tbl(1).attribute8 := NULL;
159 l_x_line_Payment_tbl(1).attribute9 := NULL;
160 l_x_line_Payment_tbl(1).attribute10 := NULL;
161 l_x_line_Payment_tbl(1).attribute11 := NULL;
162 l_x_line_Payment_tbl(1).attribute12 := NULL;
163 l_x_line_Payment_tbl(1).attribute13 := NULL;
164 l_x_line_Payment_tbl(1).attribute14 := NULL;
165 l_x_line_Payment_tbl(1).attribute15 := NULL;
166 l_x_line_Payment_tbl(1).context := NULL;
167
168 -- Set Operation to Create
169
170 l_x_Line_Payment_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE;
171
172 -- Populate Line_Payment table
173
174
175 -- Call OE_Order_PVT.Process_order
176
177
178 OE_Order_PVT.Line_Payments
179 ( p_validation_level => FND_API.G_VALID_LEVEL_NONE
180 , p_init_msg_list => FND_API.G_TRUE
181 , p_control_rec => l_control_rec
182 , p_x_Line_Payment_tbl => l_x_Line_Payment_tbl
183 , p_x_old_Line_Payment_tbl => l_x_old_Line_Payment_tbl
184 , x_return_Status => l_return_status
185 );
186
187 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
188 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
189 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
190 RAISE FND_API.G_EXC_ERROR;
191 END IF;
192
193 -- Load OUT parameters.
194
195 x_attribute1 := l_x_line_Payment_tbl(1).attribute1;
196 x_attribute10 := l_x_line_Payment_tbl(1).attribute10;
197 x_attribute11 := l_x_line_Payment_tbl(1).attribute11;
198 x_attribute12 := l_x_line_Payment_tbl(1).attribute12;
199 x_attribute13 := l_x_line_Payment_tbl(1).attribute13;
200 x_attribute14 := l_x_line_Payment_tbl(1).attribute14;
201 x_attribute15 := l_x_line_Payment_tbl(1).attribute15;
202 x_attribute2 := l_x_line_Payment_tbl(1).attribute2;
203 x_attribute3 := l_x_line_Payment_tbl(1).attribute3;
204 x_attribute4 := l_x_line_Payment_tbl(1).attribute4;
205 x_attribute5 := l_x_line_Payment_tbl(1).attribute5;
206 x_attribute6 := l_x_line_Payment_tbl(1).attribute6;
207 x_attribute7 := l_x_line_Payment_tbl(1).attribute7;
208 x_attribute8 := l_x_line_Payment_tbl(1).attribute8;
209 x_attribute9 := l_x_line_Payment_tbl(1).attribute9;
210 x_context := l_x_line_Payment_tbl(1).context;
211 x_payment_number := l_x_line_Payment_tbl(1).payment_number;
212 x_header_id := l_x_line_Payment_tbl(1).header_id;
213 x_line_id := l_x_line_Payment_tbl(1).line_id;
214 x_check_number := l_x_line_Payment_tbl(1).check_number;
215 x_credit_card_approval_code := l_x_line_Payment_tbl(1).credit_card_approval_code;
216 x_credit_card_approval_date := l_x_line_Payment_tbl(1).credit_card_approval_date;
217 x_credit_card_code := l_x_line_Payment_tbl(1).credit_card_code;
218 x_credit_card_expiration_date := l_x_line_Payment_tbl(1).credit_card_expiration_date;
219 x_credit_card_holder_name := l_x_line_Payment_tbl(1).credit_card_holder_name;
220 x_credit_card_number := l_x_line_Payment_tbl(1).credit_card_number;
221 x_payment_level_code := l_x_line_Payment_tbl(1).payment_level_code;
222 x_commitment_applied_amount := l_x_line_Payment_tbl(1).commitment_applied_amount;
223 x_commitment_interfaced_amount := l_x_line_Payment_tbl(1).commitment_interfaced_amount;
224 x_payment_amount := l_x_line_Payment_tbl(1).payment_amount;
225 x_payment_collection_event := l_x_line_Payment_tbl(1).payment_collection_event;
226 x_defer_processing_flag := l_x_line_Payment_tbl(1).defer_payment_processing_flag;
227 x_payment_trx_id := l_x_line_Payment_tbl(1).payment_trx_id;
228 x_payment_type_code := l_x_line_Payment_tbl(1).payment_type_code;
229 x_payment_set_id := l_x_line_Payment_tbl(1).payment_set_id;
230 x_prepaid_amount := l_x_line_Payment_tbl(1).prepaid_amount;
231 x_receipt_method_id := l_x_line_Payment_tbl(1).receipt_method_id;
232 x_tangible_id := l_x_line_Payment_tbl(1).tangible_id;
233 x_trxn_extension_id := l_x_line_Payment_tbl(1).trxn_extension_id; --R12 process order api changes
234 x_instrument_security_code := l_x_line_Payment_tbl(1).instrument_security_code; --R12 CC Encryption
235
236 -- Load display out parameters if any
237
238 l_Line_Payment_val_rec := OE_Line_Payment_Util.Get_Values
239 ( p_Line_Payment_rec => l_x_Line_Payment_tbl(1)
240 );
241 x_receipt_method := l_Line_Payment_val_rec.receipt_method;
242 x_pmt_collection_event_name := l_Line_Payment_val_rec.payment_collection_event_name;
243 x_payment_type := l_Line_Payment_val_rec.payment_type;
244
245 -- Write to cache.
246 -- Set db_flag to False before writing to cache
247
248 l_x_Line_Payment_tbl(1).db_flag := FND_API.G_FALSE;
249
250 Write_Line_Payment
251 ( p_Line_Payment_rec => l_x_Line_PAYMENT_tbl(1)
252 );
253
254 -- Re-set the UI flag to FALSE
255 OE_GLOBALS.G_UI_FLAG := FALSE;
256
257 -- Set return status.
258
259 x_return_status := FND_API.G_RET_STS_SUCCESS;
260
261 -- Get message count and data
262
263 oe_msg_pub.Count_And_Get
264 ( p_count => x_msg_count
265 , p_data => x_msg_data
266 );
267
268 IF l_debug_level > 0 THEN
269 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_Payment.DEFAULT_ATTRIBUTES' , 1 ) ;
270 END IF;
271
272 EXCEPTION
273
274 WHEN FND_API.G_EXC_ERROR THEN
275
276 OE_GLOBALS.G_UI_FLAG := FALSE;
277
278 x_return_status := FND_API.G_RET_STS_ERROR;
279
280 -- Get message count and data
281
282 oe_msg_pub.Count_And_Get
283 ( p_count => x_msg_count
284 , p_data => x_msg_data
285 );
286
287 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
288
289 OE_GLOBALS.G_UI_FLAG := FALSE;
290
291 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
292
293 -- Get message count and data
294
295 oe_msg_pub.Count_And_Get
296 ( p_count => x_msg_count
297 , p_data => x_msg_data
298 );
299
300 WHEN OTHERS THEN
301
302 OE_GLOBALS.G_UI_FLAG := FALSE;
303
304 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
305
306 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
307 THEN
308 oe_msg_pub.Add_Exc_Msg
309 ( G_PKG_NAME
310 , 'Default_Attributes'
311 );
312 END IF;
313
314 -- Get message count and data
315
316 oe_msg_pub.Count_And_Get
317 ( p_count => x_msg_count
318 , p_data => x_msg_data
319 );
320
321 END Default_Attributes;
322
323 -- Procedure : Change_Attribute
324 --
325
326 PROCEDURE Change_Attribute
327 ( x_return_status OUT NOCOPY VARCHAR2
328 , x_msg_count OUT NOCOPY NUMBER
329 , x_msg_data OUT NOCOPY VARCHAR2
330 , p_payment_number IN NUMBER
331 , p_line_id IN NUMBER
332 , p_header_id IN NUMBER
333 , p_attr_id IN NUMBER
334 , p_attr_value IN VARCHAR2
335 , p_attr_id_tbl IN Number_Tbl_Type --R12 CC Encryption
336 , p_attr_value_tbl IN Varchar2_Tbl_Type --R12 CC Encryption
337 , p_attribute1 IN VARCHAR2
338 , p_attribute2 IN VARCHAR2
339 , p_attribute3 IN VARCHAR2
340 , p_attribute4 IN VARCHAR2
341 , p_attribute5 IN VARCHAR2
342 , p_attribute6 IN VARCHAR2
343 , p_attribute7 IN VARCHAR2
344 , p_attribute8 IN VARCHAR2
345 , p_attribute9 IN VARCHAR2
346 , p_attribute10 IN VARCHAR2
347 , p_attribute11 IN VARCHAR2
348 , p_attribute12 IN VARCHAR2
349 , p_attribute13 IN VARCHAR2
350 , p_attribute14 IN VARCHAR2
351 , p_attribute15 IN VARCHAR2
352 , p_context IN VARCHAR2
353 , x_attribute1 OUT NOCOPY VARCHAR2
354 , x_attribute2 OUT NOCOPY VARCHAR2
355 , x_attribute3 OUT NOCOPY VARCHAR2
356 , x_attribute4 OUT NOCOPY VARCHAR2
357 , x_attribute5 OUT NOCOPY VARCHAR2
358 , x_attribute6 OUT NOCOPY VARCHAR2
359 , x_attribute7 OUT NOCOPY VARCHAR2
360 , x_attribute8 OUT NOCOPY VARCHAR2
361 , x_attribute9 OUT NOCOPY VARCHAR2
362 , x_attribute10 OUT NOCOPY VARCHAR2
363 , x_attribute11 OUT NOCOPY VARCHAR2
364 , x_attribute12 OUT NOCOPY VARCHAR2
365 , x_attribute13 OUT NOCOPY VARCHAR2
366 , x_attribute14 OUT NOCOPY VARCHAR2
367 , x_attribute15 OUT NOCOPY VARCHAR2
368 , x_context OUT NOCOPY VARCHAR2
369 , x_payment_number OUT NOCOPY NUMBER
370 , x_header_id OUT NOCOPY NUMBER
371 , x_line_id OUT NOCOPY NUMBER
372 , x_check_number OUT NOCOPY VARCHAR2
373 , x_credit_card_approval_code OUT NOCOPY VARCHAR2
374 , x_credit_card_approval_date OUT NOCOPY DATE
375 , x_credit_card_code OUT NOCOPY VARCHAR2
376 , x_credit_card_expiration_date OUT NOCOPY DATE
377 , x_credit_card_holder_name OUT NOCOPY VARCHAR2
378 , x_credit_card_number OUT NOCOPY VARCHAR2
379 , x_payment_level_code OUT NOCOPY VARCHAR2
380 , x_commitment_applied_amount OUT NOCOPY NUMBER
381 , x_commitment_interfaced_amount OUT NOCOPY NUMBER
382 , x_payment_amount OUT NOCOPY NUMBER
383 , x_payment_collection_event OUT NOCOPY VARCHAR2
384 , x_payment_trx_id OUT NOCOPY NUMBER
385 , x_payment_type_code OUT NOCOPY VARCHAR2
386 , x_payment_set_id OUT NOCOPY NUMBER
387 , x_prepaid_amount OUT NOCOPY NUMBER
388 , x_receipt_method_id OUT NOCOPY NUMBER
389 , x_tangible_id OUT NOCOPY VARCHAR2
390 , x_receipt_method OUT NOCOPY VARCHAR2
391 , x_pmt_collection_event_name OUT NOCOPY VARCHAR2
392 , x_payment_type OUT NOCOPY VARCHAR2
393 , x_defer_processing_flag OUT NOCOPY VARCHAR2
394 , x_instrument_security_code OUT NOCOPY VARCHAR2 --R12 CC Encryption
395 )
396 IS
397 l_Line_Payment_rec OE_Order_PUB.Line_PAYMENT_Rec_Type;
398 l_Line_Payment_val_rec OE_Order_PUB.Line_PAYMENT_Val_Rec_Type;
399 l_x_Line_Payment_tbl OE_Order_PUB.Line_PAYMENT_Tbl_Type;
400 l_x_old_Line_Payment_tbl OE_Order_PUB.Line_PAYMENT_Tbl_Type;
401 l_control_rec OE_GLOBALS.Control_Rec_Type;
402 l_return_status VARCHAR2(1);
403
404 --
405 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
406 --
407 l_date_format_mask VARCHAR2(30) := 'DD-MON-RRRR HH24:MI:SS';
408
409 BEGIN
410
411 IF l_debug_level > 0 THEN
412 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_PAYMENT.CHANGE_ATTRIBUTE' , 1 ) ;
413 END IF;
414
415 -- Set the UI flag
416 OE_GLOBALS.G_UI_FLAG := TRUE;
417
418 -- Set control flags.
419
420 l_control_rec.controlled_operation := TRUE;
421 l_control_rec.check_security := TRUE;
422 l_control_rec.clear_dependents := TRUE;
423 l_control_rec.default_attributes := TRUE;
424 l_control_rec.change_attributes := TRUE;
425
426 l_control_rec.validate_entity := FALSE;
427 l_control_rec.write_to_DB := FALSE;
428 l_control_rec.process := FALSE;
429
430 -- Instruct API to retain its caches
431
432 l_control_rec.clear_api_cache := FALSE;
433 l_control_rec.clear_api_requests := FALSE;
434
435 -- Read Line_Payment from cache
436 Get_Line_Payment
437 ( p_db_record => FALSE
438 , p_payment_number => p_payment_number
439 , p_line_id => p_line_id
440 , p_header_id => p_header_id
441 , x_line_Payment_rec => l_x_Line_PAYMENT_tbl(1)
442 );
443
444 l_x_old_Line_Payment_tbl(1) := l_x_Line_PAYMENT_tbl(1);
445
446
447
448 --R12 CC Encryption
449 --The change attribute is now changed to handle change attributes
450 --for multiple attributes in a single call. To support this, a
451 --new procedure Copy_Attribute_To_Rec has been introduced. For any
452 --new attributes that is added, the handling is done in this new
453 --procedure going forward.
454
455 Copy_Attribute_To_Rec
456 ( p_attr_id => p_attr_id
457 , p_attr_value => p_attr_value
458 , x_line_payment_tbl => l_x_Line_PAYMENT_tbl
459 , x_old_line_payment_tbl => l_x_old_Line_Payment_tbl
460 , p_attribute1 => p_attribute1
461 , p_attribute2 => p_attribute2
462 , p_attribute3 => p_attribute3
463 , p_attribute4 => p_attribute4
464 , p_attribute5 => p_attribute5
465 , p_attribute6 => p_attribute6
466 , p_attribute7 => p_attribute7
467 , p_attribute8 => p_attribute8
468 , p_attribute9 => p_attribute9
469 , p_attribute10 => p_attribute10
470 , p_attribute11 => p_attribute11
471 , p_attribute12 => p_attribute12
472 , p_attribute13 => p_attribute13
473 , p_attribute14 => p_attribute14
474 , p_attribute15 => p_attribute15
475 , p_context => p_context
476 );
477
478 FOR l_index IN 1..p_attr_id_tbl.COUNT LOOP
479
480 Copy_Attribute_To_Rec
481 (p_attr_id => p_attr_id_tbl(l_index)
482 ,p_attr_value => p_attr_value_tbl(l_index)
483 ,x_line_payment_tbl => l_x_Line_PAYMENT_tbl
484 ,x_old_line_payment_tbl => l_x_old_Line_Payment_tbl
485 , p_attribute1 => p_attribute1
486 , p_attribute2 => p_attribute2
487 , p_attribute3 => p_attribute3
488 , p_attribute4 => p_attribute4
489 , p_attribute5 => p_attribute5
490 , p_attribute6 => p_attribute6
491 , p_attribute7 => p_attribute7
492 , p_attribute8 => p_attribute8
493 , p_attribute9 => p_attribute9
494 , p_attribute10 => p_attribute10
495 , p_attribute11 => p_attribute11
496 , p_attribute12 => p_attribute12
497 , p_attribute13 => p_attribute13
498 , p_attribute14 => p_attribute14
499 , p_attribute15 => p_attribute15
500 , p_context => p_context
501 );
502
503 END LOOP;
504
505
506 -- Set Operation.
507
508 IF FND_API.To_Boolean(l_x_Line_Payment_tbl(1).db_flag) THEN
509 l_x_Line_Payment_tbl(1).operation := OE_GLOBALS.G_OPR_UPDATE;
510 ELSE
511 l_x_Line_Payment_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE;
512 END IF;
513
514 -- Populate Line_Payment table
515 l_line_Payment_rec:=l_x_Line_PAYMENT_Tbl(1);
516 -- Call OE_Order_PVT.Process_order
517 oe_debug_pub.add('ren: before Line_Payments: ' || p_attr_id);
518 --oe_debug_pub.add('New Card number'||l_x_Line_PAYMENT_tbl(1).credit_card_number);
519 --oe_debug_pub.add('New Card holder'||l_x_Line_PAYMENT_tbl(1).credit_card_holder_name);
520 --oe_debug_pub.add('Old card number'||l_x_old_Line_PAYMENT_tbl(1).credit_card_number);
521
522 OE_Order_PVT.Line_Payments
523 (
524 p_validation_level => FND_API.G_VALID_LEVEL_NONE
525 , p_init_msg_list => FND_API.G_TRUE
526 , p_control_rec => l_control_rec
527 , p_x_Line_Payment_tbl => l_x_Line_PAYMENT_tbl
528 , p_x_old_Line_Payment_tbl => l_x_old_Line_PAYMENT_tbl
529 , x_return_status => l_return_status
530 );
531
532 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
533 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
534 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
535 RAISE FND_API.G_EXC_ERROR;
536 END IF;
537
538 oe_debug_pub.add('ren: before Line_Payments: ' || p_attr_id);
539 --oe_debug_pub.add('New Card number'||l_x_Line_PAYMENT_tbl(1).credit_card_number);
540 --oe_debug_pub.add('New Card holder'||l_x_Line_PAYMENT_tbl(1).credit_card_holder_name);
541 --oe_debug_pub.add('Old card number'||l_Line_Payment_rec.credit_card_number);
542 -- Init OUT parameters to missing.
543
544 x_attribute1 := FND_API.G_MISS_CHAR;
545 x_attribute2 := FND_API.G_MISS_CHAR;
546 x_attribute3 := FND_API.G_MISS_CHAR;
547 x_attribute4 := FND_API.G_MISS_CHAR;
548 x_attribute5 := FND_API.G_MISS_CHAR;
549 x_attribute6 := FND_API.G_MISS_CHAR;
550 x_attribute7 := FND_API.G_MISS_CHAR;
551 x_attribute8 := FND_API.G_MISS_CHAR;
552 x_attribute9 := FND_API.G_MISS_CHAR;
553 x_attribute10 := FND_API.G_MISS_CHAR;
554 x_attribute11 := FND_API.G_MISS_CHAR;
555 x_attribute12 := FND_API.G_MISS_CHAR;
556 x_attribute13 := FND_API.G_MISS_CHAR;
557 x_attribute14 := FND_API.G_MISS_CHAR;
558 x_attribute15 := FND_API.G_MISS_CHAR;
559 x_context := FND_API.G_MISS_CHAR;
560 x_check_number := FND_API.G_MISS_CHAR;
561 x_credit_card_approval_code := FND_API.G_MISS_CHAR;
562 x_credit_card_approval_date := FND_API.G_MISS_DATE;
563 x_credit_card_code := FND_API.G_MISS_CHAR;
564 x_credit_card_expiration_date := FND_API.G_MISS_DATE;
565 x_credit_card_holder_name := FND_API.G_MISS_CHAR;
566 x_credit_card_number := FND_API.G_MISS_CHAR;
567 x_payment_level_code := FND_API.G_MISS_CHAR;
568 x_commitment_applied_amount := FND_API.G_MISS_NUM;
569 x_commitment_interfaced_amount := FND_API.G_MISS_NUM;
570 x_payment_number := FND_API.G_MISS_NUM;
571 x_header_id := FND_API.G_MISS_NUM;
572 x_line_id := FND_API.G_MISS_NUM;
573 x_payment_amount := FND_API.G_MISS_NUM;
574 x_payment_collection_event := FND_API.G_MISS_CHAR;
575 x_payment_trx_id := FND_API.G_MISS_NUM;
576 x_payment_type_code := FND_API.G_MISS_CHAR;
577 x_payment_set_id := FND_API.G_MISS_NUM;
578 x_prepaid_amount := FND_API.G_MISS_NUM;
579 x_receipt_method_id := FND_API.G_MISS_NUM;
580 x_tangible_id := FND_API.G_MISS_CHAR;
581 x_defer_processing_flag := FND_API.G_MISS_CHAR;
582 x_instrument_security_code := FND_API.G_MISS_CHAR; --R12 Cc encryption
583
584 -- Load display out parameters if any
585
586 l_Line_Payment_val_rec := OE_Line_PAYMENT_Util.Get_Values
587 ( p_Line_Payment_rec => l_x_Line_PAYMENT_tbl(1)
588 , p_old_Line_Payment_rec => l_Line_PAYMENT_rec
589 );
590
591 -- Return changed attributes.
592
593 IF NOT OE_GLOBALS.Equal(l_x_line_Payment_tbl(1).attribute1,
594 l_Line_Payment_rec.attribute1)
595 THEN
596 x_attribute1 := l_x_line_Payment_tbl(1).attribute1;
597 END IF;
598
599 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).attribute2,
600 l_Line_Payment_rec.attribute2)
601 THEN
602 x_attribute2 := l_x_Line_Payment_Tbl(1).attribute2;
603 END IF;
604
605 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).attribute3,
606 l_Line_Payment_rec.attribute3)
607 THEN
608 x_attribute3 := l_x_Line_Payment_Tbl(1).attribute3;
609 END IF;
610
611 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).attribute4,
612 l_Line_Payment_rec.attribute4)
613 THEN
614 x_attribute4 := l_x_Line_Payment_Tbl(1).attribute4;
615 END IF;
616
617 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).attribute5,
618 l_Line_Payment_rec.attribute5)
619 THEN
620 x_attribute5 := l_x_Line_Payment_Tbl(1).attribute5;
621 END IF;
622
623 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).attribute6,
624 l_Line_Payment_rec.attribute6)
625 THEN
626 x_attribute6 := l_x_Line_Payment_Tbl(1).attribute6;
627 END IF;
628
629 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).attribute7,
630 l_Line_Payment_rec.attribute7)
631 THEN
632 x_attribute7 := l_x_Line_Payment_Tbl(1).attribute7;
633 END IF;
634
635 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).attribute8,
636 l_Line_Payment_rec.attribute8)
637 THEN
638 x_attribute8 := l_x_Line_Payment_Tbl(1).attribute8;
639 END IF;
640
641 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).attribute9,
642 l_Line_Payment_rec.attribute9)
643 THEN
644 x_attribute9 := l_x_Line_Payment_Tbl(1).attribute9;
645 END IF;
646
647 IF NOT OE_GLOBALS.Equal(l_x_line_Payment_tbl(1).attribute10,
648 l_Line_Payment_rec.attribute10)
649 THEN
650 x_attribute10 := l_x_line_Payment_tbl(1).attribute10;
651 END IF;
652
653 IF NOT OE_GLOBALS.Equal(l_x_line_Payment_tbl(1).attribute11,
654 l_Line_Payment_rec.attribute11)
655 THEN
656 x_attribute11 := l_x_line_Payment_tbl(1).attribute11;
657 END IF;
658
659 IF NOT OE_GLOBALS.Equal(l_x_line_Payment_tbl(1).attribute12,
660 l_Line_Payment_rec.attribute12)
661 THEN
662 x_attribute12 := l_x_line_Payment_tbl(1).attribute12;
663 END IF;
664
665 IF NOT OE_GLOBALS.Equal(l_x_line_Payment_tbl(1).attribute13,
666 l_Line_Payment_rec.attribute13)
667 THEN
668 x_attribute13 := l_x_line_Payment_tbl(1).attribute13;
669 END IF;
670
671 IF NOT OE_GLOBALS.Equal(l_x_line_Payment_tbl(1).attribute14,
672 l_Line_Payment_rec.attribute14)
673 THEN
674 x_attribute14 := l_x_line_Payment_tbl(1).attribute14;
675 END IF;
676
677 IF NOT OE_GLOBALS.Equal(l_x_line_Payment_tbl(1).attribute15,
678 l_Line_Payment_rec.attribute15)
679 THEN
680 x_attribute15 := l_x_line_Payment_tbl(1).attribute15;
681 END IF;
682
683 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).context,
684 l_Line_Payment_rec.context)
685 THEN
686 x_context := l_x_Line_Payment_Tbl(1).context;
687 END IF;
688
689 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).payment_number,
690 l_Line_Payment_rec.payment_number)
691 THEN
692 x_payment_number := l_x_Line_Payment_Tbl(1).payment_number;
693 END IF;
694
695 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).header_id,
696 l_Line_Payment_rec.header_id)
697 THEN
698 x_header_id := l_x_Line_Payment_Tbl(1).header_id;
699 END IF;
700
701 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).line_id,
702 l_Line_Payment_rec.line_id)
703 THEN
704 x_line_id := l_x_Line_Payment_Tbl(1).line_id;
705 END IF;
706
707 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).check_number,
708 l_Line_Payment_rec.check_number)
709 THEN
710 x_check_number := l_x_Line_Payment_Tbl(1).check_number;
711 END IF;
712
713 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).credit_card_approval_code,
714 l_Line_Payment_rec.credit_card_approval_code)
715 THEN
716 x_credit_card_approval_code := l_x_Line_Payment_Tbl(1).credit_card_approval_code;
717 END IF;
718
719 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).credit_card_approval_date,
720 l_Line_Payment_rec.credit_card_approval_date)
721 THEN
722 x_credit_card_approval_date := l_x_Line_Payment_Tbl(1).credit_card_approval_date;
723 END IF;
724
725 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).credit_card_code,
726 l_Line_Payment_rec.credit_card_code)
727 THEN
728 x_credit_card_code := l_x_Line_Payment_Tbl(1).credit_card_code;
729 END IF;
730
731 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).credit_card_expiration_date,
732 l_Line_Payment_rec.credit_card_expiration_date)
733 THEN
734 x_credit_card_expiration_date := l_x_Line_Payment_Tbl(1).credit_card_expiration_date;
735 END IF;
736
737 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).credit_card_holder_name,
738 l_Line_Payment_rec.credit_card_holder_name)
739 THEN
740 x_credit_card_holder_name := l_x_Line_Payment_Tbl(1).credit_card_holder_name;
741 END IF;
742
743 IF NOT OE_GLOBALS.Is_Same_Credit_Card(l_Line_Payment_rec.credit_card_number,
744 l_x_Line_Payment_Tbl(1).credit_card_number,
745 l_Line_Payment_rec.cc_instrument_id,
746 l_x_Line_Payment_Tbl(1).cc_instrument_id)
747 THEN
748 x_credit_card_number := l_x_Line_Payment_Tbl(1).credit_card_number;
749 END IF;
750
751 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).payment_level_code,
752 l_Line_Payment_rec.payment_level_code)
753 THEN
754 x_payment_level_code := l_x_Line_Payment_Tbl(1).payment_level_code;
755 END IF;
756
757 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).commitment_applied_amount,
758 l_Line_Payment_rec.commitment_applied_amount)
759 THEN
760 x_commitment_applied_amount := l_x_Line_Payment_Tbl(1).commitment_applied_amount;
761 END IF;
762
763 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).commitment_interfaced_amount,
764 l_Line_Payment_rec.commitment_interfaced_amount)
765 THEN
766 x_commitment_interfaced_amount := l_x_Line_Payment_Tbl(1).commitment_interfaced_amount;
767 END IF;
768
769 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).payment_amount,
770 l_Line_Payment_rec.payment_amount)
771 THEN
772 x_payment_amount := l_x_Line_Payment_Tbl(1).payment_amount;
773 END IF;
774
775 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).payment_collection_event,
776 l_Line_Payment_rec.payment_collection_event)
777 THEN
778 x_payment_collection_event := l_x_Line_Payment_Tbl(1).payment_collection_event;
779 x_pmt_collection_event_name := l_Line_Payment_Val_Rec.payment_collection_event_name;
780 END IF;
781
782 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).defer_payment_processing_flag,
783 l_Line_Payment_rec.defer_payment_processing_flag)
784 THEN
785 x_defer_processing_flag := l_x_Line_Payment_Tbl(1).defer_payment_processing_flag;
786 END IF;
787
788 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).payment_trx_id,
789 l_Line_Payment_rec.payment_trx_id)
790 THEN
791 x_payment_trx_id := l_x_Line_Payment_Tbl(1).payment_trx_id;
792 END IF;
793
794 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).payment_type_code,
795 l_Line_Payment_rec.payment_type_code)
796 THEN
797 x_payment_type_code := l_x_Line_Payment_Tbl(1).payment_type_code;
798 x_payment_type := l_Line_Payment_Val_rec.payment_type;
799 END IF;
800
801 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).payment_set_id,
802 l_Line_Payment_rec.payment_set_id)
803 THEN
804 x_payment_set_id := l_x_Line_Payment_Tbl(1).payment_set_id;
805 END IF;
806
807 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).prepaid_amount,
808 l_Line_Payment_rec.prepaid_amount)
809 THEN
810 x_prepaid_amount := l_x_Line_Payment_Tbl(1).prepaid_amount;
811 END IF;
812
813 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).receipt_method_id,
814 l_Line_Payment_rec.receipt_method_id)
815 THEN
816 x_receipt_method_id := l_x_Line_Payment_Tbl(1).receipt_method_id;
817 x_receipt_method := l_Line_Payment_Val_rec.receipt_method;
818 END IF;
819
820 --R12 CC Encryption
821 IF NOT OE_GLOBALS.Equal(l_x_Line_Payment_Tbl(1).instrument_security_code,
822 l_Line_Payment_rec.instrument_security_code) THEN
823 x_instrument_security_code := l_x_Line_Payment_Tbl(1).instrument_security_code;
824 END IF;
825
826 --If defaulting is enabled for credit card number, then need to populate the
827 --instrument id and instrument assignment id returned by the Payments API in
828 --OE_Default_Pvt package
829
830 IF OE_Default_Pvt.g_default_instrument_id IS NOT NULL THEN
831 l_x_Line_PAYMENT_tbl(1).cc_instrument_id := OE_Default_Pvt.g_default_instrument_id;
832 IF l_debug_level > 0 THEN
833 oe_debug_pub.add('instr id in fhpmb for defaulting'||l_x_Line_PAYMENT_tbl(1).cc_instrument_id);
834 END IF;
835 --Setting the value of assignment id to null
836 --after passing the value to the cache
837 OE_Default_Pvt.g_default_instrument_id := null;
838 END IF;
839
840 IF OE_Default_Pvt.g_default_instr_assignment_id IS NOT NULL THEN
841 l_x_Line_PAYMENT_tbl(1).cc_instrument_assignment_id := OE_Default_Pvt.g_default_instr_assignment_id;
842 IF l_debug_level > 0 THEN
843 oe_debug_pub.add('assign id in fhpmb for defaulting'||l_x_Line_PAYMENT_tbl(1).cc_instrument_assignment_id);
844 END IF;
845 --Setting the value of assignment id to null
846 --after passing the value to the cache
847 OE_Default_Pvt.g_default_instr_assignment_id := null;
848 END IF;
849 --R12 CC Encryption
850
851 -- Write to cache.
852
853 Write_Line_Payment
854 ( p_Line_Payment_rec => l_x_Line_PAYMENT_tbl(1)
855 );
856
857 -- Re-set the UI flag to FALSE
858 OE_GLOBALS.G_UI_FLAG := FALSE;
859
860 -- Set return status.
861
862 x_return_status := FND_API.G_RET_STS_SUCCESS;
863
864 -- Get message count and data
865
866 oe_msg_pub.Count_And_Get
867 ( p_count => x_msg_count
868 , p_data => x_msg_data
869 );
870
871 IF l_debug_level > 0 THEN
872 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_PAYMENT.CHANGE_ATTRIBUTE' , 1 ) ;
873 END IF;
874
875 EXCEPTION
876
877 WHEN FND_API.G_EXC_ERROR THEN
878
879 OE_GLOBALS.G_UI_FLAG := FALSE;
880
881 x_return_status := FND_API.G_RET_STS_ERROR;
882
883 -- Get message count and data
884
885 oe_msg_pub.Count_And_Get
886 ( p_count => x_msg_count
887 , p_data => x_msg_data
888 );
889
890 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
891
892 OE_GLOBALS.G_UI_FLAG := FALSE;
893
894 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
895
896 -- Get message count and data
897
898 oe_msg_pub.Count_And_Get
899 ( p_count => x_msg_count
900 , p_data => x_msg_data
901 );
902
903 WHEN OTHERS THEN
904
905 OE_GLOBALS.G_UI_FLAG := FALSE;
906
907 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
908
909 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
910 THEN
911 oe_msg_pub.Add_Exc_Msg
912 ( G_PKG_NAME
913 , 'Change_Attribute'
914 );
915 END IF;
916
917 -- Get message count and data
918
919 oe_msg_pub.Count_And_Get
920 ( p_count => x_msg_count
921 , p_data => x_msg_data
922 );
923
924 END Change_Attribute;
925
926 -- R12 CC Encryption
927 -- Procedure Copy_Attribute_To_Rec
928 -- This procedure is introduced in R12 to support
929 -- change attribute call for multiple attributes at one time
930 -- New attributes introduced going forward would have the code
931 -- in this procedure for change attributes.
932
933 PROCEDURE Copy_Attribute_To_Rec
934 ( p_attr_id IN NUMBER
935 , p_attr_value IN VARCHAR2
936 , x_line_payment_tbl IN OUT NOCOPY OE_Order_PUB.Line_PAYMENT_Tbl_Type
937 , x_old_line_payment_tbl IN OUT NOCOPY OE_Order_PUB.Line_PAYMENT_Tbl_Type
938 , p_attribute1 IN VARCHAR2
939 , p_attribute2 IN VARCHAR2
940 , p_attribute3 IN VARCHAR2
941 , p_attribute4 IN VARCHAR2
942 , p_attribute5 IN VARCHAR2
943 , p_attribute6 IN VARCHAR2
944 , p_attribute7 IN VARCHAR2
945 , p_attribute8 IN VARCHAR2
946 , p_attribute9 IN VARCHAR2
947 , p_attribute10 IN VARCHAR2
948 , p_attribute11 IN VARCHAR2
949 , p_attribute12 IN VARCHAR2
950 , p_attribute13 IN VARCHAR2
951 , p_attribute14 IN VARCHAR2
952 , p_attribute15 IN VARCHAR2
953 , p_context IN VARCHAR2)
954 IS
955 l_date_format_mask VARCHAR2(30) := 'DD-MON-RRRR HH24:MI:SS';
956 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
957 BEGIN
958
959 IF l_debug_level > 0 THEN
960 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_PAYMENT.Copy_Attribute_To_Rec' , 1 ) ;
961 oe_debug_pub.add(' p_attr_id is : ' || p_attr_id);
962 oe_debug_pub.add(' value is '||p_attr_value);
963 END IF;
964
965 IF p_attr_id = OE_Line_Payment_Util.G_CHECK_NUMBER THEN
966 x_line_payment_tbl(1).check_number := p_attr_value;
967 ELSIF p_attr_id = OE_Line_Payment_Util.G_CREDIT_CARD_APPROVAL_CODE THEN
968 x_line_payment_tbl(1).credit_card_approval_code := p_attr_value;
969 ELSIF p_attr_id = OE_Line_Payment_Util.G_CREDIT_CARD_APPROVAL_DATE THEN
970 -- x_line_payment_tbl(1).credit_card_approval_date := TO_DATE(p_attr_value, l_date_format_mask);
971 x_line_payment_tbl(1).credit_card_approval_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
972 ELSIF p_attr_id = OE_Line_Payment_Util.G_CREDIT_CARD_CODE THEN
973 x_line_payment_tbl(1).credit_card_code := p_attr_value;
974 ELSIF p_attr_id = OE_Line_Payment_Util.G_CREDIT_CARD_EXPIRATION_DATE THEN
975 -- x_line_payment_tbl(1).credit_card_expiration_date := TO_DATE(p_attr_value, l_date_format_mask);
976 x_line_payment_tbl(1).credit_card_expiration_date := fnd_date.string_TO_DATE(p_attr_value, l_date_format_mask); --bug5402396
977 ELSIF p_attr_id = OE_Line_Payment_Util.G_CREDIT_CARD_HOLDER_NAME THEN
978 x_line_payment_tbl(1).credit_card_holder_name := p_attr_value;
979 ELSIF p_attr_id = OE_Line_Payment_Util.G_CREDIT_CARD_NUMBER THEN
980 x_line_payment_tbl(1).credit_card_number := p_attr_value;
981 ELSIF p_attr_id = OE_Line_Payment_Util.G_PAYMENT_LEVEL_CODE THEN
982 x_line_payment_tbl(1).payment_level_code := p_attr_value;
983 ELSIF p_attr_id = OE_Line_Payment_Util.G_COMMITMENT_APPLIED_AMOUNT THEN
984 x_line_Payment_tbl(1).commitment_applied_amount := TO_NUMBER(p_attr_value);
985 ELSIF p_attr_id = OE_Line_Payment_Util.G_COMMITMENT_INTERFACED_AMOUNT THEN
986 x_line_Payment_tbl(1).commitment_interfaced_amount := TO_NUMBER(p_attr_value);
987 ELSIF p_attr_id = OE_Line_Payment_Util.G_PAYMENT_NUMBER THEN
988 x_line_Payment_tbl(1).payment_number := TO_NUMBER(p_attr_value);
989 ELSIF p_attr_id = OE_Line_Payment_Util.G_LINE THEN
990 x_line_Payment_tbl(1).line_id := TO_NUMBER(p_attr_value);
991 ELSIF p_attr_id = OE_Line_Payment_Util.G_LINE THEN
992 x_line_Payment_tbl(1).line_id := TO_NUMBER(p_attr_value);
993 ELSIF p_attr_id = OE_Line_Payment_Util.G_PAYMENT_AMOUNT THEN
994 x_line_Payment_tbl(1).payment_amount := TO_NUMBER(p_attr_value);
995 ELSIF p_attr_id = OE_Line_Payment_Util.G_PAYMENT_COLLECTION_EVENT THEN
996 x_line_Payment_tbl(1).payment_collection_event := p_attr_value;
997 ELSIF p_attr_id = OE_Line_Payment_Util.G_PAYMENT_TRX_ID THEN
998 x_line_Payment_tbl(1).payment_trx_id := TO_NUMBER(p_attr_value);
999 ELSIF p_attr_id = OE_Line_Payment_Util.G_PAYMENT_TYPE_CODE THEN
1000 x_line_Payment_tbl(1).payment_type_code := p_attr_value;
1001 ELSIF p_attr_id = OE_Line_Payment_Util.G_PAYMENT_SET_ID THEN
1002 x_line_Payment_tbl(1).payment_set_id := TO_NUMBER(p_attr_value);
1003 ELSIF p_attr_id = OE_Line_Payment_Util.G_PREPAID_AMOUNT THEN
1004 x_line_Payment_tbl(1).prepaid_amount := TO_NUMBER(p_attr_value);
1005 ELSIF p_attr_id = OE_Line_Payment_Util.G_RECEIPT_METHOD_ID THEN
1006 x_line_Payment_tbl(1).receipt_method_id := TO_NUMBER(p_attr_value);
1007 ELSIF p_attr_id = OE_Line_Payment_Util.G_TANGIBLE_ID THEN
1008 x_line_Payment_tbl(1).tangible_id := p_attr_value;
1009 ELSIF p_attr_id = OE_Line_Payment_Util.G_INSTRUMENT_SECURITY_CODE THEN --R12 Cc encryption
1010 x_line_Payment_tbl(1).instrument_security_code := p_attr_value;
1011 ELSIF p_attr_id = OE_Line_Payment_Util.G_CC_INSTRUMENT_ID THEN --R12 CC encryption
1012 x_line_Payment_tbl(1).cc_instrument_id := p_attr_value;
1013 ELSIF p_attr_id = OE_Line_Payment_Util.G_CC_INSTRUMENT_ASSIGNMENT_ID THEN --R12 CC encryption
1014 x_line_Payment_tbl(1).cc_instrument_assignment_id := p_attr_value;
1015 ELSIF p_attr_id = OE_LINE_PAYMENT_UTIL.G_DEFER_PROCESSING_FLAG THEN
1016 x_line_Payment_tbl(1).defer_payment_processing_flag := p_attr_value;
1017 ELSIF p_attr_id = OE_Line_Payment_Util.G_ATTRIBUTE1
1018 OR p_attr_id = OE_Line_Payment_Util.G_ATTRIBUTE2
1019 OR p_attr_id = OE_Line_Payment_Util.G_ATTRIBUTE3
1020 OR p_attr_id = OE_Line_Payment_Util.G_ATTRIBUTE4
1021 OR p_attr_id = OE_Line_Payment_Util.G_ATTRIBUTE5
1022 OR p_attr_id = OE_Line_Payment_Util.G_ATTRIBUTE6
1023 OR p_attr_id = OE_Line_Payment_Util.G_ATTRIBUTE7
1024 OR p_attr_id = OE_Line_Payment_Util.G_ATTRIBUTE8
1025 OR p_attr_id = OE_Line_Payment_Util.G_ATTRIBUTE9
1026 OR p_attr_id = OE_Line_Payment_Util.G_ATTRIBUTE10
1027 OR p_attr_id = OE_Line_Payment_Util.G_ATTRIBUTE11
1028 OR p_attr_id = OE_Line_Payment_Util.G_ATTRIBUTE12
1029 OR p_attr_id = OE_Line_Payment_Util.G_ATTRIBUTE13
1030 OR p_attr_id = OE_Line_Payment_Util.G_ATTRIBUTE14
1031 OR p_attr_id = OE_Line_Payment_Util.G_ATTRIBUTE15
1032 OR p_attr_id = OE_Line_Payment_Util.G_CONTEXT
1033 THEN
1034
1035 x_line_Payment_tbl(1).attribute1 := p_attribute1;
1036 x_line_Payment_tbl(1).attribute2 := p_attribute2;
1037 x_line_Payment_tbl(1).attribute3 := p_attribute3;
1038 x_line_Payment_tbl(1).attribute4 := p_attribute4;
1039 x_line_Payment_tbl(1).attribute5 := p_attribute5;
1040 x_line_Payment_tbl(1).attribute6 := p_attribute6;
1041 x_line_Payment_tbl(1).attribute7 := p_attribute7;
1042 x_line_Payment_tbl(1).attribute8 := p_attribute8;
1043 x_line_Payment_tbl(1).attribute9 := p_attribute9;
1044 x_line_Payment_tbl(1).attribute10 := p_attribute10;
1045 x_line_Payment_tbl(1).attribute11 := p_attribute11;
1046 x_line_Payment_tbl(1).attribute12 := p_attribute12;
1047 x_line_Payment_tbl(1).attribute13 := p_attribute13;
1048 x_line_Payment_tbl(1).attribute14 := p_attribute14;
1049 x_line_Payment_tbl(1).attribute15 := p_attribute15;
1050 x_line_Payment_tbl(1).context := p_context;
1051
1052 ELSE
1053
1054 -- Unexpected error, unrecognized attribute
1055
1056 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1057 THEN
1058 oe_msg_pub.Add_Exc_Msg
1059 ( G_PKG_NAME
1060 , 'Copy_Attribute_To_Rec'
1061 , 'Unrecognized attribute'
1062 );
1063 END IF;
1064
1065 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1066
1067 END IF;
1068 EXCEPTION
1069 WHEN OTHERS THEN
1070 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1071 THEN
1072 oe_msg_pub.Add_Exc_Msg
1073 ( G_PKG_NAME
1074 , 'Copy_Attribute_To_Rec'
1075 );
1076 END IF;
1077 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1078 END Copy_Attribute_To_Rec;
1079 -- R12 CC Encryption
1080
1081
1082 -- Procedure Validate_And_Write
1083 --
1084
1085 PROCEDURE Validate_And_Write
1086 ( x_return_status OUT NOCOPY VARCHAR2
1087 , x_msg_count OUT NOCOPY NUMBER
1088 , x_msg_data OUT NOCOPY VARCHAR2
1089 , p_payment_number IN NUMBER
1090 , p_line_id IN NUMBER
1091 , p_header_id IN NUMBER
1092 , x_creation_date OUT NOCOPY DATE
1093 , x_created_by OUT NOCOPY NUMBER
1094 , x_last_update_date OUT NOCOPY DATE
1095 , x_last_updated_by OUT NOCOPY NUMBER
1096 , x_last_update_login OUT NOCOPY NUMBER
1097 , x_program_id OUT NOCOPY NUMBER
1098 , x_program_application_id OUT NOCOPY NUMBER
1099 , x_program_update_date OUT NOCOPY DATE
1100 , x_request_id OUT NOCOPY NUMBER
1101 , x_lock_control OUT NOCOPY NUMBER
1102 )
1103 IS
1104 l_x_old_Line_Payment_tbl OE_Order_PUB.Line_PAYMENT_Tbl_Type;
1105 l_control_rec OE_GLOBALS.Control_Rec_Type;
1106 l_return_status VARCHAR2(1);
1107 l_x_Line_Payment_tbl OE_Order_PUB.Line_PAYMENT_Tbl_Type;
1108
1109 --
1110 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1111 --
1112 BEGIN
1113
1114 IF l_debug_level > 0 THEN
1115 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_Payment.VALIDATE_AND_WRITE' , 1 ) ;
1116 END IF;
1117
1118 -- Set the UI flag
1119 OE_GLOBALS.G_UI_FLAG := TRUE;
1120
1121 -- Set control flags.
1122
1123 l_control_rec.controlled_operation := TRUE;
1124 l_control_rec.validate_entity := TRUE;
1125 l_control_rec.write_to_DB := TRUE;
1126
1127 l_control_rec.clear_dependents := FALSE;
1128 l_control_rec.default_attributes := FALSE;
1129 l_control_rec.change_attributes := FALSE;
1130 l_control_rec.process := FALSE;
1131
1132 -- Instruct API to retain its caches
1133
1134 l_control_rec.clear_api_cache := FALSE;
1135 l_control_rec.clear_api_requests := FALSE;
1136
1137 -- Read Line_Payment from cache
1138 Get_Line_Payment
1139 ( p_db_record => TRUE
1140 , p_payment_number => p_payment_number
1141 , p_line_id => p_line_id
1142 , p_header_id => p_header_id
1143 , x_line_Payment_rec => l_x_old_Line_PAYMENT_tbl(1)
1144 );
1145
1146
1147 Get_Line_Payment
1148 ( p_db_record => FALSE
1149 , p_payment_number => p_payment_number
1150 , p_line_id => p_line_id
1151 , p_header_id => p_header_id
1152 , x_line_Payment_rec => l_x_Line_Payment_tbl(1)
1153 );
1154
1155 -- Set Operation.
1156
1157 IF FND_API.To_Boolean(l_x_Line_Payment_tbl(1).db_flag) THEN
1158 l_x_Line_Payment_tbl(1).operation := OE_GLOBALS.G_OPR_UPDATE;
1159 ELSE
1160 l_x_Line_Payment_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE;
1161 END IF;
1162
1163 -- Populate Line_Payment table
1164
1165 -- Call OE_Order_PVT.Process_order
1166
1167
1168 OE_Order_PVT.Line_Payments
1169 ( p_validation_level => FND_API.G_VALID_LEVEL_NONE
1170 , p_init_msg_list => FND_API.G_TRUE
1171 , p_control_rec => l_control_rec
1172 , p_x_Line_Payment_tbl => l_x_Line_PAYMENT_tbl
1173 , p_x_old_Line_Payment_tbl => l_x_old_Line_PAYMENT_tbl
1174 , x_return_status => l_return_status
1175 );
1176
1177 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1178 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1179 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1180 RAISE FND_API.G_EXC_ERROR;
1181 END IF;
1182
1183 -- Load OUT parameters.
1184
1185 x_creation_date := l_x_Line_Payment_tbl(1).creation_date;
1186 x_created_by := l_x_Line_Payment_tbl(1).created_by;
1187 x_last_update_date := l_x_Line_Payment_tbl(1).last_update_date;
1188 x_last_updated_by := l_x_Line_Payment_tbl(1).last_updated_by;
1189 x_last_update_login := l_x_Line_Payment_tbl(1).last_update_login;
1190 x_lock_control := l_x_Line_Payment_tbl(1).lock_control;
1191
1192 -- Clear Line_Payment record cache
1193
1194 Clear_Line_Payment;
1195
1196 -- Keep track of performed operations.
1197
1198 -- l_old_Line_Payment_rec.operation := l_Line_PAYMENT_rec.operation;
1199
1200
1201 -- Re-set the UI flag to FALSE
1202 OE_GLOBALS.G_UI_FLAG := FALSE;
1203
1204 -- Set return status.
1205
1206 x_return_status := FND_API.G_RET_STS_SUCCESS;
1207
1208 -- Get message count and data
1209
1210 oe_msg_pub.Count_And_Get
1211 ( p_count => x_msg_count
1212 , p_data => x_msg_data
1213 );
1214
1215 IF l_debug_level > 0 THEN
1216 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_Payment.VALIDATE_AND_WRITE' , 1 ) ;
1217 END IF;
1218
1219 EXCEPTION
1220
1221 WHEN FND_API.G_EXC_ERROR THEN
1222
1223 OE_GLOBALS.G_UI_FLAG := FALSE;
1224
1225 x_return_status := FND_API.G_RET_STS_ERROR;
1226
1227 -- Get message count and data
1228
1229 oe_msg_pub.Count_And_Get
1230 ( p_count => x_msg_count
1231 , p_data => x_msg_data
1232 );
1233
1234 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1235
1236 OE_GLOBALS.G_UI_FLAG := FALSE;
1237
1238 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1239
1240 -- Get message count and data
1241
1242 oe_msg_pub.Count_And_Get
1243 ( p_count => x_msg_count
1244 , p_data => x_msg_data
1245 );
1246
1247 WHEN OTHERS THEN
1248
1249 OE_GLOBALS.G_UI_FLAG := FALSE;
1250
1251 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1252
1253 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1254 THEN
1255 oe_msg_pub.Add_Exc_Msg
1256 ( G_PKG_NAME
1257 , 'Validate_And_Write'
1258 );
1259 END IF;
1260
1261 -- Get message count and data
1262
1263 oe_msg_pub.Count_And_Get
1264 ( p_count => x_msg_count
1265 , p_data => x_msg_data
1266 );
1267
1268 END Validate_And_Write;
1269
1270 -- Procedure Delete_Row
1271 --
1272
1273 PROCEDURE Delete_Row
1274 ( x_return_status OUT NOCOPY VARCHAR2
1275 , x_msg_count OUT NOCOPY NUMBER
1276 , x_msg_data OUT NOCOPY VARCHAR2
1277 , p_payment_number IN NUMBER
1278 , p_line_id IN NUMBER
1279 , p_header_id IN NUMBER
1280 )
1281 IS
1282 l_control_rec OE_GLOBALS.Control_Rec_Type;
1283 l_return_status VARCHAR2(1);
1284 l_x_Line_Payment_tbl OE_Order_PUB.Line_Payment_Tbl_Type;
1285 l_x_Old_Line_Payment_tbl OE_Order_PUB.Line_Payment_Tbl_Type;
1286
1287 --
1288 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1289 --
1290 BEGIN
1291
1292 IF l_debug_level > 0 THEN
1293 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_Payment.DELETE_ROW' , 1 ) ;
1294 END IF;
1295
1296 -- Set the UI flag
1297 OE_GLOBALS.G_UI_FLAG := TRUE;
1298
1299 -- Set control flags.
1300
1301 l_control_rec.controlled_operation := TRUE;
1302 l_control_rec.check_security := TRUE;
1303 l_control_rec.validate_entity := TRUE;
1304 l_control_rec.write_to_DB := TRUE;
1305
1306 l_control_rec.clear_dependents := FALSE;
1307 l_control_rec.default_attributes := FALSE;
1308 l_control_rec.change_attributes := FALSE;
1309 l_control_rec.process := FALSE;
1310
1311 -- Instruct API to retain its caches
1312
1313 l_control_rec.clear_api_cache := FALSE;
1314 l_control_rec.clear_api_requests := FALSE;
1315
1316 -- Read DB record from cache
1317
1318 Get_Line_Payment
1319 ( p_db_record => TRUE
1320 , p_payment_number => p_payment_number
1321 , p_line_id => p_line_id
1322 , p_header_id => p_header_id
1323 , x_line_Payment_rec => l_x_Line_Payment_tbl(1)
1324 );
1325
1326 -- Set Operation.
1327
1328 l_x_Line_Payment_tbl(1).operation := OE_GLOBALS.G_OPR_DELETE;
1329
1330 -- Populate Line_Payment table
1331
1332
1333 -- Call OE_Order_PVT.Process_order
1334
1335
1336 OE_Order_PVT.Line_Payments
1337 ( p_validation_level => FND_API.G_VALID_LEVEL_NONE
1338 , p_init_msg_list => FND_API.G_TRUE
1339 , p_control_rec => l_control_rec
1340 , p_x_Line_Payment_tbl => l_x_Line_Payment_tbl
1341 , p_x_old_Line_Payment_tbl => l_x_old_Line_Payment_tbl
1342 , x_return_status => l_return_status
1343 );
1344
1345 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1346 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1347 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1348 RAISE FND_API.G_EXC_ERROR;
1349 END IF;
1350
1351
1352 -- Clear Line_Payment record cache
1353
1354 Clear_Line_Payment;
1355
1356 -- Re-set the UI flag to FALSE
1357 OE_GLOBALS.G_UI_FLAG := FALSE;
1358
1359 -- Set return status.
1360
1361 x_return_status := FND_API.G_RET_STS_SUCCESS;
1362
1363 -- Get message count and data
1364
1365 oe_msg_pub.Count_And_Get
1366 ( p_count => x_msg_count
1367 , p_data => x_msg_data
1368 );
1369
1370 IF l_debug_level > 0 THEN
1371 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_Payment.DELETE_ROW' , 1 ) ;
1372 END IF;
1373
1374 EXCEPTION
1375
1376 WHEN FND_API.G_EXC_ERROR THEN
1377
1378 OE_GLOBALS.G_UI_FLAG := FALSE;
1379
1380 x_return_status := FND_API.G_RET_STS_ERROR;
1381
1382 -- Get message count and data
1383
1384 oe_msg_pub.Count_And_Get
1385 ( p_count => x_msg_count
1386 , p_data => x_msg_data
1387 );
1388
1389 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1390
1391 OE_GLOBALS.G_UI_FLAG := FALSE;
1392
1393 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1394
1395 -- Get message count and data
1396
1397 oe_msg_pub.Count_And_Get
1398 ( p_count => x_msg_count
1399 , p_data => x_msg_data
1400 );
1401
1402 WHEN OTHERS THEN
1403
1404 OE_GLOBALS.G_UI_FLAG := FALSE;
1405
1406 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1407
1408 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1409 THEN
1410 oe_msg_pub.Add_Exc_Msg
1411 ( G_PKG_NAME
1412 , 'Delete_Row'
1413 );
1414 END IF;
1415
1416 -- Get message count and data
1417
1418 oe_msg_pub.Count_And_Get
1419 ( p_count => x_msg_count
1420 , p_data => x_msg_data
1421 );
1422
1423 END Delete_Row;
1424
1425 -- Procedure Process_Entity
1426 --
1427
1428 PROCEDURE Process_Entity
1429 ( x_return_status OUT NOCOPY VARCHAR2
1430 , x_msg_count OUT NOCOPY NUMBER
1431 , x_msg_data OUT NOCOPY VARCHAR2
1432 )
1433 IS
1434 l_return_status VARCHAR2(1);
1435 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
1436 l_control_rec OE_GLOBALS.Control_Rec_Type;
1437 l_x_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
1438 l_x_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
1439 l_x_Header_Scredit_rec OE_Order_PUB.Header_Scredit_Rec_Type;
1440 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
1441 l_x_Header_Payment_rec OE_Order_PUB.Header_PAYMENT_Rec_Type;
1442 l_x_Header_Payment_tbl OE_Order_PUB.Header_PAYMENT_Tbl_Type;
1443 l_x_line_rec OE_Order_PUB.Line_Rec_Type;
1444 l_x_line_tbl OE_Order_PUB.Line_Tbl_Type;
1445 l_x_Line_Adj_rec OE_Order_PUB.Line_Adj_Rec_Type;
1446 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
1447 l_x_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
1448 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
1449 l_x_Line_Payment_rec OE_Order_PUB.Line_PAYMENT_Rec_Type;
1450 l_x_Line_Payment_tbl OE_Order_PUB.Line_PAYMENT_Tbl_Type;
1451 l_x_Lot_Serial_rec OE_Order_PUB.Lot_Serial_Rec_Type;
1452 l_x_Lot_Serial_tbl OE_Order_PUB.Lot_Serial_Tbl_Type;
1453 l_x_action_request_tbl OE_Order_PUB.request_tbl_type;
1454 l_x_Header_price_Att_tbl OE_Order_PUB.Header_Price_Att_Tbl_Type;
1455 l_x_Header_Adj_Att_tbl OE_Order_PUB.Header_Adj_Att_Tbl_Type;
1456 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
1457 l_x_Line_price_Att_tbl OE_Order_PUB.Line_Price_Att_Tbl_Type;
1458 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_Tbl_Type;
1459 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
1460
1461 --
1462 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1463 --
1464 BEGIN
1465
1466 IF l_debug_level > 0 THEN
1467 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_PAYMENT.PROCESS_ENTITY' , 1 ) ;
1468 END IF;
1469
1470 -- Set the UI flag
1471 OE_GLOBALS.G_UI_FLAG := TRUE;
1472
1473 -- Set control flags.
1474
1475 l_control_rec.controlled_operation := TRUE;
1476 l_control_rec.process := TRUE;
1477 l_control_rec.process_entity := OE_GLOBALS.G_ENTITY_LINE_Payment;
1478
1479 l_control_rec.check_security := FALSE;
1480 l_control_rec.clear_dependents := FALSE;
1481 l_control_rec.default_attributes := FALSE;
1482 l_control_rec.change_attributes := FALSE;
1483 l_control_rec.validate_entity := FALSE;
1484 l_control_rec.write_to_DB := FALSE;
1485
1486 -- Instruct API to clear its request table
1487
1488 l_control_rec.clear_api_cache := FALSE;
1489 l_control_rec.clear_api_requests := FALSE;
1490
1491 -- Call OE_Order_PVT.Process_order
1492
1493 OE_Order_PVT.Process_order
1494 ( p_api_version_number => 1.0
1495 , p_init_msg_list => FND_API.G_TRUE
1496 , x_return_status => l_return_status
1497 , x_msg_count => x_msg_count
1498 , x_msg_data => x_msg_data
1499 , p_control_rec => l_control_rec
1500 , p_x_header_rec => l_x_header_rec
1501 , p_x_Header_Adj_tbl => l_x_Header_Adj_tbl
1502 , p_x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
1503 , p_x_Header_Payment_tbl => l_x_Header_Payment_tbl
1504 , p_x_line_tbl => l_x_line_tbl
1505 , p_x_Line_Adj_tbl => l_x_Line_Adj_tbl
1506 , p_x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
1507 , p_x_Line_Payment_tbl => l_x_Line_Payment_tbl
1508 , p_x_Lot_Serial_tbl => l_x_Lot_Serial_tbl
1509 , p_x_action_request_tbl => l_x_action_request_tbl
1510 , p_x_Header_price_Att_tbl => l_x_Header_price_Att_tbl
1511 , p_x_Header_Adj_Att_tbl => l_x_Header_Adj_Att_tbl
1512 , p_x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
1513 , p_x_Line_price_Att_tbl => l_x_Line_price_Att_tbl
1514 , p_x_Line_Adj_Att_tbl => l_x_Line_Adj_Att_tbl
1515 , p_x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
1516
1517 );
1518
1519 Oe_Order_Pvt.Process_Requests_And_Notify
1520 ( p_process_requests => TRUE
1521 , p_init_msg_list => FND_API.G_TRUE
1522 , p_notify => FALSE
1523 , x_return_status => l_return_status
1524 );
1525
1526 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1527 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1528 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1529 RAISE FND_API.G_EXC_ERROR;
1530 END IF;
1531
1532
1533 -- Re-set the UI flag to FALSE
1534 OE_GLOBALS.G_UI_FLAG := FALSE;
1535
1536 -- Set return status.
1537
1538 x_return_status := FND_API.G_RET_STS_SUCCESS;
1539
1540 -- Get message count and data
1541
1542 oe_msg_pub.Count_And_Get
1543 ( p_count => x_msg_count
1544 , p_data => x_msg_data
1545 );
1546
1547 IF l_debug_level > 0 THEN
1548 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_Payment.PROCESS_ENTITY' , 1 ) ;
1549 END IF;
1550
1551 EXCEPTION
1552
1553 WHEN FND_API.G_EXC_ERROR THEN
1554
1555 OE_GLOBALS.G_UI_FLAG := FALSE;
1556
1557 x_return_status := FND_API.G_RET_STS_ERROR;
1558
1559 -- Get message count and data
1560
1561 oe_msg_pub.Count_And_Get
1562 ( p_count => x_msg_count
1563 , p_data => x_msg_data
1564 );
1565
1566 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1567
1568 OE_GLOBALS.G_UI_FLAG := FALSE;
1569
1570 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1571
1572 -- Get message count and data
1573
1574 oe_msg_pub.Count_And_Get
1575 ( p_count => x_msg_count
1576 , p_data => x_msg_data
1577 );
1578
1579 WHEN OTHERS THEN
1580
1581 OE_GLOBALS.G_UI_FLAG := FALSE;
1582
1583 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1584
1585 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1586 THEN
1587 oe_msg_pub.Add_Exc_Msg
1588 ( G_PKG_NAME
1589 , 'Process_Entity'
1590 );
1591 END IF;
1592
1593 -- Get message count and data
1594
1595 oe_msg_pub.Count_And_Get
1596 ( p_count => x_msg_count
1597 , p_data => x_msg_data
1598 );
1599
1600 END Process_Entity;
1601
1602 -- Procedure lock_Row
1603 --
1604
1605 PROCEDURE Lock_Row
1606 ( x_return_status OUT NOCOPY VARCHAR2
1607 , x_msg_count OUT NOCOPY NUMBER
1608 , x_msg_data OUT NOCOPY VARCHAR2
1609 , p_payment_number IN NUMBER
1610 , p_line_id IN NUMBER
1611 , p_header_id IN NUMBER
1612 , p_lock_control IN NUMBER
1613 )
1614 IS
1615 l_return_status VARCHAR2(1);
1616 l_x_Line_Payment_rec OE_Order_PUB.Line_PAYMENT_Rec_Type;
1617
1618 --
1619 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1620 --
1621 BEGIN
1622
1623 IF l_debug_level > 0 THEN
1624 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_PAYMENT.LOCK_ROW' , 1 ) ;
1625 END IF;
1626
1627 -- Load Line_Payment record
1628
1629 l_x_Line_Payment_rec.operation := OE_GLOBALS.G_OPR_LOCK;
1630 l_x_Line_Payment_rec.payment_number := p_payment_number;
1631 l_x_Line_Payment_rec.line_id := p_line_id;
1632 l_x_Line_Payment_rec.header_id := p_header_id;
1633 l_x_Line_Payment_rec.lock_control := p_lock_control;
1634
1635 -- Call oe_lines_Payments_util.lock_row instead of OE_Order_PVT.Lock_order
1636
1637 OE_Line_Payment_Util.Lock_Row
1638 ( x_return_status => l_return_status
1639 , p_x_line_Payment_rec => l_x_line_payment_rec );
1640 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1641
1642 -- Set DB flag and write record to cache.
1643
1644 l_x_Line_Payment_rec.db_flag := FND_API.G_TRUE;
1645
1646 Write_Line_Payment
1647 ( p_Line_Payment_rec => l_x_Line_Payment_rec
1648 , p_db_record => TRUE
1649 );
1650
1651 END IF;
1652
1653 -- Set return status.
1654
1655 x_return_status := l_return_status;
1656
1657 -- Get message count and data
1658
1659 oe_msg_pub.Count_And_Get
1660 ( p_count => x_msg_count
1661 , p_data => x_msg_data
1662 );
1663
1664 IF l_debug_level > 0 THEN
1665 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_Payment.LOCK_ROW' , 1 ) ;
1666 END IF;
1667
1668 EXCEPTION
1669
1670 WHEN OTHERS THEN
1671
1672 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1673 THEN
1674 oe_msg_pub.Add_Exc_Msg
1675 ( G_PKG_NAME
1676 , 'Lock_Row'
1677 );
1678 END IF;
1679
1680 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1681
1682 -- Get message count and data
1683
1684 oe_msg_pub.Count_And_Get
1685 ( p_count => x_msg_count
1686 , p_data => x_msg_data
1687 );
1688
1689
1690
1691 END Lock_Row;
1692
1693 -- Procedures maintaining Line_Payment record cache.
1694
1695 PROCEDURE Write_Line_Payment
1696 ( p_Line_Payment_rec IN OE_Order_PUB.Line_PAYMENT_Rec_Type
1697 , p_db_record IN BOOLEAN := FALSE
1698 )
1699 IS
1700 --
1701 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1702 --
1703 BEGIN
1704
1705 IF l_debug_level > 0 THEN
1706 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_PAYMENT.WRITE_LINE_PAYMENT' , 1 ) ;
1707 END IF;
1708
1709 g_Line_Payment_rec := p_Line_Payment_rec;
1710
1711 IF p_db_record THEN
1712
1713 g_db_Line_Payment_rec := p_Line_Payment_rec;
1714
1715 END IF;
1716
1717 IF l_debug_level > 0 THEN
1718 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_PAYMENT.WRITE_LINE_PAYMENT' , 1 ) ;
1719 END IF;
1720
1721 END Write_Line_Payment;
1722
1723 PROCEDURE Get_Line_Payment
1724 ( p_db_record IN BOOLEAN := FALSE
1725 , p_payment_number IN NUMBER
1726 , p_line_id IN NUMBER
1727 , p_header_id IN NUMBER
1728 , x_line_Payment_rec OUT NOCOPY OE_Order_PUB.Line_PAYMENT_Rec_Type
1729 )
1730 IS
1731 --
1732 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1733 --
1734 BEGIN
1735
1736 IF l_debug_level > 0 THEN
1737 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_PAYMENT.GET_LINE_PAYMENT' , 1 ) ;
1738 END IF;
1739
1740 IF nvl(p_payment_number, -1) <> NVL(g_Line_Payment_rec.payment_number,-1)
1741 OR p_line_id <> NVL(g_Line_Payment_rec.line_id,-1)
1742 THEN
1743
1744 -- Query row from DB
1745 OE_Line_Payment_Util.Query_Row
1746 ( p_payment_number => p_payment_number
1747 , p_line_id => p_line_id
1748 , p_header_id => p_header_id
1749 , x_line_Payment_rec => g_Line_Payment_rec
1750 );
1751
1752 g_Line_Payment_rec.db_flag := FND_API.G_TRUE;
1753
1754 -- Load DB record
1755
1756 g_db_Line_Payment_rec := g_Line_PAYMENT_rec;
1757
1758 END IF;
1759
1760 IF l_debug_level > 0 THEN
1761 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_Payment.GET_LINE_PAYMENT' , 1 ) ;
1762 END IF;
1763
1764 IF p_db_record THEN
1765
1766 x_line_Payment_rec:= g_db_Line_PAYMENT_rec;
1767
1768 ELSE
1769
1770 x_line_Payment_rec:= g_Line_PAYMENT_rec;
1771
1772 END IF;
1773
1774 END Get_Line_Payment;
1775
1776 PROCEDURE Clear_Line_Payment
1777 IS
1778 --
1779 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1780 --
1781 BEGIN
1782
1783 IF l_debug_level > 0 THEN
1784 oe_debug_pub.add( 'ENTERING OE_OE_FORM_LINE_Payment.CLEAR_LINE_PAYMENT' , 1 ) ;
1785 END IF;
1786
1787 g_Line_Payment_rec := OE_Order_PUB.G_MISS_LINE_PAYMENT_REC;
1788 g_db_Line_Payment_rec := OE_Order_PUB.G_MISS_LINE_PAYMENT_REC;
1789
1790 IF l_debug_level > 0 THEN
1791 oe_debug_pub.add( 'EXITING OE_OE_FORM_LINE_Payment.CLEAR_LINE_PAYMENT' , 1 ) ;
1792 END IF;
1793
1794 END Clear_Line_Payment;
1795
1796 END OE_OE_Form_Line_Payment;