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