[Home] [Help]
PACKAGE BODY: APPS.ARP_CTL_PKG
Source
1 PACKAGE BODY ARP_CTL_PKG AS
2 /* $Header: ARTICTLB.pls 120.31.12010000.6 2008/11/24 12:46:19 rasarasw ship $ */
3 PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
4
5 /*--------------------------------------------------------+
6 | Dummy constants for use in update and lock operations |
7 +--------------------------------------------------------*/
8
9 AR_TEXT_DUMMY CONSTANT VARCHAR2(10) := '~~!@#$*&^';
10 AR_TEXT3_DUMMY CONSTANT VARCHAR2(10) := '~!@';
11 AR_FLAG_DUMMY CONSTANT VARCHAR2(10) := '~';
12 AR_NUMBER_DUMMY CONSTANT NUMBER(15) := -999999999999999;
13 AR_DATE_DUMMY CONSTANT DATE := to_date(1, 'J');
14
15 /*---------------------------------------------------------------+
16 | Package global variables to hold the parsed update cursors. |
17 | This allows the cursors to be reused without being reparsed. |
18 +---------------------------------------------------------------*/
19
20 pg_cursor1 integer := '';
21 pg_cursor2 integer := '';
22
23 /*-------------------------------------+
24 | WHO column values from FND_GLOBAL |
25 +-------------------------------------*/
26
27 pg_user_id number;
28 pg_conc_login_id number;
29 pg_login_id number;
30 pg_prog_appl_id number;
31 pg_conc_program_id number;
32
33 --{BUG#3339072
34 TYPE ctlrec IS RECORD (
35 customer_trx_line_id DBMS_SQL.NUMBER_TABLE,
36 customer_trx_id DBMS_SQL.NUMBER_TABLE,
37 created_by DBMS_SQL.VARCHAR2_TABLE,
38 creation_date DBMS_SQL.DATE_TABLE,
39 last_updated_by DBMS_SQL.VARCHAR2_TABLE,
40 last_update_date DBMS_SQL.DATE_TABLE,
41 last_update_login DBMS_SQL.VARCHAR2_TABLE,
42 line_number DBMS_SQL.NUMBER_TABLE,
43 line_type DBMS_SQL.VARCHAR2_TABLE,
44 set_of_books_id DBMS_SQL.NUMBER_TABLE,
45 accounting_rule_id DBMS_SQL.NUMBER_TABLE,
46 autorule_complete_flag DBMS_SQL.VARCHAR2_TABLE,
47 last_period_to_credit DBMS_SQL.NUMBER_TABLE,
48 description DBMS_SQL.VARCHAR2_TABLE,
49 initial_customer_trx_line_id DBMS_SQL.NUMBER_TABLE,
50 inventory_item_id DBMS_SQL.NUMBER_TABLE,
51 item_exception_rate_id DBMS_SQL.NUMBER_TABLE,
52 memo_line_id DBMS_SQL.NUMBER_TABLE,
53 reason_code DBMS_SQL.VARCHAR2_TABLE,
54 previous_customer_trx_id DBMS_SQL.NUMBER_TABLE,
55 previous_customer_trx_line_id DBMS_SQL.NUMBER_TABLE,
56 link_to_cust_trx_line_id DBMS_SQL.NUMBER_TABLE,
57 unit_standard_price DBMS_SQL.NUMBER_TABLE,
58 unit_selling_price DBMS_SQL.NUMBER_TABLE,
59 gross_unit_selling_price DBMS_SQL.NUMBER_TABLE,-- Bug 7389126 KALYAN
60 gross_extended_amount DBMS_SQL.NUMBER_TABLE, -- 6882394
61 original_extended_amount DBMS_SQL.NUMBER_TABLE,-- 6882394
62 original_revenue_amount DBMS_SQL.NUMBER_TABLE,-- 6882394
63 quantity_credited DBMS_SQL.NUMBER_TABLE,
64 quantity_invoiced DBMS_SQL.NUMBER_TABLE, -- Bug 6990227
65 extended_amount DBMS_SQL.NUMBER_TABLE,
66 revenue_amount DBMS_SQL.NUMBER_TABLE,
67 sales_order DBMS_SQL.VARCHAR2_TABLE,
68 sales_order_date DBMS_SQL.DATE_TABLE,
69 sales_order_line DBMS_SQL.VARCHAR2_TABLE,
70 sales_order_revision DBMS_SQL.NUMBER_TABLE,
71 sales_order_source DBMS_SQL.VARCHAR2_TABLE,
72 tax_exemption_id DBMS_SQL.NUMBER_TABLE,
73 tax_precedence DBMS_SQL.NUMBER_TABLE,
74 tax_rate DBMS_SQL.NUMBER_TABLE,
75 uom_code DBMS_SQL.VARCHAR2_TABLE,
76 default_ussgl_transaction_code DBMS_SQL.VARCHAR2_TABLE,
77 default_ussgl_trx_code_context DBMS_SQL.VARCHAR2_TABLE,
78 sales_tax_id DBMS_SQL.NUMBER_TABLE,
79 location_segment_id DBMS_SQL.NUMBER_TABLE,
80 vat_tax_id DBMS_SQL.NUMBER_TABLE,
81 amount_includes_tax_flag DBMS_SQL.VARCHAR2_TABLE,
82 warehouse_id DBMS_SQL.NUMBER_TABLE,
83 taxable_amount DBMS_SQL.NUMBER_TABLE,
84 translated_description DBMS_SQL.VARCHAR2_TABLE,
85 org_id DBMS_SQL.NUMBER_TABLE,
86 ship_to_customer_id DBMS_SQL.NUMBER_TABLE,
87 ship_to_address_id DBMS_SQL.NUMBER_TABLE,
88 ship_to_site_use_id DBMS_SQL.NUMBER_TABLE,
89 ship_to_contact_id DBMS_SQL.NUMBER_TABLE,
90 tax_classification_code DBMS_SQL.VARCHAR2_TABLE,
91 historical_flag DBMS_SQL.VARCHAR2_TABLE,
92 memo_line_type DBMS_SQL.VARCHAR2_TABLE);
93 --}
94 /*===========================================================================+
95 | FUNCTION |
96 | calculate_prorated_tax_amount |
97 | |
98 | DESCRIPTION |
99 | This function will prorate the tax across lines when the |
100 | credit transaction is of type TAX ONLY |
101 | |
102 | SCOPE - PUBLIC |
103 | |
104 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
105 | arp_util.debug |
106 | |
107 | ARGUMENTS : IN: |
108 | p_mode |
109 | p_tax_amount |
110 | p_customer_trx_id |
111 | p_customer_trx_line_id |
112 | RETURNS : Number |
113 | |
114 | NOTES |
115 | |
116 | MODIFICATION HISTORY |
117 | 06-FEB-2008 Manohar Kolla V K Created |
118 | |
119 +===========================================================================*/
120
121 FUNCTION calculate_prorated_tax_amount (p_mode IN varchar2,
122 p_tax_amount IN ra_customer_trx_lines.extended_amount%type,
123 p_customer_trx_id IN ra_customer_trx.customer_trx_id%type,
124 p_customer_trx_line_id IN ra_customer_trx_lines.customer_trx_line_id%type)
125 RETURN NUMBER
126 IS
127 l_tax_recoverable ra_customer_trx_lines.tax_recoverable%type;
128 l_total_tax_recoverable ra_customer_trx_lines.tax_recoverable%type;
129 l_precision FND_CURRENCIES.precision%type;
130 l_mau FND_CURRENCIES.minimum_accountable_unit%type;
131 l_tax_amount ra_customer_trx_lines.extended_amount%type;
132
133 BEGIN
134 IF PG_DEBUG in ('Y', 'C') THEN
135 arp_util.debug( 'arp_ctl_pkg.calculate_prorated_tax_amount()+');
136 END IF;
137
138 IF p_mode = 'INSERT_NO_LINE' then
139
140 select sum(decode(ct.complete_flag , 'N', 0,
141 nvl(ctl.tax_recoverable,
142 (select sum(ctl_tax.extended_amount) from ra_customer_trx_lines_all ctl_tax
143 where ctl_tax.customer_trx_id = ctl.customer_trx_id
144 and ctl_tax.link_to_cust_trx_line_id = ctl.customer_trx_line_id
145 and ctl_tax.line_type = 'TAX')))) tax_recoverable
146 INTO l_tax_recoverable
147 from ra_customer_trx_lines_all orig_ctl,
148 ra_customer_trx_lines_all ctl,
149 ra_customer_trx_lines_all cm_ctl,
150 ra_customer_trx_all ct
151 where (ctl.customer_trx_line_id = orig_ctl.customer_trx_line_id
152 OR ( ctl.previous_customer_trx_line_id IS NOT NULL
153 AND ctl.previous_customer_trx_line_id = orig_ctl.customer_trx_line_id)
154 )
155 and orig_ctl.customer_trx_id = cm_ctl.previous_customer_trx_id
156 and orig_ctl.customer_trx_line_id = cm_ctl.previous_customer_trx_line_id
157 and cm_ctl.customer_trx_id = p_customer_trx_id
158 and cm_ctl.customer_trx_line_id = p_customer_trx_line_id
159 and ctl.line_type = 'LINE'
160 and ct.customer_trx_id = ctl.customer_trx_id
161 group by orig_ctl.customer_trx_line_id, ctl.line_type;
162
163 select sum(decode(ct.complete_flag , 'N', 0,
164 nvl(ctl.tax_recoverable, (select sum(ctl_tax.extended_amount) from ra_customer_trx_lines_all ctl_tax
165 where ctl_tax.customer_trx_id = ctl.customer_trx_id
166 and ctl_tax.link_to_cust_trx_line_id = ctl.customer_trx_line_id
167 and ctl_tax.line_type = 'TAX')))) total_tax_recoverable
168 INTO l_total_tax_recoverable
169 from ra_customer_trx_lines_all orig_ctl,
170 ra_customer_trx_lines_all ctl,
171 ra_customer_trx_lines_all cm_ctl,
172 ra_customer_trx_all ct
173 where (ctl.customer_trx_line_id = orig_ctl.customer_trx_line_id
174 OR ( ctl.previous_customer_trx_line_id IS NOT NULL
175 AND ctl.previous_customer_trx_line_id = orig_ctl.customer_trx_line_id)
176 )
177 and orig_ctl.customer_trx_id = cm_ctl.previous_customer_trx_id
178 and orig_ctl.customer_trx_line_id = cm_ctl.previous_customer_trx_line_id
179 and cm_ctl.customer_trx_id = p_customer_trx_id
180 and ctl.line_type = 'LINE'
181 and ct.customer_trx_id = ctl.customer_trx_id;
182
183 if l_total_tax_recoverable = 0 then
184 l_total_tax_recoverable := 1;
185 end if;
186
187 select
188 CUR.precision,
189 CUR.minimum_accountable_unit
190 into l_precision,
191 l_mau
192 from RA_CUSTOMER_TRX TRX,
193 FND_CURRENCIES CUR
194 where TRX.customer_trx_id = p_customer_trx_id
195 and TRX.invoice_currency_code = CUR.currency_code;
196
197 l_tax_amount := p_tax_amount * (l_tax_recoverable / l_total_tax_recoverable);
198
199 IF l_precision is not null
200 THEN
201 l_tax_amount := round(l_tax_amount, l_precision);
202 ELSE
203 l_tax_amount := (round(l_tax_amount / l_mau)
204 * l_mau);
205 END IF;
206 ELSE
207 l_tax_amount := p_tax_amount;
208 END IF;
209
210 IF PG_DEBUG in ('Y', 'C') THEN
211 arp_util.debug( 'l_tax_recoverable = ' || l_tax_recoverable);
212 arp_util.debug( 'l_total_tax_recoverable = ' || l_total_tax_recoverable);
213 arp_util.debug( 'l_tax_amount = ' || l_tax_amount);
214 END IF;
215
216 IF PG_DEBUG in ('Y', 'C') THEN
217 arp_util.debug( 'arp_ctl_pkg.calculate_prorated_tax_amount()-');
218 END IF;
219
220 RETURN l_tax_amount;
221 EXCEPTION
222 WHEN NO_DATA_FOUND THEN
223 return null;
224 WHEN OTHERS THEN
225 IF PG_DEBUG in ('Y', 'C') THEN
226 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.calculate_prorated_tax_amount');
227 arp_util.debug( '');
228 arp_util.debug( 'p_customer_trx_id = '||p_customer_trx_id);
229 arp_util.debug( 'p_customer_trx_line_id = '||p_customer_trx_line_id);
230 arp_util.debug( 'p_tax_amount = '||p_tax_amount);
231 arp_util.debug( 'p_mode = '||p_mode);
232 END IF;
233 RAISE;
234
235 END calculate_prorated_tax_amount;
236
237 /*===========================================================================+
238 | PROCEDURE |
239 | bind_line_variables |
240 | |
241 | DESCRIPTION |
242 | Binds variables from the record variable to the bind variables |
243 | in the dynamic SQL update statement. |
244 | |
245 | SCOPE - PRIVATE |
246 | |
247 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
248 | dbms_sql.bind_variable |
249 | arp_util.debug |
250 | |
251 | ARGUMENTS : IN: |
252 | p_update_cursor - ID of the update cursor |
253 | p_line_rec - ra_customer_trx_lines record |
254 | OUT: |
255 | None |
256 | |
257 | RETURNS : NONE |
258 | |
259 | NOTES |
260 | |
261 | MODIFICATION HISTORY |
262 | 06-JUN-95 Charlie Tomberg Created |
263 | |
264 | Rel. 11 Changes: |
265 | ---------------- |
266 | 07-22-97 OSTEINME added code to bind variables for |
267 | three new database columns: |
268 | - gross_unit_selling_price |
269 | - gross_extended_amount |
270 | - amount_includes_tax_flag |
271 | |
272 | 08-20-97 KTANG bind variables for |
273 | global_attribute_category and |
274 | global_attribute[1-20] for global |
275 | descriptive flexfield |
276 | |
277 | 10-JAN-99 Saloni Shah added warehouse_id for global tax |
278 | engine changes |
279 | 22-MAR-99 Debbie Jancis added translated_description for |
280 | MLS project. |
281 | |
282 | 20-MAR-2000 J Rautiainen Added BR project related columns |
283 | EXTENDED_ACCTD_AMOUNT, BR_REF_CUSTOMER_TRX_ID, |
284 | BR_REF_PAYMENT_SCHEDULE_ID and BR_ADJUSTMENT_ID |
285 | into table handlers |
286 | |
287 | 31-OCT-2000 Y Rakotonirainy Bug 1243304 : Added column wh_update_date |
288 | into the table handlers. |
289 | 04-NOV-2005 MRAYMOND 4713671 - added ship_to and tax columns
290 +===========================================================================*/
291
292
293 PROCEDURE bind_line_variables(p_update_cursor IN integer,
294 p_line_rec IN ra_customer_trx_lines%rowtype) IS
295
296 BEGIN
297
298 arp_util.debug('arp_ctl_pkg.bind_line_variables()+');
299
300
301 /*------------------+
302 | Dummy constants |
303 +------------------*/
304
305 dbms_sql.bind_variable(p_update_cursor, ':ar_text_dummy',
306 AR_TEXT_DUMMY);
307
308 dbms_sql.bind_variable(p_update_cursor, ':ar_text3_dummy',
309 AR_TEXT3_DUMMY);
310
311 dbms_sql.bind_variable(p_update_cursor, ':ar_flag_dummy',
312 AR_FLAG_DUMMY);
313
314 dbms_sql.bind_variable(p_update_cursor, ':ar_number_dummy',
315 AR_NUMBER_DUMMY);
316
317 dbms_sql.bind_variable(p_update_cursor, ':ar_date_dummy',
318 AR_DATE_DUMMY);
319
320 /*------------------+
321 | WHO variables |
322 +------------------*/
323
324 dbms_sql.bind_variable(p_update_cursor, ':pg_user_id',
325 pg_user_id);
326
327 dbms_sql.bind_variable(p_update_cursor, ':pg_login_id',
328 pg_login_id);
329
330 dbms_sql.bind_variable(p_update_cursor, ':pg_conc_login_id',
331 pg_conc_login_id);
332
333
334 /*----------------------------------------------+
335 | Bind variables for all columns in the table |
336 +----------------------------------------------*/
337
338
339 dbms_sql.bind_variable(p_update_cursor, ':customer_trx_line_id',
340 p_line_rec.customer_trx_line_id);
341
342 dbms_sql.bind_variable(p_update_cursor, ':customer_trx_id',
343 p_line_rec.customer_trx_id);
344
345 dbms_sql.bind_variable(p_update_cursor, ':line_number',
346 p_line_rec.line_number);
347
348 dbms_sql.bind_variable(p_update_cursor, ':line_type',
349 p_line_rec.line_type);
350
351 dbms_sql.bind_variable(p_update_cursor, ':quantity_credited',
352 p_line_rec.quantity_credited);
353
354 dbms_sql.bind_variable(p_update_cursor, ':quantity_invoiced',
355 p_line_rec.quantity_invoiced);
356
357 dbms_sql.bind_variable(p_update_cursor, ':quantity_ordered',
358 p_line_rec.quantity_ordered);
359
360 dbms_sql.bind_variable(p_update_cursor, ':unit_selling_price',
361 p_line_rec.unit_selling_price);
362
363 dbms_sql.bind_variable(p_update_cursor, ':unit_standard_price',
364 p_line_rec.unit_standard_price);
365
366 dbms_sql.bind_variable(p_update_cursor, ':revenue_amount',
367 p_line_rec.revenue_amount);
368
369 dbms_sql.bind_variable(p_update_cursor, ':extended_amount',
370 p_line_rec.extended_amount);
371
372 dbms_sql.bind_variable(p_update_cursor, ':memo_line_id',
373 p_line_rec.memo_line_id);
374
375 dbms_sql.bind_variable(p_update_cursor, ':inventory_item_id',
376 p_line_rec.inventory_item_id);
377
378 dbms_sql.bind_variable(p_update_cursor, ':item_exception_rate_id',
379 p_line_rec.item_exception_rate_id);
380
381 dbms_sql.bind_variable(p_update_cursor, ':description',
382 p_line_rec.description);
383
384 dbms_sql.bind_variable(p_update_cursor, ':item_context',
385 p_line_rec.item_context);
386
387 dbms_sql.bind_variable(p_update_cursor, ':initial_customer_trx_line_id',
388 p_line_rec.initial_customer_trx_line_id);
389
390 dbms_sql.bind_variable(p_update_cursor, ':link_to_cust_trx_line_id',
391 p_line_rec.link_to_cust_trx_line_id);
392
393 dbms_sql.bind_variable(p_update_cursor, ':previous_customer_trx_id',
394 p_line_rec.previous_customer_trx_id);
395
396 dbms_sql.bind_variable(p_update_cursor, ':previous_customer_trx_line_id',
397 p_line_rec.previous_customer_trx_line_id);
398
399 dbms_sql.bind_variable(p_update_cursor, ':accounting_rule_duration',
400 p_line_rec.accounting_rule_duration);
401
402 dbms_sql.bind_variable(p_update_cursor, ':accounting_rule_id',
403 p_line_rec.accounting_rule_id);
404
405 dbms_sql.bind_variable(p_update_cursor, ':rule_start_date',
406 p_line_rec.rule_start_date);
407
408 dbms_sql.bind_variable(p_update_cursor, ':autorule_complete_flag',
409 p_line_rec.autorule_complete_flag);
410
411 dbms_sql.bind_variable(p_update_cursor, ':autorule_duration_processed',
412 p_line_rec.autorule_duration_processed);
413
414 dbms_sql.bind_variable(p_update_cursor, ':reason_code',
415 p_line_rec.reason_code);
416
417 dbms_sql.bind_variable(p_update_cursor, ':last_period_to_credit',
418 p_line_rec.last_period_to_credit);
419
420 dbms_sql.bind_variable(p_update_cursor, ':sales_order',
421 p_line_rec.sales_order);
422
423 dbms_sql.bind_variable(p_update_cursor, ':sales_order_date',
424 p_line_rec.sales_order_date);
425
426 dbms_sql.bind_variable(p_update_cursor, ':sales_order_line',
427 p_line_rec.sales_order_line);
428
429 dbms_sql.bind_variable(p_update_cursor, ':sales_order_revision',
430 p_line_rec.sales_order_revision);
431
432 dbms_sql.bind_variable(p_update_cursor, ':sales_order_source',
433 p_line_rec.sales_order_source);
434
435 dbms_sql.bind_variable(p_update_cursor, ':vat_tax_id',
436 p_line_rec.vat_tax_id);
437
438 dbms_sql.bind_variable(p_update_cursor, ':tax_exempt_flag',
439 p_line_rec.tax_exempt_flag);
440
441 dbms_sql.bind_variable(p_update_cursor, ':sales_tax_id',
442 p_line_rec.sales_tax_id);
443
444 dbms_sql.bind_variable(p_update_cursor, ':location_segment_id',
445 p_line_rec.location_segment_id);
446
447 dbms_sql.bind_variable(p_update_cursor, ':tax_exempt_number',
448 p_line_rec.tax_exempt_number);
449
450 dbms_sql.bind_variable(p_update_cursor, ':tax_exempt_reason_code',
451 p_line_rec.tax_exempt_reason_code);
452
453 dbms_sql.bind_variable(p_update_cursor, ':tax_vendor_return_code',
454 p_line_rec.tax_vendor_return_code);
455
456 dbms_sql.bind_variable(p_update_cursor, ':taxable_flag',
457 p_line_rec.taxable_flag);
458
459 dbms_sql.bind_variable(p_update_cursor, ':tax_exemption_id',
460 p_line_rec.tax_exemption_id);
461
462 dbms_sql.bind_variable(p_update_cursor, ':tax_precedence',
463 p_line_rec.tax_precedence);
464
465 dbms_sql.bind_variable(p_update_cursor, ':tax_rate',
466 p_line_rec.tax_rate);
467
468 dbms_sql.bind_variable(p_update_cursor, ':uom_code',
469 p_line_rec.uom_code);
470
471 dbms_sql.bind_variable(p_update_cursor, ':autotax',
472 p_line_rec.autotax);
473
474 dbms_sql.bind_variable(p_update_cursor, ':movement_id',
475 p_line_rec.movement_id);
476
477 dbms_sql.bind_variable(p_update_cursor, ':default_ussgl_transaction_code',
478 p_line_rec.default_ussgl_transaction_code);
479
480 dbms_sql.bind_variable(p_update_cursor, ':default_ussgl_trx_code_context',
481 p_line_rec.default_ussgl_trx_code_context);
482
483 dbms_sql.bind_variable(p_update_cursor, ':interface_line_context',
484 p_line_rec.interface_line_context);
485
486 dbms_sql.bind_variable(p_update_cursor, ':interface_line_attribute1',
487 p_line_rec.interface_line_attribute1);
488
489 dbms_sql.bind_variable(p_update_cursor, ':interface_line_attribute2',
490 p_line_rec.interface_line_attribute2);
491
492 dbms_sql.bind_variable(p_update_cursor, ':interface_line_attribute3',
493 p_line_rec.interface_line_attribute3);
494
495 dbms_sql.bind_variable(p_update_cursor, ':interface_line_attribute4',
496 p_line_rec.interface_line_attribute4);
497
498 dbms_sql.bind_variable(p_update_cursor, ':interface_line_attribute5',
499 p_line_rec.interface_line_attribute5);
500
501 dbms_sql.bind_variable(p_update_cursor, ':interface_line_attribute6',
502 p_line_rec.interface_line_attribute6);
503
504 dbms_sql.bind_variable(p_update_cursor, ':interface_line_attribute7',
505 p_line_rec.interface_line_attribute7);
506
507 dbms_sql.bind_variable(p_update_cursor, ':interface_line_attribute8',
508 p_line_rec.interface_line_attribute8);
509
510 dbms_sql.bind_variable(p_update_cursor, ':interface_line_attribute9',
511 p_line_rec.interface_line_attribute9);
512
513 dbms_sql.bind_variable(p_update_cursor, ':interface_line_attribute10',
514 p_line_rec.interface_line_attribute10);
515
516 dbms_sql.bind_variable(p_update_cursor, ':interface_line_attribute11',
517 p_line_rec.interface_line_attribute11);
518
519 dbms_sql.bind_variable(p_update_cursor, ':interface_line_attribute12',
520 p_line_rec.interface_line_attribute12);
521
522 dbms_sql.bind_variable(p_update_cursor, ':interface_line_attribute13',
523 p_line_rec.interface_line_attribute13);
524
525 dbms_sql.bind_variable(p_update_cursor, ':interface_line_attribute14',
526 p_line_rec.interface_line_attribute14);
527
528 dbms_sql.bind_variable(p_update_cursor, ':interface_line_attribute15',
529 p_line_rec.interface_line_attribute15);
530
531 dbms_sql.bind_variable(p_update_cursor, ':attribute_category',
532 p_line_rec.attribute_category);
533
534 dbms_sql.bind_variable(p_update_cursor, ':attribute1',
535 p_line_rec.attribute1);
536
537 dbms_sql.bind_variable(p_update_cursor, ':attribute2',
538 p_line_rec.attribute2);
539
540 dbms_sql.bind_variable(p_update_cursor, ':attribute3',
541 p_line_rec.attribute3);
542
543 dbms_sql.bind_variable(p_update_cursor, ':attribute4',
544 p_line_rec.attribute4);
545
546 dbms_sql.bind_variable(p_update_cursor, ':attribute5',
547 p_line_rec.attribute5);
548
549 dbms_sql.bind_variable(p_update_cursor, ':attribute6',
550 p_line_rec.attribute6);
551
552 dbms_sql.bind_variable(p_update_cursor, ':attribute7',
553 p_line_rec.attribute7);
554
555 dbms_sql.bind_variable(p_update_cursor, ':attribute8',
556 p_line_rec.attribute8);
557
558 dbms_sql.bind_variable(p_update_cursor, ':attribute9',
559 p_line_rec.attribute9);
560
561 dbms_sql.bind_variable(p_update_cursor, ':attribute10',
562 p_line_rec.attribute10);
563
564 dbms_sql.bind_variable(p_update_cursor, ':attribute11',
565 p_line_rec.attribute11);
566
567 dbms_sql.bind_variable(p_update_cursor, ':attribute12',
568 p_line_rec.attribute12);
569
570 dbms_sql.bind_variable(p_update_cursor, ':attribute13',
571 p_line_rec.attribute13);
572
573 dbms_sql.bind_variable(p_update_cursor, ':attribute14',
574 p_line_rec.attribute14);
575
576 dbms_sql.bind_variable(p_update_cursor, ':attribute15',
577 p_line_rec.attribute15);
578
579 dbms_sql.bind_variable(p_update_cursor, ':created_by',
580 p_line_rec.created_by);
581
582 dbms_sql.bind_variable(p_update_cursor, ':creation_date',
583 p_line_rec.creation_date);
584
585 dbms_sql.bind_variable(p_update_cursor, ':last_updated_by',
586 p_line_rec.last_updated_by);
587
588 dbms_sql.bind_variable(p_update_cursor, ':last_update_date',
589 p_line_rec.last_update_date);
590
591 dbms_sql.bind_variable(p_update_cursor, ':program_application_id',
592 p_line_rec.program_application_id);
593
594 dbms_sql.bind_variable(p_update_cursor, ':last_update_login',
595 p_line_rec.last_update_login);
596
597 dbms_sql.bind_variable(p_update_cursor, ':program_id',
598 p_line_rec.program_id);
599
600 dbms_sql.bind_variable(p_update_cursor, ':program_update_date',
601 p_line_rec.program_update_date);
602
603 dbms_sql.bind_variable(p_update_cursor, ':set_of_books_id',
604 p_line_rec.set_of_books_id);
605
606 -- Rel. 11 Changes:
607
608 dbms_sql.bind_variable(p_update_cursor, ':gross_unit_selling_price',
609 p_line_rec.gross_unit_selling_price);
610
611 dbms_sql.bind_variable(p_update_cursor, ':gross_extended_amount',
612 p_line_rec.gross_extended_amount);
613
614 dbms_sql.bind_variable(p_update_cursor, ':amount_includes_tax_flag',
615 p_line_rec.amount_includes_tax_flag);
616
617 -- For global descriptive flexfield
618
619 dbms_sql.bind_variable(p_update_cursor, ':global_attribute_category',
620 p_line_rec.global_attribute_category);
621
622 dbms_sql.bind_variable(p_update_cursor, ':global_attribute1',
623 p_line_rec.global_attribute1);
624
625 dbms_sql.bind_variable(p_update_cursor, ':global_attribute2',
626 p_line_rec.global_attribute2);
627
628 dbms_sql.bind_variable(p_update_cursor, ':global_attribute3',
629 p_line_rec.global_attribute3);
630
631 dbms_sql.bind_variable(p_update_cursor, ':global_attribute4',
632 p_line_rec.global_attribute4);
633
634 dbms_sql.bind_variable(p_update_cursor, ':global_attribute5',
635 p_line_rec.global_attribute5);
636
637 dbms_sql.bind_variable(p_update_cursor, ':global_attribute6',
638 p_line_rec.global_attribute6);
639
640 dbms_sql.bind_variable(p_update_cursor, ':global_attribute7',
641 p_line_rec.global_attribute7);
642
643 dbms_sql.bind_variable(p_update_cursor, ':global_attribute8',
644 p_line_rec.global_attribute8);
645
646 dbms_sql.bind_variable(p_update_cursor, ':global_attribute9',
647 p_line_rec.global_attribute9);
648
649 dbms_sql.bind_variable(p_update_cursor, ':global_attribute10',
650 p_line_rec.global_attribute10);
651
652 dbms_sql.bind_variable(p_update_cursor, ':global_attribute11',
653 p_line_rec.global_attribute11);
654
655 dbms_sql.bind_variable(p_update_cursor, ':global_attribute12',
656 p_line_rec.global_attribute12);
657
658 dbms_sql.bind_variable(p_update_cursor, ':global_attribute13',
659 p_line_rec.global_attribute13);
660
661 dbms_sql.bind_variable(p_update_cursor, ':global_attribute14',
662 p_line_rec.global_attribute14);
663
664 dbms_sql.bind_variable(p_update_cursor, ':global_attribute15',
665 p_line_rec.global_attribute15);
666
667 dbms_sql.bind_variable(p_update_cursor, ':global_attribute16',
668 p_line_rec.global_attribute16);
669
670 dbms_sql.bind_variable(p_update_cursor, ':global_attribute17',
671 p_line_rec.global_attribute17);
672
673 dbms_sql.bind_variable(p_update_cursor, ':global_attribute18',
674 p_line_rec.global_attribute18);
675
676 dbms_sql.bind_variable(p_update_cursor, ':global_attribute19',
677 p_line_rec.global_attribute19);
678
679 dbms_sql.bind_variable(p_update_cursor, ':global_attribute20',
680 p_line_rec.global_attribute20);
681
682 /* added for global tax engine */
683 dbms_sql.bind_variable(p_update_cursor, ':warehouse_id',
684 p_line_rec.warehouse_id);
685 dbms_sql.bind_variable(p_update_cursor, ':translated_description',
686 p_line_rec.translated_description);
687
688 /* Bug 853757 */
689 dbms_sql.bind_variable(p_update_cursor, ':taxable_amount',
690 p_line_rec.taxable_amount);
691
692 dbms_sql.bind_variable(p_update_cursor, ':extended_acctd_amount',
693 p_line_rec.extended_acctd_amount);
694
695 dbms_sql.bind_variable(p_update_cursor, ':br_ref_customer_trx_id',
696 p_line_rec.br_ref_customer_trx_id);
697
698 dbms_sql.bind_variable(p_update_cursor, ':br_ref_payment_schedule_id',
699 p_line_rec.br_ref_payment_schedule_id);
700
701 dbms_sql.bind_variable(p_update_cursor, ':br_adjustment_id',
702 p_line_rec.br_adjustment_id);
703
704 dbms_sql.bind_variable(p_update_cursor, ':wh_update_date',
705 p_line_rec.wh_update_date);
706
707 dbms_sql.bind_variable(p_update_cursor, ':payment_set_id',
708 p_line_rec.payment_set_id);
709 /* 4713671 */
710 dbms_sql.bind_variable(p_update_cursor, ':ship_to_customer_id',
711 p_line_rec.ship_to_customer_id);
712
713 dbms_sql.bind_variable(p_update_cursor, ':ship_to_site_use_id',
714 p_line_rec.ship_to_site_use_id);
715
716 dbms_sql.bind_variable(p_update_cursor, ':ship_to_contact_id',
717 p_line_rec.ship_to_contact_id);
718
719 dbms_sql.bind_variable(p_update_cursor, ':tax_classification_code',
720 p_line_rec.tax_classification_code);
721 /* 4713671 end */
722 dbms_sql.bind_variable(p_update_cursor, ':rule_end_date',
723 p_line_rec.rule_end_date);
724
725 arp_util.debug('arp_ctl_pkg.bind_line_variables()-');
726
727 EXCEPTION
728 WHEN OTHERS THEN
729 arp_util.debug('EXCEPTION: arp_ctl_pkg.bind_line_variables()');
730
731 arp_util.debug('');
732 arp_util.debug('-------- parameters for bind_line_variables() ------');
733
734 arp_util.debug('p_update_cursor = ' || p_update_cursor);
735 arp_util.debug('');
736 display_line_rec(p_line_rec);
737
738 RAISE;
739
740 END;
741
742
743 /*===========================================================================+
744 | PROCEDURE |
745 | construct_line_update_stmt |
746 | |
747 | DESCRIPTION |
748 | Copies the text of the dynamic SQL update statement into the |
749 | out paramater. The update statement does not contain a where clause |
750 | since this is the dynamic part that is added later. |
751 | |
752 | SCOPE - PRIVATE |
753 | |
754 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
755 | arp_util.debug |
756 | |
757 | ARGUMENTS : IN: |
758 | None. |
759 | OUT: |
760 | update_text - text of the update statement |
761 | |
762 | RETURNS : NONE |
763 | |
764 | NOTES |
765 | This statement only updates columns in the line record that do not |
766 | contain the dummy values that indicate that they should not be changed.|
767 | |
768 | MODIFICATION HISTORY |
769 | 06-JUN-95 Charlie Tomberg Created |
770 | |
771 | Rel. 11 Changes: |
772 | ---------------- |
773 | 07-22-97 OSTEINME added code to update three new |
774 | database columns: |
775 | - gross_unit_selling_price |
776 | - gross_extended_amount |
777 | - amount_includes_tax_flag |
778 | |
779 | 08-20-97 KTANG update global_attribute_category and |
780 | global_attribute[1-20] for global |
781 | descriptive flexfield |
782 | |
783 | 10-JAN-99 Saloni Shah added warehouse_id for global tax |
784 | engine changes |
785 | 22-MAR-99 Debbie Jancis added translated_description for MLS |
786 | |
787 | 20-MAR-2000 J Rautiainen Added BR project related columns |
788 | EXTENDED_ACCTD_AMOUNT, BR_REF_CUSTOMER_TRX_ID, |
789 | BR_REF_PAYMENT_SCHEDULE_ID and BR_ADJUSTMENT_ID |
790 | into table handlers |
791 | |
792 | 31-OCT-2000 Y Rakotonirainy Bug 1243304 : Added column wh_update_date |
793 | into the table handlers. |
794 | 04-NOV-2005 MRAYMOND 4713671 - coded ship to and classifctn fields
795 +===========================================================================*/
796
797 PROCEDURE construct_line_update_stmt( update_text OUT NOCOPY varchar2) IS
798
799 BEGIN
800 arp_util.debug('arp_ctl_pkg.construct_line_update_stmt()+');
801
802 update_text :=
803 'UPDATE ra_customer_trx_lines
804 SET customer_trx_line_id =
805 DECODE(:customer_trx_line_id,
806 :ar_number_dummy, customer_trx_line_id,
807 :customer_trx_line_id),
808 customer_trx_id =
809 DECODE(:customer_trx_id,
810 :ar_number_dummy, customer_trx_id,
811 :customer_trx_id),
812 line_number =
813 DECODE(:line_number,
814 :ar_number_dummy, line_number,
815 :line_number),
816 line_type =
817 DECODE(:line_type,
818 :ar_text_dummy, line_type,
819 :line_type),
820 quantity_credited =
821 DECODE(:quantity_credited,
822 :ar_number_dummy, quantity_credited,
823 :quantity_credited),
824 quantity_invoiced =
825 DECODE(:quantity_invoiced,
826 :ar_number_dummy, quantity_invoiced,
827 :quantity_invoiced),
828 quantity_ordered =
829 DECODE(:quantity_ordered,
830 :ar_number_dummy, quantity_ordered,
831 :quantity_ordered),
832 unit_selling_price =
833 DECODE(:unit_selling_price,
834 :ar_number_dummy, unit_selling_price,
835 :unit_selling_price),
836 unit_standard_price =
837 DECODE(:unit_standard_price,
838 :ar_number_dummy, unit_standard_price,
839 :unit_standard_price),
840 revenue_amount =
841 DECODE(:revenue_amount,
842 :ar_number_dummy,
843 /* IF the line type is LINE
844 AND the extended_amount has changed
845 THEN compute the revenue_amount based on the
846 percent of the old line amount was revenue:
847 new_revenue_amount = new_extended_amount *
848 (old_revenue_amount /
849 old_extended_amount)
850 ELSE use the old revenue_amount */
851 DECODE(
852 DECODE(
853 :line_type,
854 :ar_text_dummy, line_type,
855 :line_type
856 ) ||
857 DECODE(
858 :extended_amount,
859 :ar_number_dummy, ''Amount unchanged'',
860 null
861 ),
862 ''LINE'', arpcurr.CurrRound(
863 DECODE(extended_amount,
864 0, :extended_amount,
865 :extended_amount *
866 (
867 revenue_amount /
868 extended_amount
869 )
870 ),
871 :invoice_currency_code
872 ),
873 revenue_amount
874 ),
875 :revenue_amount),
876 extended_amount =
877 DECODE(:extended_amount,
878 :ar_number_dummy, extended_amount,
879 :extended_amount),
880 memo_line_id =
881 DECODE(:memo_line_id,
882 :ar_number_dummy, memo_line_id,
883 :memo_line_id),
884 inventory_item_id =
885 DECODE(:inventory_item_id,
886 :ar_number_dummy, inventory_item_id,
887 :inventory_item_id),
888 item_exception_rate_id =
889 DECODE(:item_exception_rate_id,
890 :ar_number_dummy, item_exception_rate_id,
891 :item_exception_rate_id),
892 description =
893 DECODE(:description,
894 :ar_text_dummy, description,
895 :description),
896 item_context =
897 DECODE(:item_context,
898 :ar_text_dummy, item_context,
899 :item_context),
900 initial_customer_trx_line_id =
901 DECODE(:initial_customer_trx_line_id,
902 :ar_number_dummy, initial_customer_trx_line_id,
903 :initial_customer_trx_line_id),
904 link_to_cust_trx_line_id =
905 DECODE(:link_to_cust_trx_line_id,
906 :ar_number_dummy, link_to_cust_trx_line_id,
907 :link_to_cust_trx_line_id),
908 previous_customer_trx_id =
909 DECODE(:previous_customer_trx_id,
910 :ar_number_dummy, previous_customer_trx_id,
911 :previous_customer_trx_id),
912 previous_customer_trx_line_id =
913 DECODE(:previous_customer_trx_line_id,
914 :ar_number_dummy, previous_customer_trx_line_id,
915 :previous_customer_trx_line_id),
916 accounting_rule_duration =
917 DECODE(:accounting_rule_duration,
918 :ar_number_dummy, accounting_rule_duration,
919 :accounting_rule_duration),
920 accounting_rule_id =
921 DECODE(:accounting_rule_id,
922 :ar_number_dummy, accounting_rule_id,
923 :accounting_rule_id),
924 rule_start_date =
925 DECODE(:rule_start_date,
926 :ar_date_dummy, rule_start_date,
927 :rule_start_date),
928 autorule_complete_flag =
929 DECODE(:autorule_complete_flag,
930 :ar_flag_dummy, autorule_complete_flag,
931 :autorule_complete_flag),
932 autorule_duration_processed =
933 DECODE(:autorule_duration_processed,
934 :ar_number_dummy, autorule_duration_processed,
935 :autorule_duration_processed),
936 reason_code =
937 DECODE(:reason_code,
938 :ar_text_dummy, reason_code,
939 :reason_code),
940 last_period_to_credit =
941 DECODE(:last_period_to_credit,
942 :ar_number_dummy, last_period_to_credit,
943 :last_period_to_credit),
944 sales_order =
945 DECODE(:sales_order,
946 :ar_text_dummy, sales_order,
947 :sales_order),
948 sales_order_date =
949 DECODE(:sales_order_date,
950 :ar_date_dummy, sales_order_date,
951 :sales_order_date),
952 sales_order_line =
953 DECODE(:sales_order_line,
954 :ar_text_dummy, sales_order_line,
955 :sales_order_line),
956 sales_order_revision =
957 DECODE(:sales_order_revision,
958 :ar_number_dummy, sales_order_revision,
959 :sales_order_revision),
960 sales_order_source =
961 DECODE(:sales_order_source,
962 :ar_text_dummy, sales_order_source,
963 :sales_order_source),
964 vat_tax_id =
965 DECODE(:vat_tax_id,
966 :ar_number_dummy, vat_tax_id,
967 :vat_tax_id),
968 tax_exempt_flag =
969 DECODE(:tax_exempt_flag,
970 :ar_flag_dummy, tax_exempt_flag,
971 :tax_exempt_flag),
972 sales_tax_id =
973 DECODE(:sales_tax_id,
974 :ar_number_dummy, sales_tax_id,
975 :sales_tax_id),
976 location_segment_id =
977 DECODE(:location_segment_id,
978 :ar_number_dummy, location_segment_id,
979 :location_segment_id),
980 tax_exempt_number =
981 DECODE(:tax_exempt_number,
982 :ar_text_dummy, tax_exempt_number,
983 :tax_exempt_number),
984 tax_exempt_reason_code =
985 DECODE(:tax_exempt_reason_code,
986 :ar_text_dummy, tax_exempt_reason_code,
987 :tax_exempt_reason_code),
988 tax_vendor_return_code =
989 DECODE(:tax_vendor_return_code,
990 :ar_text_dummy, tax_vendor_return_code,
991 :tax_vendor_return_code),
992 taxable_flag =
993 DECODE(:taxable_flag,
994 :ar_flag_dummy, taxable_flag,
995 :taxable_flag),
996 tax_exemption_id =
997 DECODE(:tax_exemption_id,
998 :ar_number_dummy, tax_exemption_id,
999 :tax_exemption_id),
1000 tax_precedence =
1001 DECODE(:tax_precedence,
1002 :ar_number_dummy, tax_precedence,
1003 :tax_precedence),
1004 tax_rate =
1005 DECODE(:tax_rate,
1006 :ar_number_dummy, tax_rate,
1007 :tax_rate),
1008 uom_code =
1009 DECODE(:uom_code,
1010 :ar_text3_dummy, uom_code,
1011 :uom_code),
1012 autotax =
1013 DECODE(:autotax,
1014 :ar_flag_dummy, autotax,
1015 :autotax),
1016 movement_id =
1017 DECODE(:movement_id,
1018 :ar_number_dummy, movement_id,
1019 :movement_id),
1020 default_ussgl_transaction_code =
1021 DECODE(:default_ussgl_transaction_code,
1022 :ar_text_dummy, default_ussgl_transaction_code,
1023 :default_ussgl_transaction_code),
1024 default_ussgl_trx_code_context =
1025 DECODE(:default_ussgl_trx_code_context,
1026 :ar_text_dummy, default_ussgl_trx_code_context,
1027 :default_ussgl_trx_code_context),
1028 interface_line_context =
1029 DECODE(:interface_line_context,
1030 :ar_text_dummy, interface_line_context,
1031 :interface_line_context),
1032 interface_line_attribute1 =
1033 DECODE(:interface_line_attribute1,
1034 :ar_text_dummy, interface_line_attribute1,
1035 :interface_line_attribute1),
1036 interface_line_attribute2 =
1037 DECODE(:interface_line_attribute2,
1038 :ar_text_dummy, interface_line_attribute2,
1039 :interface_line_attribute2),
1040 interface_line_attribute3 =
1041 DECODE(:interface_line_attribute3,
1042 :ar_text_dummy, interface_line_attribute3,
1043 :interface_line_attribute3),
1044 interface_line_attribute4 =
1045 DECODE(:interface_line_attribute4,
1046 :ar_text_dummy, interface_line_attribute4,
1047 :interface_line_attribute4),
1048 interface_line_attribute5 =
1049 DECODE(:interface_line_attribute5,
1050 :ar_text_dummy, interface_line_attribute5,
1051 :interface_line_attribute5),
1052 interface_line_attribute6 =
1053 DECODE(:interface_line_attribute6,
1054 :ar_text_dummy, interface_line_attribute6,
1055 :interface_line_attribute6),
1056 interface_line_attribute7 =
1057 DECODE(:interface_line_attribute7,
1058 :ar_text_dummy, interface_line_attribute7,
1059 :interface_line_attribute7),
1060 interface_line_attribute8 =
1061 DECODE(:interface_line_attribute8,
1062 :ar_text_dummy, interface_line_attribute8,
1063 :interface_line_attribute8),
1064 interface_line_attribute9 =
1065 DECODE(:interface_line_attribute9,
1066 :ar_text_dummy, interface_line_attribute9,
1067 :interface_line_attribute9),
1068 interface_line_attribute10 =
1069 DECODE(:interface_line_attribute10,
1070 :ar_text_dummy, interface_line_attribute10,
1071 :interface_line_attribute10),
1072 interface_line_attribute11 =
1073 DECODE(:interface_line_attribute11,
1074 :ar_text_dummy, interface_line_attribute11,
1075 :interface_line_attribute11),
1076 interface_line_attribute12 =
1077 DECODE(:interface_line_attribute12,
1078 :ar_text_dummy, interface_line_attribute12,
1079 :interface_line_attribute12),
1080 interface_line_attribute13 =
1081 DECODE(:interface_line_attribute13,
1082 :ar_text_dummy, interface_line_attribute13,
1083 :interface_line_attribute13),
1084 interface_line_attribute14 =
1085 DECODE(:interface_line_attribute14,
1086 :ar_text_dummy, interface_line_attribute14,
1087 :interface_line_attribute14),
1088 interface_line_attribute15 =
1089 DECODE(:interface_line_attribute15,
1090 :ar_text_dummy, interface_line_attribute15,
1091 :interface_line_attribute15),
1092 attribute_category =
1093 DECODE(:attribute_category,
1094 :ar_text_dummy, attribute_category,
1095 :attribute_category),
1096 attribute1 =
1097 DECODE(:attribute1,
1098 :ar_text_dummy, attribute1,
1099 :attribute1),
1100 attribute2 =
1101 DECODE(:attribute2,
1102 :ar_text_dummy, attribute2,
1103 :attribute2),
1104 attribute3 =
1105 DECODE(:attribute3,
1106 :ar_text_dummy, attribute3,
1107 :attribute3),
1108 attribute4 =
1109 DECODE(:attribute4,
1110 :ar_text_dummy, attribute4,
1111 :attribute4),
1112 attribute5 =
1113 DECODE(:attribute5,
1114 :ar_text_dummy, attribute5,
1115 :attribute5),
1116 attribute6 =
1117 DECODE(:attribute6,
1118 :ar_text_dummy, attribute6,
1119 :attribute6),
1120 attribute7 =
1121 DECODE(:attribute7,
1122 :ar_text_dummy, attribute7,
1123 :attribute7),
1124 attribute8 =
1125 DECODE(:attribute8,
1126 :ar_text_dummy, attribute8,
1127 :attribute8),
1128 attribute9 =
1129 DECODE(:attribute9,
1130 :ar_text_dummy, attribute9,
1131 :attribute9),
1132 attribute10 =
1133 DECODE(:attribute10,
1134 :ar_text_dummy, attribute10,
1135 :attribute10),
1136 attribute11 =
1137 DECODE(:attribute11,
1138 :ar_text_dummy, attribute11,
1139 :attribute11),
1140 attribute12 =
1141 DECODE(:attribute12,
1142 :ar_text_dummy, attribute12,
1143 :attribute12),
1144 attribute13 =
1145 DECODE(:attribute13,
1146 :ar_text_dummy, attribute13,
1147 :attribute13),
1148 attribute14 =
1149 DECODE(:attribute14,
1150 :ar_text_dummy, attribute14,
1151 :attribute14),
1152 attribute15 =
1153 DECODE(:attribute15,
1154 :ar_text_dummy, attribute15,
1155 :attribute15),
1156 global_attribute_category =
1157 DECODE(:global_attribute_category,
1158 :ar_text_dummy, global_attribute_category,
1159 :global_attribute_category),
1160 global_attribute1 =
1161 DECODE(:global_attribute1,
1162 :ar_text_dummy, global_attribute1,
1163 :global_attribute1),
1164 global_attribute2 =
1165 DECODE(:global_attribute2,
1166 :ar_text_dummy, global_attribute2,
1167 :global_attribute2),
1168 global_attribute3 =
1169 DECODE(:global_attribute3,
1170 :ar_text_dummy, global_attribute3,
1171 :global_attribute3),
1172 global_attribute4 =
1173 DECODE(:global_attribute4,
1174 :ar_text_dummy, global_attribute4,
1175 :global_attribute4),
1176 global_attribute5 =
1177 DECODE(:global_attribute5,
1178 :ar_text_dummy, global_attribute5,
1179 :global_attribute5),
1180 global_attribute6 =
1181 DECODE(:global_attribute6,
1182 :ar_text_dummy, global_attribute6,
1183 :global_attribute6),
1184 global_attribute7 =
1185 DECODE(:global_attribute7,
1186 :ar_text_dummy, global_attribute7,
1187 :global_attribute7),
1188 global_attribute8 =
1189 DECODE(:global_attribute8,
1190 :ar_text_dummy, global_attribute8,
1191 :global_attribute8),
1192 global_attribute9 =
1193 DECODE(:global_attribute9,
1194 :ar_text_dummy, global_attribute9,
1195 :global_attribute9),
1196 global_attribute10 =
1197 DECODE(:global_attribute10,
1198 :ar_text_dummy, global_attribute10,
1199 :global_attribute10),
1200 global_attribute11 =
1201 DECODE(:global_attribute11,
1202 :ar_text_dummy, global_attribute11,
1203 :global_attribute11),
1204 global_attribute12 =
1205 DECODE(:global_attribute12,
1206 :ar_text_dummy, global_attribute12,
1207 :global_attribute12),
1208 global_attribute13 =
1209 DECODE(:global_attribute13,
1210 :ar_text_dummy, global_attribute13,
1211 :global_attribute13),
1212 global_attribute14 =
1213 DECODE(:global_attribute14,
1214 :ar_text_dummy, global_attribute14,
1215 :global_attribute14),
1216 global_attribute15 =
1217 DECODE(:global_attribute15,
1218 :ar_text_dummy, global_attribute15,
1219 :global_attribute15),
1220 global_attribute16 =
1221 DECODE(:global_attribute16,
1222 :ar_text_dummy, global_attribute16,
1223 :global_attribute16),
1224 global_attribute17 =
1225 DECODE(:global_attribute17,
1226 :ar_text_dummy, global_attribute17,
1227 :global_attribute17),
1228 global_attribute18 =
1229 DECODE(:global_attribute18,
1230 :ar_text_dummy, global_attribute18,
1231 :global_attribute18),
1232 global_attribute19 =
1233 DECODE(:global_attribute19,
1234 :ar_text_dummy, global_attribute19,
1235 :global_attribute19),
1236 global_attribute20 =
1237 DECODE(:global_attribute20,
1238 :ar_text_dummy, global_attribute20,
1239 :global_attribute20),
1240 created_by =
1241 DECODE(:created_by,
1242 :ar_number_dummy, created_by,
1243 :created_by),
1244 creation_date =
1245 DECODE(:creation_date,
1246 :ar_date_dummy, creation_date,
1247 :creation_date),
1248 last_updated_by =
1249 DECODE(:last_updated_by,
1250 :ar_number_dummy, :pg_user_id,
1251 :last_updated_by),
1252 last_update_date =
1253 DECODE(:last_update_date,
1254 :ar_date_dummy, sysdate,
1255 :last_update_date),
1256 program_application_id =
1257 DECODE(:program_application_id,
1258 :ar_number_dummy, program_application_id,
1259 :program_application_id),
1260 last_update_login =
1261 DECODE(:last_update_login,
1262 :ar_number_dummy, nvl(:pg_conc_login_id,
1263 :pg_login_id),
1264 :last_update_login),
1265 program_id =
1266 DECODE(:program_id,
1267 :ar_number_dummy, program_id,
1268 :program_id),
1269 program_update_date =
1270 DECODE(:program_update_date,
1271 :ar_date_dummy, program_update_date,
1272 :program_update_date),
1273 set_of_books_id =
1274 DECODE(:set_of_books_id,
1275 :ar_number_dummy, set_of_books_id,
1276 :set_of_books_id),
1277 gross_extended_amount =
1278 DECODE(:gross_extended_amount,
1279 :ar_number_dummy, gross_extended_amount,
1280 :gross_extended_amount),
1281 gross_unit_selling_price =
1282 DECODE(:gross_unit_selling_price,
1283 :ar_number_dummy, gross_unit_selling_price,
1284 :gross_unit_selling_price),
1285 warehouse_id =
1286 DECODE(:warehouse_id,
1287 :ar_number_dummy, warehouse_id,
1288 :warehouse_id),
1289 translated_description =
1290 DECODE(:translated_description,
1291 :ar_text_dummy, translated_description,
1292 :translated_description),
1293 /* Bug 853757 */
1294 taxable_amount =
1295 DECODE(:taxable_amount,
1296 :ar_number_dummy, taxable_amount,
1297 :taxable_amount),
1298
1299 amount_includes_tax_flag =
1300 DECODE(:amount_includes_tax_flag,
1301 :ar_flag_dummy, amount_includes_tax_flag,
1302 :amount_includes_tax_flag),
1303
1304 extended_acctd_amount =
1305 DECODE(:extended_acctd_amount,
1306 :ar_number_dummy, extended_acctd_amount,
1307 :extended_acctd_amount),
1308 br_ref_customer_trx_id =
1309 DECODE(:br_ref_customer_trx_id,
1310 :ar_number_dummy, br_ref_customer_trx_id,
1311 :br_ref_customer_trx_id),
1312 br_ref_payment_schedule_id =
1313 DECODE(:br_ref_payment_schedule_id,
1314 :ar_number_dummy, br_ref_payment_schedule_id,
1315 :br_ref_payment_schedule_id),
1316 br_adjustment_id =
1317 DECODE(:br_adjustment_id,
1318 :ar_number_dummy, br_adjustment_id,
1319 :br_adjustment_id) ,
1320
1321 wh_update_date =
1322 DECODE(:wh_update_date,
1323 :ar_date_dummy, wh_update_date,
1324 :wh_update_date) ,
1325
1326 payment_set_id =
1327 DECODE(:payment_set_id,
1328 :ar_number_dummy, payment_set_id,
1329 :payment_set_id) ,
1330 ship_to_customer_id =
1331 DECODE(:ship_to_customer_id,
1332 :ar_number_dummy, ship_to_customer_id,
1333 :ship_to_customer_id) ,
1334 ship_to_site_use_id =
1335 DECODE(:ship_to_site_use_id,
1336 :ar_number_dummy, ship_to_site_use_id,
1337 :ship_to_site_use_id) ,
1338 ship_to_contact_id =
1339 DECODE(:ship_to_contact_id,
1340 :ar_number_dummy, ship_to_contact_id,
1341 :ship_to_contact_id),
1342 tax_classification_code =
1343 DECODE(:tax_classification_code,
1344 :ar_text_dummy, tax_classification_code,
1345 :tax_classification_code),
1346 rule_end_date =
1347 DECODE(:rule_end_date,
1348 :ar_date_dummy, rule_end_date,
1349 :rule_end_date) ';
1350
1351
1352 arp_util.debug('arp_ctl_pkg.construct_line_update_stmt()-');
1353
1354 EXCEPTION
1355 WHEN OTHERS THEN
1356 arp_util.debug('EXCEPTION: arp_ctl_pkg.construct_line_update_stmt()');
1357 RAISE;
1358
1359 END;
1360
1361 /*===========================================================================+
1362 | PROCEDURE |
1363 | generic_update |
1364 | |
1365 | DESCRIPTION |
1366 | This procedure Updates records in ra_customer_trx_lines identified by |
1367 | the where clause that is passed in as a parameter. Only those columns |
1368 | in the line record parameter that do not contain the special dummy |
1369 | values are updated. |
1370 | |
1371 | SCOPE - PRIVATE |
1372 | |
1373 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
1374 | arp_util.debug |
1375 | dbms_sql.open_cursor |
1376 | dbms_sql.parse |
1377 | dbms_sql.execute |
1378 | dbms_sql.close_cursor |
1379 | |
1380 | ARGUMENTS : IN: |
1381 | p_update_cursor - identifies the cursor to use |
1382 | p_where_clause - identifies which rows to update |
1383 | p_where1 - value to bind into where clause |
1384 | p_line_type - line_type of the line |
1385 | p_currency_code - the currency code of the invoice |
1386 | p_line_rec - contains the new line values |
1387 | OUT: |
1388 | None |
1389 | |
1390 | RETURNS : NONE |
1391 | |
1392 | NOTES |
1393 | |
1394 | MODIFICATION HISTORY |
1395 | 06-JUN-95 Charlie Tomberg Created |
1396 | |
1397 +===========================================================================*/
1398
1399 PROCEDURE generic_update(p_update_cursor IN OUT NOCOPY integer,
1400 p_where_clause IN varchar2,
1401 p_where1 IN number,
1402 p_line_type IN
1403 ra_customer_trx_lines.line_type%type,
1404 p_currency_code IN
1405 fnd_currencies.currency_code%type,
1406 p_line_rec IN ra_customer_trx_lines%rowtype)
1407 IS
1408
1409 l_count number;
1410 l_update_statement varchar2(32767);
1411 --{bug#3339072 MRC trx lines
1412 ctl_array dbms_sql.number_table;
1413 --}
1414
1415 BEGIN
1416 arp_util.debug('arp_ctl_pkg.generic_update()+');
1417
1418 /*--------------------------------------------------------------+
1419 | If this update statement has not already been parsed, |
1420 | construct the statement and parse it. |
1421 | Otherwise, use the already parsed statement and rebind its |
1422 | variables. |
1423 +--------------------------------------------------------------*/
1424
1425 IF (p_update_cursor is null)
1426 THEN
1427
1428 p_update_cursor := dbms_sql.open_cursor;
1429
1430 /*---------------------------------+
1431 | Construct the update statement |
1432 +---------------------------------*/
1433
1434 arp_ctl_pkg.construct_line_update_stmt(l_update_statement);
1435
1436 l_update_statement := l_update_statement || p_where_clause ||
1437 --{BUG#3339072 MRC trx line
1438 ' RETURNING :customer_trx_line_id INTO :ctl_value ';
1439 --}
1440
1441 arp_util.debug('Update statement:');
1442 arp_util.debug('');
1443 arp_util.debug(l_update_statement);
1444 arp_util.debug('');
1445
1446 /*-----------------------------------------------+
1447 | Parse, bind, execute and close the statement |
1448 +-----------------------------------------------*/
1449
1450 dbms_sql.parse(p_update_cursor,
1451 l_update_statement,
1452 dbms_sql.v7);
1453
1454 END IF;
1455
1456 arp_ctl_pkg.bind_line_variables(p_update_cursor, p_line_rec);
1457
1458 /*-----------------------------------------+
1459 | Bind the variables in the where clause |
1460 +-----------------------------------------*/
1461
1462 dbms_sql.bind_variable(p_update_cursor, ':where_1',
1463 p_where1);
1464
1465 dbms_sql.bind_variable(p_update_cursor, ':where_line_type',
1466 p_line_type);
1467
1468 dbms_sql.bind_variable(p_update_cursor, ':invoice_currency_code',
1469 p_currency_code);
1470
1471 --{BUG#3339072
1472 dbms_sql.bind_array(p_update_cursor, ':ctl_value',
1473 ctl_array);
1474 --}
1475
1476 l_count := dbms_sql.execute(p_update_cursor);
1477
1478 arp_util.debug( to_char(l_count) || ' rows updated');
1479
1480 --{BUG#3339072
1481 dbms_sql.variable_value(p_update_cursor, ':ctl_value',
1482 ctl_array);
1483 --}
1484
1485 /*------------------------------------------------------------+
1486 | Raise the NO_DATA_FOUND exception if no rows were updated |
1487 +------------------------------------------------------------*/
1488
1489 IF (l_count = 0)
1490 THEN RAISE NO_DATA_FOUND;
1491 END IF;
1492
1493 arp_util.debug('arp_ctl_pkg.generic_update()-');
1494
1495 EXCEPTION
1496 WHEN OTHERS THEN
1497 arp_util.debug('EXCEPTION: arp_ctl_pkg.generic_update()');
1498 arp_util.debug(l_update_statement);
1499 arp_util.debug('Error at character: ' ||
1500 to_char(dbms_sql.last_error_position));
1501
1502 arp_util.debug('');
1503 arp_util.debug('-------- parameters for generic_update() ------');
1504 arp_util.debug('p_update_cursor = ' || p_update_cursor);
1505 arp_util.debug('p_where_clause = ' || p_where_clause);
1506 arp_util.debug('p_where1 = ' || p_where1);
1507 arp_util.debug('p_line_type = ' || p_line_type);
1508 arp_util.debug('p_currency_code = ' || p_currency_code);
1509 display_line_rec(p_line_rec);
1510
1511 RAISE;
1512 END;
1513
1514 /*===========================================================================+
1515 | PROCEDURE |
1516 | set_to_dummy |
1517 | |
1518 | DESCRIPTION |
1519 | This procedure initializes all columns in the parameter line record |
1520 | to the appropriate dummy value for its datatype. |
1521 | |
1522 | The dummy values are defined in the following package level constants: |
1523 | AR_TEXT_DUMMY |
1524 | AR_TEXT3_DUMMY |
1525 | AR_FLAG_DUMMY |
1526 | AR_NUMBER_DUMMY |
1527 | AR_DATE_DUMMY |
1528 | |
1529 | SCOPE - PUBLIC |
1530 | |
1531 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
1532 | arp_util.debug |
1533 | |
1534 | ARGUMENTS : IN: |
1535 | None |
1536 | OUT: |
1537 | p_line_rec - The record to initialize |
1538 | |
1539 | RETURNS : NONE |
1540 | |
1541 | NOTES |
1542 | |
1543 | MODIFICATION HISTORY |
1544 | 06-JUN-95 Charlie Tomberg Created |
1545 | |
1546 | Rel. 11 Changes: |
1547 | ---------------- |
1548 | 07-22-97 OSTEINME added code to dummify three new |
1549 | database columns: |
1550 | - gross_unit_selling_price |
1551 | - gross_extended_amount |
1552 | - amount_includes_tax_flag |
1553 | |
1554 | 08-20-97 KTANG dummify global_attribute_category and|
1555 | global_attribute[1-20] for global |
1556 | descriptive flexfield |
1557 | |
1558 | |
1559 | 10-JAN-99 Saloni Shah added warehouse_id for global tax |
1560 | engine changes |
1561 | 22-MAR-99 Debbie Jancis added translated_description for MLS |
1562 | |
1563 | 20-MAR-2000 J Rautiainen Added BR project related columns |
1564 | EXTENDED_ACCTD_AMOUNT, BR_REF_CUSTOMER_TRX_ID, |
1565 | BR_REF_PAYMENT_SCHEDULE_ID and BR_ADJUSTMENT_ID |
1566 | into table handlers |
1567 | |
1568 | 31-OCT-2000 Y Rakotonirainy Bug 1243304 : Added column wh_update_date |
1569 | into the table handlers. |
1570 +===========================================================================*/
1571
1572
1573 PROCEDURE set_to_dummy( p_line_rec OUT NOCOPY ra_customer_trx_lines%rowtype) IS
1574
1575 BEGIN
1576
1577 IF PG_DEBUG in ('Y', 'C') THEN
1578 arp_util.debug('arp_ctl_pkg.set_to_dummy()+');
1579 END IF;
1580
1581 p_line_rec.customer_trx_line_id := AR_NUMBER_DUMMY;
1582 p_line_rec.customer_trx_id := AR_NUMBER_DUMMY;
1583 p_line_rec.line_number := AR_NUMBER_DUMMY;
1584 p_line_rec.line_type := AR_TEXT_DUMMY;
1585 p_line_rec.quantity_credited := AR_NUMBER_DUMMY;
1586 p_line_rec.quantity_invoiced := AR_NUMBER_DUMMY;
1587 p_line_rec.quantity_ordered := AR_NUMBER_DUMMY;
1588 p_line_rec.unit_selling_price := AR_NUMBER_DUMMY;
1589 p_line_rec.unit_standard_price := AR_NUMBER_DUMMY;
1590 p_line_rec.revenue_amount := AR_NUMBER_DUMMY;
1591 p_line_rec.extended_amount := AR_NUMBER_DUMMY;
1592 p_line_rec.memo_line_id := AR_NUMBER_DUMMY;
1593 p_line_rec.inventory_item_id := AR_NUMBER_DUMMY;
1594 p_line_rec.item_exception_rate_id := AR_NUMBER_DUMMY;
1595 p_line_rec.description := AR_TEXT_DUMMY;
1596 p_line_rec.item_context := AR_TEXT_DUMMY;
1597 p_line_rec.initial_customer_trx_line_id := AR_NUMBER_DUMMY;
1598 p_line_rec.link_to_cust_trx_line_id := AR_NUMBER_DUMMY;
1599 p_line_rec.previous_customer_trx_id := AR_NUMBER_DUMMY;
1600 p_line_rec.previous_customer_trx_line_id := AR_NUMBER_DUMMY;
1601 p_line_rec.accounting_rule_duration := AR_NUMBER_DUMMY;
1602 p_line_rec.accounting_rule_id := AR_NUMBER_DUMMY;
1603 p_line_rec.rule_start_date := AR_DATE_DUMMY;
1604 p_line_rec.autorule_complete_flag := AR_FLAG_DUMMY;
1605 p_line_rec.autorule_duration_processed := AR_NUMBER_DUMMY;
1606 p_line_rec.reason_code := AR_TEXT_DUMMY;
1607 p_line_rec.last_period_to_credit := AR_NUMBER_DUMMY;
1608 p_line_rec.sales_order := AR_TEXT_DUMMY;
1609 p_line_rec.sales_order_date := AR_DATE_DUMMY;
1610 p_line_rec.sales_order_line := AR_TEXT_DUMMY;
1611 p_line_rec.sales_order_revision := AR_NUMBER_DUMMY;
1612 p_line_rec.sales_order_source := AR_TEXT_DUMMY;
1613 p_line_rec.vat_tax_id := AR_NUMBER_DUMMY;
1614 p_line_rec.tax_exempt_flag := AR_FLAG_DUMMY;
1615 p_line_rec.sales_tax_id := AR_NUMBER_DUMMY;
1616 p_line_rec.location_segment_id := AR_NUMBER_DUMMY;
1617 p_line_rec.tax_exempt_number := AR_TEXT_DUMMY;
1618 p_line_rec.tax_exempt_reason_code := AR_TEXT_DUMMY;
1619 p_line_rec.tax_vendor_return_code := AR_TEXT_DUMMY;
1620 p_line_rec.taxable_flag := AR_FLAG_DUMMY;
1621 p_line_rec.tax_exemption_id := AR_NUMBER_DUMMY;
1622 p_line_rec.tax_precedence := AR_NUMBER_DUMMY;
1623 p_line_rec.tax_rate := AR_NUMBER_DUMMY;
1624 p_line_rec.uom_code := AR_TEXT3_DUMMY;
1625 p_line_rec.autotax := AR_FLAG_DUMMY;
1626 p_line_rec.movement_id := AR_NUMBER_DUMMY;
1627 p_line_rec.default_ussgl_transaction_code := AR_TEXT_DUMMY;
1628 p_line_rec.default_ussgl_trx_code_context := AR_TEXT_DUMMY;
1629 p_line_rec.interface_line_context := AR_TEXT_DUMMY;
1630 p_line_rec.interface_line_attribute1 := AR_TEXT_DUMMY;
1631 p_line_rec.interface_line_attribute2 := AR_TEXT_DUMMY;
1632 p_line_rec.interface_line_attribute3 := AR_TEXT_DUMMY;
1633 p_line_rec.interface_line_attribute4 := AR_TEXT_DUMMY;
1634 p_line_rec.interface_line_attribute5 := AR_TEXT_DUMMY;
1635 p_line_rec.interface_line_attribute6 := AR_TEXT_DUMMY;
1636 p_line_rec.interface_line_attribute7 := AR_TEXT_DUMMY;
1637 p_line_rec.interface_line_attribute8 := AR_TEXT_DUMMY;
1638 p_line_rec.interface_line_attribute9 := AR_TEXT_DUMMY;
1639 p_line_rec.interface_line_attribute10 := AR_TEXT_DUMMY;
1640 p_line_rec.interface_line_attribute11 := AR_TEXT_DUMMY;
1641 p_line_rec.interface_line_attribute12 := AR_TEXT_DUMMY;
1642 p_line_rec.interface_line_attribute13 := AR_TEXT_DUMMY;
1643 p_line_rec.interface_line_attribute14 := AR_TEXT_DUMMY;
1644 p_line_rec.interface_line_attribute15 := AR_TEXT_DUMMY;
1645 p_line_rec.attribute_category := AR_TEXT_DUMMY;
1646 p_line_rec.attribute1 := AR_TEXT_DUMMY;
1647 p_line_rec.attribute2 := AR_TEXT_DUMMY;
1648 p_line_rec.attribute3 := AR_TEXT_DUMMY;
1649 p_line_rec.attribute4 := AR_TEXT_DUMMY;
1650 p_line_rec.attribute5 := AR_TEXT_DUMMY;
1651 p_line_rec.attribute6 := AR_TEXT_DUMMY;
1652 p_line_rec.attribute7 := AR_TEXT_DUMMY;
1653 p_line_rec.attribute8 := AR_TEXT_DUMMY;
1654 p_line_rec.attribute9 := AR_TEXT_DUMMY;
1655 p_line_rec.attribute10 := AR_TEXT_DUMMY;
1656 p_line_rec.attribute11 := AR_TEXT_DUMMY;
1657 p_line_rec.attribute12 := AR_TEXT_DUMMY;
1658 p_line_rec.attribute13 := AR_TEXT_DUMMY;
1659 p_line_rec.attribute14 := AR_TEXT_DUMMY;
1660 p_line_rec.attribute15 := AR_TEXT_DUMMY;
1661 p_line_rec.global_attribute_category := AR_TEXT_DUMMY;
1662 p_line_rec.global_attribute1 := AR_TEXT_DUMMY;
1663 p_line_rec.global_attribute2 := AR_TEXT_DUMMY;
1664 p_line_rec.global_attribute3 := AR_TEXT_DUMMY;
1665 p_line_rec.global_attribute4 := AR_TEXT_DUMMY;
1666 p_line_rec.global_attribute5 := AR_TEXT_DUMMY;
1667 p_line_rec.global_attribute6 := AR_TEXT_DUMMY;
1668 p_line_rec.global_attribute7 := AR_TEXT_DUMMY;
1669 p_line_rec.global_attribute8 := AR_TEXT_DUMMY;
1670 p_line_rec.global_attribute9 := AR_TEXT_DUMMY;
1671 p_line_rec.global_attribute10 := AR_TEXT_DUMMY;
1672 p_line_rec.global_attribute11 := AR_TEXT_DUMMY;
1673 p_line_rec.global_attribute12 := AR_TEXT_DUMMY;
1674 p_line_rec.global_attribute13 := AR_TEXT_DUMMY;
1675 p_line_rec.global_attribute14 := AR_TEXT_DUMMY;
1676 p_line_rec.global_attribute15 := AR_TEXT_DUMMY;
1677 p_line_rec.global_attribute16 := AR_TEXT_DUMMY;
1678 p_line_rec.global_attribute17 := AR_TEXT_DUMMY;
1679 p_line_rec.global_attribute18 := AR_TEXT_DUMMY;
1680 p_line_rec.global_attribute19 := AR_TEXT_DUMMY;
1681 p_line_rec.global_attribute20 := AR_TEXT_DUMMY;
1682 p_line_rec.created_by := AR_NUMBER_DUMMY;
1683 p_line_rec.creation_date := AR_DATE_DUMMY;
1684 p_line_rec.last_updated_by := AR_NUMBER_DUMMY;
1685 p_line_rec.last_update_date := AR_DATE_DUMMY;
1686 p_line_rec.program_application_id := AR_NUMBER_DUMMY;
1687 p_line_rec.last_update_login := AR_NUMBER_DUMMY;
1688 p_line_rec.program_id := AR_NUMBER_DUMMY;
1689 p_line_rec.program_update_date := AR_DATE_DUMMY;
1690 p_line_rec.set_of_books_id := AR_NUMBER_DUMMY;
1691 p_line_rec.payment_set_id := AR_NUMBER_DUMMY;
1692
1693 -- Rel. 11 Changes:
1694
1695 p_line_rec.gross_unit_selling_price := AR_NUMBER_DUMMY;
1696 p_line_rec.gross_extended_amount := AR_NUMBER_DUMMY;
1697 p_line_rec.amount_includes_tax_flag := AR_FLAG_DUMMY;
1698
1699 -- Rel 11.5 Changes (for global tax engine)
1700 p_line_rec.warehouse_id := AR_NUMBER_DUMMY;
1701 p_line_rec.translated_description := AR_TEXT_DUMMY;
1702
1703 /* Bug 853757 */
1704 p_line_rec.taxable_amount := AR_NUMBER_DUMMY;
1705
1706 p_line_rec.extended_acctd_amount := AR_NUMBER_DUMMY;
1707 p_line_rec.br_ref_customer_trx_id := AR_NUMBER_DUMMY;
1708 p_line_rec.br_ref_payment_schedule_id := AR_NUMBER_DUMMY;
1709 p_line_rec.br_adjustment_id := AR_NUMBER_DUMMY;
1710 p_line_rec.wh_update_date := AR_DATE_DUMMY;
1711
1712 /* 4713671 */
1713 p_line_rec.ship_to_customer_id := AR_NUMBER_DUMMY;
1714 p_line_rec.ship_to_site_use_id := AR_NUMBER_DUMMY;
1715 p_line_rec.ship_to_contact_id := AR_NUMBER_DUMMY;
1716 p_line_rec.tax_classification_code := AR_TEXT_DUMMY;
1717
1718 p_line_rec.rule_end_date := AR_DATE_DUMMY;
1719 IF PG_DEBUG in ('Y', 'C') THEN
1720 arp_util.debug('arp_ctl_pkg.set_to_dummy()-');
1721 END IF;
1722
1723 EXCEPTION
1724 WHEN OTHERS THEN
1725 IF PG_DEBUG in ('Y', 'C') THEN
1726 arp_util.debug('EXCEPTION: arp_ctl_pkg.set_to_dummy()');
1727 END IF;
1728 RAISE;
1729
1730 END;
1731
1732 /*===========================================================================+
1733 | PROCEDURE |
1734 | fetch_p |
1735 | |
1736 | DESCRIPTION |
1737 | This procedure fetches a single row from ra_customer_trx_lines into a |
1738 | variable specified as a parameter based on the table's primary key, |
1739 | customer_trx__line_id. |
1740 | |
1741 | SCOPE - PUBLIC |
1742 | |
1743 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
1744 | arp_util.debug |
1745 | |
1746 | ARGUMENTS : IN: |
1747 | p_customer_trx_line_id - identifies the record to fetch|
1748 | OUT: |
1749 | p_line_rec - contains the fetched record |
1750 | |
1751 | RETURNS : NONE |
1752 | |
1753 | NOTES |
1754 | |
1755 | MODIFICATION HISTORY |
1756 | 07-JUN-95 Charlie Tomberg Created |
1757 | |
1758 +===========================================================================*/
1759
1760 PROCEDURE fetch_p( p_line_rec OUT NOCOPY ra_customer_trx_lines%rowtype,
1761 p_customer_trx_line_id IN
1762 ra_customer_trx_lines.customer_trx_line_id%type )
1763 IS
1764
1765 BEGIN
1766 IF PG_DEBUG in ('Y', 'C') THEN
1767 arp_util.debug( 'arp_ctl_pkg.fetch_p()+');
1768 END IF;
1769
1770 SELECT *
1771 INTO p_line_rec
1772 FROM ra_customer_trx_lines
1773 WHERE customer_trx_line_id = p_customer_trx_line_id;
1774
1775 IF PG_DEBUG in ('Y', 'C') THEN
1776 arp_util.debug( 'arp_ctl_pkg.fetch_p()-');
1777 END IF;
1778
1779 EXCEPTION
1780 WHEN OTHERS THEN
1781 IF PG_DEBUG in ('Y', 'C') THEN
1782 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.fetch_p' );
1783 arp_util.debug( '');
1784 arp_util.debug( '-------- parameters for fetch_p() ------');
1785 arp_util.debug( 'p_customer_trx_line_id = ' || p_customer_trx_line_id);
1786 END IF;
1787
1788 RAISE;
1789 END;
1790
1791 /*===========================================================================+
1792 | PROCEDURE |
1793 | lock_p |
1794 | |
1795 | DESCRIPTION |
1796 | This procedure locks the ra_customer_trx_lines row identified by the |
1797 | p_customer_trx_line_id parameter. |
1798 | |
1799 | SCOPE - PUBLIC |
1800 | |
1801 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
1802 | arp_util.debug |
1803 | |
1804 | ARGUMENTS : IN: |
1805 | p_customer_trx_line_id - identifies the row to lock |
1806 | OUT: |
1807 | None |
1808 | |
1809 | RETURNS : NONE |
1810 | |
1811 | NOTES |
1812 | |
1813 | MODIFICATION HISTORY |
1814 | 07-JUN-95 Charlie Tomberg Created |
1815 | |
1816 +===========================================================================*/
1817
1818 PROCEDURE lock_p( p_customer_trx_line_id IN
1819 ra_customer_trx_lines.customer_trx_line_id%type )
1820 IS
1821
1822 l_customer_trx_line_id ra_customer_trx_lines.customer_trx_line_id%type;
1823
1824 BEGIN
1825 IF PG_DEBUG in ('Y', 'C') THEN
1826 arp_util.debug( 'arp_ctl_pkg.lock_p()+');
1827 END IF;
1828
1829
1830 SELECT customer_trx_line_id
1831 INTO l_customer_trx_line_id
1832 FROM ra_customer_trx_lines
1833 WHERE customer_trx_line_id = p_customer_trx_line_id
1834 FOR UPDATE OF customer_trx_line_id NOWAIT;
1835
1836 IF PG_DEBUG in ('Y', 'C') THEN
1837 arp_util.debug( 'arp_ctl_pkg.lock_p()-');
1838 END IF;
1839
1840 EXCEPTION
1841 WHEN OTHERS THEN
1842 IF PG_DEBUG in ('Y', 'C') THEN
1843 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.lock_p' );
1844 arp_util.debug( '');
1845 arp_util.debug( '-------- parameters for lock_p() ------');
1846 arp_util.debug( 'p_customer_trx_line_id = ' ||
1847 p_customer_trx_line_id);
1848 END IF;
1849
1850 RAISE;
1851 END;
1852
1853 /*===========================================================================+
1854 | PROCEDURE |
1855 | lock_f_ct_id |
1856 | |
1857 | DESCRIPTION |
1858 | This procedure locks the ra_customer_trx_lines rows identified by the |
1859 | p_customer_trx_id parameter. |
1860 | |
1861 | SCOPE - PUBLIC |
1862 | |
1863 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
1864 | arp_util.debug |
1865 | |
1866 | ARGUMENTS : IN: |
1867 | p_customer_trx_id - identifies the rows to lock |
1868 | OUT: |
1869 | None |
1870 | |
1871 | RETURNS : NONE |
1872 | |
1873 | NOTES |
1874 | |
1875 | MODIFICATION HISTORY |
1876 | 07-JUN-95 Charlie Tomberg Created |
1877 | |
1878 +===========================================================================*/
1879
1880 PROCEDURE lock_f_ct_id( p_customer_trx_id IN
1881 ra_customer_trx.customer_trx_id%type )
1882 IS
1883
1884 CURSOR LOCK_C IS
1885 SELECT 'lock'
1886 FROM ra_customer_trx_lines
1887 WHERE customer_trx_id = p_customer_trx_id
1888 FOR UPDATE OF customer_trx_line_id NOWAIT;
1889
1890 BEGIN
1891 IF PG_DEBUG in ('Y', 'C') THEN
1892 arp_util.debug( 'arp_ctl_pkg.lock_f_ct_id()+');
1893 END IF;
1894
1895 OPEN lock_c;
1896 CLOSE lock_c;
1897
1898 IF PG_DEBUG in ('Y', 'C') THEN
1899 arp_util.debug( 'arp_ctl_pkg.lock_f_ct_id()-');
1900 END IF;
1901
1902 EXCEPTION
1903 WHEN OTHERS THEN
1904 IF PG_DEBUG in ('Y', 'C') THEN
1905 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.lock_f_ct_id' );
1906 arp_util.debug( '');
1907 arp_util.debug( '-------- parameters for lock_f_ct_id() ------');
1908 arp_util.debug( 'p_customer_trx_id = ' ||
1909 p_customer_trx_id);
1910 END IF;
1911
1912 RAISE;
1913 END;
1914
1915
1916 /*===========================================================================+
1917 | PROCEDURE |
1918 | lock_fetch_p |
1919 | |
1920 | DESCRIPTION |
1921 | This procedure locks the ra_customer_trx_lines row identified by the |
1922 | p_ra_customer_trx_line_id parameter and populates the |
1923 | p_line_rec parameter with the row that was locked |
1924 | |
1925 | SCOPE - PUBLIC |
1926 | |
1927 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
1928 | arp_util.debug |
1929 | |
1930 | ARGUMENTS : IN: |
1931 | p_customer_trx_line_id - identifies the row to lock |
1932 | OUT: |
1933 | p_line_rec - contains the locked row |
1934 | |
1935 | RETURNS : NONE |
1936 | |
1937 | NOTES |
1938 | |
1939 | MODIFICATION HISTORY |
1940 | 07-JUN-95 Charlie Tomberg Created |
1941 | |
1942 +===========================================================================*/
1943
1944 PROCEDURE lock_fetch_p( p_line_rec IN OUT NOCOPY ra_customer_trx_lines%rowtype,
1945 p_customer_trx_line_id IN
1946 ra_customer_trx_lines.customer_trx_line_id%type ) IS
1947
1948 BEGIN
1949 IF PG_DEBUG in ('Y', 'C') THEN
1950 arp_util.debug( 'arp_ctl_pkg.lock_fetch_p()+');
1951 END IF;
1952
1953 SELECT *
1954 INTO p_line_rec
1955 FROM ra_customer_trx_lines
1956 WHERE customer_trx_line_id = p_customer_trx_line_id
1957 FOR UPDATE OF customer_trx_line_id NOWAIT;
1958
1959 IF PG_DEBUG in ('Y', 'C') THEN
1960 arp_util.debug( 'arp_ctl_pkg.lock_fetch_p()-');
1961 END IF;
1962
1963 EXCEPTION
1964 WHEN OTHERS THEN
1965 IF PG_DEBUG in ('Y', 'C') THEN
1966 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.lock_fetch_p' );
1967 arp_util.debug( '');
1968 arp_util.debug( '-------- parameters for lock_fetch_p() ------');
1969 arp_util.debug( 'p_customer_trx_line_id = ' ||
1970 p_customer_trx_line_id);
1971 END IF;
1972 display_line_rec(p_line_rec);
1973
1974 RAISE;
1975 END;
1976
1977 /*===========================================================================+
1978 | PROCEDURE |
1979 | lock_compare_p |
1980 | |
1981 | DESCRIPTION |
1982 | This procedure locks the ra_customer_trx_lines row identified by the |
1983 | p_customer_trx_line_id parameter only if no columns in that row have |
1984 | changed from when they were first selected in the form. |
1985 | |
1986 | SCOPE - PUBLIC |
1987 | |
1988 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
1989 | arp_util.debug |
1990 | |
1991 | ARGUMENTS : IN: |
1992 | p_customer_trx_line_id - identifies the row to lock |
1993 | p_line_rec - line record for comparison |
1994 | p_ignore_who_flag - directs system to ignore who cols |
1995 | OUT: |
1996 | None |
1997 | |
1998 | RETURNS : NONE |
1999 | |
2000 | NOTES |
2001 | |
2002 | MODIFICATION HISTORY |
2003 | 07-JUN-95 Charlie Tomberg Created |
2004 | 29-JUN-95 Charlie Tomberg Modified to use select for update |
2005 | 04-DEC-95 Martin Johnson Handle NO_DATA_FOUND exception |
2006 | |
2007 | Rel. 11 Changes: |
2008 | ---------------- |
2009 | 07-22-97 OSTEINME added code to handle three new |
2010 | database columns: |
2011 | - gross_unit_selling_price |
2012 | - gross_extended_amount |
2013 | - amount_includes_tax_flag |
2014 | |
2015 | 08-20-97 KTANG handle global_attribute_category and |
2016 | global_attribute[1-20] for global |
2017 | descriptive flexfield |
2018 | |
2019 | 10-JAN-99 Saloni Shah added warehouse_id for global tax |
2020 | engine change |
2021 | 22-MAR-99 Debbie Jancis added translated_description for MLS |
2022 | |
2023 | 20-MAR-2000 J Rautiainen Added BR project related columns |
2024 | EXTENDED_ACCTD_AMOUNT, BR_REF_CUSTOMER_TRX_ID, |
2025 | BR_REF_PAYMENT_SCHEDULE_ID and BR_ADJUSTMENT_ID |
2026 | into table handlers |
2027 | |
2028 | 31-OCT-2000 Y Rakotonirainy Bug 1243304 : Added column wh_update_date |
2029 | into the table handlers. |
2030 +===========================================================================*/
2031
2032 PROCEDURE lock_compare_p( p_line_rec IN ra_customer_trx_lines%rowtype,
2033 p_customer_trx_line_id IN
2034 ra_customer_trx_lines.customer_trx_line_id%type,
2035 p_ignore_who_flag BOOLEAN DEFAULT FALSE ) IS
2036
2037 l_new_line_rec ra_customer_trx_lines%rowtype;
2038 l_temp_line_rec ra_customer_trx_lines%rowtype;
2039 l_ignore_who_flag varchar2(2);
2040
2041 BEGIN
2042 IF PG_DEBUG in ('Y', 'C') THEN
2043 arp_util.debug( 'arp_ctl_pkg.lock_compare_p()+');
2044 END IF;
2045
2046 IF (p_ignore_who_flag = TRUE)
2047 THEN l_ignore_who_flag := 'Y';
2048 ELSE l_ignore_who_flag := 'N';
2049 END IF;
2050
2051 SELECT *
2052 INTO l_new_line_rec
2053 FROM ra_customer_trx_lines ctl
2054 WHERE ctl.customer_trx_line_id = p_customer_trx_line_id
2055 AND
2056 (
2057 NVL(ctl.customer_trx_line_id, AR_NUMBER_DUMMY) =
2058 NVL(
2059 DECODE(p_line_rec.customer_trx_line_id,
2060 AR_NUMBER_DUMMY, ctl.customer_trx_line_id,
2061 p_line_rec.customer_trx_line_id),
2062 AR_NUMBER_DUMMY
2063 )
2064 AND
2065 NVL(ctl.customer_trx_id, AR_NUMBER_DUMMY) =
2066 NVL(
2067 DECODE(p_line_rec.customer_trx_id,
2068 AR_NUMBER_DUMMY, ctl.customer_trx_id,
2069 p_line_rec.customer_trx_id),
2070 AR_NUMBER_DUMMY
2071 )
2072 AND
2073 NVL(ctl.line_number, AR_NUMBER_DUMMY) =
2074 NVL(
2075 DECODE(p_line_rec.line_number,
2076 AR_NUMBER_DUMMY, ctl.line_number,
2077 p_line_rec.line_number),
2078 AR_NUMBER_DUMMY
2079 )
2080 AND
2081 NVL(ctl.line_type, AR_TEXT_DUMMY) =
2082 NVL(
2083 DECODE(p_line_rec.line_type,
2084 AR_TEXT_DUMMY, ctl.line_type,
2085 p_line_rec.line_type),
2086 AR_TEXT_DUMMY
2087 )
2088 AND
2089 NVL(substr(ctl.quantity_credited,1,37), AR_NUMBER_DUMMY) =
2090 NVL(
2091 DECODE(p_line_rec.quantity_credited,
2092 AR_NUMBER_DUMMY, substr(ctl.quantity_credited,1,37),
2093 substr(p_line_rec.quantity_credited,1,37)),
2094 AR_NUMBER_DUMMY
2095 )
2096 AND
2097 NVL(ctl.quantity_invoiced, AR_NUMBER_DUMMY) =
2098 NVL(
2099 DECODE(p_line_rec.quantity_invoiced,
2100 AR_NUMBER_DUMMY, ctl.quantity_invoiced,
2101 p_line_rec.quantity_invoiced),
2102 AR_NUMBER_DUMMY
2103 )
2104 AND
2105 NVL(ctl.quantity_ordered, AR_NUMBER_DUMMY) =
2106 NVL(
2107 DECODE(p_line_rec.quantity_ordered,
2108 AR_NUMBER_DUMMY, ctl.quantity_ordered,
2109 p_line_rec.quantity_ordered),
2110 AR_NUMBER_DUMMY
2111 )
2112 AND
2113 NVL(ctl.unit_selling_price, AR_NUMBER_DUMMY) =
2114 NVL(
2115 DECODE(p_line_rec.unit_selling_price,
2116 AR_NUMBER_DUMMY, ctl.unit_selling_price,
2117 p_line_rec.unit_selling_price),
2118 AR_NUMBER_DUMMY
2119 )
2120 AND
2121 NVL(ctl.unit_standard_price, AR_NUMBER_DUMMY) =
2122 NVL(
2123 DECODE(p_line_rec.unit_standard_price,
2124 AR_NUMBER_DUMMY, ctl.unit_standard_price,
2125 p_line_rec.unit_standard_price),
2126 AR_NUMBER_DUMMY
2127 )
2128 AND
2129 NVL(ctl.revenue_amount, AR_NUMBER_DUMMY) =
2130 NVL(
2131 DECODE(p_line_rec.revenue_amount,
2132 AR_NUMBER_DUMMY, ctl.revenue_amount,
2133 p_line_rec.revenue_amount),
2134 AR_NUMBER_DUMMY
2135 )
2136 AND
2137 NVL(ctl.extended_amount, AR_NUMBER_DUMMY) =
2138 NVL(
2139 DECODE(p_line_rec.extended_amount,
2140 AR_NUMBER_DUMMY, ctl.extended_amount,
2141 p_line_rec.extended_amount),
2142 AR_NUMBER_DUMMY
2143 )
2144 AND
2145 NVL(ctl.memo_line_id, AR_NUMBER_DUMMY) =
2146 NVL(
2147 DECODE(p_line_rec.memo_line_id,
2148 AR_NUMBER_DUMMY, ctl.memo_line_id,
2149 p_line_rec.memo_line_id),
2150 AR_NUMBER_DUMMY
2151 )
2152 AND
2153 NVL(ctl.inventory_item_id, AR_NUMBER_DUMMY) =
2154 NVL(
2155 DECODE(p_line_rec.inventory_item_id,
2156 AR_NUMBER_DUMMY, ctl.inventory_item_id,
2157 p_line_rec.inventory_item_id),
2158 AR_NUMBER_DUMMY
2159 )
2160 AND
2161 NVL(ctl.item_exception_rate_id, AR_NUMBER_DUMMY) =
2162 NVL(
2163 DECODE(p_line_rec.item_exception_rate_id,
2164 AR_NUMBER_DUMMY, ctl.item_exception_rate_id,
2165 p_line_rec.item_exception_rate_id),
2166 AR_NUMBER_DUMMY
2167 )
2168 AND
2169 NVL(ctl.description, AR_TEXT_DUMMY) =
2170 NVL(
2171 DECODE(p_line_rec.description,
2172 AR_TEXT_DUMMY, ctl.description,
2173 p_line_rec.description),
2174 AR_TEXT_DUMMY
2175 )
2176 AND
2177 NVL(ctl.item_context, AR_TEXT_DUMMY) =
2178 NVL(
2179 DECODE(p_line_rec.item_context,
2180 AR_TEXT_DUMMY, ctl.item_context,
2181 p_line_rec.item_context),
2182 AR_TEXT_DUMMY
2183 )
2184 AND
2185 NVL(ctl.initial_customer_trx_line_id, AR_NUMBER_DUMMY) =
2186 NVL(
2187 DECODE(p_line_rec.initial_customer_trx_line_id,
2188 AR_NUMBER_DUMMY, ctl.initial_customer_trx_line_id,
2189 p_line_rec.initial_customer_trx_line_id),
2190 AR_NUMBER_DUMMY
2191 )
2192 AND
2193 NVL(ctl.link_to_cust_trx_line_id, AR_NUMBER_DUMMY) =
2194 NVL(
2195 DECODE(p_line_rec.link_to_cust_trx_line_id,
2196 AR_NUMBER_DUMMY, ctl.link_to_cust_trx_line_id,
2197 p_line_rec.link_to_cust_trx_line_id),
2198 AR_NUMBER_DUMMY
2199 )
2200 AND
2201 NVL(ctl.previous_customer_trx_id, AR_NUMBER_DUMMY) =
2202 NVL(
2203 DECODE(p_line_rec.previous_customer_trx_id,
2204 AR_NUMBER_DUMMY, ctl.previous_customer_trx_id,
2205 p_line_rec.previous_customer_trx_id),
2206 AR_NUMBER_DUMMY
2207 )
2208 AND
2209 NVL(ctl.previous_customer_trx_line_id, AR_NUMBER_DUMMY) =
2210 NVL(
2211 DECODE(p_line_rec.previous_customer_trx_line_id,
2212 AR_NUMBER_DUMMY, ctl.previous_customer_trx_line_id,
2213 p_line_rec.previous_customer_trx_line_id),
2214 AR_NUMBER_DUMMY
2215 )
2216 AND
2217 NVL(ctl.accounting_rule_duration, AR_NUMBER_DUMMY) =
2218 NVL(
2219 DECODE(p_line_rec.accounting_rule_duration,
2220 AR_NUMBER_DUMMY, ctl.accounting_rule_duration,
2221 p_line_rec.accounting_rule_duration),
2222 AR_NUMBER_DUMMY
2223 )
2224 AND
2225 NVL(ctl.accounting_rule_id, AR_NUMBER_DUMMY) =
2226 NVL(
2227 DECODE(p_line_rec.accounting_rule_id,
2228 AR_NUMBER_DUMMY, ctl.accounting_rule_id,
2229 p_line_rec.accounting_rule_id),
2230 AR_NUMBER_DUMMY
2231 )
2232 AND
2233 NVL(ctl.rule_start_date, AR_DATE_DUMMY) =
2234 NVL(
2235 DECODE(p_line_rec.rule_start_date,
2236 AR_DATE_DUMMY, ctl.rule_start_date,
2237 p_line_rec.rule_start_date),
2238 AR_DATE_DUMMY
2239 )
2240 AND
2241 NVL(ctl.autorule_complete_flag, AR_FLAG_DUMMY) =
2242 NVL(
2243 DECODE(p_line_rec.autorule_complete_flag,
2244 AR_FLAG_DUMMY, ctl.autorule_complete_flag,
2245 p_line_rec.autorule_complete_flag),
2246 AR_FLAG_DUMMY
2247 )
2248 AND
2249 NVL(ctl.autorule_duration_processed, AR_NUMBER_DUMMY) =
2250 NVL(
2251 DECODE(p_line_rec.autorule_duration_processed,
2252 AR_NUMBER_DUMMY, ctl.autorule_duration_processed,
2253 p_line_rec.autorule_duration_processed),
2254 AR_NUMBER_DUMMY
2255 )
2256 AND
2257 NVL(ctl.reason_code, AR_TEXT_DUMMY) =
2258 NVL(
2259 DECODE(p_line_rec.reason_code,
2260 AR_TEXT_DUMMY, ctl.reason_code,
2261 p_line_rec.reason_code),
2262 AR_TEXT_DUMMY
2263 )
2264 AND
2265 NVL(ctl.warehouse_id, AR_NUMBER_DUMMY) =
2266 NVL(
2267 DECODE(p_line_rec.warehouse_id,
2268 AR_NUMBER_DUMMY, ctl.warehouse_id,
2269 p_line_rec.warehouse_id),
2270 AR_NUMBER_DUMMY
2271 )
2272 AND
2273 NVL(ctl.translated_description, AR_TEXT_DUMMY) =
2274 NVL(
2275 DECODE(p_line_rec.translated_description,
2276 AR_TEXT_DUMMY, ctl.translated_description,
2277 p_line_rec.translated_description),
2278 AR_TEXT_DUMMY
2279 )
2280 AND
2281 NVL(ctl.last_period_to_credit, AR_NUMBER_DUMMY) =
2282 NVL(
2283 DECODE(p_line_rec.last_period_to_credit,
2284 AR_NUMBER_DUMMY, ctl.last_period_to_credit,
2285 p_line_rec.last_period_to_credit),
2286 AR_NUMBER_DUMMY
2287 )
2288 AND
2289 NVL(ctl.sales_order, AR_TEXT_DUMMY) =
2290 NVL(
2291 DECODE(p_line_rec.sales_order,
2292 AR_TEXT_DUMMY, ctl.sales_order,
2293 p_line_rec.sales_order),
2294 AR_TEXT_DUMMY
2295 )
2296 AND
2297 NVL(ctl.sales_order_date, AR_DATE_DUMMY) =
2298 NVL(
2299 DECODE(p_line_rec.sales_order_date,
2300 AR_DATE_DUMMY, ctl.sales_order_date,
2301 p_line_rec.sales_order_date),
2302 AR_DATE_DUMMY
2303 )
2304 AND
2305 NVL(ctl.sales_order_line, AR_TEXT_DUMMY) =
2306 NVL(
2307 DECODE(p_line_rec.sales_order_line,
2308 AR_TEXT_DUMMY, ctl.sales_order_line,
2309 p_line_rec.sales_order_line),
2310 AR_TEXT_DUMMY
2311 )
2312 AND
2313 NVL(ctl.sales_order_revision, AR_NUMBER_DUMMY) =
2314 NVL(
2315 DECODE(p_line_rec.sales_order_revision,
2316 AR_NUMBER_DUMMY, ctl.sales_order_revision,
2317 p_line_rec.sales_order_revision),
2318 AR_NUMBER_DUMMY
2319 )
2320 AND
2321 NVL(ctl.sales_order_source, AR_TEXT_DUMMY) =
2322 NVL(
2323 DECODE(p_line_rec.sales_order_source,
2324 AR_TEXT_DUMMY, ctl.sales_order_source,
2325 p_line_rec.sales_order_source),
2326 AR_TEXT_DUMMY
2327 )
2328 AND
2329 NVL(ctl.vat_tax_id, AR_NUMBER_DUMMY) =
2330 NVL(
2331 DECODE(p_line_rec.vat_tax_id,
2332 AR_NUMBER_DUMMY, ctl.vat_tax_id,
2333 p_line_rec.vat_tax_id),
2334 AR_NUMBER_DUMMY
2335 )
2336 AND
2337 NVL(ctl.tax_exempt_flag, AR_FLAG_DUMMY) =
2338 NVL(
2339 DECODE(p_line_rec.tax_exempt_flag,
2340 AR_FLAG_DUMMY, ctl.tax_exempt_flag,
2341 p_line_rec.tax_exempt_flag),
2342 AR_FLAG_DUMMY
2343 )
2344 AND
2345 NVL(ctl.sales_tax_id, AR_NUMBER_DUMMY) =
2346 NVL(
2347 DECODE(p_line_rec.sales_tax_id,
2348 AR_NUMBER_DUMMY, ctl.sales_tax_id,
2349 p_line_rec.sales_tax_id),
2350 AR_NUMBER_DUMMY
2351 )
2352 AND
2353 NVL(ctl.location_segment_id, AR_NUMBER_DUMMY) =
2354 NVL(
2355 DECODE(p_line_rec.location_segment_id,
2356 AR_NUMBER_DUMMY, ctl.location_segment_id,
2357 p_line_rec.location_segment_id),
2358 AR_NUMBER_DUMMY
2359 )
2360 AND
2361 NVL(ctl.tax_exempt_number, AR_TEXT_DUMMY) =
2362 NVL(
2363 DECODE(p_line_rec.tax_exempt_number,
2364 AR_TEXT_DUMMY, ctl.tax_exempt_number,
2365 p_line_rec.tax_exempt_number),
2366 AR_TEXT_DUMMY
2367 )
2368 AND
2369 NVL(ctl.tax_exempt_reason_code, AR_TEXT_DUMMY) =
2370 NVL(
2371 DECODE(p_line_rec.tax_exempt_reason_code,
2372 AR_TEXT_DUMMY, ctl.tax_exempt_reason_code,
2373 p_line_rec.tax_exempt_reason_code),
2374 AR_TEXT_DUMMY
2375 )
2376 AND
2377 NVL(ctl.tax_vendor_return_code, AR_TEXT_DUMMY) =
2378 NVL(
2379 DECODE(p_line_rec.tax_vendor_return_code,
2380 AR_TEXT_DUMMY, ctl.tax_vendor_return_code,
2381 p_line_rec.tax_vendor_return_code),
2382 AR_TEXT_DUMMY
2383 )
2384 AND
2385 NVL(ctl.taxable_flag, AR_FLAG_DUMMY) =
2386 NVL(
2387 DECODE(p_line_rec.taxable_flag,
2388 AR_FLAG_DUMMY, ctl.taxable_flag,
2389 p_line_rec.taxable_flag),
2390 AR_FLAG_DUMMY
2391 )
2392 )
2393 AND
2394 (
2395 NVL(ctl.tax_exemption_id, AR_NUMBER_DUMMY) =
2396 NVL(
2397 DECODE(p_line_rec.tax_exemption_id,
2398 AR_NUMBER_DUMMY, ctl.tax_exemption_id,
2399 p_line_rec.tax_exemption_id),
2400 AR_NUMBER_DUMMY
2401 )
2402 AND
2403 NVL(ctl.tax_precedence, AR_NUMBER_DUMMY) =
2404 NVL(
2405 DECODE(p_line_rec.tax_precedence,
2406 AR_NUMBER_DUMMY, ctl.tax_precedence,
2407 p_line_rec.tax_precedence),
2408 AR_NUMBER_DUMMY
2409 )
2410 AND
2411 NVL(ctl.tax_rate, AR_NUMBER_DUMMY) =
2412 NVL(
2413 DECODE(p_line_rec.tax_rate,
2414 AR_NUMBER_DUMMY, ctl.tax_rate,
2415 p_line_rec.tax_rate),
2416 AR_NUMBER_DUMMY
2417 )
2418 AND
2419 NVL(ctl.uom_code, AR_TEXT3_DUMMY) =
2420 NVL(
2421 DECODE(p_line_rec.uom_code,
2422 AR_TEXT3_DUMMY, ctl.uom_code,
2423 p_line_rec.uom_code),
2424 AR_TEXT3_DUMMY
2425 )
2426 AND
2427 NVL(ctl.autotax, AR_FLAG_DUMMY) =
2428 NVL(
2429 DECODE(p_line_rec.autotax,
2430 AR_FLAG_DUMMY, ctl.autotax,
2431 p_line_rec.autotax),
2432 AR_FLAG_DUMMY
2433 )
2434 AND
2435 NVL(ctl.movement_id, AR_NUMBER_DUMMY) =
2436 NVL(
2437 DECODE(p_line_rec.movement_id,
2438 AR_NUMBER_DUMMY, ctl.movement_id,
2439 p_line_rec.movement_id),
2440 AR_NUMBER_DUMMY
2441 )
2442 AND
2443 NVL(ctl.default_ussgl_transaction_code, AR_TEXT_DUMMY) =
2444 NVL(
2445 DECODE(p_line_rec.default_ussgl_transaction_code,
2446 AR_TEXT_DUMMY, ctl.default_ussgl_transaction_code,
2447 p_line_rec.default_ussgl_transaction_code),
2448 AR_TEXT_DUMMY
2449 )
2450 AND
2451 NVL(ctl.default_ussgl_trx_code_context, AR_TEXT_DUMMY) =
2452 NVL(
2453 DECODE(p_line_rec.default_ussgl_trx_code_context,
2454 AR_TEXT_DUMMY, ctl.default_ussgl_trx_code_context,
2455 p_line_rec.default_ussgl_trx_code_context),
2456 AR_TEXT_DUMMY
2457 )
2458 AND
2459 NVL(ctl.interface_line_context, AR_TEXT_DUMMY) =
2460 NVL(
2461 DECODE(p_line_rec.interface_line_context,
2462 AR_TEXT_DUMMY, ctl.interface_line_context,
2463 p_line_rec.interface_line_context),
2464 AR_TEXT_DUMMY
2465 )
2466 AND
2467 NVL(ctl.interface_line_attribute1, AR_TEXT_DUMMY) =
2468 NVL(
2469 DECODE(p_line_rec.interface_line_attribute1,
2470 AR_TEXT_DUMMY, ctl.interface_line_attribute1,
2471 p_line_rec.interface_line_attribute1),
2472 AR_TEXT_DUMMY
2473 )
2474 AND
2475 NVL(ctl.interface_line_attribute2, AR_TEXT_DUMMY) =
2476 NVL(
2477 DECODE(p_line_rec.interface_line_attribute2,
2478 AR_TEXT_DUMMY, ctl.interface_line_attribute2,
2479 p_line_rec.interface_line_attribute2),
2480 AR_TEXT_DUMMY
2481 )
2482 AND
2483 NVL(ctl.interface_line_attribute3, AR_TEXT_DUMMY) =
2484 NVL(
2485 DECODE(p_line_rec.interface_line_attribute3,
2486 AR_TEXT_DUMMY, ctl.interface_line_attribute3,
2487 p_line_rec.interface_line_attribute3),
2488 AR_TEXT_DUMMY
2489 )
2490 AND
2491 NVL(ctl.interface_line_attribute4, AR_TEXT_DUMMY) =
2492 NVL(
2493 DECODE(p_line_rec.interface_line_attribute4,
2494 AR_TEXT_DUMMY, ctl.interface_line_attribute4,
2495 p_line_rec.interface_line_attribute4),
2496 AR_TEXT_DUMMY
2497 )
2498 AND
2499 NVL(ctl.interface_line_attribute5, AR_TEXT_DUMMY) =
2500 NVL(
2501 DECODE(p_line_rec.interface_line_attribute5,
2502 AR_TEXT_DUMMY, ctl.interface_line_attribute5,
2503 p_line_rec.interface_line_attribute5),
2504 AR_TEXT_DUMMY
2505 )
2506 AND
2507 NVL(ctl.interface_line_attribute6, AR_TEXT_DUMMY) =
2508 NVL(
2509 DECODE(p_line_rec.interface_line_attribute6,
2510 AR_TEXT_DUMMY, ctl.interface_line_attribute6,
2511 p_line_rec.interface_line_attribute6),
2512 AR_TEXT_DUMMY
2513 )
2514 AND
2515 NVL(ctl.interface_line_attribute7, AR_TEXT_DUMMY) =
2516 NVL(
2517 DECODE(p_line_rec.interface_line_attribute7,
2518 AR_TEXT_DUMMY, ctl.interface_line_attribute7,
2519 p_line_rec.interface_line_attribute7),
2520 AR_TEXT_DUMMY
2521 )
2522 AND
2523 NVL(ctl.interface_line_attribute8, AR_TEXT_DUMMY) =
2524 NVL(
2525 DECODE(p_line_rec.interface_line_attribute8,
2526 AR_TEXT_DUMMY, ctl.interface_line_attribute8,
2527 p_line_rec.interface_line_attribute8),
2528 AR_TEXT_DUMMY
2529 )
2530 AND
2531 NVL(ctl.interface_line_attribute9, AR_TEXT_DUMMY) =
2532 NVL(
2533 DECODE(p_line_rec.interface_line_attribute9,
2534 AR_TEXT_DUMMY, ctl.interface_line_attribute9,
2535 p_line_rec.interface_line_attribute9),
2536 AR_TEXT_DUMMY
2537 )
2538 AND
2539 NVL(ctl.interface_line_attribute10, AR_TEXT_DUMMY) =
2540 NVL(
2541 DECODE(p_line_rec.interface_line_attribute10,
2542 AR_TEXT_DUMMY, ctl.interface_line_attribute10,
2543 p_line_rec.interface_line_attribute10),
2544 AR_TEXT_DUMMY
2545 )
2546 AND
2547 NVL(ctl.interface_line_attribute11, AR_TEXT_DUMMY) =
2548 NVL(
2549 DECODE(p_line_rec.interface_line_attribute11,
2550 AR_TEXT_DUMMY, ctl.interface_line_attribute11,
2551 p_line_rec.interface_line_attribute11),
2552 AR_TEXT_DUMMY
2553 )
2554 AND
2555 NVL(ctl.interface_line_attribute12, AR_TEXT_DUMMY) =
2556 NVL(
2557 DECODE(p_line_rec.interface_line_attribute12,
2558 AR_TEXT_DUMMY, ctl.interface_line_attribute12,
2559 p_line_rec.interface_line_attribute12),
2560 AR_TEXT_DUMMY
2561 )
2562 AND
2563 NVL(ctl.interface_line_attribute13, AR_TEXT_DUMMY) =
2564 NVL(
2565 DECODE(p_line_rec.interface_line_attribute13,
2566 AR_TEXT_DUMMY, ctl.interface_line_attribute13,
2567 p_line_rec.interface_line_attribute13),
2568 AR_TEXT_DUMMY
2569 )
2570 AND
2571 NVL(ctl.interface_line_attribute14, AR_TEXT_DUMMY) =
2572 NVL(
2573 DECODE(p_line_rec.interface_line_attribute14,
2574 AR_TEXT_DUMMY, ctl.interface_line_attribute14,
2575 p_line_rec.interface_line_attribute14),
2576 AR_TEXT_DUMMY
2577 )
2578 AND
2579 NVL(ctl.interface_line_attribute15, AR_TEXT_DUMMY) =
2580 NVL(
2581 DECODE(p_line_rec.interface_line_attribute15,
2582 AR_TEXT_DUMMY, ctl.interface_line_attribute15,
2583 p_line_rec.interface_line_attribute15),
2584 AR_TEXT_DUMMY
2585 )
2586 AND
2587 NVL(ctl.attribute_category, AR_TEXT_DUMMY) =
2588 NVL(
2589 DECODE(p_line_rec.attribute_category,
2590 AR_TEXT_DUMMY, ctl.attribute_category,
2591 p_line_rec.attribute_category),
2592 AR_TEXT_DUMMY
2593 )
2594 AND
2595 NVL(ctl.attribute1, AR_TEXT_DUMMY) =
2596 NVL(
2597 DECODE(p_line_rec.attribute1,
2598 AR_TEXT_DUMMY, ctl.attribute1,
2599 p_line_rec.attribute1),
2600 AR_TEXT_DUMMY
2601 )
2602 AND
2603 NVL(ctl.attribute2, AR_TEXT_DUMMY) =
2604 NVL(
2605 DECODE(p_line_rec.attribute2,
2606 AR_TEXT_DUMMY, ctl.attribute2,
2607 p_line_rec.attribute2),
2608 AR_TEXT_DUMMY
2609 )
2610 AND
2611 NVL(ctl.attribute3, AR_TEXT_DUMMY) =
2612 NVL(
2613 DECODE(p_line_rec.attribute3,
2614 AR_TEXT_DUMMY, ctl.attribute3,
2615 p_line_rec.attribute3),
2616 AR_TEXT_DUMMY
2617 )
2618 AND
2619 NVL(ctl.attribute4, AR_TEXT_DUMMY) =
2620 NVL(
2621 DECODE(p_line_rec.attribute4,
2622 AR_TEXT_DUMMY, ctl.attribute4,
2623 p_line_rec.attribute4),
2624 AR_TEXT_DUMMY
2625 )
2626 AND
2627 NVL(ctl.attribute5, AR_TEXT_DUMMY) =
2628 NVL(
2629 DECODE(p_line_rec.attribute5,
2630 AR_TEXT_DUMMY, ctl.attribute5,
2631 p_line_rec.attribute5),
2632 AR_TEXT_DUMMY
2633 )
2634 AND
2635 NVL(ctl.attribute6, AR_TEXT_DUMMY) =
2636 NVL(
2637 DECODE(p_line_rec.attribute6,
2638 AR_TEXT_DUMMY, ctl.attribute6,
2639 p_line_rec.attribute6),
2640 AR_TEXT_DUMMY
2641 )
2642 AND
2643 NVL(ctl.attribute7, AR_TEXT_DUMMY) =
2644 NVL(
2645 DECODE(p_line_rec.attribute7,
2646 AR_TEXT_DUMMY, ctl.attribute7,
2647 p_line_rec.attribute7),
2648 AR_TEXT_DUMMY
2649 )
2650 AND
2651 NVL(ctl.attribute8, AR_TEXT_DUMMY) =
2652 NVL(
2653 DECODE(p_line_rec.attribute8,
2654 AR_TEXT_DUMMY, ctl.attribute8,
2655 p_line_rec.attribute8),
2656 AR_TEXT_DUMMY
2657 )
2658 AND
2659 NVL(ctl.attribute9, AR_TEXT_DUMMY) =
2660 NVL(
2661 DECODE(p_line_rec.attribute9,
2662 AR_TEXT_DUMMY, ctl.attribute9,
2663 p_line_rec.attribute9),
2664 AR_TEXT_DUMMY
2665 )
2666 AND
2667 NVL(ctl.attribute10, AR_TEXT_DUMMY) =
2668 NVL(
2669 DECODE(p_line_rec.attribute10,
2670 AR_TEXT_DUMMY, ctl.attribute10,
2671 p_line_rec.attribute10),
2672 AR_TEXT_DUMMY
2673 )
2674 AND
2675 NVL(ctl.attribute11, AR_TEXT_DUMMY) =
2676 NVL(
2677 DECODE(p_line_rec.attribute11,
2678 AR_TEXT_DUMMY, ctl.attribute11,
2679 p_line_rec.attribute11),
2680 AR_TEXT_DUMMY
2681 )
2682 AND
2683 NVL(ctl.attribute12, AR_TEXT_DUMMY) =
2684 NVL(
2685 DECODE(p_line_rec.attribute12,
2686 AR_TEXT_DUMMY, ctl.attribute12,
2687 p_line_rec.attribute12),
2688 AR_TEXT_DUMMY
2689 )
2690 AND
2691 NVL(ctl.attribute13, AR_TEXT_DUMMY) =
2692 NVL(
2693 DECODE(p_line_rec.attribute13,
2694 AR_TEXT_DUMMY, ctl.attribute13,
2695 p_line_rec.attribute13),
2696 AR_TEXT_DUMMY
2697 )
2698 AND
2699 NVL(ctl.attribute14, AR_TEXT_DUMMY) =
2700 NVL(
2701 DECODE(p_line_rec.attribute14,
2702 AR_TEXT_DUMMY, ctl.attribute14,
2703 p_line_rec.attribute14),
2704 AR_TEXT_DUMMY
2705 )
2706 AND
2707 NVL(ctl.attribute15, AR_TEXT_DUMMY) =
2708 NVL(
2709 DECODE(p_line_rec.attribute15,
2710 AR_TEXT_DUMMY, ctl.attribute15,
2711 p_line_rec.attribute15),
2712 AR_TEXT_DUMMY
2713 )
2714 AND
2715 NVL(ctl.global_attribute_category, AR_TEXT_DUMMY) =
2716 NVL(
2717 DECODE(p_line_rec.global_attribute_category,
2718 AR_TEXT_DUMMY, ctl.global_attribute_category,
2719 p_line_rec.global_attribute_category),
2720 AR_TEXT_DUMMY
2721 )
2722 AND
2723 NVL(ctl.global_attribute1, AR_TEXT_DUMMY) =
2724 NVL(
2725 DECODE(p_line_rec.global_attribute1,
2726 AR_TEXT_DUMMY, ctl.global_attribute1,
2727 p_line_rec.global_attribute1),
2728 AR_TEXT_DUMMY
2729 )
2730 AND
2731 NVL(ctl.global_attribute2, AR_TEXT_DUMMY) =
2732 NVL(
2733 DECODE(p_line_rec.global_attribute2,
2734 AR_TEXT_DUMMY, ctl.global_attribute2,
2735 p_line_rec.global_attribute2),
2736 AR_TEXT_DUMMY
2737 )
2738 AND
2739 NVL(ctl.global_attribute3, AR_TEXT_DUMMY) =
2740 NVL(
2741 DECODE(p_line_rec.global_attribute3,
2742 AR_TEXT_DUMMY, ctl.global_attribute3,
2743 p_line_rec.global_attribute3),
2744 AR_TEXT_DUMMY
2745 )
2746 AND
2747 NVL(ctl.global_attribute4, AR_TEXT_DUMMY) =
2748 NVL(
2749 DECODE(p_line_rec.global_attribute4,
2750 AR_TEXT_DUMMY, ctl.global_attribute4,
2751 p_line_rec.global_attribute4),
2752 AR_TEXT_DUMMY
2753 )
2754 AND
2755 NVL(ctl.global_attribute5, AR_TEXT_DUMMY) =
2756 NVL(
2757 DECODE(p_line_rec.global_attribute5,
2758 AR_TEXT_DUMMY, ctl.global_attribute5,
2759 p_line_rec.global_attribute5),
2760 AR_TEXT_DUMMY
2761 )
2762 AND
2763 NVL(ctl.global_attribute6, AR_TEXT_DUMMY) =
2764 NVL(
2765 DECODE(p_line_rec.global_attribute6,
2766 AR_TEXT_DUMMY, ctl.global_attribute6,
2767 p_line_rec.global_attribute6),
2768 AR_TEXT_DUMMY
2769 )
2770 AND
2771 NVL(ctl.global_attribute7, AR_TEXT_DUMMY) =
2772 NVL(
2773 DECODE(p_line_rec.global_attribute7,
2774 AR_TEXT_DUMMY, ctl.global_attribute7,
2775 p_line_rec.global_attribute7),
2776 AR_TEXT_DUMMY
2777 )
2778 AND
2779 NVL(ctl.global_attribute8, AR_TEXT_DUMMY) =
2780 NVL(
2781 DECODE(p_line_rec.global_attribute8,
2782 AR_TEXT_DUMMY, ctl.global_attribute8,
2783 p_line_rec.global_attribute8),
2784 AR_TEXT_DUMMY
2785 )
2786 AND
2787 NVL(ctl.global_attribute9, AR_TEXT_DUMMY) =
2788 NVL(
2789 DECODE(p_line_rec.global_attribute9,
2790 AR_TEXT_DUMMY, ctl.global_attribute9,
2791 p_line_rec.global_attribute9),
2792 AR_TEXT_DUMMY
2793 )
2794 AND
2795 NVL(ctl.global_attribute10, AR_TEXT_DUMMY) =
2796 NVL(
2797 DECODE(p_line_rec.global_attribute10,
2798 AR_TEXT_DUMMY, ctl.global_attribute10,
2799 p_line_rec.global_attribute10),
2800 AR_TEXT_DUMMY
2801 )
2802 AND
2803 NVL(ctl.global_attribute11, AR_TEXT_DUMMY) =
2804 NVL(
2805 DECODE(p_line_rec.global_attribute11,
2806 AR_TEXT_DUMMY, ctl.global_attribute11,
2807 p_line_rec.global_attribute11),
2808 AR_TEXT_DUMMY
2809 )
2810 AND
2811 NVL(ctl.global_attribute12, AR_TEXT_DUMMY) =
2812 NVL(
2813 DECODE(p_line_rec.global_attribute12,
2814 AR_TEXT_DUMMY, ctl.global_attribute12,
2815 p_line_rec.global_attribute12),
2816 AR_TEXT_DUMMY
2817 )
2818 AND
2819 NVL(ctl.global_attribute13, AR_TEXT_DUMMY) =
2820 NVL(
2821 DECODE(p_line_rec.global_attribute13,
2822 AR_TEXT_DUMMY, ctl.global_attribute13,
2823 p_line_rec.global_attribute13),
2824 AR_TEXT_DUMMY
2825 )
2826 AND
2827 NVL(ctl.global_attribute14, AR_TEXT_DUMMY) =
2828 NVL(
2829 DECODE(p_line_rec.global_attribute14,
2830 AR_TEXT_DUMMY, ctl.global_attribute14,
2831 p_line_rec.global_attribute14),
2832 AR_TEXT_DUMMY
2833 )
2834 AND
2835 NVL(ctl.global_attribute15, AR_TEXT_DUMMY) =
2836 NVL(
2837 DECODE(p_line_rec.global_attribute15,
2838 AR_TEXT_DUMMY, ctl.global_attribute15,
2839 p_line_rec.global_attribute15),
2840 AR_TEXT_DUMMY
2841 )
2842 AND
2843 NVL(ctl.global_attribute16, AR_TEXT_DUMMY) =
2844 NVL(
2845 DECODE(p_line_rec.global_attribute16,
2846 AR_TEXT_DUMMY, ctl.global_attribute16,
2847 p_line_rec.global_attribute16),
2848 AR_TEXT_DUMMY
2849 )
2850 AND
2851 NVL(ctl.global_attribute17, AR_TEXT_DUMMY) =
2852 NVL(
2853 DECODE(p_line_rec.global_attribute17,
2854 AR_TEXT_DUMMY, ctl.global_attribute17,
2855 p_line_rec.global_attribute17),
2856 AR_TEXT_DUMMY
2857 )
2858 AND
2859 NVL(ctl.global_attribute18, AR_TEXT_DUMMY) =
2860 NVL(
2861 DECODE(p_line_rec.global_attribute18,
2862 AR_TEXT_DUMMY, ctl.global_attribute18,
2863 p_line_rec.global_attribute18),
2864 AR_TEXT_DUMMY
2865 )
2866 AND
2867 NVL(ctl.global_attribute19, AR_TEXT_DUMMY) =
2868 NVL(
2869 DECODE(p_line_rec.global_attribute19,
2870 AR_TEXT_DUMMY, ctl.global_attribute19,
2871 p_line_rec.global_attribute19),
2872 AR_TEXT_DUMMY
2873 )
2874 AND
2875 NVL(ctl.global_attribute20, AR_TEXT_DUMMY) =
2876 NVL(
2877 DECODE(p_line_rec.global_attribute20,
2878 AR_TEXT_DUMMY, ctl.global_attribute20,
2879 p_line_rec.global_attribute20),
2880 AR_TEXT_DUMMY
2881 )
2882 AND
2883 NVL(ctl.last_update_date, AR_DATE_DUMMY) =
2884 NVL(
2885 DECODE(l_ignore_who_flag,
2886 'Y', NVL(ctl.last_update_date, AR_DATE_DUMMY),
2887 DECODE(
2888 p_line_rec.last_update_date,
2889 AR_DATE_DUMMY, ctl.last_update_date,
2890 p_line_rec.last_update_date
2891 )
2892 ),
2893 AR_DATE_DUMMY
2894 )
2895 AND
2896 NVL(ctl.last_updated_by, AR_NUMBER_DUMMY) =
2897 NVL(
2898 DECODE(l_ignore_who_flag,
2899 'Y', NVL(ctl.last_updated_by, AR_NUMBER_DUMMY),
2900 DECODE(
2901 p_line_rec.last_updated_by,
2902 AR_NUMBER_DUMMY, ctl.last_updated_by,
2903 p_line_rec.last_updated_by
2904 )
2905 ),
2906 AR_NUMBER_DUMMY
2907 )
2908 AND
2909 NVL(ctl.creation_date, AR_DATE_DUMMY) =
2910 NVL(
2911 DECODE(l_ignore_who_flag,
2912 'Y', NVL(ctl.creation_date, AR_DATE_DUMMY),
2913 DECODE(
2914 p_line_rec.creation_date,
2915 AR_DATE_DUMMY, ctl.creation_date,
2916 p_line_rec.creation_date
2917 )
2918 ),
2919 AR_DATE_DUMMY
2920 )
2921 AND
2922 NVL(ctl.created_by, AR_NUMBER_DUMMY) =
2923 NVL(
2924 DECODE(l_ignore_who_flag,
2925 'Y', NVL(ctl.created_by, AR_NUMBER_DUMMY),
2926 DECODE(
2927 p_line_rec.created_by,
2928 AR_NUMBER_DUMMY, ctl.created_by,
2929 p_line_rec.created_by
2930 )
2931 ),
2932 AR_NUMBER_DUMMY
2933 )
2934 AND
2935 NVL(ctl.last_update_login, AR_NUMBER_DUMMY) =
2936 NVL(
2937 DECODE(l_ignore_who_flag,
2938 'Y', NVL(ctl.last_update_login, AR_NUMBER_DUMMY),
2939 DECODE(
2940 p_line_rec.last_update_login,
2941 AR_NUMBER_DUMMY, ctl.last_update_login,
2942 p_line_rec.last_update_login
2943 )
2944 ),
2945 AR_NUMBER_DUMMY
2946 )
2947 AND
2948 NVL(ctl.program_application_id, AR_NUMBER_DUMMY) =
2949 NVL(
2950 DECODE(l_ignore_who_flag,
2951 'Y', NVL(ctl.program_application_id, AR_NUMBER_DUMMY),
2952 DECODE(
2953 p_line_rec.program_application_id,
2954 AR_NUMBER_DUMMY, ctl.program_application_id,
2955 p_line_rec.program_application_id
2956 )
2957 ),
2958 AR_NUMBER_DUMMY
2959 )
2960 AND
2961 NVL(ctl.program_id, AR_NUMBER_DUMMY) =
2962 NVL(
2963 DECODE(l_ignore_who_flag,
2964 'Y', NVL(ctl.program_id, AR_NUMBER_DUMMY),
2965 DECODE(
2966 p_line_rec.program_id,
2967 AR_NUMBER_DUMMY, ctl.program_id,
2968 p_line_rec.program_id
2969 )
2970 ),
2971 AR_NUMBER_DUMMY
2972 )
2973 AND
2974 NVL(ctl.program_update_date, AR_DATE_DUMMY) =
2975 NVL(
2976 DECODE(l_ignore_who_flag,
2977 'Y', NVL(ctl.program_update_date, AR_DATE_DUMMY),
2978 DECODE(
2979 p_line_rec.program_update_date,
2980 AR_DATE_DUMMY, ctl.program_update_date,
2981 p_line_rec.program_update_date
2982 )
2983 ),
2984 AR_DATE_DUMMY
2985 )
2986 AND
2987 NVL(ctl.set_of_books_id, AR_NUMBER_DUMMY) =
2988 NVL(
2989 DECODE(p_line_rec.set_of_books_id,
2990 AR_NUMBER_DUMMY, ctl.set_of_books_id,
2991 p_line_rec.set_of_books_id),
2992 AR_NUMBER_DUMMY
2993 )
2994 /* Rel. 11 Changes: */
2995 AND
2996 NVL(ctl.gross_extended_amount, NVL(ctl.extended_amount,
2997 AR_NUMBER_DUMMY)) =
2998 NVL(
2999 DECODE(p_line_rec.gross_extended_amount,
3000 AR_NUMBER_DUMMY,
3001 NVL(ctl.gross_extended_amount,
3002 ctl.extended_amount),
3003 p_line_rec.gross_extended_amount),
3004 AR_NUMBER_DUMMY
3005 )
3006 AND
3007 NVL(ctl.gross_unit_selling_price, NVL(ctl.unit_selling_price,
3008 AR_NUMBER_DUMMY)) =
3009 NVL(
3010 DECODE(p_line_rec.gross_unit_selling_price,
3011 AR_NUMBER_DUMMY,
3012 NVL(ctl.gross_unit_selling_price,
3013 ctl.unit_selling_price),
3014 p_line_rec.gross_unit_selling_price),
3015 AR_NUMBER_DUMMY
3016 )
3017 AND
3018 NVL(ctl.amount_includes_tax_flag, AR_FLAG_DUMMY) =
3019 NVL(
3020 DECODE(p_line_rec.amount_includes_tax_flag,
3021 AR_FLAG_DUMMY, ctl.amount_includes_tax_flag,
3022 p_line_rec.amount_includes_tax_flag),
3023 AR_FLAG_DUMMY
3024 )
3025 /* Bug 853757 */
3026 AND
3027 NVL(ctl.taxable_amount, AR_NUMBER_DUMMY) =
3028 NVL(
3029 DECODE(p_line_rec.taxable_amount,
3030 AR_NUMBER_DUMMY, ctl.taxable_amount,
3031 p_line_rec.taxable_amount),
3032 AR_NUMBER_DUMMY
3033 )
3034 AND
3035 NVL(ctl.extended_acctd_amount, AR_NUMBER_DUMMY) =
3036 NVL(
3037 DECODE(p_line_rec.extended_acctd_amount,
3038 AR_NUMBER_DUMMY, ctl.extended_acctd_amount,
3039 p_line_rec.extended_acctd_amount),
3040 AR_NUMBER_DUMMY
3041 )
3042 AND
3043 NVL(ctl.br_ref_customer_trx_id, AR_NUMBER_DUMMY) =
3044 NVL(
3045 DECODE(p_line_rec.br_ref_customer_trx_id,
3046 AR_NUMBER_DUMMY, ctl.br_ref_customer_trx_id,
3047 p_line_rec.br_ref_customer_trx_id),
3048 AR_NUMBER_DUMMY
3049 )
3050 AND
3051 NVL(ctl.br_ref_payment_schedule_id, AR_NUMBER_DUMMY) =
3052 NVL(
3053 DECODE(p_line_rec.br_ref_payment_schedule_id,
3054 AR_NUMBER_DUMMY, ctl.br_ref_payment_schedule_id,
3055 p_line_rec.br_ref_payment_schedule_id),
3056 AR_NUMBER_DUMMY
3057 )
3058 AND
3059 NVL(ctl.br_adjustment_id, AR_NUMBER_DUMMY) =
3060 NVL(
3061 DECODE(p_line_rec.br_adjustment_id,
3062 AR_NUMBER_DUMMY, ctl.br_adjustment_id,
3063 p_line_rec.br_adjustment_id),
3064 AR_NUMBER_DUMMY
3065 )
3066 AND
3067 NVL(ctl.wh_update_date, AR_DATE_DUMMY) =
3068 NVL(
3069 DECODE(p_line_rec.wh_update_date,
3070 AR_DATE_DUMMY, ctl.wh_update_date,
3071 p_line_rec.wh_update_date),
3072 AR_DATE_DUMMY
3073 )
3074 AND
3075 NVL(ctl.rule_end_date, AR_DATE_DUMMY) =
3076 NVL(
3077 DECODE(p_line_rec.rule_end_date,
3078 AR_DATE_DUMMY, ctl.rule_end_date,
3079 p_line_rec.rule_end_date),
3080 AR_DATE_DUMMY
3081 )
3082 /* 4713671 */
3083 AND
3084 NVL(ctl.ship_to_customer_id, AR_NUMBER_DUMMY) =
3085 NVL(
3086 DECODE(p_line_rec.ship_to_customer_id,
3087 AR_NUMBER_DUMMY, ctl.ship_to_customer_id,
3088 p_line_rec.ship_to_customer_id),
3089 AR_NUMBER_DUMMY
3090 )
3091 AND
3092 NVL(ctl.ship_to_site_use_id, AR_NUMBER_DUMMY) =
3093 NVL(
3094 DECODE(p_line_rec.ship_to_site_use_id,
3095 AR_NUMBER_DUMMY, ctl.ship_to_site_use_id,
3096 p_line_rec.ship_to_site_use_id),
3097 AR_NUMBER_DUMMY
3098 )
3099 AND
3100 NVL(ctl.ship_to_contact_id, AR_NUMBER_DUMMY) =
3101 NVL(
3102 DECODE(p_line_rec.ship_to_contact_id,
3103 AR_NUMBER_DUMMY, ctl.ship_to_contact_id,
3104 p_line_rec.ship_to_contact_id),
3105 AR_NUMBER_DUMMY
3106 )
3107 AND
3108 NVL(ctl.tax_classification_code, AR_TEXT_DUMMY) =
3109 NVL(
3110 DECODE(p_line_rec.tax_classification_code,
3111 AR_TEXT_DUMMY, ctl.tax_classification_code,
3112 p_line_rec.tax_classification_code),
3113 AR_TEXT_DUMMY
3114 )
3115 )
3116 FOR UPDATE OF customer_trx_line_id NOWAIT;
3117
3118
3119 IF PG_DEBUG in ('Y', 'C') THEN
3120 arp_util.debug( 'arp_ctl_pkg.lock_compare_p()-');
3121 END IF;
3122
3123 EXCEPTION
3124 WHEN NO_DATA_FOUND THEN
3125 IF PG_DEBUG in ('Y', 'C') THEN
3126 arp_util.debug( '');
3127 arp_util.debug( 'p_customer_trx_line_id = ' ||
3128 p_customer_trx_line_id );
3129 arp_util.debug( '-------- new line record --------');
3130 END IF;
3131 display_line_rec( p_line_rec );
3132
3133 IF PG_DEBUG in ('Y', 'C') THEN
3134 arp_util.debug( '');
3135 arp_util.debug( '-------- old line record --------');
3136 END IF;
3137
3138 fetch_p( l_temp_line_rec,
3139 p_customer_trx_line_id );
3140
3141 display_line_rec( l_temp_line_rec );
3142
3143 FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
3144 APP_EXCEPTION.Raise_Exception;
3145
3146 WHEN OTHERS THEN
3147 IF PG_DEBUG in ('Y', 'C') THEN
3148 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.lock_compare_p' );
3149 arp_util.debug( '');
3150 arp_util.debug( '-------- parameters for lock_compare_p() ------');
3151 arp_util.debug( 'p_customer_trx_line_id = ' ||
3152 p_customer_trx_line_id);
3153 arp_util.debug( 'p_ignore_who_flag = ' ||
3154 arp_trx_util.boolean_to_varchar2(p_ignore_who_flag));
3155 END IF;
3156 display_line_rec(p_line_rec);
3157
3158
3159 RAISE;
3160 END;
3161
3162 /*===========================================================================+
3163 | PROCEDURE |
3164 | delete_p |
3165 | |
3166 | DESCRIPTION |
3167 | This procedure deletes the ra_customer_trx_lines row identified by the |
3168 | p_customer_trx_line_id parameter. |
3169 | |
3170 | SCOPE - PUBLIC |
3171 | |
3172 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
3173 | arp_util.debug |
3174 | |
3175 | ARGUMENTS : IN: |
3176 | p_customer_trx_line_id - identifies the row to delete |
3177 | OUT: |
3178 | None |
3179 | |
3180 | RETURNS : NONE |
3181 | |
3182 | NOTES |
3183 | |
3184 | MODIFICATION HISTORY |
3185 | 07-JUN-95 Charlie Tomberg Created |
3186 | |
3187 +===========================================================================*/
3188
3189 procedure delete_p( p_customer_trx_line_id IN
3190 ra_customer_trx_lines.customer_trx_line_id%type)
3191 IS
3192
3193
3194 BEGIN
3195
3196 IF PG_DEBUG in ('Y', 'C') THEN
3197 arp_util.debug( 'arp_ctl_pkg.delete_p()+');
3198 arp_util.debug( 'deleting ctlid: ' || p_customer_trx_line_id);
3199 END IF;
3200
3201 DELETE FROM ra_customer_trx_lines
3202 WHERE customer_trx_line_id = p_customer_trx_line_id;
3203
3204 IF ( SQL%ROWCOUNT = 0 )
3205 THEN arp_util.debug('EXCEPTION: arp_ctl_pkg.delete_p()');
3206 RAISE NO_DATA_FOUND;
3207 END IF;
3208
3209 IF PG_DEBUG in ('Y', 'C') THEN
3210 arp_util.debug( 'arp_ctl_pkg.delete_p()-');
3211 END IF;
3212
3213 EXCEPTION
3214 WHEN OTHERS THEN
3215 IF PG_DEBUG in ('Y', 'C') THEN
3216 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.delete_p()');
3217 arp_util.debug( '');
3218 arp_util.debug( '-------- parameters for delete_p() ------');
3219 arp_util.debug( 'p_customer_trx_line_id = ' ||
3220 p_customer_trx_line_id);
3221 END IF;
3222
3223 RAISE;
3224
3225 END;
3226
3227 /*===========================================================================+
3228 | PROCEDURE |
3229 | delete_f_ct_id |
3230 | |
3231 | DESCRIPTION |
3232 | This procedure deletes the ra_customer_trx_lines rows identified by |
3233 | the p_customer_trx_id parameter. |
3234 | |
3235 | SCOPE - PUBLIC |
3236 | |
3237 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
3238 | arp_util.debug |
3239 | |
3240 | ARGUMENTS : IN: |
3241 | p_customer_trx_id - identifies the rows to delete |
3242 | OUT: |
3243 | None |
3244 | |
3245 | RETURNS : NONE |
3246 | |
3247 | NOTES |
3248 | |
3249 | MODIFICATION HISTORY |
3250 | 07-JUN-95 Charlie Tomberg Created |
3251 | |
3252 +===========================================================================*/
3253
3254 procedure delete_f_ct_id( p_customer_trx_id IN
3255 ra_customer_trx.customer_trx_id%type)
3256 IS
3257
3258 --{BUG#3339072
3259 l_ctl_key_list gl_ca_utility_pkg.r_key_value_arr;
3260 --}
3261
3262 BEGIN
3263
3264
3265 IF PG_DEBUG in ('Y', 'C') THEN
3266 arp_util.debug( 'arp_ctl_pkg.delete_f_ct_id()+');
3267 END IF;
3268
3269 DELETE FROM ra_customer_trx_lines
3270 WHERE customer_trx_id = p_customer_trx_id
3271 --{BUG#3339072
3272 RETURNING customer_trx_line_id
3273 BULK COLLECT INTO l_ctl_key_list;
3274 --}
3275
3276 IF PG_DEBUG in ('Y', 'C') THEN
3277 arp_util.debug( 'arp_ctl_pkg.delete_f_ct_id()-');
3278 END IF;
3279
3280 EXCEPTION
3281 WHEN OTHERS THEN
3282 IF PG_DEBUG in ('Y', 'C') THEN
3283 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.delete_f_ct_id()');
3284 arp_util.debug( '');
3285 arp_util.debug( '-------- parameters for delete_f_ct_id() ------');
3286 arp_util.debug( 'p_customer_trx_id = ' ||
3287 p_customer_trx_id);
3288 END IF;
3289
3290 RAISE;
3291
3292 END;
3293
3294
3295 /*===========================================================================+
3296 | PROCEDURE |
3297 | delete_f_ltctl_id |
3298 | |
3299 | DESCRIPTION |
3300 | This procedure deletes the child ra_customer_trx_lines rows identified |
3301 | by the p_link_to_cust_trx_line_id parameter. |
3302 | |
3303 | SCOPE - PUBLIC |
3304 | |
3305 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
3306 | arp_util.debug |
3307 | |
3308 | ARGUMENTS : IN: |
3309 | p_link_to_cust_trx_line_id - identifies the rows to delete |
3310 | OUT: |
3311 | None |
3312 | |
3313 | RETURNS : NONE |
3314 | |
3315 | NOTES |
3316 | |
3317 | MODIFICATION HISTORY |
3318 | 25-JUN-95 Charlie Tomberg Created |
3319 | |
3320 +===========================================================================*/
3321
3322 procedure delete_f_ltctl_id( p_link_to_cust_trx_line_id IN
3323 ra_customer_trx_lines.link_to_cust_trx_line_id%type)
3324 IS
3325 --{BUG#3339072
3326 l_ctl_key_list gl_ca_utility_pkg.r_key_value_arr;
3327 --}
3328
3329 BEGIN
3330
3331
3332 IF PG_DEBUG in ('Y', 'C') THEN
3333 arp_util.debug( 'arp_ctl_pkg.delete_f_ltctl_id()+');
3334 END IF;
3335
3336 DELETE FROM ra_customer_trx_lines
3337 WHERE link_to_cust_trx_line_id = p_link_to_cust_trx_line_id
3338 --{BUG#3339072
3339 RETURNING customer_trx_line_id
3340 BULK COLLECT INTO l_ctl_key_list;
3341 --}
3342
3343 IF PG_DEBUG in ('Y', 'C') THEN
3344 arp_util.debug( 'arp_ctl_pkg.delete_f_ltctl_id()-');
3345 END IF;
3346
3347 EXCEPTION
3348 WHEN OTHERS THEN
3349 IF PG_DEBUG in ('Y', 'C') THEN
3350 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.delete_f_ltctl_id()');
3351 arp_util.debug( '');
3352 arp_util.debug( '-------- parameters for delete_f_ltctl_id() ------');
3353 arp_util.debug( 'p_link_to_cust_trx_line_id = ' ||
3354 p_link_to_cust_trx_line_id);
3355 END IF;
3356
3357 RAISE;
3358
3359 END;
3360
3361 /*===========================================================================+
3362 | PROCEDURE |
3363 | delete_f_ct_ltctl_id_type |
3364 | |
3365 | DESCRIPTION |
3366 | This procedure deletes the child ra_customer_trx_lines rows identified |
3367 | by the p_customer_trx_id, p_link_to_cust_trx_line_id and p_line_type |
3368 | |
3369 | SCOPE - PUBLIC |
3370 | |
3371 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
3372 | arp_util.debug |
3373 | |
3374 | ARGUMENTS : IN: |
3375 | p_customer_trx_id - identifies the transaction |
3376 | p_link_to_cust_trx_line_id - identifies the parent line |
3377 | p_line_type - identifies the parent line |
3378 | type |
3379 | OUT: |
3380 | None |
3381 | |
3382 | RETURNS : NONE |
3383 | |
3384 | |
3385 | NOTES |
3386 | |
3387 | MODIFICATION HISTORY |
3388 | 14-SEP-95 Subash Chadalavada Created |
3389 | |
3390 +===========================================================================*/
3391
3392 procedure delete_f_ct_ltctl_id_type(
3393 p_customer_trx_id IN
3394 ra_customer_trx.customer_trx_id%type,
3395 p_link_to_cust_trx_line_id IN
3396 ra_customer_trx_lines.link_to_cust_trx_line_id%type,
3397 p_line_type IN
3398 ra_customer_trx_lines.line_type%type DEFAULT NULL)
3399 IS
3400 --{BUG#3339072
3401 l_ctl_key_list gl_ca_utility_pkg.r_key_value_arr;
3402 --}
3403
3404 BEGIN
3405
3406 IF PG_DEBUG in ('Y', 'C') THEN
3407 arp_util.debug( 'arp_ctl_pkg.delete_f_ct_ltctl_id_type()+');
3408 END IF;
3409
3410 DELETE FROM ra_customer_trx_lines
3411 WHERE customer_trx_id = p_customer_trx_id
3412 AND decode(p_link_to_cust_trx_line_id,
3413 null, -99,
3414 customer_trx_line_id) = nvl(p_link_to_cust_trx_line_id, -99)
3415 AND line_type = nvl(p_line_type, line_type)
3416 --{BUG#3339072
3417 RETURNING customer_trx_line_id
3418 BULK COLLECT INTO l_ctl_key_list;
3419 --}
3420
3421 IF PG_DEBUG in ('Y', 'C') THEN
3422 arp_util.debug( 'arp_ctl_pkg.delete_f_ct_ltctl_id_type()-');
3423 END IF;
3424
3425 EXCEPTION
3426 WHEN OTHERS THEN
3427 IF PG_DEBUG in ('Y', 'C') THEN
3428 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.delete_f_ct_ltctl_id_type()');
3429 arp_util.debug( '');
3430 arp_util.debug( '---- parameters for delete_f_ct_ltctl_id_type() -----');
3431 arp_util.debug( 'p_customer_trx_id = ' || p_customer_trx_id);
3432 arp_util.debug( 'p_link_to_cust_trx_line_id = ' ||
3433 p_link_to_cust_trx_line_id);
3434 arp_util.debug( 'p_line_type = ' || p_line_type);
3435 END IF;
3436
3437 RAISE;
3438 END;
3439
3440
3441 /*===========================================================================+
3442 | PROCEDURE |
3443 | update_p |
3444 | |
3445 | DESCRIPTION |
3446 | This procedure updates the ra_customer_trx_lines row identified by the |
3447 | p_customer_trx_line_id parameter. |
3448 | |
3449 | SCOPE - PUBLIC |
3450 | |
3451 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
3452 | arp_util.debug |
3453 | |
3454 | ARGUMENTS : IN: |
3455 | p_customer_trx_line_id - identifies the row to update |
3456 | p_line_rec - contains the new column values |
3457 | p_currency_code - transaction's currency code |
3458 | OUT: |
3459 | None |
3460 | |
3461 | RETURNS : NONE |
3462 | |
3463 | NOTES |
3464 | set_to_dummy must be called before the values in p_line_rec are |
3465 | changed and this function is called. |
3466 | |
3467 | MODIFICATION HISTORY |
3468 | 06-JUN-95 Charlie Tomberg Created |
3469 | |
3470 +===========================================================================*/
3471
3472 PROCEDURE update_p( p_line_rec IN ra_customer_trx_lines%rowtype,
3473 p_customer_trx_line_id IN
3474 ra_customer_trx_lines.customer_trx_line_id%type,
3475 p_currency_code IN fnd_currencies.currency_code%type
3476 DEFAULT NULL ) IS
3477
3478 l_currency_code fnd_currencies.currency_code%type;
3479
3480 BEGIN
3481
3482 IF PG_DEBUG in ('Y', 'C') THEN
3483 arp_util.debug( 'arp_ctl_pkg.update_p()+ ' ||
3484 to_char(sysdate, 'HH:MI:SS'));
3485 END IF;
3486
3487 /*---------------------------------------------------------------+
3488 | Get the transaction's currency code if it was not passed in |
3489 +---------------------------------------------------------------*/
3490
3491 IF (p_currency_code IS NULL)
3492 THEN
3493 SELECT ct.invoice_currency_code
3494 INTO l_currency_code
3495 FROM ra_customer_trx ct,
3496 ra_customer_trx_lines ctl
3497 WHERE ct.customer_trx_id = ctl.customer_trx_id
3498 AND ctl.customer_trx_line_id = p_customer_trx_line_id;
3499 ELSE l_currency_code := p_currency_code;
3500 END IF;
3501
3502 IF PG_DEBUG in ('Y', 'C') THEN
3503 arp_util.debug( 'using currency code: ' || l_currency_code );
3504 END IF;
3505
3506 arp_ctl_pkg.generic_update( pg_cursor1,
3507 ' WHERE customer_trx_line_id = :where_1 ' ||
3508 ' AND :where_line_type is null',
3509 p_customer_trx_line_id,
3510 null,
3511 l_currency_code,
3512 p_line_rec);
3513
3514 IF PG_DEBUG in ('Y', 'C') THEN
3515 arp_util.debug( 'arp_ctl_pkg.update_p()- ' ||
3516 to_char(sysdate, 'HH:MI:SS'));
3517 END IF;
3518
3519
3520 EXCEPTION
3521 WHEN OTHERS THEN
3522 IF PG_DEBUG in ('Y', 'C') THEN
3523 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.update_p()');
3524 arp_util.debug( '');
3525 arp_util.debug( '-------- parameters for update_p() ------');
3526 arp_util.debug( 'p_customer_trx_line_id = ' ||
3527 p_customer_trx_line_id);
3528 arp_util.debug( 'p_currency_code = ' || p_currency_code);
3529 END IF;
3530 display_line_rec(p_line_rec);
3531
3532 RAISE;
3533 END;
3534
3535 /*===========================================================================+
3536 | PROCEDURE |
3537 | update_f_ct_id |
3538 | |
3539 | DESCRIPTION |
3540 | This procedure updates the ra_customer_trx_lines rows identified by the|
3541 | p_customer_trx_id parameter. |
3542 | |
3543 | SCOPE - PUBLIC |
3544 | |
3545 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
3546 | arp_util.debug |
3547 | |
3548 | ARGUMENTS : IN: |
3549 | p_customer_trx_id - identifies the rows to update |
3550 | p_line_rec - contains the new column values |
3551 | p_line_type - value is used to restrict update |
3552 | p_currency_code - transaction's currency code |
3553 | OUT: |
3554 | None |
3555 | |
3556 | RETURNS : NONE |
3557 | |
3558 | NOTES |
3559 | set_to_dummy must be called before the values in p_line_rec are |
3560 | changed and this function is called. |
3561 | |
3562 | MODIFICATION HISTORY |
3563 | 06-JUN-95 Charlie Tomberg Created |
3564 | |
3565 +===========================================================================*/
3566
3567 PROCEDURE update_f_ct_id( p_line_rec IN ra_customer_trx_lines%rowtype,
3568 p_customer_trx_id IN
3569 ra_customer_trx_lines.customer_trx_id%type,
3570 p_line_type IN
3571 ra_customer_trx_lines.line_type%type default null,
3572 p_currency_code IN fnd_currencies.currency_code%type
3573 DEFAULT NULL) IS
3574
3575 l_where varchar2(500);
3576 l_currency_code fnd_currencies.currency_code%type;
3577
3578 BEGIN
3579
3580 IF PG_DEBUG in ('Y', 'C') THEN
3581 arp_util.debug( 'arp_ctl_pkg.update_f_ct_id()+ ' ||
3582 to_char(sysdate, 'HH:MI:SS'));
3583 END IF;
3584
3585
3586
3587 /*---------------------------------------------------------------+
3588 | Get the transaction's currency code if it was not passed in |
3589 +---------------------------------------------------------------*/
3590
3591 IF (p_currency_code IS NULL)
3592 THEN
3593 SELECT ct.invoice_currency_code
3594 INTO l_currency_code
3595 FROM ra_customer_trx ct
3596 WHERE ct.customer_trx_id = p_customer_trx_id;
3597 ELSE l_currency_code := p_currency_code;
3598 END IF;
3599
3600 IF PG_DEBUG in ('Y', 'C') THEN
3601 arp_util.debug( 'using currency code: ' || l_currency_code );
3602 END IF;
3603
3604
3605 l_where := ' WHERE customer_trx_id = :where_1 ' ||
3606 'AND line_type = nvl(:where_line_type, line_type)';
3607
3608 arp_ctl_pkg.generic_update( pg_cursor2,
3609 l_where,
3610 p_customer_trx_id,
3611 p_line_type,
3612 l_currency_code,
3613 p_line_rec);
3614
3615 IF PG_DEBUG in ('Y', 'C') THEN
3616 arp_util.debug( 'arp_ctl_pkg.update_f_ct_id()- ' ||
3617 to_char(sysdate, 'HH:MI:SS'));
3618 END IF;
3619
3620
3621 EXCEPTION
3622 WHEN OTHERS THEN
3623 IF PG_DEBUG in ('Y', 'C') THEN
3624 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.update_f_ct_id()');
3625 arp_util.debug( '');
3626 arp_util.debug( '-------- parameters for update_f_ct_id() ------');
3627 arp_util.debug( 'p_customer_trx_id = ' ||
3628 p_customer_trx_id);
3629 arp_util.debug( 'p_line_type = ' || p_line_type);
3630 arp_util.debug( 'p_currency_code = ' || p_currency_code);
3631 END IF;
3632 display_line_rec(p_line_rec);
3633
3634 RAISE;
3635 END;
3636
3637
3638 /*===========================================================================+
3639 | PROCEDURE |
3640 | update_amount_f_ctl_id |
3641 | |
3642 | DESCRIPTION |
3643 | This procedure updates the amounts in a record in ra_customer_trx_lines|
3644 | The columns affected are: extended_amount, unit_selling_price, |
3645 | gross_extended_amount, and gross_unit_selling_price. |
3646 | These are adjustments made for inclusive tax amounts. |
3647 | This function is used when the amounts are gross of inclusive tax. |
3648 | Regular invoice lines should use this. Applied credit memo lines |
3649 | should use the function update_cm_amount_f_ctl_id. |
3650 | |
3651 | SCOPE - PUBLIC |
3652 | |
3653 | ARGUMENTS : IN : p_customer_trx_line_id |
3654 | p_inclusive_amt --- Inclusive tax amount |
3655 | OUT: p_new_extended_amt --- New net price |
3656 | p_new_unit_selling_price --- New unit selling price |
3657 | |
3658 | NOTES |
3659 | |
3660 | HISTORY |
3661 | 18-Aug-97 Kenichi Mizuta Created. |
3662 | 14-FEB-03 M Raymond Bug 2772387 - preventing ORA-1476 errors
3663 | when quantity invoiced is zero and
3664 | tax compounding is in use.
3665 | 20-FEB-2003 NIPATEL Bug 2772387 - Per PM inputs, will not
3666 | adjutst Unit Selling Price when quantity is
3667 | zero in update_amount_f_ctl_id
3668 | |
3669 +===========================================================================*/
3670 PROCEDURE update_amount_f_ctl_id(
3671 p_customer_trx_line_id IN Number,
3672 p_inclusive_amt IN Number,
3673 p_new_extended_amt OUT NOCOPY Number,
3674 p_new_unit_selling_price OUT NOCOPY Number,
3675 p_precision IN Number,
3676 p_min_acct_unit IN Number) IS
3677 cursor c is select
3678 quantity_invoiced,
3679 quantity_credited,
3680 extended_amount,
3681 unit_selling_price,
3682 gross_extended_amount,
3683 gross_unit_selling_price,
3684 revenue_amount
3685 from
3686 ra_customer_trx_lines
3687 where
3688 customer_trx_line_id = p_customer_trx_line_id for update;
3689 crow c%rowtype;
3690 l_extended_amount ra_customer_trx_lines.extended_amount%type;
3691 l_unit_selling_price ra_customer_trx_lines.unit_selling_price%type;
3692 l_gross_extended_amount ra_customer_trx_lines.gross_extended_amount%type;
3693 l_gross_unit_selling_price ra_customer_trx_lines.gross_unit_selling_price%type;
3694 l_revenue_amount ra_customer_trx_lines.revenue_amount%type;
3695 l_old_inclusive_amt ra_customer_trx_lines.extended_amount%type;
3696 l_qty ra_customer_trx_lines.quantity_invoiced%type;
3697 begin
3698 IF PG_DEBUG in ('Y', 'C') THEN
3699 arp_util.debug( 'arp_ctl_pkg.update_amount_f_ctl_id('
3700 || to_char(p_customer_trx_line_id) || ','
3701 || to_char(p_inclusive_amt)
3702 ||')+');
3703 END IF;
3704
3705 begin
3706 open c;
3707 fetch c into crow;
3708
3709 -- On insert old inclusive should be 0, since gross amount should be null.
3710 l_old_inclusive_amt := nvl(crow.gross_extended_amount, crow.extended_amount) - crow.extended_amount;
3711 l_extended_amount := nvl(crow.gross_extended_amount, crow.extended_amount) - p_inclusive_amt;
3712
3713 /* Bugfix 2772387: do not adjust the unit selling proce when quantity is zero */
3714
3715 l_qty := nvl(crow.quantity_invoiced, crow.quantity_credited);
3716
3717 if (l_qty = 0 OR l_qty is NULL)then
3718
3719 l_unit_selling_price := crow.unit_selling_price;
3720
3721 elsif (p_min_acct_unit is NULL) then
3722 l_unit_selling_price :=
3723 round(l_extended_amount/
3724 l_qty,
3725 p_precision+2);
3726 else
3727 l_unit_selling_price :=
3728 round(l_extended_amount/
3729 l_qty
3730 /p_min_acct_unit/100)
3731 *100*p_min_acct_unit;
3732 end if;
3733
3734
3735 l_gross_extended_amount :=
3736 nvl(crow.gross_extended_amount, crow.extended_amount);
3737 l_gross_unit_selling_price :=
3738 nvl(crow.gross_unit_selling_price, crow.unit_selling_price);
3739 l_revenue_amount := crow.revenue_amount +
3740 l_old_inclusive_amt - p_inclusive_amt;
3741
3742 /* 5487466 - if inclusive tax to be removed, clear
3743 gross_ columns */
3744 IF (p_inclusive_amt = 0)
3745 THEN
3746 l_gross_extended_amount := NULL;
3747 l_gross_unit_selling_price := NULL;
3748 END IF;
3749
3750 update ra_customer_trx_lines
3751 set
3752 extended_amount = l_extended_amount,
3753 unit_selling_price = l_unit_selling_price,
3754 gross_extended_amount = l_gross_extended_amount,
3755 gross_unit_selling_price = l_gross_unit_selling_price,
3756 revenue_amount = l_revenue_amount
3757 where current of c;
3758
3759
3760 close c;
3761 end;
3762
3763 p_new_extended_amt := l_extended_amount;
3764 p_new_unit_selling_price := l_unit_selling_price;
3765
3766 IF PG_DEBUG in ('Y', 'C') THEN
3767 arp_util.debug( 'arp_ctl_pkg.update_amount_f_ctl_id('
3768 || to_char(l_extended_amount) || ','
3769 || to_char(l_unit_selling_price)
3770 ||')-');
3771 END IF;
3772 exception
3773 when others then
3774 if c%isopen then
3775 close c;
3776 end if;
3777
3778 IF PG_DEBUG in ('Y', 'C') THEN
3779 arp_util.debug( 'arp_ctl_pkg.update_amount_f_ctl_id(EXCEPTION)-');
3780 END IF;
3781 raise;
3782 end update_amount_f_ctl_id;
3783
3784 /*===========================================================================+
3785 | PROCEDURE |
3786 | update_cm_amount_f_ctl_id |
3787 | |
3788 | DESCRIPTION |
3789 | This procedure updates the amounts in a record in ra_customer_trx_lines|
3790 | The columns affected are: extended_amount, unit_selling_price, |
3791 | gross_extended_amount, and gross_unit_selling_price. |
3792 | These are adjustments made for inclusive tax amounts. |
3793 | This function is used when the amounts are net of inclusive tax. |
3794 | Applied credit memo lines - use this function. |
3795 | |
3796 | SCOPE - PUBLIC |
3797 | |
3798 | ARGUMENTS : IN : p_customer_trx_line_id |
3799 | p_inclusive_amt --- Inclusive tax amount |
3800 | OUT: p_new_gross_extended_amt --- New gross price |
3801 | p_new_gross_unit_selling_price --- New gross selling pric|
3802 | |
3803 | NOTES |
3804 | |
3805 | HISTORY |
3806 | 18-Aug-97 Kenichi Mizuta Created. |
3807 | |
3808 +===========================================================================*/
3809
3810 PROCEDURE update_cm_amount_f_ctl_id(
3811 p_customer_trx_line_id IN Number,
3812 p_inclusive_amount IN Number,
3813 p_new_gross_extended_amount OUT NOCOPY Number,
3814 p_new_gross_unit_selling_price OUT NOCOPY Number,
3815 p_precision IN Number,
3816 p_min_acct_unit IN Number) IS
3817 cursor c is select
3818 cm.quantity_credited quantity_credited,
3819 cm.quantity_invoiced quantity_invoiced,
3820 cm.extended_amount extended_amount,
3821 cm.unit_selling_price unit_selling_price,
3822 cm.gross_extended_amount gross_extended_amount,
3823 cm.gross_unit_selling_price gross_unit_selling_price,
3824 cm.previous_customer_trx_line_id previous_customer_trx_line_id
3825 from
3826 ra_customer_trx_lines cm
3827 where
3828 customer_trx_line_id = p_customer_trx_line_id for update;
3829 cursor cinv(p_line_id IN number) is select
3830 inv.gross_unit_selling_price gross_unit_selling_price
3831 from
3832 ra_customer_trx_lines inv
3833 where
3834 customer_trx_line_id = p_line_id;
3835
3836 crow c%rowtype;
3837 l_extended_amount ra_customer_trx_lines.extended_amount%type;
3838 l_unit_selling_price ra_customer_trx_lines.unit_selling_price%type;
3839 l_gross_extended_amount ra_customer_trx_lines.gross_extended_amount%type;
3840 l_gross_unit_selling_price ra_customer_trx_lines.gross_unit_selling_price%type;
3841 l_revenue_amount ra_customer_trx_lines.revenue_amount%type;
3842 l_old_inclusive_amt ra_customer_trx_lines.extended_amount%type;
3843 begin
3844 IF PG_DEBUG in ('Y', 'C') THEN
3845 arp_util.debug( 'arp_ctl_pkg.update_cm_amount_f_ctl_id('
3846 || to_char(p_customer_trx_line_id) || ','
3847 || to_char(p_inclusive_amount)
3848 ||')+');
3849 END IF;
3850
3851 begin
3852 open c;
3853 fetch c into crow;
3854
3855 l_extended_amount := crow.extended_amount;
3856 if ( p_inclusive_amount is null ) OR
3857 ( p_inclusive_amount = 0 )
3858 then
3859 IF PG_DEBUG in ('Y', 'C') THEN
3860 arp_util.debug( 'arp_ctl_pkg.update_cm_amount_f_ctl_id: '||
3861 'No Inclusive Tax Amounts');
3862 END IF;
3863
3864 l_gross_extended_amount := null;
3865 l_gross_unit_selling_price := null;
3866 else
3867 IF PG_DEBUG in ('Y', 'C') THEN
3868 arp_util.debug( 'arp_ctl_pkg.update_cm_amount_f_ctl_id: '||
3869 'Inclusive Amount = '||to_char(p_inclusive_amount));
3870 arp_util.debug( 'arp_ctl_pkg.update_cm_amount_f_ctl_id: '||
3871 'Quantity = '||nvl(to_char(crow.quantity_credited), 'NULL'));
3872 arp_util.debug( 'arp_ctl_pkg.update_cm_amount_f_ctl_id: '||
3873 'Precision = '||nvl(to_char(p_precision), 'NULL'));
3874 arp_util.debug( 'arp_ctl_pkg.update_cm_amount_f_ctl_id: '||
3875 'MAU = '||nvl(to_char(p_min_acct_unit), 'NULL'));
3876 END IF;
3877
3878 l_gross_extended_amount := crow.extended_amount + p_inclusive_amount;
3879 if ( crow.quantity_credited = 0 ) then
3880 begin
3881 open cinv(crow.previous_customer_trx_line_id);
3882 fetch cinv into l_gross_unit_selling_price;
3883 close cinv;
3884 exception
3885 when others then
3886 IF PG_DEBUG in ('Y', 'C') THEN
3887 arp_util.debug( 'EXCPETION: Unable to fetch original invoice');
3888 END IF;
3889 raise;
3890 end;
3891 elsif ( crow.unit_selling_price is null ) then
3892 IF PG_DEBUG in ('Y', 'C') THEN
3893 arp_util.debug( 'arp_ctl_pkg.update_cm_amount_f_ctl_id: NO unit selling price');
3894 END IF;
3895 l_gross_unit_selling_price := null;
3896 elsif (p_min_acct_unit is null) then
3897 IF PG_DEBUG in ('Y', 'C') THEN
3898 arp_util.debug( 'arp_ctl_pkg.update_cm_amount_f_ctl_id: Rounding to precision');
3899 END IF;
3900 l_gross_unit_selling_price :=
3901 round(l_gross_extended_amount / crow.quantity_credited, p_precision+2);
3902 else
3903 IF PG_DEBUG in ('Y', 'C') THEN
3904 arp_util.debug( 'arp_ctl_pkg.update_cm_amount_f_ctl_id: Rounding to MAU');
3905 END IF;
3906 l_gross_unit_selling_price :=
3907 round(l_gross_extended_amount / crow.quantity_credited / p_min_acct_unit / 100)
3908 * 100 * p_min_acct_unit;
3909 end if;
3910 end if;
3911
3912 update ra_customer_trx_lines
3913 set
3914 gross_extended_amount = l_gross_extended_amount,
3915 gross_unit_selling_price = l_gross_unit_selling_price
3916 where current of c;
3917
3918 close c;
3919 end;
3920
3921 p_new_gross_extended_amount := l_gross_extended_amount;
3922 p_new_gross_unit_selling_price := l_gross_unit_selling_price;
3923
3924 IF PG_DEBUG in ('Y', 'C') THEN
3925 arp_util.debug( 'arp_ctl_pkg.update_cm_amount_f_ctl_id('
3926 || to_char(l_gross_extended_amount) || ','
3927 || to_char(l_gross_unit_selling_price)
3928 ||')-');
3929 END IF;
3930
3931 exception
3932 when others then
3933 if c%isopen then
3934 close c;
3935 end if;
3936
3937 IF PG_DEBUG in ('Y', 'C') THEN
3938 arp_util.debug( 'arp_ctl_pkg.update_cm_amount_f_ctl_id(EXCEPTION)-');
3939 END IF;
3940 raise;
3941 end update_cm_amount_f_ctl_id;
3942
3943
3944
3945 /*===========================================================================+
3946 | PROCEDURE |
3947 | insert_p |
3948 | |
3949 | DESCRIPTION |
3950 | This procedure inserts a row into ra_customer_trx_lines that contains |
3951 | the column values specified in the p_trx_rec parameter. |
3952 | |
3953 | SCOPE - PUBLIC |
3954 | |
3955 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
3956 | arp_util.debug |
3957 | arp_global.set_of_books_id |
3958 | |
3959 | ARGUMENTS : IN: |
3960 | p_line_rec - contains the new column values |
3961 | OUT: |
3962 | p_customer_trx_line_id - unique ID of the new row |
3963 | |
3964 | RETURNS : NONE |
3965 | |
3966 | NOTES |
3967 | |
3968 | MODIFICATION HISTORY |
3969 | 06-JUN-95 Charlie Tomberg Created |
3970 | |
3971 | Rel. 11 Changes: |
3972 | ---------------- |
3973 | 07-22-97 OSTEINME added code to handle three new |
3974 | database columns: |
3975 | - gross_unit_selling_price |
3976 | - gross_extended_amount |
3977 | - amount_includes_tax_flag |
3978 | |
3979 | 08-20-97 KTANG handle global_attribute_category and |
3980 | global_attribute[1-20] for global |
3981 | descriptive flexfield |
3982 | |
3983 | |
3984 | 10-JAN-99 Saloni Shah added warehouse_id for global tax |
3985 | engine change |
3986 | 17-MAR-99 Debbie Jancis added translated description for |
3987 | MLS changes |
3988 | |
3989 | 20-MAR-2000 J Rautiainen Added BR project related columns |
3990 | EXTENDED_ACCTD_AMOUNT,BR_REF_CUSTOMER_TRX_ID,|
3991 | BR_REF_PAYMENT_SCHEDULE_ID, BR_ADJUSTMENT_ID |
3992 | into table handlers |
3993 | |
3994 | 31-OCT-2000 Y Rakotonirainy Bug 1243304 : Added column wh_update_date |
3995 | into the table handlers. |
3996 | 07-Apr-2005 Debbie Sue Jancis ETAX: Added SHIP_TO Id columns to support |
3997 | ship to at the line level. Also added |
3998 | tax_Code |
3999 | 23-Dec-2005 Gyanajyothi Added Rule End date for Daily Rate Rule types
4000 | commented the changes for Bug 4410461
4001 +===========================================================================*/
4002
4003 PROCEDURE insert_p(
4004 p_line_rec IN ra_customer_trx_lines%rowtype,
4005 p_customer_trx_line_id OUT NOCOPY
4006 ra_customer_trx_lines.customer_trx_line_id%type
4007 ) IS
4008
4009
4010 l_customer_trx_line_id ra_customer_trx_lines.customer_trx_line_id%type;
4011 l_revenue_amount ra_customer_trx_lines.revenue_amount%TYPE;
4012
4013 BEGIN
4014
4015 IF PG_DEBUG in ('Y', 'C') THEN
4016 arp_util.debug( 'arp_ctl_pkg.insert_p()+');
4017 END IF;
4018
4019 p_customer_trx_line_id := '';
4020
4021 /*---------------------------*
4022 | Get the unique identifier |
4023 *---------------------------*/
4024 /* Bug 4410461 FP for 4340099: Added the If Condition below */
4025 IF p_line_rec.customer_trx_line_id is null THEN
4026 SELECT RA_CUSTOMER_TRX_LINES_S.NEXTVAL
4027 INTO l_customer_trx_line_id
4028 FROM DUAL;
4029 ELSE l_customer_trx_line_id := p_line_rec.customer_trx_line_id ;
4030 END IF ;
4031
4032
4033 /*-------------------*
4034 | Insert the record |
4035 *-------------------*/
4036
4037
4038 l_revenue_amount := p_line_rec.revenue_amount;
4039 IF p_line_rec.revenue_amount is NULL
4040 THEN
4041 IF p_line_rec.line_type not in ( 'CHARGES', 'TAX' )
4042 THEN
4043 l_revenue_amount := p_line_rec.extended_amount;
4044 END IF;
4045 END IF;
4046
4047
4048 INSERT INTO ra_customer_trx_lines
4049 (
4050 customer_trx_line_id,
4051 customer_trx_id,
4052 line_number,
4053 line_type,
4054 quantity_credited,
4055 quantity_invoiced,
4056 quantity_ordered,
4057 unit_selling_price,
4058 unit_standard_price,
4059 revenue_amount,
4060 extended_amount,
4061 memo_line_id,
4062 inventory_item_id,
4063 item_exception_rate_id,
4064 description,
4065 item_context,
4066 initial_customer_trx_line_id,
4067 link_to_cust_trx_line_id,
4068 previous_customer_trx_id,
4069 previous_customer_trx_line_id,
4070 accounting_rule_duration,
4071 accounting_rule_id,
4072 rule_start_date,
4073 autorule_complete_flag,
4074 autorule_duration_processed,
4075 reason_code,
4076 last_period_to_credit,
4077 sales_order,
4078 sales_order_date,
4079 sales_order_line,
4080 sales_order_revision,
4081 sales_order_source,
4082 vat_tax_id,
4083 tax_exempt_flag,
4084 sales_tax_id,
4085 location_segment_id,
4086 tax_exempt_number,
4087 tax_exempt_reason_code,
4088 tax_vendor_return_code,
4089 taxable_flag,
4090 tax_exemption_id,
4091 tax_precedence,
4092 tax_rate,
4093 uom_code,
4094 autotax,
4095 movement_id,
4096 default_ussgl_transaction_code,
4097 default_ussgl_trx_code_context,
4098 interface_line_context,
4099 interface_line_attribute1,
4100 interface_line_attribute2,
4101 interface_line_attribute3,
4102 interface_line_attribute4,
4103 interface_line_attribute5,
4104 interface_line_attribute6,
4105 interface_line_attribute7,
4106 interface_line_attribute8,
4107 interface_line_attribute9,
4108 interface_line_attribute10,
4109 interface_line_attribute11,
4110 interface_line_attribute12,
4111 interface_line_attribute13,
4112 interface_line_attribute14,
4113 interface_line_attribute15,
4114 attribute_category,
4115 attribute1,
4116 attribute2,
4117 attribute3,
4118 attribute4,
4119 attribute5,
4120 attribute6,
4121 attribute7,
4122 attribute8,
4123 attribute9,
4124 attribute10,
4125 attribute11,
4126 attribute12,
4127 attribute13,
4128 attribute14,
4129 attribute15,
4130 global_attribute_category,
4131 global_attribute1,
4132 global_attribute2,
4133 global_attribute3,
4134 global_attribute4,
4135 global_attribute5,
4136 global_attribute6,
4137 global_attribute7,
4138 global_attribute8,
4139 global_attribute9,
4140 global_attribute10,
4141 global_attribute11,
4142 global_attribute12,
4143 global_attribute13,
4144 global_attribute14,
4145 global_attribute15,
4146 global_attribute16,
4147 global_attribute17,
4148 global_attribute18,
4149 global_attribute19,
4150 global_attribute20,
4151 created_by,
4152 creation_date,
4153 last_updated_by,
4154 last_update_date,
4155 program_application_id,
4156 last_update_login,
4157 program_id,
4158 program_update_date,
4159 set_of_books_id,
4160 gross_unit_selling_price,
4161 gross_extended_amount,
4162 amount_includes_tax_flag,
4163 warehouse_id,
4164 translated_description,
4165 taxable_amount, /* Bug 853757 */
4166 request_id,
4167 extended_acctd_amount,
4168 br_ref_customer_trx_id,
4169 br_ref_payment_schedule_id,
4170 br_adjustment_id,
4171 wh_update_date,
4172 payment_set_id,
4173 org_id,
4174 ship_to_customer_id,
4175 ship_to_site_use_id,
4176 ship_to_contact_id,
4177 tax_classification_code,
4178 historical_flag,
4179 rule_end_date
4180 )
4181 VALUES
4182 (
4183 l_customer_trx_line_id,
4184 p_line_rec.customer_trx_id,
4185 p_line_rec.line_number,
4186 p_line_rec.line_type,
4187 p_line_rec.quantity_credited,
4188 p_line_rec.quantity_invoiced,
4189 p_line_rec.quantity_ordered,
4190 p_line_rec.unit_selling_price,
4191 p_line_rec.unit_standard_price,
4192 l_revenue_amount,
4193 p_line_rec.extended_amount,
4194 p_line_rec.memo_line_id,
4195 p_line_rec.inventory_item_id,
4196 p_line_rec.item_exception_rate_id,
4197 p_line_rec.description,
4198 p_line_rec.item_context,
4199 p_line_rec.initial_customer_trx_line_id,
4200 p_line_rec.link_to_cust_trx_line_id,
4201 p_line_rec.previous_customer_trx_id,
4202 p_line_rec.previous_customer_trx_line_id,
4203 p_line_rec.accounting_rule_duration,
4204 p_line_rec.accounting_rule_id,
4205 p_line_rec.rule_start_date,
4206 p_line_rec.autorule_complete_flag,
4207 p_line_rec.autorule_duration_processed,
4208 p_line_rec.reason_code,
4209 p_line_rec.last_period_to_credit,
4210 p_line_rec.sales_order,
4211 p_line_rec.sales_order_date,
4212 p_line_rec.sales_order_line,
4213 p_line_rec.sales_order_revision,
4214 p_line_rec.sales_order_source,
4215 p_line_rec.vat_tax_id,
4216 p_line_rec.tax_exempt_flag,
4217 p_line_rec.sales_tax_id,
4218 p_line_rec.location_segment_id,
4219 p_line_rec.tax_exempt_number,
4220 p_line_rec.tax_exempt_reason_code,
4221 p_line_rec.tax_vendor_return_code,
4222 p_line_rec.taxable_flag,
4223 p_line_rec.tax_exemption_id,
4224 p_line_rec.tax_precedence,
4225 p_line_rec.tax_rate,
4226 p_line_rec.uom_code,
4227 p_line_rec.autotax,
4228 p_line_rec.movement_id,
4229 p_line_rec.default_ussgl_transaction_code,
4230 p_line_rec.default_ussgl_trx_code_context,
4231 p_line_rec.interface_line_context,
4232 p_line_rec.interface_line_attribute1,
4233 p_line_rec.interface_line_attribute2,
4234 p_line_rec.interface_line_attribute3,
4235 p_line_rec.interface_line_attribute4,
4236 p_line_rec.interface_line_attribute5,
4237 p_line_rec.interface_line_attribute6,
4238 p_line_rec.interface_line_attribute7,
4239 p_line_rec.interface_line_attribute8,
4240 p_line_rec.interface_line_attribute9,
4241 p_line_rec.interface_line_attribute10,
4242 p_line_rec.interface_line_attribute11,
4243 p_line_rec.interface_line_attribute12,
4244 p_line_rec.interface_line_attribute13,
4245 p_line_rec.interface_line_attribute14,
4246 p_line_rec.interface_line_attribute15,
4247 p_line_rec.attribute_category,
4248 p_line_rec.attribute1,
4249 p_line_rec.attribute2,
4250 p_line_rec.attribute3,
4251 p_line_rec.attribute4,
4252 p_line_rec.attribute5,
4253 p_line_rec.attribute6,
4254 p_line_rec.attribute7,
4255 p_line_rec.attribute8,
4256 p_line_rec.attribute9,
4257 p_line_rec.attribute10,
4258 p_line_rec.attribute11,
4259 p_line_rec.attribute12,
4260 p_line_rec.attribute13,
4261 p_line_rec.attribute14,
4262 p_line_rec.attribute15,
4263 p_line_rec.global_attribute_category,
4264 p_line_rec.global_attribute1,
4265 p_line_rec.global_attribute2,
4266 p_line_rec.global_attribute3,
4267 p_line_rec.global_attribute4,
4268 p_line_rec.global_attribute5,
4269 p_line_rec.global_attribute6,
4270 p_line_rec.global_attribute7,
4271 p_line_rec.global_attribute8,
4272 p_line_rec.global_attribute9,
4273 p_line_rec.global_attribute10,
4274 p_line_rec.global_attribute11,
4275 p_line_rec.global_attribute12,
4276 p_line_rec.global_attribute13,
4277 p_line_rec.global_attribute14,
4278 p_line_rec.global_attribute15,
4279 p_line_rec.global_attribute16,
4280 p_line_rec.global_attribute17,
4281 p_line_rec.global_attribute18,
4282 p_line_rec.global_attribute19,
4283 p_line_rec.global_attribute20,
4284 pg_user_id, /* created_by */
4285 sysdate, /* creation_date */
4286 pg_user_id, /* last_updated_by */
4287 sysdate, /* last_update_date */
4288 pg_prog_appl_id, /* program_application_id */
4289 nvl(pg_conc_login_id,
4290 pg_login_id), /* last_update_login */
4291 pg_conc_program_id, /* program_id */
4292 sysdate, /* program_update_date */
4293 arp_global.set_of_books_id, /* set_of_books_id */
4294 p_line_rec.gross_unit_selling_price,
4295 p_line_rec.gross_extended_amount,
4296 p_line_rec.amount_includes_tax_flag,
4297 p_line_rec.warehouse_id,
4298 p_line_rec.translated_description,
4299 p_line_rec.taxable_amount,
4300 p_line_rec.request_id,
4301 p_line_rec.extended_acctd_amount,
4302 p_line_rec.br_ref_customer_trx_id,
4303 p_line_rec.br_ref_payment_schedule_id,
4304 p_line_rec.br_adjustment_id,
4305 p_line_rec.wh_update_date,
4306 p_line_rec.payment_set_id,
4307 arp_standard.sysparm.org_id, /* SSA changes */
4308 p_line_rec.ship_to_customer_id,
4309 p_line_rec.ship_to_site_use_id,
4310 p_line_rec.ship_to_contact_id,
4311 p_line_rec.tax_classification_code,
4312 nvl(p_line_rec.historical_flag, 'N'),
4313 p_line_rec.rule_end_date
4314 );
4315
4316 p_customer_trx_line_id := l_customer_trx_line_id;
4317
4318 IF PG_DEBUG in ('Y', 'C') THEN
4319 arp_util.debug( 'after insert: amount_includes_tax_flag = ' ||
4320 p_line_rec.amount_includes_tax_flag);
4321 arp_util.debug( 'after insert: gross_extended_amount = ' ||
4322 p_line_rec.gross_extended_amount);
4323 arp_util.debug( 'after insert: gross_unit_selling_price = ' ||
4324 p_line_rec.gross_unit_selling_price);
4325 arp_util.debug( 'arp_ctl_pkg.insert_p()-');
4326 END IF;
4327
4328 EXCEPTION
4329 WHEN OTHERS THEN
4330 IF PG_DEBUG in ('Y', 'C') THEN
4331 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.insert_p()');
4332 arp_util.debug( '');
4333 arp_util.debug( '-------- parameters for insert_p() ------');
4334 END IF;
4335 display_line_rec(p_line_rec);
4336
4337 RAISE;
4338 END;
4339
4340 /*===========================================================================+
4341 | PROCEDURE |
4342 | display_line_rec |
4343 | |
4344 | DESCRIPTION |
4345 | Displays the values of all columns except creation_date and |
4346 | last_update_date. |
4347 | |
4348 | SCOPE - PRIVATE |
4349 | |
4350 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
4351 | arp_util.debug |
4352 | |
4353 | ARGUMENTS : IN: |
4354 | p_line_rec |
4355 | OUT: |
4356 | IN/ OUT: |
4357 | |
4358 | RETURNS : NONE |
4359 | |
4360 | NOTES |
4361 | |
4362 | MODIFICATION HISTORY |
4363 | 19-JUL-95 Subash C Created |
4364 | |
4365 +===========================================================================*/
4366 PROCEDURE display_line_rec(
4367 p_line_rec IN ra_customer_trx_lines%rowtype) IS
4368 BEGIN
4369 IF PG_DEBUG in ('Y', 'C') THEN
4370 arp_util.debug( 'arp_ctl_pkg.display_line_rec()+');
4371 END IF;
4372
4373 arp_ctl_private_pkg.display_line_rec(p_line_rec);
4374
4375 IF PG_DEBUG in ('Y', 'C') THEN
4376 arp_util.debug( 'arp_ctl_pkg.display_line_rec()-');
4377 END IF;
4378 END;
4379
4380
4381 /*===========================================================================+
4382 | PROCEDURE |
4383 | display_line_p |
4384 | |
4385 | DESCRIPTION |
4386 | Displays the values of all columns except creation_date and |
4387 | last_update_date. |
4388 | |
4389 | SCOPE - PUBLIC |
4390 | |
4391 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
4392 | arp_util.debug |
4393 | |
4394 | ARGUMENTS : IN: |
4395 | p_customer_trx_line_id |
4396 | OUT: |
4397 | IN/ OUT: |
4398 | |
4399 | RETURNS : NONE |
4400 | |
4401 | NOTES |
4402 | |
4403 | MODIFICATION HISTORY |
4404 | 19-JUL-95 Subash C Created |
4405 | |
4406 +===========================================================================*/
4407 PROCEDURE display_line_p(
4408 p_customer_trx_line_id IN
4409 ra_customer_trx_lines.customer_trx_line_id%type) IS
4410 BEGIN
4411 IF PG_DEBUG in ('Y', 'C') THEN
4412 arp_util.debug( 'arp_ctl_pkg.display_line_p()+');
4413 END IF;
4414
4415 arp_ctl_private_pkg.display_line_p(p_customer_trx_line_id);
4416
4417 IF PG_DEBUG in ('Y', 'C') THEN
4418 arp_util.debug( 'arp_ctl_pkg.display_line_p()-');
4419 END IF;
4420
4421 END;
4422
4423 /*===========================================================================+
4424 | PROCEDURE |
4425 | display_line_f_lctl_id |
4426 | |
4427 | DESCRIPTION |
4428 | Displays the values of all columns except creation_date and |
4429 | last_update_date. |
4430 | |
4431 | SCOPE - PUBLIC |
4432 | |
4433 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
4434 | arp_util.debug |
4435 | |
4436 | ARGUMENTS : IN: |
4437 | p_link_to_cust_trx_line_id |
4438 | OUT: |
4439 | None |
4440 | IN/ OUT: |
4441 | None |
4442 | |
4443 | RETURNS : NONE |
4444 | |
4445 | NOTES |
4446 | |
4447 | MODIFICATION HISTORY |
4448 | 03-AUG-95 Charlie Tomberg Created |
4449 | |
4450 +===========================================================================*/
4451
4452
4453 PROCEDURE display_line_f_lctl_id( p_link_to_cust_trx_line_id IN
4454 ra_customer_trx_lines.link_to_cust_trx_line_id%type)
4455 IS
4456 BEGIN
4457
4458 IF PG_DEBUG in ('Y', 'C') THEN
4459 arp_util.debug( 'arp_ctl_pkg.display_line_f_lctl_id()+');
4460 END IF;
4461
4462 arp_ctl_private_pkg.display_line_f_lctl_id( p_link_to_cust_trx_line_id );
4463
4464 IF PG_DEBUG in ('Y', 'C') THEN
4465 arp_util.debug( 'arp_ctl_pkg.display_line_f_lctl_id()-');
4466 END IF;
4467
4468 END;
4469
4470
4471 /*===========================================================================+
4472 | PROCEDURE |
4473 | display_line_f_ct_id |
4474 | |
4475 | DESCRIPTION |
4476 | Displays the values of all columns except creation_date and |
4477 | last_update_date. |
4478 | |
4479 | SCOPE - PUBLIC |
4480 | |
4481 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
4482 | arp_util.debug |
4483 | |
4484 | ARGUMENTS : IN: |
4485 | p_customer_trx_id |
4486 | OUT: |
4487 | None |
4488 | IN/ OUT: |
4489 | None |
4490 | |
4491 | RETURNS : NONE |
4492 | |
4493 | NOTES |
4494 | |
4495 | MODIFICATION HISTORY |
4496 | 08-AUG-95 Charlie Tomberg Created |
4497 | |
4498 +===========================================================================*/
4499
4500
4501 PROCEDURE display_line_f_ct_id( p_customer_trx_id IN
4502 ra_customer_trx.customer_trx_id%type )
4503 IS
4504 BEGIN
4505
4506 IF PG_DEBUG in ('Y', 'C') THEN
4507 arp_util.debug( 'arp_ctl_pkg.display_line_f_ct_id()+');
4508 END IF;
4509
4510 arp_ctl_private_pkg.display_line_f_ct_id( p_customer_trx_id );
4511
4512 IF PG_DEBUG in ('Y', 'C') THEN
4513 arp_util.debug( 'arp_ctl_pkg.display_line_f_ct_id()-');
4514 END IF;
4515
4516 END;
4517
4518 /*===========================================================================+
4519 | PROCEDURE |
4520 | merge_line_recs |
4521 | |
4522 | DESCRIPTION |
4523 | Merges the changed columns in p_new_line_rec into the same columns |
4524 | p_old_line_rec and puts the result into p_out_line_rec. Columns that |
4525 | contain the dummy values are not changed. |
4526 | |
4527 | SCOPE - PRIVATE |
4528 | |
4529 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
4530 | arp_util.debug |
4531 | |
4532 | ARGUMENTS : IN: |
4533 | p_old_line_rec |
4534 | p_new_line_rec |
4535 | OUT: |
4536 | None |
4537 | IN/ OUT: |
4538 | p_out_line_rec |
4539 | |
4540 | RETURNS : NONE |
4541 | |
4542 | NOTES |
4543 | |
4544 | MODIFICATION HISTORY |
4545 | 17-AUG-95 Charlie Tomberg Created |
4546 | |
4547 | Rel. 11 Changes: |
4548 | ---------------- |
4549 | 07-22-97 OSTEINME added code to handle three new |
4550 | database columns: |
4551 | - gross_unit_selling_price |
4552 | - gross_extended_amount |
4553 | - amount_includes_tax_flag |
4554 | |
4555 | 08-20-97 KTANG handle global_attribute_category and |
4556 | global_attribute[1-20] for global |
4557 | descriptive flexfield |
4558 | |
4559 | 10-JAN-99 Saloni Shah added code for warehouse_id |
4560 | for global tax engine change |
4561 | |
4562 | 22-MAR-99 Debbie Jancis added translated_description for MLS |
4563 | |
4564 | 20-MAR-2000 J Rautiainen Added BR project related columns |
4565 | EXTENDED_ACCTD_AMOUNT, |
4566 | BR_REF_CUSTOMER_TRX_ID, |
4567 | BR_REF_PAYMENT_SCHEDULE_ID and |
4568 | BR_ADJUSTMENT_ID |
4569 | into table handlers |
4570 | |
4571 | 31-OCT-2000 Y Rakotonirainy Bug 1243304 : Added column |
4572 | wh_update_date into the table |
4573 | handlers. |
4574 | 20-APR-2005 Debbie Jancis ETax: added ship to id columns to |
4575 | support ship to at the line level |
4576 +===========================================================================*/
4577
4578 PROCEDURE merge_line_recs(
4579 p_old_line_rec IN ra_customer_trx_lines%rowtype,
4580 p_new_line_rec IN
4581 ra_customer_trx_lines%rowtype,
4582 p_out_line_rec IN OUT NOCOPY
4583 ra_customer_trx_lines%rowtype)
4584 IS
4585
4586 BEGIN
4587
4588 IF PG_DEBUG in ('Y', 'C') THEN
4589 arp_util.debug( 'arp_ctl_pkg.merge_line_recs()+');
4590 END IF;
4591
4592 IF (p_new_line_rec.customer_trx_line_id = AR_NUMBER_DUMMY)
4593 THEN p_out_line_rec.customer_trx_line_id :=
4594 p_old_line_rec.customer_trx_line_id;
4595 ELSE p_out_line_rec.customer_trx_line_id :=
4596 p_new_line_rec.customer_trx_line_id;
4597 END IF;
4598
4599 IF (p_new_line_rec.customer_trx_id = AR_NUMBER_DUMMY)
4600 THEN p_out_line_rec.customer_trx_id := p_old_line_rec.customer_trx_id;
4601 ELSE p_out_line_rec.customer_trx_id := p_new_line_rec.customer_trx_id;
4602 END IF;
4603
4604 IF (p_new_line_rec.line_number = AR_NUMBER_DUMMY)
4605 THEN p_out_line_rec.line_number := p_old_line_rec.line_number;
4606 ELSE p_out_line_rec.line_number := p_new_line_rec.line_number;
4607 END IF;
4608
4609 IF (p_new_line_rec.line_type = AR_TEXT_DUMMY)
4610 THEN p_out_line_rec.line_type := p_old_line_rec.line_type;
4611 ELSE p_out_line_rec.line_type := p_new_line_rec.line_type;
4612 END IF;
4613
4614 IF (p_new_line_rec.quantity_credited = AR_NUMBER_DUMMY)
4615 THEN p_out_line_rec.quantity_credited :=
4616 p_old_line_rec.quantity_credited;
4617 ELSE p_out_line_rec.quantity_credited :=
4618 p_new_line_rec.quantity_credited;
4619 END IF;
4620
4621 IF (p_new_line_rec.quantity_invoiced = AR_NUMBER_DUMMY)
4622 THEN p_out_line_rec.quantity_invoiced :=
4623 p_old_line_rec.quantity_invoiced;
4624 ELSE p_out_line_rec.quantity_invoiced :=
4625 p_new_line_rec.quantity_invoiced;
4626 END IF;
4627
4628 IF (p_new_line_rec.quantity_ordered = AR_NUMBER_DUMMY)
4629 THEN p_out_line_rec.quantity_ordered := p_old_line_rec.quantity_ordered;
4630 ELSE p_out_line_rec.quantity_ordered := p_new_line_rec.quantity_ordered;
4631 END IF;
4632
4633 IF (p_new_line_rec.unit_selling_price = AR_NUMBER_DUMMY)
4634 THEN p_out_line_rec.unit_selling_price :=
4635 p_old_line_rec.unit_selling_price;
4636 ELSE p_out_line_rec.unit_selling_price :=
4637 p_new_line_rec.unit_selling_price;
4638 END IF;
4639
4640 IF (p_new_line_rec.unit_standard_price = AR_NUMBER_DUMMY)
4641 THEN p_out_line_rec.unit_standard_price :=
4642 p_old_line_rec.unit_standard_price;
4643 ELSE p_out_line_rec.unit_standard_price :=
4644 p_new_line_rec.unit_standard_price;
4645 END IF;
4646
4647 IF (p_new_line_rec.revenue_amount = AR_NUMBER_DUMMY)
4648 THEN p_out_line_rec.revenue_amount := p_old_line_rec.revenue_amount;
4649 ELSE p_out_line_rec.revenue_amount := p_new_line_rec.revenue_amount;
4650 END IF;
4651
4652 IF (p_new_line_rec.extended_amount = AR_NUMBER_DUMMY)
4653 THEN p_out_line_rec.extended_amount := p_old_line_rec.extended_amount;
4654 ELSE p_out_line_rec.extended_amount := p_new_line_rec.extended_amount;
4655 END IF;
4656
4657 IF (p_new_line_rec.memo_line_id = AR_NUMBER_DUMMY)
4658 THEN p_out_line_rec.memo_line_id := p_old_line_rec.memo_line_id;
4659 ELSE p_out_line_rec.memo_line_id := p_new_line_rec.memo_line_id;
4660 END IF;
4661
4662 IF (p_new_line_rec.inventory_item_id = AR_NUMBER_DUMMY)
4663 THEN p_out_line_rec.inventory_item_id :=
4664 p_old_line_rec.inventory_item_id;
4665 ELSE p_out_line_rec.inventory_item_id :=
4666 p_new_line_rec.inventory_item_id;
4667 END IF;
4668
4669 IF (p_new_line_rec.item_exception_rate_id = AR_NUMBER_DUMMY)
4670 THEN p_out_line_rec.item_exception_rate_id :=
4671 p_old_line_rec.item_exception_rate_id;
4672 ELSE p_out_line_rec.item_exception_rate_id :=
4673 p_new_line_rec.item_exception_rate_id;
4674 END IF;
4675
4676 IF (p_new_line_rec.description = AR_TEXT_DUMMY)
4677 THEN p_out_line_rec.description := p_old_line_rec.description;
4678 ELSE p_out_line_rec.description := p_new_line_rec.description;
4679 END IF;
4680
4681 IF (p_new_line_rec.item_context = AR_TEXT_DUMMY)
4682 THEN p_out_line_rec.item_context := p_old_line_rec.item_context;
4683 ELSE p_out_line_rec.item_context := p_new_line_rec.item_context;
4684 END IF;
4685
4686 IF (p_new_line_rec.initial_customer_trx_line_id = AR_NUMBER_DUMMY)
4687 THEN p_out_line_rec.initial_customer_trx_line_id :=
4688 p_old_line_rec.initial_customer_trx_line_id;
4689 ELSE p_out_line_rec.initial_customer_trx_line_id :=
4690 p_new_line_rec.initial_customer_trx_line_id;
4691 END IF;
4692
4693 IF (p_new_line_rec.link_to_cust_trx_line_id = AR_NUMBER_DUMMY)
4694 THEN p_out_line_rec.link_to_cust_trx_line_id :=
4695 p_old_line_rec.link_to_cust_trx_line_id;
4696 ELSE p_out_line_rec.link_to_cust_trx_line_id :=
4697 p_new_line_rec.link_to_cust_trx_line_id;
4698 END IF;
4699
4700 IF (p_new_line_rec.previous_customer_trx_id = AR_NUMBER_DUMMY)
4701 THEN p_out_line_rec.previous_customer_trx_id :=
4702 p_old_line_rec.previous_customer_trx_id;
4703 ELSE p_out_line_rec.previous_customer_trx_id :=
4704 p_new_line_rec.previous_customer_trx_id;
4705 END IF;
4706
4707 IF (p_new_line_rec.previous_customer_trx_line_id = AR_NUMBER_DUMMY)
4708 THEN p_out_line_rec.previous_customer_trx_line_id :=
4709 p_old_line_rec.previous_customer_trx_line_id;
4710 ELSE p_out_line_rec.previous_customer_trx_line_id :=
4711 p_new_line_rec.previous_customer_trx_line_id;
4712 END IF;
4713
4714 IF (p_new_line_rec.accounting_rule_duration = AR_NUMBER_DUMMY)
4715 THEN p_out_line_rec.accounting_rule_duration :=
4716 p_old_line_rec.accounting_rule_duration;
4717 ELSE p_out_line_rec.accounting_rule_duration :=
4718 p_new_line_rec.accounting_rule_duration;
4719 END IF;
4720
4721 IF (p_new_line_rec.accounting_rule_id = AR_NUMBER_DUMMY)
4722 THEN p_out_line_rec.accounting_rule_id :=
4723 p_old_line_rec.accounting_rule_id;
4724 ELSE p_out_line_rec.accounting_rule_id :=
4725 p_new_line_rec.accounting_rule_id;
4726 END IF;
4727
4728 IF (p_new_line_rec.rule_start_date = AR_DATE_DUMMY)
4729 THEN p_out_line_rec.rule_start_date := p_old_line_rec.rule_start_date;
4730 ELSE p_out_line_rec.rule_start_date := p_new_line_rec.rule_start_date;
4731 END IF;
4732
4733 IF (p_new_line_rec.autorule_complete_flag = AR_FLAG_DUMMY)
4734 THEN p_out_line_rec.autorule_complete_flag :=
4735 p_old_line_rec.autorule_complete_flag;
4736 ELSE p_out_line_rec.autorule_complete_flag :=
4737 p_new_line_rec.autorule_complete_flag;
4738 END IF;
4739
4740 IF (p_new_line_rec.autorule_duration_processed = AR_NUMBER_DUMMY)
4741 THEN p_out_line_rec.autorule_duration_processed :=
4742 p_old_line_rec.autorule_duration_processed;
4743 ELSE p_out_line_rec.autorule_duration_processed :=
4744 p_new_line_rec.autorule_duration_processed;
4745 END IF;
4746
4747 IF (p_new_line_rec.reason_code = AR_TEXT_DUMMY)
4748 THEN p_out_line_rec.reason_code := p_old_line_rec.reason_code;
4749 ELSE p_out_line_rec.reason_code := p_new_line_rec.reason_code;
4750 END IF;
4751
4752 IF (p_new_line_rec.last_period_to_credit = AR_NUMBER_DUMMY)
4753 THEN p_out_line_rec.last_period_to_credit :=
4754 p_old_line_rec.last_period_to_credit;
4755 ELSE p_out_line_rec.last_period_to_credit :=
4756 p_new_line_rec.last_period_to_credit;
4757 END IF;
4758
4759 IF (p_new_line_rec.warehouse_id = AR_NUMBER_DUMMY)
4760 THEN p_out_line_rec.warehouse_id :=
4761 p_old_line_rec.warehouse_id;
4762 ELSE p_out_line_rec.warehouse_id :=
4763 p_new_line_rec.warehouse_id;
4764 END IF;
4765
4766 IF (p_new_line_rec.translated_description= AR_TEXT_DUMMY)
4767 THEN p_out_line_rec.translated_description :=
4768 p_old_line_rec.translated_description;
4769 ELSE p_out_line_rec.translated_description :=
4770 p_new_line_rec.translated_description;
4771 END IF;
4772
4773 IF (p_new_line_rec.sales_order = AR_TEXT_DUMMY)
4774 THEN p_out_line_rec.sales_order := p_old_line_rec.sales_order;
4775 ELSE p_out_line_rec.sales_order := p_new_line_rec.sales_order;
4776 END IF;
4777
4778 IF (p_new_line_rec.sales_order_date = AR_DATE_DUMMY)
4779 THEN p_out_line_rec.sales_order_date := p_old_line_rec.sales_order_date;
4780 ELSE p_out_line_rec.sales_order_date := p_new_line_rec.sales_order_date;
4781 END IF;
4782
4783 IF (p_new_line_rec.sales_order_line = AR_TEXT_DUMMY)
4784 THEN p_out_line_rec.sales_order_line := p_old_line_rec.sales_order_line;
4785 ELSE p_out_line_rec.sales_order_line := p_new_line_rec.sales_order_line;
4786 END IF;
4787
4788 IF (p_new_line_rec.sales_order_revision = AR_NUMBER_DUMMY)
4789 THEN p_out_line_rec.sales_order_revision :=
4790 p_old_line_rec.sales_order_revision;
4791 ELSE p_out_line_rec.sales_order_revision :=
4792 p_new_line_rec.sales_order_revision;
4793 END IF;
4794
4795 IF (p_new_line_rec.sales_order_source = AR_TEXT_DUMMY)
4796 THEN p_out_line_rec.sales_order_source :=
4797 p_old_line_rec.sales_order_source;
4798 ELSE p_out_line_rec.sales_order_source :=
4799 p_new_line_rec.sales_order_source;
4800 END IF;
4801
4802 IF (p_new_line_rec.vat_tax_id = AR_NUMBER_DUMMY)
4803 THEN p_out_line_rec.vat_tax_id := p_old_line_rec.vat_tax_id;
4804 ELSE p_out_line_rec.vat_tax_id := p_new_line_rec.vat_tax_id;
4805 END IF;
4806
4807 IF (p_new_line_rec.tax_exempt_flag = AR_FLAG_DUMMY)
4808 THEN p_out_line_rec.tax_exempt_flag := p_old_line_rec.tax_exempt_flag;
4809 ELSE p_out_line_rec.tax_exempt_flag := p_new_line_rec.tax_exempt_flag;
4810 END IF;
4811
4812 IF (p_new_line_rec.sales_tax_id = AR_NUMBER_DUMMY)
4813 THEN p_out_line_rec.sales_tax_id := p_old_line_rec.sales_tax_id;
4814 ELSE p_out_line_rec.sales_tax_id := p_new_line_rec.sales_tax_id;
4815 END IF;
4816
4817 IF (p_new_line_rec.location_segment_id = AR_NUMBER_DUMMY)
4818 THEN p_out_line_rec.location_segment_id :=
4819 p_old_line_rec.location_segment_id;
4820 ELSE p_out_line_rec.location_segment_id :=
4821 p_new_line_rec.location_segment_id;
4822 END IF;
4823
4824 IF (p_new_line_rec.tax_exempt_number = AR_TEXT_DUMMY)
4825 THEN p_out_line_rec.tax_exempt_number :=
4826 p_old_line_rec.tax_exempt_number;
4827 ELSE p_out_line_rec.tax_exempt_number :=
4828 p_new_line_rec.tax_exempt_number;
4829 END IF;
4830
4831 IF (p_new_line_rec.tax_exempt_reason_code = AR_TEXT_DUMMY)
4832 THEN p_out_line_rec.tax_exempt_reason_code :=
4833 p_old_line_rec.tax_exempt_reason_code;
4834 ELSE p_out_line_rec.tax_exempt_reason_code :=
4835 p_new_line_rec.tax_exempt_reason_code;
4836 END IF;
4837
4838 IF (p_new_line_rec.tax_vendor_return_code = AR_TEXT_DUMMY)
4839 THEN p_out_line_rec.tax_vendor_return_code :=
4840 p_old_line_rec.tax_vendor_return_code;
4841 ELSE p_out_line_rec.tax_vendor_return_code :=
4842 p_new_line_rec.tax_vendor_return_code;
4843 END IF;
4844
4845 IF (p_new_line_rec.taxable_flag = AR_FLAG_DUMMY)
4846 THEN p_out_line_rec.taxable_flag := p_old_line_rec.taxable_flag;
4847 ELSE p_out_line_rec.taxable_flag := p_new_line_rec.taxable_flag;
4848 END IF;
4849
4850 IF (p_new_line_rec.tax_exemption_id = AR_NUMBER_DUMMY)
4851 THEN p_out_line_rec.tax_exemption_id := p_old_line_rec.tax_exemption_id;
4852 ELSE p_out_line_rec.tax_exemption_id := p_new_line_rec.tax_exemption_id;
4853 END IF;
4854
4855 IF (p_new_line_rec.tax_precedence = AR_NUMBER_DUMMY)
4856 THEN p_out_line_rec.tax_precedence := p_old_line_rec.tax_precedence;
4857 ELSE p_out_line_rec.tax_precedence := p_new_line_rec.tax_precedence;
4858 END IF;
4859
4860 IF (p_new_line_rec.tax_rate = AR_NUMBER_DUMMY)
4861 THEN p_out_line_rec.tax_rate := p_old_line_rec.tax_rate;
4862 ELSE p_out_line_rec.tax_rate := p_new_line_rec.tax_rate;
4863 END IF;
4864
4865 IF (p_new_line_rec.uom_code = AR_TEXT3_DUMMY)
4866 THEN p_out_line_rec.uom_code := p_old_line_rec.uom_code;
4867 ELSE p_out_line_rec.uom_code := p_new_line_rec.uom_code;
4868 END IF;
4869
4870 IF (p_new_line_rec.autotax = AR_FLAG_DUMMY)
4871 THEN p_out_line_rec.autotax := p_old_line_rec.autotax;
4872 ELSE p_out_line_rec.autotax := p_new_line_rec.autotax;
4873 END IF;
4874
4875 IF (p_new_line_rec.movement_id = AR_NUMBER_DUMMY)
4876 THEN p_out_line_rec.movement_id := p_old_line_rec.movement_id;
4877 ELSE p_out_line_rec.movement_id := p_new_line_rec.movement_id;
4878 END IF;
4879
4880 IF (p_new_line_rec.default_ussgl_transaction_code = AR_TEXT_DUMMY)
4881 THEN p_out_line_rec.default_ussgl_transaction_code :=
4882 p_old_line_rec.default_ussgl_transaction_code;
4883 ELSE p_out_line_rec.default_ussgl_transaction_code :=
4884 p_new_line_rec.default_ussgl_transaction_code;
4885 END IF;
4886
4887 IF (p_new_line_rec.default_ussgl_trx_code_context = AR_TEXT_DUMMY)
4888 THEN p_out_line_rec.default_ussgl_trx_code_context :=
4889 p_old_line_rec.default_ussgl_trx_code_context;
4890 ELSE p_out_line_rec.default_ussgl_trx_code_context :=
4891 p_new_line_rec.default_ussgl_trx_code_context;
4892 END IF;
4893
4894 IF (p_new_line_rec.interface_line_context = AR_TEXT_DUMMY)
4895 THEN p_out_line_rec.interface_line_context :=
4896 p_old_line_rec.interface_line_context;
4897 ELSE p_out_line_rec.interface_line_context :=
4898 p_new_line_rec.interface_line_context;
4899 END IF;
4900
4901 IF (p_new_line_rec.interface_line_attribute1 = AR_TEXT_DUMMY)
4902 THEN p_out_line_rec.interface_line_attribute1 :=
4903 p_old_line_rec.interface_line_attribute1;
4904 ELSE p_out_line_rec.interface_line_attribute1 :=
4905 p_new_line_rec.interface_line_attribute1;
4906 END IF;
4907
4908 IF (p_new_line_rec.interface_line_attribute2 = AR_TEXT_DUMMY)
4909 THEN p_out_line_rec.interface_line_attribute2 :=
4910 p_old_line_rec.interface_line_attribute2;
4911 ELSE p_out_line_rec.interface_line_attribute2 :=
4912 p_new_line_rec.interface_line_attribute2;
4913 END IF;
4914
4915 IF (p_new_line_rec.interface_line_attribute3 = AR_TEXT_DUMMY)
4916 THEN p_out_line_rec.interface_line_attribute3 :=
4917 p_old_line_rec.interface_line_attribute3;
4918 ELSE p_out_line_rec.interface_line_attribute3 :=
4919 p_new_line_rec.interface_line_attribute3;
4920 END IF;
4921
4922 IF (p_new_line_rec.interface_line_attribute4 = AR_TEXT_DUMMY)
4923 THEN p_out_line_rec.interface_line_attribute4 :=
4924 p_old_line_rec.interface_line_attribute4;
4925 ELSE p_out_line_rec.interface_line_attribute4 :=
4926 p_new_line_rec.interface_line_attribute4;
4927 END IF;
4928
4929 IF (p_new_line_rec.interface_line_attribute5 = AR_TEXT_DUMMY)
4930 THEN p_out_line_rec.interface_line_attribute5 :=
4931 p_old_line_rec.interface_line_attribute5;
4932 ELSE p_out_line_rec.interface_line_attribute5 :=
4933 p_new_line_rec.interface_line_attribute5;
4934 END IF;
4935
4936 IF (p_new_line_rec.interface_line_attribute6 = AR_TEXT_DUMMY)
4937 THEN p_out_line_rec.interface_line_attribute6 :=
4938 p_old_line_rec.interface_line_attribute6;
4939 ELSE p_out_line_rec.interface_line_attribute6 :=
4940 p_new_line_rec.interface_line_attribute6;
4941 END IF;
4942
4943 IF (p_new_line_rec.interface_line_attribute7 = AR_TEXT_DUMMY)
4944 THEN p_out_line_rec.interface_line_attribute7 :=
4945 p_old_line_rec.interface_line_attribute7;
4946 ELSE p_out_line_rec.interface_line_attribute7 :=
4947 p_new_line_rec.interface_line_attribute7;
4948 END IF;
4949
4950 IF (p_new_line_rec.interface_line_attribute8 = AR_TEXT_DUMMY)
4951 THEN p_out_line_rec.interface_line_attribute8 :=
4952 p_old_line_rec.interface_line_attribute8;
4953 ELSE p_out_line_rec.interface_line_attribute8 :=
4954 p_new_line_rec.interface_line_attribute8;
4955 END IF;
4956
4957 IF (p_new_line_rec.interface_line_attribute9 = AR_TEXT_DUMMY)
4958 THEN p_out_line_rec.interface_line_attribute9 :=
4959 p_old_line_rec.interface_line_attribute9;
4960 ELSE p_out_line_rec.interface_line_attribute9 :=
4961 p_new_line_rec.interface_line_attribute9;
4962 END IF;
4963
4964 IF (p_new_line_rec.interface_line_attribute10 = AR_TEXT_DUMMY)
4965 THEN p_out_line_rec.interface_line_attribute10 :=
4966 p_old_line_rec.interface_line_attribute10;
4967 ELSE p_out_line_rec.interface_line_attribute10 :=
4968 p_new_line_rec.interface_line_attribute10;
4969 END IF;
4970
4971 IF (p_new_line_rec.interface_line_attribute11 = AR_TEXT_DUMMY)
4972 THEN p_out_line_rec.interface_line_attribute11 :=
4973 p_old_line_rec.interface_line_attribute11;
4974 ELSE p_out_line_rec.interface_line_attribute11 :=
4975 p_new_line_rec.interface_line_attribute11;
4976 END IF;
4977
4978 IF (p_new_line_rec.interface_line_attribute12 = AR_TEXT_DUMMY)
4979 THEN p_out_line_rec.interface_line_attribute12 :=
4980 p_old_line_rec.interface_line_attribute12;
4981 ELSE p_out_line_rec.interface_line_attribute12 :=
4982 p_new_line_rec.interface_line_attribute12;
4983 END IF;
4984
4985 IF (p_new_line_rec.interface_line_attribute13 = AR_TEXT_DUMMY)
4986 THEN p_out_line_rec.interface_line_attribute13 :=
4987 p_old_line_rec.interface_line_attribute13;
4988 ELSE p_out_line_rec.interface_line_attribute13 :=
4989 p_new_line_rec.interface_line_attribute13;
4990 END IF;
4991
4992 IF (p_new_line_rec.interface_line_attribute14 = AR_TEXT_DUMMY)
4993 THEN p_out_line_rec.interface_line_attribute14 :=
4994 p_old_line_rec.interface_line_attribute14;
4995 ELSE p_out_line_rec.interface_line_attribute14 :=
4996 p_new_line_rec.interface_line_attribute14;
4997 END IF;
4998
4999 IF (p_new_line_rec.interface_line_attribute15 = AR_TEXT_DUMMY)
5000 THEN p_out_line_rec.interface_line_attribute15 :=
5001 p_old_line_rec.interface_line_attribute15;
5002 ELSE p_out_line_rec.interface_line_attribute15 :=
5003 p_new_line_rec.interface_line_attribute15;
5004 END IF;
5005
5006 IF (p_new_line_rec.attribute_category = AR_TEXT_DUMMY)
5007 THEN p_out_line_rec.attribute_category :=
5008 p_old_line_rec.attribute_category;
5009 ELSE p_out_line_rec.attribute_category :=
5010 p_new_line_rec.attribute_category;
5011 END IF;
5012
5013 IF (p_new_line_rec.attribute1 = AR_TEXT_DUMMY)
5014 THEN p_out_line_rec.attribute1 := p_old_line_rec.attribute1;
5015 ELSE p_out_line_rec.attribute1 := p_new_line_rec.attribute1;
5016 END IF;
5017
5018 IF (p_new_line_rec.attribute2 = AR_TEXT_DUMMY)
5019 THEN p_out_line_rec.attribute2 := p_old_line_rec.attribute2;
5020 ELSE p_out_line_rec.attribute2 := p_new_line_rec.attribute2;
5021 END IF;
5022
5023 IF (p_new_line_rec.attribute3 = AR_TEXT_DUMMY)
5024 THEN p_out_line_rec.attribute3 := p_old_line_rec.attribute3;
5025 ELSE p_out_line_rec.attribute3 := p_new_line_rec.attribute3;
5026 END IF;
5027
5028 IF (p_new_line_rec.attribute4 = AR_TEXT_DUMMY)
5029 THEN p_out_line_rec.attribute4 := p_old_line_rec.attribute4;
5030 ELSE p_out_line_rec.attribute4 := p_new_line_rec.attribute4;
5031 END IF;
5032
5033 IF (p_new_line_rec.attribute5 = AR_TEXT_DUMMY)
5034 THEN p_out_line_rec.attribute5 := p_old_line_rec.attribute5;
5035 ELSE p_out_line_rec.attribute5 := p_new_line_rec.attribute5;
5036 END IF;
5037
5038 IF (p_new_line_rec.attribute6 = AR_TEXT_DUMMY)
5039 THEN p_out_line_rec.attribute6 := p_old_line_rec.attribute6;
5040 ELSE p_out_line_rec.attribute6 := p_new_line_rec.attribute6;
5041 END IF;
5042
5043 IF (p_new_line_rec.attribute7 = AR_TEXT_DUMMY)
5044 THEN p_out_line_rec.attribute7 := p_old_line_rec.attribute7;
5045 ELSE p_out_line_rec.attribute7 := p_new_line_rec.attribute7;
5046 END IF;
5047
5048 IF (p_new_line_rec.attribute8 = AR_TEXT_DUMMY)
5049 THEN p_out_line_rec.attribute8 := p_old_line_rec.attribute8;
5050 ELSE p_out_line_rec.attribute8 := p_new_line_rec.attribute8;
5051 END IF;
5052
5053 IF (p_new_line_rec.attribute9 = AR_TEXT_DUMMY)
5054 THEN p_out_line_rec.attribute9 := p_old_line_rec.attribute9;
5055 ELSE p_out_line_rec.attribute9 := p_new_line_rec.attribute9;
5056 END IF;
5057
5058 IF (p_new_line_rec.attribute10 = AR_TEXT_DUMMY)
5059 THEN p_out_line_rec.attribute10 := p_old_line_rec.attribute10;
5060 ELSE p_out_line_rec.attribute10 := p_new_line_rec.attribute10;
5061 END IF;
5062
5063 IF (p_new_line_rec.attribute11 = AR_TEXT_DUMMY)
5064 THEN p_out_line_rec.attribute11 := p_old_line_rec.attribute11;
5065 ELSE p_out_line_rec.attribute11 := p_new_line_rec.attribute11;
5066 END IF;
5067
5068 IF (p_new_line_rec.attribute12 = AR_TEXT_DUMMY)
5069 THEN p_out_line_rec.attribute12 := p_old_line_rec.attribute12;
5070 ELSE p_out_line_rec.attribute12 := p_new_line_rec.attribute12;
5071 END IF;
5072
5073 IF (p_new_line_rec.attribute13 = AR_TEXT_DUMMY)
5074 THEN p_out_line_rec.attribute13 := p_old_line_rec.attribute13;
5075 ELSE p_out_line_rec.attribute13 := p_new_line_rec.attribute13;
5076 END IF;
5077
5078 IF (p_new_line_rec.attribute14 = AR_TEXT_DUMMY)
5079 THEN p_out_line_rec.attribute14 := p_old_line_rec.attribute14;
5080 ELSE p_out_line_rec.attribute14 := p_new_line_rec.attribute14;
5081 END IF;
5082
5083 IF (p_new_line_rec.attribute15 = AR_TEXT_DUMMY)
5084 THEN p_out_line_rec.attribute15 := p_old_line_rec.attribute15;
5085 ELSE p_out_line_rec.attribute15 := p_new_line_rec.attribute15;
5086 END IF;
5087
5088 IF (p_new_line_rec.global_attribute_category = AR_TEXT_DUMMY)
5089 THEN p_out_line_rec.global_attribute_category :=
5090 p_old_line_rec.global_attribute_category;
5091 ELSE p_out_line_rec.global_attribute_category :=
5092 p_new_line_rec.global_attribute_category;
5093 END IF;
5094
5095 IF (p_new_line_rec.global_attribute1 = AR_TEXT_DUMMY)
5096 THEN p_out_line_rec.global_attribute1 := p_old_line_rec.global_attribute1;
5097 ELSE p_out_line_rec.global_attribute1 := p_new_line_rec.global_attribute1;
5098 END IF;
5099
5100 IF (p_new_line_rec.global_attribute2 = AR_TEXT_DUMMY)
5101 THEN p_out_line_rec.global_attribute2 := p_old_line_rec.global_attribute2;
5102 ELSE p_out_line_rec.global_attribute2 := p_new_line_rec.global_attribute2;
5103 END IF;
5104
5105 IF (p_new_line_rec.global_attribute3 = AR_TEXT_DUMMY)
5106 THEN p_out_line_rec.global_attribute3 := p_old_line_rec.global_attribute3;
5107 ELSE p_out_line_rec.global_attribute3 := p_new_line_rec.global_attribute3;
5108 END IF;
5109
5110 IF (p_new_line_rec.global_attribute4 = AR_TEXT_DUMMY)
5111 THEN p_out_line_rec.global_attribute4 := p_old_line_rec.global_attribute4;
5112 ELSE p_out_line_rec.global_attribute4 := p_new_line_rec.global_attribute4;
5113 END IF;
5114
5115 IF (p_new_line_rec.global_attribute5 = AR_TEXT_DUMMY)
5116 THEN p_out_line_rec.global_attribute5 := p_old_line_rec.global_attribute5;
5117 ELSE p_out_line_rec.global_attribute5 := p_new_line_rec.global_attribute5;
5118 END IF;
5119
5120 IF (p_new_line_rec.global_attribute6 = AR_TEXT_DUMMY)
5121 THEN p_out_line_rec.global_attribute6 := p_old_line_rec.global_attribute6;
5122 ELSE p_out_line_rec.global_attribute6 := p_new_line_rec.global_attribute6;
5123 END IF;
5124
5125 IF (p_new_line_rec.global_attribute7 = AR_TEXT_DUMMY)
5126 THEN p_out_line_rec.global_attribute7 := p_old_line_rec.global_attribute7;
5127 ELSE p_out_line_rec.global_attribute7 := p_new_line_rec.global_attribute7;
5128 END IF;
5129
5130 IF (p_new_line_rec.global_attribute8 = AR_TEXT_DUMMY)
5131 THEN p_out_line_rec.global_attribute8 := p_old_line_rec.global_attribute8;
5132 ELSE p_out_line_rec.global_attribute8 := p_new_line_rec.global_attribute8;
5133 END IF;
5134
5135 IF (p_new_line_rec.global_attribute9 = AR_TEXT_DUMMY)
5136 THEN p_out_line_rec.global_attribute9 := p_old_line_rec.global_attribute9;
5137 ELSE p_out_line_rec.global_attribute9 := p_new_line_rec.global_attribute9;
5138 END IF;
5139
5140 IF (p_new_line_rec.global_attribute10 = AR_TEXT_DUMMY)
5141 THEN p_out_line_rec.global_attribute10 := p_old_line_rec.global_attribute10;
5142 ELSE p_out_line_rec.global_attribute10 := p_new_line_rec.global_attribute10;
5143 END IF;
5144
5145 IF (p_new_line_rec.global_attribute11 = AR_TEXT_DUMMY)
5146 THEN p_out_line_rec.global_attribute11 := p_old_line_rec.global_attribute11;
5147 ELSE p_out_line_rec.global_attribute11 := p_new_line_rec.global_attribute11;
5148 END IF;
5149
5150 IF (p_new_line_rec.global_attribute12 = AR_TEXT_DUMMY)
5151 THEN p_out_line_rec.global_attribute12 := p_old_line_rec.global_attribute12;
5152 ELSE p_out_line_rec.global_attribute12 := p_new_line_rec.global_attribute12;
5153 END IF;
5154
5155 IF (p_new_line_rec.global_attribute13 = AR_TEXT_DUMMY)
5156 THEN p_out_line_rec.global_attribute13 := p_old_line_rec.global_attribute13;
5157 ELSE p_out_line_rec.global_attribute13 := p_new_line_rec.global_attribute13;
5158 END IF;
5159
5160 IF (p_new_line_rec.global_attribute14 = AR_TEXT_DUMMY)
5161 THEN p_out_line_rec.global_attribute14 := p_old_line_rec.global_attribute14;
5162 ELSE p_out_line_rec.global_attribute14 := p_new_line_rec.global_attribute14;
5163 END IF;
5164
5165 IF (p_new_line_rec.global_attribute15 = AR_TEXT_DUMMY)
5166 THEN p_out_line_rec.global_attribute15 := p_old_line_rec.global_attribute15;
5167 ELSE p_out_line_rec.global_attribute15 := p_new_line_rec.global_attribute15;
5168 END IF;
5169
5170 IF (p_new_line_rec.global_attribute16 = AR_TEXT_DUMMY)
5171 THEN p_out_line_rec.global_attribute16 := p_old_line_rec.global_attribute16;
5172 ELSE p_out_line_rec.global_attribute16 := p_new_line_rec.global_attribute16; END IF;
5173
5174 IF (p_new_line_rec.global_attribute17 = AR_TEXT_DUMMY)
5175 THEN p_out_line_rec.global_attribute17 := p_old_line_rec.global_attribute17;
5176 ELSE p_out_line_rec.global_attribute17 := p_new_line_rec.global_attribute17;
5177 END IF;
5178
5179 IF (p_new_line_rec.global_attribute18 = AR_TEXT_DUMMY)
5180 THEN p_out_line_rec.global_attribute18 := p_old_line_rec.global_attribute18;
5181 ELSE p_out_line_rec.global_attribute18 := p_new_line_rec.global_attribute18;
5182 END IF;
5183
5184 IF (p_new_line_rec.global_attribute19 = AR_TEXT_DUMMY)
5185 THEN p_out_line_rec.global_attribute19 := p_old_line_rec.global_attribute19;
5186 ELSE p_out_line_rec.global_attribute19 := p_new_line_rec.global_attribute19;
5187 END IF;
5188
5189 IF (p_new_line_rec.global_attribute20 = AR_TEXT_DUMMY)
5190 THEN p_out_line_rec.global_attribute20 := p_old_line_rec.global_attribute20;
5191 ELSE p_out_line_rec.global_attribute20 := p_new_line_rec.global_attribute20;
5192 END IF;
5193
5194 IF (p_new_line_rec.created_by = AR_NUMBER_DUMMY)
5195 THEN p_out_line_rec.created_by := p_old_line_rec.created_by;
5196 ELSE p_out_line_rec.created_by := p_new_line_rec.created_by;
5197 END IF;
5198
5199 IF (p_new_line_rec.creation_date = AR_DATE_DUMMY)
5200 THEN p_out_line_rec.creation_date := p_old_line_rec.creation_date;
5201 ELSE p_out_line_rec.creation_date := p_new_line_rec.creation_date;
5202 END IF;
5203
5204 IF (p_new_line_rec.last_updated_by = AR_NUMBER_DUMMY)
5205 THEN p_out_line_rec.last_updated_by := p_old_line_rec.last_updated_by;
5206 ELSE p_out_line_rec.last_updated_by := p_new_line_rec.last_updated_by;
5207 END IF;
5208
5209 IF (p_new_line_rec.last_update_date = AR_DATE_DUMMY)
5210 THEN p_out_line_rec.last_update_date := p_old_line_rec.last_update_date;
5211 ELSE p_out_line_rec.last_update_date := p_new_line_rec.last_update_date;
5212 END IF;
5213
5214 IF (p_new_line_rec.program_application_id = AR_NUMBER_DUMMY)
5215 THEN p_out_line_rec.program_application_id :=
5216 p_old_line_rec.program_application_id;
5217 ELSE p_out_line_rec.program_application_id :=
5218 p_new_line_rec.program_application_id;
5219 END IF;
5220
5221 IF (p_new_line_rec.last_update_login = AR_NUMBER_DUMMY)
5222 THEN p_out_line_rec.last_update_login :=
5223 p_old_line_rec.last_update_login;
5224 ELSE p_out_line_rec.last_update_login :=
5225 p_new_line_rec.last_update_login;
5226 END IF;
5227
5228 IF (p_new_line_rec.program_id = AR_NUMBER_DUMMY)
5229 THEN p_out_line_rec.program_id := p_old_line_rec.program_id;
5230 ELSE p_out_line_rec.program_id := p_new_line_rec.program_id;
5231 END IF;
5232
5233 IF (p_new_line_rec.program_update_date = AR_DATE_DUMMY)
5234 THEN p_out_line_rec.program_update_date :=
5235 p_old_line_rec.program_update_date;
5236 ELSE p_out_line_rec.program_update_date :=
5237 p_new_line_rec.program_update_date;
5238 END IF;
5239
5240 IF (p_new_line_rec.set_of_books_id = AR_NUMBER_DUMMY)
5241 THEN p_out_line_rec.set_of_books_id := p_old_line_rec.set_of_books_id;
5242 ELSE p_out_line_rec.set_of_books_id := p_new_line_rec.set_of_books_id;
5243 END IF;
5244
5245 -- Rel. 11 Changes:
5246
5247 IF (p_new_line_rec.gross_unit_selling_price = AR_NUMBER_DUMMY)
5248 THEN p_out_line_rec.gross_unit_selling_price :=
5249 p_old_line_rec.gross_unit_selling_price;
5250 ELSE p_out_line_rec.gross_unit_selling_price :=
5251 p_new_line_rec.gross_unit_selling_price;
5252 END IF;
5253
5254 IF (p_new_line_rec.gross_extended_amount = AR_NUMBER_DUMMY)
5255 THEN p_out_line_rec.gross_extended_amount :=
5256 p_old_line_rec.gross_extended_amount;
5257 ELSE p_out_line_rec.gross_extended_amount :=
5258 p_new_line_rec.gross_extended_amount;
5259 END IF;
5260
5261 IF (p_new_line_rec.amount_includes_tax_flag = AR_FLAG_DUMMY)
5262 THEN p_out_line_rec.amount_includes_tax_flag :=
5263 p_old_line_rec.amount_includes_tax_flag;
5264 ELSE p_out_line_rec.amount_includes_tax_flag :=
5265 p_new_line_rec.amount_includes_tax_flag;
5266 END IF;
5267
5268 /* Bug 853757 */
5269 IF (p_new_line_rec.taxable_amount = AR_NUMBER_DUMMY)
5270 THEN p_out_line_rec.taxable_amount :=
5271 p_old_line_rec.taxable_amount;
5272 ELSE p_out_line_rec.taxable_amount :=
5273 p_new_line_rec.taxable_amount;
5274 END IF;
5275
5276 IF (p_new_line_rec.extended_acctd_amount = AR_NUMBER_DUMMY)
5277 THEN p_out_line_rec.extended_acctd_amount :=
5278 p_old_line_rec.extended_acctd_amount;
5279 ELSE p_out_line_rec.extended_acctd_amount :=
5280 p_new_line_rec.extended_acctd_amount;
5281 END IF;
5282
5283 IF (p_new_line_rec.br_ref_customer_trx_id = AR_NUMBER_DUMMY)
5284 THEN p_out_line_rec.br_ref_customer_trx_id :=
5285 p_old_line_rec.br_ref_customer_trx_id;
5286 ELSE p_out_line_rec.br_ref_customer_trx_id :=
5287 p_new_line_rec.br_ref_customer_trx_id;
5288 END IF;
5289
5290 IF (p_new_line_rec.br_ref_payment_schedule_id = AR_NUMBER_DUMMY)
5291 THEN p_out_line_rec.br_ref_payment_schedule_id :=
5292 p_old_line_rec.br_ref_payment_schedule_id;
5293 ELSE p_out_line_rec.br_ref_payment_schedule_id :=
5294 p_new_line_rec.br_ref_payment_schedule_id;
5295 END IF;
5296
5297 IF (p_new_line_rec.br_adjustment_id = AR_NUMBER_DUMMY)
5298 THEN p_out_line_rec.br_adjustment_id :=
5299 p_old_line_rec.br_adjustment_id;
5300 ELSE p_out_line_rec.br_adjustment_id :=
5301 p_new_line_rec.br_adjustment_id;
5302 END IF;
5303
5304 IF (p_new_line_rec.wh_update_date = AR_DATE_DUMMY)
5305 THEN p_out_line_rec.wh_update_date :=
5306 p_old_line_rec.wh_update_date;
5307 ELSE p_out_line_rec.wh_update_date :=
5308 p_new_line_rec.wh_update_date;
5309 END IF;
5310
5311 IF (p_new_line_rec.payment_set_id = AR_NUMBER_DUMMY)
5312 THEN p_out_line_rec.payment_set_id := p_old_line_rec.payment_set_id;
5313 ELSE p_out_line_rec.payment_set_id := p_new_line_rec.payment_set_id;
5314 END IF;
5315
5316 /* ETax - to support ship to at line level information */
5317 IF (p_new_line_rec.ship_to_customer_id = AR_NUMBER_DUMMY) THEN
5318 p_out_line_rec.ship_to_customer_id := p_old_line_rec.ship_to_customer_id;
5319 ELSE
5320 p_out_line_rec.ship_to_customer_id := p_new_line_rec.ship_to_customer_id;
5321 END IF;
5322
5323
5324 IF (p_new_line_rec.ship_to_site_use_id = AR_NUMBER_DUMMY) THEN
5325 p_out_line_rec.ship_to_site_use_id := p_old_line_rec.ship_to_site_use_id;
5326 ELSE
5327 p_out_line_rec.ship_to_site_use_id := p_new_line_rec.ship_to_site_use_id; END IF;
5328
5329 IF (p_new_line_rec.ship_to_contact_id = AR_NUMBER_DUMMY) THEN
5330 p_out_line_rec.ship_to_contact_id := p_old_line_rec.ship_to_contact_id;
5331 ELSE
5332 p_out_line_rec.ship_to_contact_id := p_new_line_rec.ship_to_contact_id;
5333 END IF;
5334
5335 IF (p_new_line_rec.tax_classification_code = AR_TEXT_DUMMY) THEN
5336 p_out_line_rec.tax_classification_code :=
5337 p_old_line_rec.tax_classification_code;
5338 ELSE
5339 p_out_line_rec.tax_classification_code :=
5340 p_new_line_rec.tax_classification_code;
5341 END IF;
5342 IF (p_new_line_rec.rule_end_date = AR_DATE_DUMMY)
5343 THEN p_out_line_rec.rule_end_date := p_old_line_rec.rule_end_date;
5344 ELSE p_out_line_rec.rule_end_date := p_new_line_rec.rule_end_date;
5345 END IF;
5346
5347 IF PG_DEBUG in ('Y', 'C') THEN
5348 arp_util.debug( 'arp_ctl_pkg.merge_line_recs()-');
5349 END IF;
5350
5351 EXCEPTION
5352 WHEN OTHERS THEN
5353 IF PG_DEBUG in ('Y', 'C') THEN
5354 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.merge_line_recs()');
5355 arp_util.debug( '');
5356 arp_util.debug( '-------- parameters for merge_line_recs() ------');
5357 arp_util.debug( ' ---- old line record ----');
5358 END IF;
5359 display_line_rec(p_old_line_rec);
5360 IF PG_DEBUG in ('Y', 'C') THEN
5361 arp_util.debug( '');
5362 arp_util.debug( ' ---- new line record ----');
5363 END IF;
5364 display_line_rec(p_new_line_rec);
5365 IF PG_DEBUG in ('Y', 'C') THEN
5366 arp_util.debug( '');
5367 arp_util.debug( ' ---- merged line record ----');
5368 END IF;
5369 display_line_rec(p_out_line_rec);
5370 IF PG_DEBUG in ('Y', 'C') THEN
5371 arp_util.debug( '');
5372 END IF;
5373
5374 RAISE;
5375
5376 END;
5377
5378 /*===========================================================================+
5379 | FUNCTION |
5380 | insert_line_f_cm_ct_ctl_id |
5381 | |
5382 | DESCRIPTION |
5383 | This procedure creates credit memo lines for the specified line type |
5384 | |
5385 | SCOPE - PUBLIC |
5386 | |
5387 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
5388 | arp_util.debug |
5389 | |
5390 | ARGUMENTS : IN: |
5391 | None |
5392 | OUT: |
5393 | None |
5394 | |
5395 | RETURNS : NONE |
5396 | |
5397 | NOTES |
5398 | |
5399 | MODIFICATION HISTORY |
5400 | 29-AUG-95 Subash Chadalavada Created |
5401 | |
5402 | Rel. 11 Changes: |
5403 | ---------------- |
5404 | 07-22-97 OSTEINME added code to handle three new |
5405 | database columns: |
5406 | - gross_unit_selling_price |
5407 | - gross_extended_amount |
5408 | - amount_includes_tax_flag |
5409 | 08-20-97 OSTEINME changed procedure to populate |
5410 | created credit memo lines with |
5411 | amount_includes_tax_flag copied from |
5412 | invoice line |
5413 |
5414 | |
5415 | 10-JAN-99 Saloni Shah added warehouse_id for global tax |
5416 | engine changes. |
5417 | 08-Apr-03 Veena Rao Bug 2859668. Added field trans- |
5418 | lated_description. |
5419 | 26-Dec-03 Surendra Rajan Bug-3335466 Replace the zero amount |
5420 | with 1 through decode in the Quantity|
5421 | calculationugh decode in the Quantity|
5422 | 17-Feb-04 Surendra Rajan Bug-3449586 commented the amount |
5423 | checking to correct the rounding |
5424 | errors.Ref. bug-3409173 |
5425 | 13-JUN-05 Jon Beckett R12 eTax uptake - included ship to |
5426 | columns and tax classification code |
5427 | 16-AUG-05 Jon Beckett R12 eTax uptake - added p_tax_amount |
5428 | to set mode for line_det_factors |
5429 | 04-Jan-06 Surendra Rajan Bug 3658284 : Added the code to impl-|
5430 | -ement the line level rounding logic.|
5431 +===========================================================================*/
5432 PROCEDURE insert_line_f_cm_ct_ctl_id(
5433 p_customer_trx_id IN ra_customer_trx.customer_trx_id%type,
5434 p_customer_trx_line_id IN ra_customer_trx_lines.customer_trx_line_id%type,
5435 p_prev_customer_trx_id IN ra_customer_trx.customer_trx_id%type,
5436 p_line_type IN ra_customer_trx_lines.line_type%type,
5437 p_line_percent IN number,
5438 p_uncredited_amount IN ra_customer_trx_lines.extended_amount%type,
5439 p_credit_amount IN ra_customer_trx_lines.extended_amount%type,
5440 p_currency_code IN fnd_currencies.currency_code%type,
5441 p_tax_amount IN ra_customer_trx_lines.extended_amount%type)
5442 IS
5443 l_rows_inserted number;
5444 --{BUG#3339072
5445 l_trx_line_array ctlrec;
5446 l_ctl_key_list gl_ca_utility_pkg.r_key_value_arr := gl_ca_utility_pkg.r_key_value_arr();
5447 i NUMBER;
5448 --}
5449 l_mode VARCHAR2(30);
5450 /* Bug-3658284 */
5451 l_amt_run_total Number ;
5452 l_amt_prev_run_total Number ;
5453 l_rev_run_total Number ;
5454 l_rev_prev_run_total Number ;
5455 /* Bug Number 6790882 */
5456 l_total_tax_prorate ra_customer_trx_lines.extended_amount%type := 0;
5457 l_tax_amount ra_customer_trx_lines.extended_amount%type;
5458
5459
5460 BEGIN
5461
5462 IF PG_DEBUG in ('Y', 'C') THEN
5463 arp_util.debug( 'arp_ctl_pkg.insert_line_f_cm_ct_ctl_id()+');
5464 -- MVKOLLA - Bug7113653 Added following debug messages
5465 arp_util.debug('-- Added below messages for bug7113653');
5466 arp_util.debug('p_customer_trx_id '||p_customer_trx_id);
5467 arp_util.debug('p_customer_trx_line_id '||p_customer_trx_line_id);
5468 arp_util.debug('p_prev_customer_trx_id '||p_prev_customer_trx_id);
5469 arp_util.debug('p_line_type '||p_line_type);
5470 arp_util.debug('p_line_percent '||p_line_percent);
5471 arp_util.debug('p_uncredited_amount '||p_uncredited_amount);
5472 arp_util.debug('p_credit_amount '||p_credit_amount);
5473 arp_util.debug('p_currency_code '||p_currency_code);
5474 arp_util.debug('p_tax_amount '||p_tax_amount);
5475 END IF;
5476
5477 --{BUG#3339072
5478 SELECT ra_customer_trx_lines_s.nextval,
5479 p_customer_trx_id,
5480 pg_user_id, /* created_by */
5481 sysdate, /* creation_date */
5482 pg_user_id, /* last_updated_by */
5483 sysdate, /* last_update_date */
5484 nvl(pg_conc_login_id,
5485 pg_login_id), /* last_update_login */
5486 inv_ctl.line_number,
5487 decode(nra.line_type,
5488 'CB', 'LINE',
5489 nra.line_type), /* line_type */
5490 inv_ctl.set_of_books_id,
5491 inv_ctl.accounting_rule_id,
5492 decode(inv_ctl.accounting_rule_id,
5493 NULL, decode(inv_ctl.line_type,
5494 'TAX', 'Y',
5495 'FREIGHT', 'Y',
5496 ''),
5497 'N'), /* autorule_complete_flag */
5498 decode(inv_ctl.line_type,
5499 'TAX', '',
5500 'FREIGHT', '',
5501 decode(cm_ct.credit_method_for_rules,
5502 'UNIT', inv_ctl.accounting_rule_duration,
5503 '')), /* accounting_rule_duration */
5504 inv_ctl.description,
5505 inv_ctl.initial_customer_trx_line_id,
5506 inv_ctl.inventory_item_id,
5507 inv_ctl.item_exception_rate_id,
5508 inv_ctl.memo_line_id,
5509 cm_ct.reason_code,
5510 inv_ctl.customer_trx_id,
5511 inv_ctl.customer_trx_line_id,
5512 cm_ctl.customer_trx_line_id,
5513 inv_ctl.unit_standard_price,
5514 inv_ctl.unit_selling_price,
5515 inv_ctl.gross_unit_selling_price, -- Bug 7389126 KALYAN
5516 inv_ctl.gross_extended_amount, -- 6882394
5517 inv_ctl.extended_amount, -- 6882394 (original)
5518 inv_ctl.revenue_amount, -- 6882394 (original)
5519 decode(inv_ctl.line_type,
5520 'TAX', '',
5521 'FREIGHT', '',
5522 /* Bug3658284 arpcurr.CurrRound( */
5523 /* Bug-3335466 - Replace the zero amount with 1 */
5524 ( decode(nra.net_amount,0,1,nra.net_amount) /
5525 decode(p_uncredited_amount,
5526 0, 1,
5527 p_uncredited_amount
5528 ) *
5529 /* Bug 852633: revert changes for bug 583790 */
5530 decode(p_credit_amount, 0, decode(nvl(p_line_percent, 0), 0, 0, -1), p_credit_amount)
5531 )
5532 /* Bug3658284 , p_currency_code) */
5533 * inv_ctl.quantity_invoiced /
5534 decode(inv_ctl.extended_amount, 0, 1,
5535 inv_ctl.extended_amount) *
5536 decode(inv_ctl.line_type,
5537 'CHARGES', '',
5538 1
5539 )
5540 ), /* quantity */
5541 inv_ctl.quantity_invoiced, -- Bug 6990227
5542 /* Bug3658284 arpcurr.CurrRound( */
5543 ( nra.net_amount /
5544 decode(p_uncredited_amount,
5545 0, 1,
5546 p_uncredited_amount
5547 ) *
5548 /* Bug 852633: revert changes for bug 583790 */
5549 decode(p_credit_amount, 0, decode(nvl(p_line_percent, 0), 0, 0, -1),
5550 p_credit_amount)
5551 )
5552 /* Bug3658284 , p_currency_code) */
5553 , /* extended_amount */
5554 decode(inv_ctl.line_type,
5555 'TAX', '',
5556 'FREIGHT', '',
5557 /* Bug3658284 arpcurr.CurrRound( */
5558 ( nra.net_amount /
5559 decode(p_uncredited_amount,
5560 0, 1,
5561 p_uncredited_amount
5562 ) *
5563 /* Bug 852633: revert changes for bug 583790 */
5564 decode(p_credit_amount, 0, decode(nvl(p_line_percent, 0), 0, 0, -1), p_credit_amount)
5565 ) *
5566 ( nvl(inv_ctl.revenue_amount,
5567 inv_ctl.extended_amount) /
5568 decode(inv_ctl.extended_amount,
5569 0, 1,
5570 inv_ctl.extended_amount)
5571 )
5572 /* Bug3658284 , p_currency_code) */
5573 * decode(inv_ctl.line_type,
5574 'CHARGES', '',
5575 1)
5576 ), /* revenue_amount */
5577 decode(inv_ctl.line_type,
5578 'TAX', '',
5579 'FREIGHT', '',
5580 inv_ctl.sales_order),
5581 decode(inv_ctl.line_type,
5582 'TAX', null,
5583 'FREIGHT', null,
5584 inv_ctl.sales_order_date),
5585 decode(inv_ctl.line_type,
5586 'TAX', '',
5587 'FREIGHT', '',
5588 inv_ctl.sales_order_line),
5589 decode(inv_ctl.line_type,
5590 'TAX', '',
5591 'FREIGHT', '',
5592 inv_ctl.sales_order_revision),
5593 decode(inv_ctl.line_type,
5594 'TAX', '',
5595 'FREIGHT', '',
5596 inv_ctl.sales_order_source),
5597 inv_ctl.tax_exemption_id,
5598 inv_ctl.tax_precedence,
5599 inv_ctl.tax_rate,
5600 inv_ctl.uom_code,
5601 cm_ct.default_ussgl_transaction_code,
5602 cm_ct.default_ussgl_trx_code_context,
5603 inv_ctl.sales_tax_id,
5604 inv_ctl.location_segment_id,
5605 inv_ctl.vat_tax_id,
5606 inv_ctl.amount_includes_tax_flag,
5607 inv_ctl.warehouse_id,
5608 --Fix for bug 1161592
5609 cm_ctl.extended_amount /* Taxable_amount */
5610 , inv_ctl.translated_description
5611 ,cm_ct.org_id /* SSA changes anuj */
5612 /* R12 eTax uptake - ship to and tax columns needed */
5613 ,inv_ctl.ship_to_customer_id
5614 ,inv_ctl.ship_to_address_id
5615 ,inv_ctl.ship_to_site_use_id
5616 ,inv_ctl.ship_to_contact_id
5617 ,inv_ctl.tax_classification_code
5618 /* NULL=Y N=not historical, calc tax */
5619 /* N - New CM line is created */
5620 ,NVL(inv_ctl.historical_flag,'N')
5621 ,inv_ctl_memo.line_type
5622 BULK COLLECT INTO
5623 l_trx_line_array.customer_trx_line_id,
5624 l_trx_line_array.customer_trx_id,
5625 l_trx_line_array.created_by,
5626 l_trx_line_array.creation_date,
5627 l_trx_line_array.last_updated_by,
5628 l_trx_line_array.last_update_date,
5629 l_trx_line_array.last_update_login,
5630 l_trx_line_array.line_number,
5631 l_trx_line_array.line_type,
5632 l_trx_line_array.set_of_books_id,
5633 l_trx_line_array.accounting_rule_id,
5634 l_trx_line_array.autorule_complete_flag,
5635 l_trx_line_array.last_period_to_credit,
5636 l_trx_line_array.description,
5637 l_trx_line_array.initial_customer_trx_line_id,
5638 l_trx_line_array.inventory_item_id,
5639 l_trx_line_array.item_exception_rate_id,
5640 l_trx_line_array.memo_line_id,
5641 l_trx_line_array.reason_code,
5642 l_trx_line_array.previous_customer_trx_id,
5643 l_trx_line_array.previous_customer_trx_line_id,
5644 l_trx_line_array.link_to_cust_trx_line_id,
5645 l_trx_line_array.unit_standard_price,
5646 l_trx_line_array.unit_selling_price,
5647 l_trx_line_array.gross_unit_selling_price, -- Bug 7389126 KALYAN
5648 l_trx_line_array.gross_extended_amount, -- 6882394
5649 l_trx_line_array.original_extended_amount, -- 6882394
5650 l_trx_line_array.original_revenue_amount, -- 6882394
5651 l_trx_line_array.quantity_credited,
5652 l_trx_line_array.quantity_invoiced, -- Bug 6990227.
5653 l_trx_line_array.extended_amount,
5654 l_trx_line_array.revenue_amount,
5655 l_trx_line_array.sales_order,
5656 l_trx_line_array.sales_order_date,
5657 l_trx_line_array.sales_order_line,
5658 l_trx_line_array.sales_order_revision,
5659 l_trx_line_array.sales_order_source,
5660 l_trx_line_array.tax_exemption_id,
5661 l_trx_line_array.tax_precedence,
5662 l_trx_line_array.tax_rate,
5663 l_trx_line_array.uom_code,
5664 l_trx_line_array.default_ussgl_transaction_code,
5665 l_trx_line_array.default_ussgl_trx_code_context,
5666 l_trx_line_array.sales_tax_id,
5667 l_trx_line_array.location_segment_id,
5668 l_trx_line_array.vat_tax_id,
5669 l_trx_line_array.amount_includes_tax_flag,
5670 l_trx_line_array.warehouse_id,
5671 l_trx_line_array.taxable_amount,
5672 l_trx_line_array.translated_description,
5673 l_trx_line_array.org_id,
5674 l_trx_line_array.ship_to_customer_id,
5675 l_trx_line_array.ship_to_address_id,
5676 l_trx_line_array.ship_to_site_use_id,
5677 l_trx_line_array.ship_to_contact_id,
5678 l_trx_line_array.tax_classification_code,
5679 l_trx_line_array.historical_flag,
5680 l_trx_line_array.memo_line_type
5681 --}
5682 FROM ra_customer_trx_lines inv_ctl,
5683 ra_customer_trx_lines cm_ctl,
5684 ra_customer_trx cm_ct,
5685 ar_net_revenue_amount nra,
5686 ar_memo_lines_b inv_ctl_memo
5687 WHERE cm_ct.customer_trx_id = p_customer_trx_id
5688 AND inv_ctl.customer_trx_id = cm_ct.previous_customer_trx_id
5689 AND nra.customer_trx_id = p_prev_customer_trx_id
5690 AND nra.customer_trx_line_id = inv_ctl.customer_trx_line_id
5691 AND nra.line_type = inv_ctl.line_type
5692 AND p_customer_trx_id = cm_ctl.customer_trx_id(+)
5693 AND nvl(p_customer_trx_line_id,
5694 -99) = decode(p_customer_trx_line_id,
5695 null, -99,
5696 cm_ctl.customer_trx_line_id)
5697 AND inv_ctl.link_to_cust_trx_line_id =
5698 cm_ctl.previous_customer_trx_line_id(+)
5699 AND decode(nra.line_type, 'CB', 'LINE',
5700 'CHARGES', 'LINE',
5701 nra.line_type) = p_line_type
5702 AND inv_ctl.memo_line_id = inv_ctl_memo.memo_line_id (+);
5703
5704
5705 l_rows_inserted := l_trx_line_array.customer_trx_line_id.COUNT;
5706
5707 /* Bug-3658284 -Start */
5708 IF (l_trx_line_array.customer_trx_line_id.COUNT = 0) Then
5709 IF PG_DEBUG in ('Y', 'C') THEN
5710 arp_util.debug( 'arp_ctl_pkg.insert_line_f_cm_ct_ctl_id : '||' 0 row Fetch ');
5711 END IF;
5712
5713 ELSE /*-- Bug 5098922 ---*/
5714
5715 FOR i IN l_trx_line_array.customer_trx_line_id.FIRST ..
5716 l_trx_line_array.customer_trx_line_id.LAST
5717 LOOP
5718
5719 /*-------------------------------------------------------------------------+
5720 | Maintain running total amounts for Revenue amounts and accounted amounts|
5721 +-------------------------------------------------------------------------*/
5722 l_amt_run_total := Nvl(l_amt_run_total,0)
5723 + l_trx_line_array.extended_amount(i);
5724
5725 /*-------------------------------------------------------------------------------+
5726 | Adjusting the rounding amount in the next line amount - revenue for cm line |
5727 | Eg. Line 1 -> 10 * 10/100 = 1 (rounded amount) |
5728 | Line 2 -> 20 * 10/100 = 2 (rounded amount) |
5729 | -> 2 - Line 1 (rounded amount) -> 2 - 1 -> 1 |
5730 | Line ... |
5731 +-------------------------------------------------------------------------------+ */
5732 l_trx_line_array.extended_amount(i) := arpcurr.CurrRound(l_amt_run_total
5733 ,p_currency_code) -Nvl(l_amt_prev_run_total,0);
5734 /*------------------------------------------------------------------------------+
5735 | Running total for previous line amount - Revenue in currency |
5736 +------------------------------------------------------------------------------*/
5737 l_amt_prev_run_total := Nvl(l_amt_prev_run_total,0)
5738 + l_trx_line_array.extended_amount(i);
5739
5740 If l_trx_line_array.line_type(i) = 'LINE' then
5741
5742 l_rev_run_total := Nvl(l_rev_run_total,0)
5743 + l_trx_line_array.revenue_amount(i);
5744 l_trx_line_array.revenue_amount(i) := arpcurr.CurrRound(l_rev_run_total
5745 ,p_currency_code) -Nvl(l_rev_prev_run_total,0);
5746 l_rev_prev_run_total := Nvl(l_rev_prev_run_total,0)
5747 + l_trx_line_array.revenue_amount(i);
5748
5749 /* 6882394 - Handle inclusive tax if it exists and if tax is
5750 being credited at this time. */
5751 IF l_trx_line_array.gross_extended_amount(i) IS NOT NULL AND
5752 p_tax_amount IS NOT NULL
5753 THEN
5754 IF PG_DEBUG = 'Y'
5755 THEN
5756 arp_util.debug('Inclusive tax, adjusting extended/revenue amounts');
5757 arp_util.debug('customer_trx_line_id = ' ||
5758 l_trx_line_array.customer_trx_line_id(i));
5759 arp_util.debug(' original extended_amount = ' ||
5760 l_trx_line_array.extended_amount(i));
5761 arp_util.debug(' original revenue_amount = ' ||
5762 l_trx_line_array.revenue_amount(i));
5763 END IF;
5764
5765 l_trx_line_array.extended_amount(i) :=
5766 arpcurr.currround(
5767 l_trx_line_array.gross_extended_amount(i) *
5768 (l_trx_line_array.extended_amount(i) /
5769 l_trx_line_array.original_extended_amount(i)), p_currency_code);
5770
5771 l_trx_line_array.revenue_amount(i) :=
5772 arpcurr.currround(
5773 l_trx_line_array.gross_extended_amount(i) *
5774 (l_trx_line_array.revenue_amount(i) /
5775 l_trx_line_array.original_revenue_amount(i)), p_currency_code);
5776
5777 IF PG_DEBUG = 'Y'
5778 THEN
5779 arp_util.debug(' new extended_amount = ' ||
5780 l_trx_line_array.extended_amount(i));
5781 arp_util.debug(' new revenue_amount = ' ||
5782 l_trx_line_array.revenue_amount(i));
5783 END IF;
5784
5785 END IF;
5786
5787 /*-----------------------------------------------------------------------------------+
5788 | Bug 6990227 : For 100% Credit Allocation, Invoice Quantity is copied to CM Quantity
5789 +------------------------------------------------------------------------------------*/
5790 If p_line_percent = 100 then
5791 l_trx_line_array.quantity_credited(i) :=(-1) *
5792 l_trx_line_array.quantity_invoiced(i);
5793 Else
5794 /*---------------------------------------------------------------+
5795 | Quantity_credited * Unit price is equal to extended_amount |
5796 +---------------------------------------------------------------*/
5797 If Nvl(l_trx_line_array.unit_Selling_price(i),0) <> 0 then
5798 -- Bug 7389126 KALYAN
5799 If Nvl(l_trx_line_array.gross_unit_Selling_price(i),0) <> 0 then
5800 l_trx_line_array.quantity_credited(i) := l_trx_line_array.extended_amount(i) /
5801 l_trx_line_array.gross_unit_Selling_price(i);
5802 Else
5803 l_trx_line_array.quantity_credited(i) := l_trx_line_array.extended_amount(i) /
5804 l_trx_line_array.unit_Selling_price(i);
5805 End If;
5806 End If;
5807 End if;
5808 End if;
5809 End Loop;
5810
5811 END IF; /* -- Bug 5098922 ---*/
5812 /* Bug-3658284 - End */
5813 -- MVKOLLA - Added following debug messages as part of bug7113653
5814 IF PG_DEBUG in ('Y', 'C') THEN
5815 i := l_trx_line_array.customer_trx_line_id.FIRST;
5816 WHILE l_trx_line_array.customer_trx_line_id.EXISTS(i) LOOP
5817 arp_util.debug('l_trx_line_array.customer_trx_line_id(i) '||l_trx_line_array.customer_trx_line_id(i));
5818 arp_util.debug('l_trx_line_array.previous_customer_trx_line_id(i) '||l_trx_line_array.previous_customer_trx_line_id(i));
5819 arp_util.debug('l_trx_line_array.extended_amount(i) '||l_trx_line_array.extended_amount(i));
5820 arp_util.debug('l_trx_line_array.revenue_amount(i) '||l_trx_line_array.revenue_amount(i));
5821 i := l_trx_line_array.customer_trx_line_id.NEXT(i);
5822 END LOOP;
5823 END IF;
5824
5825 --{BUG#3339072
5826 IF l_rows_inserted <> 0 THEN
5827 FORALL indx IN l_trx_line_array.customer_trx_line_id.FIRST ..
5828 l_trx_line_array.customer_trx_line_id.LAST
5829 INSERT INTO ra_customer_trx_lines
5830 ( customer_trx_line_id,
5831 customer_trx_id,
5832 created_by,
5833 creation_date,
5834 last_updated_by,
5835 last_update_date,
5836 last_update_login,
5837 line_number,
5838 line_type,
5839 set_of_books_id,
5840 accounting_rule_id,
5841 autorule_complete_flag,
5842 last_period_to_credit,
5843 description,
5844 initial_customer_trx_line_id,
5845 inventory_item_id,
5846 item_exception_rate_id,
5847 memo_line_id,
5848 reason_code,
5849 previous_customer_trx_id,
5850 previous_customer_trx_line_id,
5851 link_to_cust_trx_line_id,
5852 unit_standard_price,
5853 unit_selling_price,
5854 gross_unit_selling_price, -- Bug 7389126 KALYAN
5855 quantity_credited,
5856 extended_amount,
5857 revenue_amount,
5858 sales_order,
5859 sales_order_date,
5860 sales_order_line,
5861 sales_order_revision,
5862 sales_order_source,
5863 tax_exemption_id,
5864 tax_precedence,
5865 tax_rate,
5866 uom_code,
5867 default_ussgl_transaction_code,
5868 default_ussgl_trx_code_context,
5869 sales_tax_id,
5870 location_segment_id,
5871 vat_tax_id,
5872 amount_includes_tax_flag,
5873 warehouse_id,
5874 taxable_amount,
5875 translated_description
5876 ,org_id
5877 ,ship_to_customer_id
5878 ,ship_to_address_id
5879 ,ship_to_site_use_id
5880 ,ship_to_contact_id
5881 ,tax_classification_code
5882 ,historical_flag
5883 ) VALUES
5884 ( l_trx_line_array.customer_trx_line_id(indx),
5885 l_trx_line_array.customer_trx_id(indx),
5886 l_trx_line_array.created_by(indx),
5887 l_trx_line_array.creation_date(indx),
5888 l_trx_line_array.last_updated_by(indx),
5889 l_trx_line_array.last_update_date(indx),
5890 l_trx_line_array.last_update_login(indx),
5891 l_trx_line_array.line_number(indx),
5892 l_trx_line_array.line_type(indx),
5893 l_trx_line_array.set_of_books_id(indx),
5894 l_trx_line_array.accounting_rule_id(indx),
5895 l_trx_line_array.autorule_complete_flag(indx),
5896 l_trx_line_array.last_period_to_credit(indx),
5897 l_trx_line_array.description(indx),
5898 l_trx_line_array.initial_customer_trx_line_id(indx),
5899 l_trx_line_array.inventory_item_id(indx),
5900 l_trx_line_array.item_exception_rate_id(indx),
5901 l_trx_line_array.memo_line_id(indx),
5902 l_trx_line_array.reason_code(indx),
5903 l_trx_line_array.previous_customer_trx_id(indx),
5904 l_trx_line_array.previous_customer_trx_line_id(indx),
5905 l_trx_line_array.link_to_cust_trx_line_id(indx),
5906 l_trx_line_array.unit_standard_price(indx),
5907 l_trx_line_array.unit_selling_price(indx),
5908 l_trx_line_array.gross_unit_selling_price(indx), -- Bug 7389126 KALYAN
5909 l_trx_line_array.quantity_credited(indx),
5910 l_trx_line_array.extended_amount(indx),
5911 l_trx_line_array.revenue_amount(indx),
5912 l_trx_line_array.sales_order(indx),
5913 l_trx_line_array.sales_order_date(indx),
5914 l_trx_line_array.sales_order_line(indx),
5915 l_trx_line_array.sales_order_revision(indx),
5916 l_trx_line_array.sales_order_source(indx),
5917 l_trx_line_array.tax_exemption_id(indx),
5918 l_trx_line_array.tax_precedence(indx),
5919 l_trx_line_array.tax_rate(indx),
5920 l_trx_line_array.uom_code(indx),
5921 l_trx_line_array.default_ussgl_transaction_code(indx),
5922 l_trx_line_array.default_ussgl_trx_code_context(indx),
5923 l_trx_line_array.sales_tax_id(indx),
5924 l_trx_line_array.location_segment_id(indx),
5925 l_trx_line_array.vat_tax_id(indx),
5926 l_trx_line_array.amount_includes_tax_flag(indx),
5927 l_trx_line_array.warehouse_id(indx),
5928 l_trx_line_array.taxable_amount(indx),
5929 l_trx_line_array.translated_description(indx),
5930 l_trx_line_array.org_id(indx),
5931 l_trx_line_array.ship_to_customer_id(indx),
5932 l_trx_line_array.ship_to_address_id(indx),
5933 l_trx_line_array.ship_to_site_use_id(indx),
5934 l_trx_line_array.ship_to_contact_id(indx),
5935 l_trx_line_array.tax_classification_code(indx),
5936 l_trx_line_array.historical_flag(indx));
5937
5938 i := l_trx_line_array.customer_trx_line_id.FIRST;
5939 WHILE l_trx_line_array.customer_trx_line_id.EXISTS(i) LOOP
5940 l_ctl_key_list.EXTEND;
5941
5942 l_ctl_key_list(i) := l_trx_line_array.customer_trx_line_id(i);
5943
5944 /* R12 eTax uptake */
5945
5946 /* 5402228 - clarified use of tax for line-only scenarios. There are
5947 two to be concerned with. They are:
5948
5949 1) inv or cm with memo_line of type TAX -
5950 INSERT_NO_TAX - LINE_INFO_TAX_ONLY
5951 2) inv or cm with no tax at all
5952 INSERT_NO_TAX_EVER - RECORD_WITH_NO_TAX
5953 */
5954
5955 IF p_line_type = 'LINE' THEN
5956 IF p_tax_amount IS NULL THEN --bug6778519
5957 IF NVL(l_trx_line_array.memo_line_type(i), 'XXX') = 'TAX'
5958 THEN
5959 l_mode := 'INSERT_NO_TAX';
5960 ELSE
5961 l_mode := 'INSERT_NO_TAX_EVER';
5962 END IF;
5963 ELSIF NVL(p_credit_amount,0) = 0 THEN
5964 l_mode := 'INSERT_NO_LINE';
5965 ELSE
5966 l_mode := 'INSERT';
5967 END IF;
5968
5969 /* Bug Number 6790882 */
5970
5971 IF PG_DEBUG in ('Y', 'C') THEN
5972 arp_util.debug( 'i = ' || i);
5973 arp_util.debug( 'l_rows_inserted = ' || l_rows_inserted);
5974 arp_util.debug( 'l_mode = ' || l_mode);
5975 END IF;
5976
5977 IF l_mode = 'INSERT_NO_LINE' THEN
5978 IF i = l_rows_inserted THEN
5979 l_tax_amount := p_tax_amount - l_total_tax_prorate;
5980 ELSE
5981 l_tax_amount := calculate_prorated_tax_amount(
5982 p_mode => l_mode,
5983 p_tax_amount => p_tax_amount,
5984 p_customer_trx_id => p_customer_trx_id,
5985 p_customer_trx_line_id =>
5986 l_trx_line_array.customer_trx_line_id(i));
5987
5988 l_total_tax_prorate := l_total_tax_prorate + l_tax_amount;
5989 END IF;
5990 ELSE
5991 l_tax_amount := p_tax_amount;
5992 END IF;
5993
5994 IF PG_DEBUG in ('Y', 'C') THEN
5995 arp_util.debug( 'l_total_tax_prorate = ' || l_total_tax_prorate);
5996 arp_util.debug( 'l_tax_amount = ' || l_tax_amount);
5997 END IF;
5998
5999 ARP_ETAX_SERVICES_PKG.line_det_factors(
6000 p_customer_trx_line_id => l_trx_line_array.customer_trx_line_id(i),
6001 p_customer_trx_id => p_customer_trx_id,
6002 p_mode => l_mode,
6003 p_tax_amount => l_tax_amount) ;
6004 END IF;
6005
6006 i := l_trx_line_array.customer_trx_line_id.NEXT(i);
6007 END LOOP;
6008
6009 END IF;
6010 --}
6011
6012
6013 IF PG_DEBUG in ('Y', 'C') THEN
6014 arp_util.debug( 'arp_ctl_pkg.insert_line_f_cm_ct_ctl_id : '||
6015 to_char(l_rows_inserted)||' rows inserted');
6016 END IF;
6017
6018 /* Bug 3658284 - Remove the entire rounding update statement */
6019
6020 IF PG_DEBUG in ('Y', 'C') THEN
6021 arp_util.debug( 'arp_ctl_pkg.insert_line_f_cm_ct_ctl_id()-');
6022 END IF;
6023
6024 EXCEPTION
6025 WHEN NO_DATA_FOUND THEN
6026 return;
6027 WHEN OTHERS THEN
6028 IF PG_DEBUG in ('Y', 'C') THEN
6029 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.insert_line_f_cm_ct_ctl_id');
6030 arp_util.debug( '');
6031 arp_util.debug( 'p_customer_trx_id = '||p_customer_trx_id);
6032 arp_util.debug( 'p_customer_trx_line_id = '||p_customer_trx_line_id);
6033 arp_util.debug( 'p_prev_customer_trx_id = '||p_prev_customer_trx_id);
6034 arp_util.debug( 'p_line_type = '||p_line_type);
6035 arp_util.debug( 'p_uncredited_amount = '||p_uncredited_amount);
6036 arp_util.debug( 'p_credit_amount = '||p_credit_amount);
6037 arp_util.debug( 'p_currency_code = '||p_currency_code);
6038 END IF;
6039 RAISE;
6040
6041 END;
6042
6043
6044 /*===========================================================================+
6045 | FUNCTION |
6046 | update_line_f_cm_ctl_id |
6047 | |
6048 | DESCRIPTION |
6049 | This procedure updates credit memo lines for the specified line type |
6050 | |
6051 | SCOPE - PUBLIC |
6052 | |
6053 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
6054 | arp_util.debug |
6055 | |
6056 | ARGUMENTS : IN: |
6057 | None |
6058 | OUT: |
6059 | None |
6060 | |
6061 | RETURNS : NONE |
6062 | |
6063 | NOTES |
6064 | |
6065 | MODIFICATION HISTORY |
6066 | 29-AUG-95 Subash Chadalavada Created |
6067 | |
6068 +===========================================================================*/
6069 PROCEDURE update_line_f_cm_ctl_id(
6070 p_customer_trx_id IN ra_customer_trx.customer_trx_id%type,
6071 p_customer_trx_line_id IN ra_customer_trx_lines.customer_trx_line_id%type,
6072 p_prev_customer_trx_id IN ra_customer_trx.customer_trx_id%type,
6073 p_line_type IN ra_customer_trx_lines.line_type%type,
6074 p_uncredited_amount IN ra_customer_trx_lines.extended_amount%type,
6075 p_credit_amount IN ra_customer_trx_lines.extended_amount%type,
6076 p_currency_code IN fnd_currencies.currency_code%type)
6077 IS
6078 l_rows_updated number;
6079 --{BUG#3339072
6080 l_ctl_key_list gl_ca_utility_pkg.r_key_value_arr;
6081 --}
6082 BEGIN
6083
6084 IF PG_DEBUG in ('Y', 'C') THEN
6085 arp_util.debug( 'arp_ctl_pkg.update_line_f_cm_ctl_id()+');
6086 END IF;
6087
6088 UPDATE ra_customer_trx_lines ctl
6089 SET extended_amount =
6090 (SELECT ( (nra.net_amount -
6091 decode(cm_ct.complete_flag,
6092 'Y', nvl(ctl.extended_amount, 0),
6093 0)) /
6094 decode(p_uncredited_amount,
6095 0, 1,
6096 p_uncredited_amount
6097 ) * nvl(p_credit_amount, 0)
6098 ) /* extended_amount */
6099 FROM ar_net_revenue_amount nra,
6100 ra_customer_trx cm_ct
6101 WHERE nra.customer_trx_id = p_prev_customer_trx_id
6102 AND nra.customer_trx_line_id =
6103 ctl.previous_customer_trx_line_id
6104 AND cm_ct.customer_trx_id = p_customer_trx_id)
6105 WHERE ctl.customer_trx_id = p_customer_trx_id
6106 AND ctl.link_to_cust_trx_line_id = p_customer_trx_line_id
6107 AND ctl.line_type = p_line_type
6108 --{BUG#3339072 HYU test test test
6109 RETURNING customer_trx_line_id
6110 BULK COLLECT INTO l_ctl_key_list;
6111 --}
6112
6113 IF PG_DEBUG in ('Y', 'C') THEN
6114 arp_util.debug( 'arp_ctl_pkg.update_line_f_cm_ctl_id : '||
6115 'Extended Amount :'|| SQL%ROWCOUNT||' rows updated');
6116 END IF;
6117
6118 UPDATE ra_customer_trx_lines ctl
6119 SET extended_amount = arpcurr.CurrRound (extended_amount,
6120 p_currency_code)
6121 WHERE ctl.customer_trx_id = p_customer_trx_id
6122 AND ctl.link_to_cust_trx_line_id = p_customer_trx_line_id
6123 AND ctl.line_type = p_line_type
6124 --{BUG#3339072 HYU test test test
6125 RETURNING customer_trx_line_id
6126 BULK COLLECT INTO l_ctl_key_list;
6127 --}
6128
6129 IF PG_DEBUG in ('Y', 'C') THEN
6130 arp_util.debug( 'arp_ctl_pkg.update_line_f_cm_ctl_id : '||
6131 'Currency Rounding :'|| SQL%ROWCOUNT||' rows updated');
6132 END IF;
6133
6134 /*----------------------------+
6135 | correct rounding errors |
6136 +----------------------------*/
6137
6138 IF (SQL%ROWCOUNT > 0)
6139 THEN
6140 UPDATE ra_customer_trx_lines l
6141 SET extended_amount =
6142 (SELECT l.extended_amount +
6143 (p_credit_amount - sum(l2.extended_amount))
6144 FROM ra_customer_trx_lines l2
6145 WHERE l2.customer_trx_id = l.customer_trx_id
6146 AND l2.link_to_cust_trx_line_id = p_customer_trx_line_id
6147 AND l2.line_type = p_line_type)
6148 WHERE l.customer_trx_id = p_customer_trx_id
6149 AND l.line_type = p_line_type
6150 AND l.customer_trx_line_id =
6151 (SELECT min(customer_trx_line_id)
6152 FROM ra_customer_trx_lines l3
6153 WHERE l3.customer_trx_id = p_customer_trx_id
6154 AND l3.link_to_cust_trx_line_id = p_customer_trx_line_id
6155 AND l3.line_type = p_line_type
6156 AND l3.extended_amount <> 0
6157 HAVING SUM(l3.extended_amount) <> p_credit_amount)
6158 --{BUG#3339072 HYU test test test
6159 RETURNING customer_trx_line_id
6160 BULK COLLECT INTO l_ctl_key_list;
6161 --}
6162
6163
6164 END IF;
6165
6166 IF PG_DEBUG in ('Y', 'C') THEN
6167 arp_util.debug( 'arp_ctl_pkg.update_line_f_cm_ctl_id()-');
6168 END IF;
6169
6170 EXCEPTION
6171 WHEN NO_DATA_FOUND THEN
6172 return;
6173 WHEN OTHERS THEN
6174 IF PG_DEBUG in ('Y', 'C') THEN
6175 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.update_line_f_cm_ctl_id');
6176 arp_util.debug( '');
6177 arp_util.debug( 'p_customer_trx_id = '||p_customer_trx_id);
6178 arp_util.debug( 'p_customer_trx_line_id = '||p_customer_trx_line_id);
6179 arp_util.debug( 'p_prev_customer_trx_id = '||p_prev_customer_trx_id);
6180 arp_util.debug( 'p_line_type = '||p_line_type);
6181 arp_util.debug( 'p_uncredited_amount = '||p_uncredited_amount);
6182 arp_util.debug( 'p_credit_amount = '||p_credit_amount);
6183 arp_util.debug( 'p_currency_code = '||p_currency_code);
6184 END IF;
6185 RAISE;
6186
6187 END;
6188
6189
6190 /*===========================================================================+
6191 | FUNCTION |
6192 | get_text_dummy |
6193 | |
6194 | DESCRIPTION |
6195 | This function returns the value of the AR_TEXT_DUMMY constant. |
6196 | |
6197 | SCOPE - PUBLIC |
6198 | |
6199 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
6200 | arp_util.debug |
6201 | |
6202 | ARGUMENTS : IN: |
6203 | None |
6204 | OUT: |
6205 | None |
6206 | |
6207 | RETURNS : value of AR_TEXT_DUMMY |
6208 | |
6209 | NOTES |
6210 | |
6211 | MODIFICATION HISTORY |
6212 | 09-AUG-95 Martin Johnson Created |
6213 | |
6214 +===========================================================================*/
6215
6216 FUNCTION get_text_dummy(p_null IN NUMBER DEFAULT null) RETURN varchar2 IS
6217
6218 BEGIN
6219
6220 --- arp_util.debug('arp_ctl_pkg.get_text_dummy()+');
6221
6222 --- arp_util.debug('arp_ctl_pkg.get_text_dummy()-');
6223
6224 return(AR_TEXT_DUMMY);
6225
6226 EXCEPTION
6227 WHEN OTHERS THEN
6228 IF PG_DEBUG in ('Y', 'C') THEN
6229 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.get_text_dummy()');
6230 END IF;
6231 RAISE;
6232
6233 END;
6234
6235 /*===========================================================================+
6236 | FUNCTION |
6237 | get_number_dummy |
6238 | |
6239 | DESCRIPTION |
6240 | This function returns the value of the AR_NUMBER DUMMY constant. |
6241 | |
6242 | SCOPE - PUBLIC |
6243 | |
6244 | EXETERNAL PROCEDURES/FUNCTIONS ACCESSED |
6245 | arp_util.debug |
6246 | |
6247 | ARGUMENTS : IN: |
6248 | None |
6249 | OUT: |
6250 | None |
6251 | |
6252 | RETURNS : value of AR_NUMBER_DUMMY |
6253 | |
6254 | NOTES |
6255 | |
6256 | MODIFICATION HISTORY |
6257 | 09-AUG-95 Martin Johnson Created |
6258 | |
6259 +===========================================================================*/
6260
6261 FUNCTION get_number_dummy(p_null IN NUMBER DEFAULT null) RETURN number IS
6262
6263 BEGIN
6264
6265 --- arp_util.debug('arp_ctl_pkg.get_number_dummy()+');
6266
6267 --- arp_util.debug('arp_ctl_pkg.get_number_dummy()-');
6268
6269 return(AR_NUMBER_DUMMY);
6270
6271 EXCEPTION
6272 WHEN OTHERS THEN
6273 IF PG_DEBUG in ('Y', 'C') THEN
6274 arp_util.debug( 'EXCEPTION: arp_ctl_pkg.get_number_dummy()');
6275 END IF;
6276 RAISE;
6277
6278 END;
6279
6280 /*---------------------------------------------+
6281 | Package initialization section. |
6282 | Sets WHO column variables for later use. |
6283 +---------------------------------------------*/
6284
6285 BEGIN
6286
6287 pg_user_id := fnd_global.user_id;
6288 pg_conc_login_id := fnd_global.conc_login_id;
6289 pg_login_id := fnd_global.login_id;
6290 pg_prog_appl_id := fnd_global.prog_appl_id;
6291 pg_conc_program_id := fnd_global.conc_program_id;
6292
6293
6294 END ARP_CTL_PKG;