[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 2006/07/25 11:51:47 ppnair noship $ */
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_AMOUNT THEN
982 x_header_payment_tbl(1).payment_amount := TO_NUMBER(p_attr_value);
983 ELSIF p_attr_id = OE_Header_Payment_Util.G_PAYMENT_COLLECTION_EVENT THEN
984 x_header_payment_tbl(1).payment_collection_event := p_attr_value;
985 ELSIF p_attr_id = OE_Header_Payment_Util.G_PAYMENT_TRX_ID THEN
986 x_header_payment_tbl(1).payment_trx_id := TO_NUMBER(p_attr_value);
987 ELSIF p_attr_id = OE_Header_Payment_Util.G_PAYMENT_TYPE_CODE THEN
988 x_header_payment_tbl(1).payment_type_code := p_attr_value;
989 ELSIF p_attr_id = OE_Header_Payment_Util.G_PAYMENT_SET_ID THEN
990 x_header_payment_tbl(1).payment_set_id := TO_NUMBER(p_attr_value);
991 ELSIF p_attr_id = OE_Header_Payment_Util.G_PREPAID_AMOUNT THEN
992 x_header_payment_tbl(1).prepaid_amount := TO_NUMBER(p_attr_value);
993 ELSIF p_attr_id = OE_Header_Payment_Util.G_RECEIPT_METHOD_ID THEN
994 x_header_payment_tbl(1).receipt_method_id := TO_NUMBER(p_attr_value);
995 ELSIF p_attr_id = OE_Header_Payment_Util.G_DEFER_PROCESSING_FLAG THEN
996 x_header_payment_tbl(1).defer_payment_processing_flag := p_attr_value;
997 ELSIF p_attr_id = OE_Header_Payment_Util.G_TANGIBLE_ID THEN
998 x_header_payment_tbl(1).tangible_id := p_attr_value;
999 ELSIF p_attr_id = OE_Header_Payment_Util.G_INSTRUMENT_SECURITY_CODE THEN --R12 CC encryption
1000 x_header_payment_tbl(1).instrument_security_code := p_attr_value;
1001 ELSIF p_attr_id = OE_Header_Payment_Util.G_CC_INSTRUMENT_ID THEN --R12 CC encryption
1002 x_header_payment_tbl(1).cc_instrument_id := p_attr_value;
1003 ELSIF p_attr_id = OE_Header_Payment_Util.G_CC_INSTRUMENT_ASSIGNMENT_ID THEN --R12 CC encryption
1004 x_header_payment_tbl(1).cc_instrument_assignment_id := p_attr_value;
1005 ELSIF p_attr_id = OE_Header_Payment_Util.G_ATTRIBUTE1
1006 OR p_attr_id = OE_Header_Payment_Util.G_ATTRIBUTE2
1007 OR p_attr_id = OE_Header_Payment_Util.G_ATTRIBUTE3
1008 OR p_attr_id = OE_Header_Payment_Util.G_ATTRIBUTE4
1009 OR p_attr_id = OE_Header_Payment_Util.G_ATTRIBUTE5
1010 OR p_attr_id = OE_Header_Payment_Util.G_ATTRIBUTE6
1011 OR p_attr_id = OE_Header_Payment_Util.G_ATTRIBUTE7
1012 OR p_attr_id = OE_Header_Payment_Util.G_ATTRIBUTE8
1013 OR p_attr_id = OE_Header_Payment_Util.G_ATTRIBUTE9
1014 OR p_attr_id = OE_Header_Payment_Util.G_ATTRIBUTE10
1015 OR p_attr_id = OE_Header_Payment_Util.G_ATTRIBUTE11
1016 OR p_attr_id = OE_Header_Payment_Util.G_ATTRIBUTE12
1017 OR p_attr_id = OE_Header_Payment_Util.G_ATTRIBUTE13
1018 OR p_attr_id = OE_Header_Payment_Util.G_ATTRIBUTE14
1019 OR p_attr_id = OE_Header_Payment_Util.G_ATTRIBUTE15
1020 OR p_attr_id = OE_Header_Payment_Util.G_CONTEXT
1021 THEN
1022
1023 x_header_payment_tbl(1).attribute1 := p_attribute1;
1024 x_header_payment_tbl(1).attribute2 := p_attribute2;
1025 x_header_payment_tbl(1).attribute3 := p_attribute3;
1026 x_header_payment_tbl(1).attribute4 := p_attribute4;
1027 x_header_payment_tbl(1).attribute5 := p_attribute5;
1028 x_header_payment_tbl(1).attribute6 := p_attribute6;
1029 x_header_payment_tbl(1).attribute7 := p_attribute7;
1030 x_header_payment_tbl(1).attribute8 := p_attribute8;
1031 x_header_payment_tbl(1).attribute9 := p_attribute9;
1032 x_header_payment_tbl(1).attribute10 := p_attribute10;
1033 x_header_payment_tbl(1).attribute11 := p_attribute11;
1034 x_header_payment_tbl(1).attribute12 := p_attribute12;
1035 x_header_payment_tbl(1).attribute13 := p_attribute13;
1036 x_header_payment_tbl(1).attribute14 := p_attribute14;
1037 x_header_payment_tbl(1).attribute15 := p_attribute15;
1038 x_header_payment_tbl(1).context := p_context;
1039
1040 ELSE
1041
1042 -- Unexpected error, unrecognized attribute
1043
1044 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1045 THEN
1046 oe_msg_pub.Add_Exc_Msg
1047 ( G_PKG_NAME
1048 , 'Copy_Attribute_To_Rec'
1049 , 'Unrecognized attribute'
1050 );
1051 END IF;
1052
1053 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1054
1055 END IF;
1056 EXCEPTION
1057 WHEN OTHERS THEN
1058 IF oe_msg_pub.Check_Msg_Level(oe_msg_pub.G_MSG_LVL_UNEXP_ERROR)
1059 THEN
1060 oe_msg_pub.Add_Exc_Msg
1061 ( G_PKG_NAME
1062 , 'Copy_Attribute_To_Rec'
1063 );
1064 END IF;
1065 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1066 END Copy_Attribute_To_Rec;
1067 -- R12 CC Encryption
1068
1069 -- Procedure Validate_And_Write
1070 --
1071
1072 PROCEDURE Validate_And_Write
1073 ( x_return_status OUT NOCOPY VARCHAR2
1074 , x_msg_count OUT NOCOPY NUMBER
1075 , x_msg_data OUT NOCOPY VARCHAR2
1076 , p_payment_number IN NUMBER
1077 , p_header_id IN NUMBER
1078 , x_creation_date OUT NOCOPY DATE
1079 , x_created_by OUT NOCOPY NUMBER
1080 , x_last_update_date OUT NOCOPY DATE
1081 , x_last_updated_by OUT NOCOPY NUMBER
1082 , x_last_update_login OUT NOCOPY NUMBER
1083 , x_program_id OUT NOCOPY NUMBER
1084 , x_program_application_id OUT NOCOPY NUMBER
1085 , x_program_update_date OUT NOCOPY DATE
1086 , x_request_id OUT NOCOPY NUMBER
1087 , x_lock_control OUT NOCOPY NUMBER
1088 )
1089 IS
1090 l_x_old_Header_Payment_tbl OE_Order_PUB.Header_PAYMENT_Tbl_Type;
1091 l_control_rec OE_GLOBALS.Control_Rec_Type;
1092 l_return_status VARCHAR2(1);
1093 l_x_Header_Payment_tbl OE_Order_PUB.Header_PAYMENT_Tbl_Type;
1094
1095 --
1096 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1097 --
1098 BEGIN
1099
1100 IF l_debug_level > 0 THEN
1101 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_Payment.VALIDATE_AND_WRITE' , 1 ) ;
1102 END IF;
1103
1104 -- Set the UI flag
1105 OE_GLOBALS.G_UI_FLAG := TRUE;
1106
1107 -- Set control flags.
1108
1109 l_control_rec.controlled_operation := TRUE;
1110 l_control_rec.validate_entity := TRUE;
1111 l_control_rec.write_to_DB := TRUE;
1112
1113 l_control_rec.clear_dependents := FALSE;
1114 l_control_rec.default_attributes := FALSE;
1115 l_control_rec.change_attributes := FALSE;
1116 l_control_rec.process := FALSE;
1117
1118 -- Instruct API to retain its caches
1119
1120 l_control_rec.clear_api_cache := FALSE;
1121 l_control_rec.clear_api_requests := FALSE;
1122
1123 -- Read Header_Payment from cache
1124 Get_Header_Payment
1125 ( p_db_record => TRUE
1126 , p_payment_number => p_payment_number
1127 , p_header_id => p_header_id
1128 , x_header_Payment_rec => l_x_old_Header_PAYMENT_tbl(1)
1129 );
1130
1131
1132 Get_Header_Payment
1133 ( p_db_record => FALSE
1134 , p_payment_number => p_payment_number
1135 , p_header_id => p_header_id
1136 , x_header_Payment_rec => l_x_Header_Payment_tbl(1)
1137 );
1138
1139 -- Set Operation.
1140
1141 IF FND_API.To_Boolean(l_x_Header_Payment_tbl(1).db_flag) THEN
1142 l_x_Header_Payment_tbl(1).operation := OE_GLOBALS.G_OPR_UPDATE;
1143 ELSE
1144 l_x_Header_Payment_tbl(1).operation := OE_GLOBALS.G_OPR_CREATE;
1145 END IF;
1146
1147 -- Populate Header_Payment table
1148
1149 -- Call OE_Order_PVT.Process_order
1150
1151
1152 OE_Order_PVT.Header_Payments
1153 ( p_validation_level => FND_API.G_VALID_LEVEL_NONE
1154 , p_init_msg_list => FND_API.G_TRUE
1155 , p_control_rec => l_control_rec
1156 , p_x_Header_Payment_tbl => l_x_Header_PAYMENT_tbl
1157 , p_x_old_Header_Payment_tbl => l_x_old_Header_PAYMENT_tbl
1158 , x_return_status => l_return_status
1159 );
1160
1161 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1162 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1163 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1164 RAISE FND_API.G_EXC_ERROR;
1165 END IF;
1166
1167 -- Load OUT parameters.
1168
1169 x_creation_date := l_x_Header_Payment_tbl(1).creation_date;
1170 x_created_by := l_x_Header_Payment_tbl(1).created_by;
1171 x_last_update_date := l_x_Header_Payment_tbl(1).last_update_date;
1172 x_last_updated_by := l_x_Header_Payment_tbl(1).last_updated_by;
1173 x_last_update_login := l_x_Header_Payment_tbl(1).last_update_login;
1174 x_lock_control := l_x_Header_Payment_tbl(1).lock_control;
1175
1176 -- Clear Header_Payment record cache
1177
1178 Clear_Header_Payment;
1179
1180 -- Keep track of performed operations.
1181
1182 -- l_old_Header_Payment_rec.operation := l_Header_PAYMENT_rec.operation;
1183
1184
1185 -- Re-set the UI flag to FALSE
1186 OE_GLOBALS.G_UI_FLAG := FALSE;
1187
1188 -- Set return status.
1189
1190 x_return_status := FND_API.G_RET_STS_SUCCESS;
1191
1192 -- Get message count and data
1193
1194 oe_msg_pub.Count_And_Get
1195 ( p_count => x_msg_count
1196 , p_data => x_msg_data
1197 );
1198
1199 IF l_debug_level > 0 THEN
1200 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_Payment.VALIDATE_AND_WRITE' , 1 ) ;
1201 END IF;
1202
1203 EXCEPTION
1204
1205 WHEN FND_API.G_EXC_ERROR THEN
1206
1207 OE_GLOBALS.G_UI_FLAG := FALSE;
1208
1209 x_return_status := FND_API.G_RET_STS_ERROR;
1210
1211 -- Get message count and data
1212
1213 oe_msg_pub.Count_And_Get
1214 ( p_count => x_msg_count
1215 , p_data => x_msg_data
1216 );
1217
1218 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1219
1220 OE_GLOBALS.G_UI_FLAG := FALSE;
1221
1222 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1223
1224 -- Get message count and data
1225
1226 oe_msg_pub.Count_And_Get
1227 ( p_count => x_msg_count
1228 , p_data => x_msg_data
1229 );
1230
1231 WHEN OTHERS THEN
1232
1233 OE_GLOBALS.G_UI_FLAG := FALSE;
1234
1235 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1236
1237 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1238 THEN
1239 oe_msg_pub.Add_Exc_Msg
1240 ( G_PKG_NAME
1241 , 'Validate_And_Write'
1242 );
1243 END IF;
1244
1245 -- Get message count and data
1246
1247 oe_msg_pub.Count_And_Get
1248 ( p_count => x_msg_count
1249 , p_data => x_msg_data
1250 );
1251
1252 END Validate_And_Write;
1253
1254 -- Procedure Delete_Row
1255 --
1256
1257 PROCEDURE Delete_Row
1258 ( x_return_status OUT NOCOPY VARCHAR2
1259 , x_msg_count OUT NOCOPY NUMBER
1260 , x_msg_data OUT NOCOPY VARCHAR2
1261 , p_payment_number IN NUMBER
1262 , p_header_id IN NUMBER
1263 )
1264 IS
1265 l_control_rec OE_GLOBALS.Control_Rec_Type;
1266 l_return_status VARCHAR2(1);
1267 l_x_Header_Payment_tbl OE_Order_PUB.Header_Payment_Tbl_Type;
1268 l_x_Old_Header_Payment_tbl OE_Order_PUB.Header_Payment_Tbl_Type;
1269
1270 --
1271 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1272 --
1273 BEGIN
1274
1275 IF l_debug_level > 0 THEN
1276 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_Payment.DELETE_ROW' , 1 ) ;
1277 END IF;
1278
1279 -- Set the UI flag
1280 OE_GLOBALS.G_UI_FLAG := TRUE;
1281
1282 -- Set control flags.
1283
1284 l_control_rec.controlled_operation := TRUE;
1285 l_control_rec.check_security := TRUE;
1286 l_control_rec.validate_entity := TRUE;
1287 l_control_rec.write_to_DB := TRUE;
1288
1289 l_control_rec.clear_dependents := FALSE;
1290 l_control_rec.default_attributes := FALSE;
1291 l_control_rec.change_attributes := FALSE;
1292 l_control_rec.process := FALSE;
1293
1294 -- Instruct API to retain its caches
1295
1296 l_control_rec.clear_api_cache := FALSE;
1297 l_control_rec.clear_api_requests := FALSE;
1298
1299 -- Read DB record from cache
1300
1301 Get_Header_Payment
1302 ( p_db_record => TRUE
1303 , p_payment_number => p_payment_number
1304 , p_header_id => p_header_id
1305 , x_header_Payment_rec => l_x_Header_Payment_tbl(1)
1306 );
1307
1308 -- Set Operation.
1309
1310 l_x_Header_Payment_tbl(1).operation := OE_GLOBALS.G_OPR_DELETE;
1311
1312 -- Populate Header_Payment table
1313
1314
1315 -- Call OE_Order_PVT.Process_order
1316
1317
1318 OE_Order_PVT.Header_Payments
1319 ( p_validation_level => FND_API.G_VALID_LEVEL_NONE
1320 , p_init_msg_list => FND_API.G_TRUE
1321 , p_control_rec => l_control_rec
1322 , p_x_Header_Payment_tbl => l_x_Header_Payment_tbl
1323 , p_x_old_Header_Payment_tbl => l_x_old_Header_Payment_tbl
1324 , x_return_status => l_return_status
1325 );
1326
1327 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1328 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1329 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1330 RAISE FND_API.G_EXC_ERROR;
1331 END IF;
1332
1333
1334 -- Clear Header_Payment record cache
1335
1336 Clear_Header_Payment;
1337
1338 -- Re-set the UI flag to FALSE
1339 OE_GLOBALS.G_UI_FLAG := FALSE;
1340
1341 -- Set return status.
1342
1343 x_return_status := FND_API.G_RET_STS_SUCCESS;
1344
1345 -- Get message count and data
1346
1347 oe_msg_pub.Count_And_Get
1348 ( p_count => x_msg_count
1349 , p_data => x_msg_data
1350 );
1351
1352 IF l_debug_level > 0 THEN
1353 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_Payment.DELETE_ROW' , 1 ) ;
1354 END IF;
1355
1356 EXCEPTION
1357
1358 WHEN FND_API.G_EXC_ERROR THEN
1359
1360 OE_GLOBALS.G_UI_FLAG := FALSE;
1361
1362 x_return_status := FND_API.G_RET_STS_ERROR;
1363
1364 -- Get message count and data
1365
1366 oe_msg_pub.Count_And_Get
1367 ( p_count => x_msg_count
1368 , p_data => x_msg_data
1369 );
1370
1371 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1372
1373 OE_GLOBALS.G_UI_FLAG := FALSE;
1374
1375 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1376
1377 -- Get message count and data
1378
1379 oe_msg_pub.Count_And_Get
1380 ( p_count => x_msg_count
1381 , p_data => x_msg_data
1382 );
1383
1384 WHEN OTHERS THEN
1385
1386 OE_GLOBALS.G_UI_FLAG := FALSE;
1387
1388 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1389
1390 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1391 THEN
1392 oe_msg_pub.Add_Exc_Msg
1393 ( G_PKG_NAME
1394 , 'Delete_Row'
1395 );
1396 END IF;
1397
1398 -- Get message count and data
1399
1400 oe_msg_pub.Count_And_Get
1401 ( p_count => x_msg_count
1402 , p_data => x_msg_data
1403 );
1404
1405 END Delete_Row;
1406
1407 -- Procedure Process_Entity
1408 --
1409
1410 PROCEDURE Process_Entity
1411 ( x_return_status OUT NOCOPY VARCHAR2
1412 , x_msg_count OUT NOCOPY NUMBER
1413 , x_msg_data OUT NOCOPY VARCHAR2
1414 )
1415 IS
1416 l_return_status VARCHAR2(1);
1417 l_x_header_rec OE_Order_PUB.Header_Rec_Type;
1418 l_control_rec OE_GLOBALS.Control_Rec_Type;
1419 l_x_Header_Adj_rec OE_Order_PUB.Header_Adj_Rec_Type;
1420 l_x_Header_Adj_tbl OE_Order_PUB.Header_Adj_Tbl_Type;
1421 l_x_Header_Scredit_rec OE_Order_PUB.Header_Scredit_Rec_Type;
1422 l_x_Header_Scredit_tbl OE_Order_PUB.Header_Scredit_Tbl_Type;
1423 l_x_Header_Payment_rec OE_Order_PUB.Header_PAYMENT_Rec_Type;
1424 l_x_Header_Payment_tbl OE_Order_PUB.Header_PAYMENT_Tbl_Type;
1425 l_x_line_rec OE_Order_PUB.Line_Rec_Type;
1426 l_x_line_tbl OE_Order_PUB.Line_Tbl_Type;
1427 l_x_Line_Adj_rec OE_Order_PUB.Line_Adj_Rec_Type;
1428 l_x_Line_Adj_tbl OE_Order_PUB.Line_Adj_Tbl_Type;
1429 l_x_Line_Scredit_rec OE_Order_PUB.Line_Scredit_Rec_Type;
1430 l_x_Line_Scredit_tbl OE_Order_PUB.Line_Scredit_Tbl_Type;
1431 l_x_Line_Payment_rec OE_Order_PUB.Line_PAYMENT_Rec_Type;
1432 l_x_Line_Payment_tbl OE_Order_PUB.Line_PAYMENT_Tbl_Type;
1433 l_x_Lot_Serial_rec OE_Order_PUB.Lot_Serial_Rec_Type;
1434 l_x_Lot_Serial_tbl OE_Order_PUB.Lot_Serial_Tbl_Type;
1435 l_x_action_request_tbl OE_Order_PUB.request_tbl_type;
1436 l_x_Header_price_Att_tbl OE_Order_PUB.Header_Price_Att_Tbl_Type;
1437 l_x_Header_Adj_Att_tbl OE_Order_PUB.Header_Adj_Att_Tbl_Type;
1438 l_x_Header_Adj_Assoc_tbl OE_Order_PUB.Header_Adj_Assoc_Tbl_Type;
1439 l_x_Line_price_Att_tbl OE_Order_PUB.Line_Price_Att_Tbl_Type;
1440 l_x_Line_Adj_Att_tbl OE_Order_PUB.Line_Adj_Att_Tbl_Type;
1441 l_x_Line_Adj_Assoc_tbl OE_Order_PUB.Line_Adj_Assoc_Tbl_Type;
1442
1443 --
1444 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1445 --
1446 BEGIN
1447
1448 IF l_debug_level > 0 THEN
1449 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_PAYMENT.PROCESS_ENTITY' , 1 ) ;
1450 END IF;
1451
1452 -- Set the UI flag
1453 OE_GLOBALS.G_UI_FLAG := TRUE;
1454
1455 -- Set control flags.
1456
1457 l_control_rec.controlled_operation := TRUE;
1458 l_control_rec.process := TRUE;
1459 l_control_rec.process_entity := OE_GLOBALS.G_ENTITY_HEADER_Payment;
1460
1461 l_control_rec.check_security := FALSE;
1462 l_control_rec.clear_dependents := FALSE;
1463 l_control_rec.default_attributes := FALSE;
1464 l_control_rec.change_attributes := FALSE;
1465 l_control_rec.validate_entity := FALSE;
1466 l_control_rec.write_to_DB := FALSE;
1467
1468 -- Instruct API to clear its request table
1469
1470 l_control_rec.clear_api_cache := FALSE;
1471 l_control_rec.clear_api_requests := FALSE;
1472
1473 -- Call OE_Order_PVT.Process_order
1474
1475 OE_Order_PVT.Process_order
1476 ( p_api_version_number => 1.0
1477 , p_init_msg_list => FND_API.G_TRUE
1478 , x_return_status => l_return_status
1479 , x_msg_count => x_msg_count
1480 , x_msg_data => x_msg_data
1481 , p_control_rec => l_control_rec
1482 , p_x_header_rec => l_x_header_rec
1483 , p_x_Header_Adj_tbl => l_x_Header_Adj_tbl
1484 , p_x_Header_Scredit_tbl => l_x_Header_Scredit_tbl
1485 , p_x_Header_Payment_tbl => l_x_Header_Payment_tbl
1486 , p_x_line_tbl => l_x_line_tbl
1487 , p_x_Line_Adj_tbl => l_x_Line_Adj_tbl
1488 , p_x_Line_Scredit_tbl => l_x_Line_Scredit_tbl
1489 , p_x_Line_Payment_tbl => l_x_Line_Payment_tbl
1490 , p_x_Lot_Serial_tbl => l_x_Lot_Serial_tbl
1491 , p_x_action_request_tbl => l_x_action_request_tbl
1492 , p_x_Header_price_Att_tbl => l_x_Header_price_Att_tbl
1493 , p_x_Header_Adj_Att_tbl => l_x_Header_Adj_Att_tbl
1494 , p_x_Header_Adj_Assoc_tbl => l_x_Header_Adj_Assoc_tbl
1495 , p_x_Line_price_Att_tbl => l_x_Line_price_Att_tbl
1496 , p_x_Line_Adj_Att_tbl => l_x_Line_Adj_Att_tbl
1497 , p_x_Line_Adj_Assoc_tbl => l_x_Line_Adj_Assoc_tbl
1498
1499 );
1500
1501 Oe_Order_Pvt.Process_Requests_And_Notify
1502 ( p_process_requests => TRUE
1503 , p_init_msg_list => FND_API.G_TRUE
1504 , p_notify => FALSE
1505 , x_return_status => l_return_status
1506 );
1507
1508 IF l_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
1509 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1510 ELSIF l_return_status = FND_API.G_RET_STS_ERROR THEN
1511 RAISE FND_API.G_EXC_ERROR;
1512 END IF;
1513
1514
1515 -- Re-set the UI flag to FALSE
1516 OE_GLOBALS.G_UI_FLAG := FALSE;
1517
1518 -- Set return status.
1519
1520 x_return_status := FND_API.G_RET_STS_SUCCESS;
1521
1522 -- Get message count and data
1523
1524 oe_msg_pub.Count_And_Get
1525 ( p_count => x_msg_count
1526 , p_data => x_msg_data
1527 );
1528
1529 IF l_debug_level > 0 THEN
1530 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_Payment.PROCESS_ENTITY' , 1 ) ;
1531 END IF;
1532
1533 EXCEPTION
1534
1535 WHEN FND_API.G_EXC_ERROR THEN
1536
1537 OE_GLOBALS.G_UI_FLAG := FALSE;
1538
1539 x_return_status := FND_API.G_RET_STS_ERROR;
1540
1541 -- Get message count and data
1542
1543 oe_msg_pub.Count_And_Get
1544 ( p_count => x_msg_count
1545 , p_data => x_msg_data
1546 );
1547
1548 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1549
1550 OE_GLOBALS.G_UI_FLAG := FALSE;
1551
1552 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1553
1554 -- Get message count and data
1555
1556 oe_msg_pub.Count_And_Get
1557 ( p_count => x_msg_count
1558 , p_data => x_msg_data
1559 );
1560
1561 WHEN OTHERS THEN
1562
1563 OE_GLOBALS.G_UI_FLAG := FALSE;
1564
1565 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1566
1567 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1568 THEN
1569 oe_msg_pub.Add_Exc_Msg
1570 ( G_PKG_NAME
1571 , 'Process_Entity'
1572 );
1573 END IF;
1574
1575 -- Get message count and data
1576
1577 oe_msg_pub.Count_And_Get
1578 ( p_count => x_msg_count
1579 , p_data => x_msg_data
1580 );
1581
1582 END Process_Entity;
1583
1584 -- Procedure lock_Row
1585 --
1586
1587 PROCEDURE Lock_Row
1588 ( x_return_status OUT NOCOPY VARCHAR2
1589 , x_msg_count OUT NOCOPY NUMBER
1590 , x_msg_data OUT NOCOPY VARCHAR2
1591 , p_payment_number IN NUMBER
1592 , p_header_id IN NUMBER
1593 , p_lock_control IN NUMBER
1594 )
1595 IS
1596 l_return_status VARCHAR2(1);
1597 l_x_Header_Payment_rec OE_Order_PUB.Header_PAYMENT_Rec_Type;
1598
1599 --
1600 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1601 --
1602 BEGIN
1603
1604 IF l_debug_level > 0 THEN
1605 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_PAYMENT.LOCK_ROW' , 1 ) ;
1606 END IF;
1607
1608 -- Load Header_Payment record
1609
1610 l_x_Header_Payment_rec.operation := OE_GLOBALS.G_OPR_LOCK;
1611 l_x_Header_Payment_rec.payment_number := p_payment_number ;
1612 l_x_Header_Payment_rec.header_id := p_header_id ;
1613 l_x_Header_Payment_rec.lock_control := p_lock_control;
1614
1615 -- Call oe_headers_Payments_util.lock_row instead of OE_Order_PVT.Lock_order
1616
1617 OE_Header_Payment_Util.Lock_Row
1618 ( x_return_status => l_return_status
1619 , p_x_header_Payment_rec => l_x_header_payment_rec );
1620 IF l_return_status = FND_API.G_RET_STS_SUCCESS THEN
1621
1622 -- Set DB flag and write record to cache.
1623
1624 l_x_Header_Payment_rec.db_flag := FND_API.G_TRUE;
1625
1626 Write_Header_Payment
1627 ( p_Header_Payment_rec => l_x_Header_Payment_rec
1628 , p_db_record => TRUE
1629 );
1630
1631 END IF;
1632
1633 -- Set return status.
1634
1635 x_return_status := l_return_status;
1636
1637 -- Get message count and data
1638
1639 oe_msg_pub.Count_And_Get
1640 ( p_count => x_msg_count
1641 , p_data => x_msg_data
1642 );
1643
1644 IF l_debug_level > 0 THEN
1645 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_Payment.LOCK_ROW' , 1 ) ;
1646 END IF;
1647
1648 EXCEPTION
1649
1650 WHEN OTHERS THEN
1651
1652 IF oe_msg_pub.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1653 THEN
1654 oe_msg_pub.Add_Exc_Msg
1655 ( G_PKG_NAME
1656 , 'Lock_Row'
1657 );
1658 END IF;
1659
1660 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1661
1662 -- Get message count and data
1663
1664 oe_msg_pub.Count_And_Get
1665 ( p_count => x_msg_count
1666 , p_data => x_msg_data
1667 );
1668
1669
1670
1671 END Lock_Row;
1672
1673 -- Procedures maintaining Header_Payment record cache.
1674
1675 PROCEDURE Write_Header_Payment
1676 ( p_Header_Payment_rec IN OE_Order_PUB.Header_PAYMENT_Rec_Type
1677 , p_db_record IN BOOLEAN := FALSE
1678 )
1679 IS
1680 --
1681 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1682 --
1683 BEGIN
1684
1685 IF l_debug_level > 0 THEN
1686 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_PAYMENT.WRITE_HEADER_PAYMENT' , 1 ) ;
1687 END IF;
1688
1689 g_Header_Payment_rec := p_Header_Payment_rec;
1690
1691 IF p_db_record THEN
1692
1693 g_db_Header_Payment_rec := p_Header_Payment_rec;
1694
1695 END IF;
1696
1697 IF l_debug_level > 0 THEN
1698 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_PAYMENT.WRITE_HEADER_PAYMENT' , 1 ) ;
1699 END IF;
1700
1701 END Write_Header_Payment;
1702
1703 PROCEDURE Get_Header_Payment
1704 ( p_db_record IN BOOLEAN := FALSE
1705 , p_payment_number IN NUMBER
1706 , p_header_id IN NUMBER
1707 , x_header_Payment_rec OUT NOCOPY OE_Order_PUB.Header_PAYMENT_Rec_Type
1708 )
1709 IS
1710 --
1711 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1712 --
1713 BEGIN
1714
1715 IF l_debug_level > 0 THEN
1716 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_PAYMENT.GET_HEADER_PAYMENT' , 1 ) ;
1717 END IF;
1718
1719 IF nvl(p_payment_number, -1) <> NVL(g_Header_Payment_rec.payment_number,-1) or
1720 p_header_id <> NVL(g_Header_Payment_rec.header_id, -1)
1721 THEN
1722
1723 -- Query row from DB
1724
1725 OE_Header_Payment_Util.Query_Row
1726 ( p_payment_number => p_payment_number
1727 , p_header_id => p_header_id
1728 , x_header_Payment_rec => g_Header_Payment_rec
1729 );
1730
1731 g_Header_Payment_rec.db_flag := FND_API.G_TRUE;
1732
1733 -- Load DB record
1734
1735 g_db_Header_Payment_rec := g_Header_PAYMENT_rec;
1736
1737 END IF;
1738
1739 IF l_debug_level > 0 THEN
1740 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_Payment.GET_HEADER_PAYMENT' , 1 ) ;
1741 END IF;
1742
1743 IF p_db_record THEN
1744
1745 x_header_Payment_rec:= g_db_Header_PAYMENT_rec;
1746
1747 ELSE
1748
1749 x_header_Payment_rec:= g_Header_PAYMENT_rec;
1750
1751 END IF;
1752
1753 END Get_Header_Payment;
1754
1755 PROCEDURE Clear_Header_Payment
1756 IS
1757 --
1758 l_debug_level CONSTANT NUMBER := oe_debug_pub.g_debug_level;
1759 --
1760 BEGIN
1761
1762 IF l_debug_level > 0 THEN
1763 oe_debug_pub.add( 'ENTERING OE_OE_FORM_HEADER_Payment.CLEAR_HEADER_PAYMENT' , 1 ) ;
1764 END IF;
1765
1766 g_Header_Payment_rec := OE_Order_PUB.G_MISS_HEADER_PAYMENT_REC;
1767 g_db_Header_Payment_rec := OE_Order_PUB.G_MISS_HEADER_PAYMENT_REC;
1768
1769 IF l_debug_level > 0 THEN
1770 oe_debug_pub.add( 'EXITING OE_OE_FORM_HEADER_Payment.CLEAR_HEADER_PAYMENT' , 1 ) ;
1771 END IF;
1772
1773 END Clear_Header_Payment;
1774
1775 END OE_OE_Form_Header_Payment;