1 PACKAGE BODY AR_LOCVS_PKG AS
2 /* $Header: ARLOCVSB.pls 120.5 2005/10/07 11:11:48 mparihar ship $ */
3
4 -- MOAC
5 -- X_ORG_ID is added as new parameter
6 -- when called from Store Online x_org_id is null.
7 -- Refer to bug 1791904.
8 -- At the moment, x_org_id parameter is not added in
9 -- AR_LOCATION_VALUE_V_PKG due to the dependency.
10 --
11 PROCEDURE INSERT_ROW (
12 X_ROWID in out NOCOPY VARCHAR2,
13 X_LOCATION_SEGMENT_ID in NUMBER,
14 X_LOCATION_VALUE_ACCOUNT_ID in NUMBER,
15 X_LOCATION_STRUCTURE_ID in NUMBER,
16 X_LOCATION_SEGMENT_QUALIFIER in VARCHAR2,
17 X_LOCATION_SEGMENT_VALUE in VARCHAR2,
18 X_LOCATION_SEGMENT_DESCRIPTION in VARCHAR2,
19 X_LOCATION_SEGMENT_USER_VALUE in VARCHAR2,
20 X_PARENT_SEGMENT_ID in NUMBER,
21 X_TAX_ACCOUNT_CCID in NUMBER,
22 X_INTERIM_TAX_CCID in NUMBER,
23 X_ADJ_CCID in NUMBER,
24 X_EDISC_CCID in NUMBER,
25 X_UNEDISC_CCID in NUMBER,
26 X_FINCHRG_CCID in NUMBER,
27 X_ADJ_NON_REC_TAX_CCID in NUMBER,
28 X_EDISC_NON_REC_TAX_CCID in NUMBER,
29 X_UNEDISC_NON_REC_TAX_CCID in NUMBER,
30 X_FINCHRG_NON_REC_TAX_CCID in NUMBER,
31 X_ATTRIBUTE_CATEGORY in VARCHAR2,
32 X_ATTRIBUTE1 in VARCHAR2,
33 X_ATTRIBUTE2 in VARCHAR2,
34 X_ATTRIBUTE3 in VARCHAR2,
35 X_ATTRIBUTE4 in VARCHAR2,
36 X_ATTRIBUTE5 in VARCHAR2,
37 X_ATTRIBUTE6 in VARCHAR2,
38 X_ATTRIBUTE7 in VARCHAR2,
39 X_ATTRIBUTE8 in VARCHAR2,
40 X_ATTRIBUTE9 in VARCHAR2,
41 X_ATTRIBUTE10 in VARCHAR2,
42 X_ATTRIBUTE11 in VARCHAR2,
43 X_ATTRIBUTE12 in VARCHAR2,
44 X_ATTRIBUTE13 in VARCHAR2,
45 X_ATTRIBUTE14 in VARCHAR2,
46 X_ATTRIBUTE15 in VARCHAR2,
47 X_CREATION_DATE in DATE,
48 X_CREATED_BY in NUMBER,
49 X_LAST_UPDATE_DATE in DATE,
50 X_LAST_UPDATED_BY in NUMBER,
51 X_LAST_UPDATE_LOGIN in NUMBER,
52 X_REQUEST_ID in NUMBER,
53 X_PROGRAM_APPLICATION_ID in NUMBER,
54 X_PROGRAM_ID in NUMBER,
55 X_PROGRAM_UPDATE_DATE in DATE,
56 X_ORG_ID in NUMBER
57 ) is
58
59 cursor C is select ROWID from AR_LOCATION_VALUES_OLD
60 where LOCATION_SEGMENT_ID = X_LOCATION_SEGMENT_ID;
61
62 /*-------------------------------------------------------------------------+
63 | PRIVATE CURSOR |
64 | ar_location_tax_account_c |
65 | |
66 | DESCRIPTION |
67 | Return the tax account id from ar_vat_tax where tax type is LOCATION |
68 | This cursor selects from multi-org table AR_VAT_TAX_ALL using C_ORG_ID |
69 +-------------------------------------------------------------------------*/
70
71 CURSOR ar_location_tax_account_c (c_org_id in number) IS
72 select
73 tax_account_id,
74 INTERIM_TAX_CCID,
75 ADJ_CCID,
76 EDISC_CCID,
77 UNEDISC_CCID,
78 FINCHRG_CCID,
79 ADJ_NON_REC_TAX_CCID,
80 EDISC_NON_REC_TAX_CCID,
81 UNEDISC_NON_REC_TAX_CCID,
82 FINCHRG_NON_REC_TAX_CCID
83 from ar_vat_tax_all vat
84 where tax_type='LOCATION'
85 and org_id = c_org_id
86 and trunc(sysdate) between start_date and nvl(end_date, trunc(sysdate));
87
88
89 /*-------------------------------------------------------------------------+
90 | PRIVATE CURSOR |
91 | ar_location_accounts_s_c |
92 | |
93 | DESCRIPTION |
94 | Return the next value from the sequence AR_LOCATION_ACCOUNTS_S |
95 | RETURNS |
96 | Sequence ID + large constant used for debugging |
97 +-------------------------------------------------------------------------*/
98 CURSOR ar_location_accounts_s_c IS
99 select ar_location_accounts_s.nextval + arp_standard.sequence_offset
100 from dual;
101
102 /*------------------------------------------------------------------------+
103 | PRIVATE CURSOR |
104 | organization_id_c |
105 | |
106 | DESCRIPTION |
107 | Used to select distinct ORG_ID from AR_SYSTEM_PARAMETERS_ALL |
108 | to create one record per ORG_ID for a new location_id in |
109 | AR_LOCATION_ACCOUNTS_ALL |
110 | RETURNS |
111 | Returns distinct ORG_ID from AR_SYSTEM_PARAMETERS_ALL |
112 +-------------------------------------------------------------------------*/
113
114 CURSOR organization_id_c is
115 select nvl(org_id, -99), location_structure_id
116 from ar_system_parameters_all
117 where nvl(org_id, -99) not in (-3113, -3114)
118 and set_of_books_id <> -1;
119
120 l_location_value_account_id number;
121 location_tax_account number;
122 l_INTERIM_TAX_CCID NUMBER;
123 l_ADJ_CCID NUMBER;
124 l_EDISC_CCID NUMBER;
125 l_UNEDISC_CCID NUMBER;
126 l_FINCHRG_CCID NUMBER;
127 l_ADJ_NON_REC_TAX_CCID NUMBER;
128 l_EDISC_NON_REC_TAX_CCID NUMBER;
129 l_UNEDISC_NON_REC_TAX_CCID NUMBER;
130 l_FINCHRG_NON_REC_TAX_CCID NUMBER;
131
132 type num_tab is table of number index by binary_integer;
133 type date_tab is table of date index by binary_integer;
134 org_id_tab num_tab;
135 loc_structure_id_tab num_tab;
136 location_account_id_tab num_tab;
137 location_segment_id_tab num_tab;
138 tax_account_ccid_tab num_tab;
139 interim_tax_ccid_tab num_tab;
140 adj_ccid_tab num_tab;
141 edisc_ccid_tab num_tab;
142 unedisc_ccid_tab num_tab;
143 finchrg_ccid_tab num_tab;
144 adj_non_rec_tax_ccid_tab num_tab;
145 edisc_non_rec_tax_ccid_tab num_tab;
146 unedisc_non_rec_tax_ccid_tab num_tab;
147 finchrg_non_rec_tax_ccid_tab num_tab;
148 created_by_tab num_tab;
149 creation_date_tab date_tab;
150 last_updated_by_tab num_tab;
151 last_update_date_tab date_tab;
152 request_id_tab num_tab;
153 program_application_id_tab num_tab;
154 program_id_tab num_tab;
155 program_update_date_tab date_tab;
156 last_update_login_tab num_tab;
157 organization_id_tab num_tab;
158 -- MOAC: X_ORG_ID is passed from UI.
159 -- X_ORG_ID NUMBER;
160
161 PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
162 begin
163
164 IF PG_DEBUG = 'Y' THEN
165 arp_util_tax.debug(' AR_LOCVS_PKG.insert_row(+) ');
166 arp_util_tax.debug(' Before inserting into AR_LOCATION_VALUES_OLD ');
167 END IF;
168
169 -- MOAC
170 -- need to select org_id
171 -- if x_org_id is null
172 -- which is the case where the ar_locvs_pkg is called from
173 -- store online.
174
175 -- MOAC
176 -- org_id is added
177 insert into AR_LOCATION_VALUES_OLD (
178 LOCATION_SEGMENT_ID,
179 LOCATION_STRUCTURE_ID,
180 LOCATION_SEGMENT_QUALIFIER,
181 LOCATION_SEGMENT_VALUE,
182 LOCATION_SEGMENT_DESCRIPTION,
183 LOCATION_SEGMENT_USER_VALUE,
184 PARENT_SEGMENT_ID,
185 ATTRIBUTE_CATEGORY,
186 ATTRIBUTE1,
187 ATTRIBUTE2,
188 ATTRIBUTE3,
189 ATTRIBUTE4,
190 ATTRIBUTE5,
191 ATTRIBUTE6,
192 ATTRIBUTE7,
193 ATTRIBUTE8,
194 ATTRIBUTE9,
195 ATTRIBUTE10,
196 ATTRIBUTE11,
197 ATTRIBUTE12,
198 ATTRIBUTE13,
199 ATTRIBUTE14,
200 ATTRIBUTE15,
201 CREATION_DATE,
202 CREATED_BY,
203 LAST_UPDATE_DATE,
204 LAST_UPDATED_BY,
205 LAST_UPDATE_LOGIN,
206 REQUEST_ID,
207 PROGRAM_APPLICATION_ID,
208 PROGRAM_ID,
209 PROGRAM_UPDATE_DATE,
210 ORG_ID
211 ) values (
212 X_LOCATION_SEGMENT_ID,
213 X_LOCATION_STRUCTURE_ID,
214 X_LOCATION_SEGMENT_QUALIFIER,
215 X_LOCATION_SEGMENT_VALUE,
216 X_LOCATION_SEGMENT_DESCRIPTION,
217 X_LOCATION_SEGMENT_USER_VALUE,
218 X_PARENT_SEGMENT_ID,
219 X_ATTRIBUTE_CATEGORY,
220 X_ATTRIBUTE1,
221 X_ATTRIBUTE2,
222 X_ATTRIBUTE3,
223 X_ATTRIBUTE4,
224 X_ATTRIBUTE5,
225 X_ATTRIBUTE6,
226 X_ATTRIBUTE7,
227 X_ATTRIBUTE8,
228 X_ATTRIBUTE9,
229 X_ATTRIBUTE10,
230 X_ATTRIBUTE11,
231 X_ATTRIBUTE12,
232 X_ATTRIBUTE13,
233 X_ATTRIBUTE14,
234 X_ATTRIBUTE15,
235 X_CREATION_DATE,
236 X_CREATED_BY,
237 X_LAST_UPDATE_DATE,
238 X_LAST_UPDATED_BY,
239 X_LAST_UPDATE_LOGIN,
240 X_REQUEST_ID,
241 X_PROGRAM_APPLICATION_ID,
242 X_PROGRAM_ID,
243 X_PROGRAM_UPDATE_DATE,
244 X_ORG_ID
245 );
246 IF PG_DEBUG = 'Y' THEN
247 arp_util_tax.debug(' After inserting into AR_LOCATION_VALUES_OLD ');
248 END IF;
249
250 /* MOAC
251 Commented out as X_ORG_ID is passed from UI as part of the parameter.
252 select NVL (TO_NUMBER (DECODE (SUBSTRB (USERENV ('CLIENT_INFO'),1,1), ' ',NULL,
253 SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)
254 into X_ORG_ID
255 from dual;
256 */
257
258 /* +----------------------------------------------------------------------------------
259 Insert in AR_LOCATION_ACCOUNTS only if the TAX_ACCOUNT_CCID is not null
260 we could have the segment qualifier without TAX_ACCOUNT in which case no
261 records should be inserted in to this table though we will have to insert
262 into AR_LOCATION_VALUES_OLD
263 +-----------------------------------------------------------------------------------*/
264
265
266 if X_TAX_ACCOUNT_CCID is not null then
267 IF PG_DEBUG = 'Y' THEN
268 arp_util_tax.debug(' Before inserting into AR_LOCATION_ACCOUNTS ');
269 END IF;
270 insert into AR_LOCATION_ACCOUNTS_ALL (
271 LOCATION_VALUE_ACCOUNT_ID,
272 LOCATION_SEGMENT_ID,
273 TAX_ACCOUNT_CCID,
274 INTERIM_TAX_CCID,
275 ADJ_CCID,
276 EDISC_CCID,
277 UNEDISC_CCID,
278 FINCHRG_CCID,
279 ADJ_NON_REC_TAX_CCID,
280 EDISC_NON_REC_TAX_CCID,
281 UNEDISC_NON_REC_TAX_CCID,
282 FINCHRG_NON_REC_TAX_CCID,
283 CREATION_DATE,
284 CREATED_BY,
285 LAST_UPDATE_DATE,
286 LAST_UPDATED_BY,
287 LAST_UPDATE_LOGIN,
288 REQUEST_ID,
289 PROGRAM_APPLICATION_ID,
290 PROGRAM_ID,
291 PROGRAM_UPDATE_DATE,
292 ORG_ID
293 )values
294 (
295 X_LOCATION_VALUE_ACCOUNT_ID,
296 X_LOCATION_SEGMENT_ID,
297 X_TAX_ACCOUNT_CCID,
298 X_INTERIM_TAX_CCID,
299 X_ADJ_CCID,
300 X_EDISC_CCID,
301 X_UNEDISC_CCID,
302 X_FINCHRG_CCID,
303 X_ADJ_NON_REC_TAX_CCID,
304 X_EDISC_NON_REC_TAX_CCID,
305 X_UNEDISC_NON_REC_TAX_CCID,
306 X_FINCHRG_NON_REC_TAX_CCID,
307 X_CREATION_DATE,
308 X_CREATED_BY,
309 X_LAST_UPDATE_DATE,
310 X_LAST_UPDATED_BY,
311 X_LAST_UPDATE_LOGIN,
312 X_REQUEST_ID,
313 X_PROGRAM_APPLICATION_ID,
314 X_PROGRAM_ID,
315 X_PROGRAM_UPDATE_DATE,
316 X_ORG_ID);
317 IF PG_DEBUG = 'Y' THEN
318 arp_util_tax.debug(' After inserting into AR_LOCATION_ACCOUNTS ');
319 END IF;
320
321 org_id_tab.delete;
322 loc_structure_id_tab.delete;
323 location_account_id_tab.delete;
324 location_segment_id_tab.delete;
325 tax_account_ccid_tab.delete;
326 interim_tax_ccid_tab.delete;
327 adj_ccid_tab.delete;
328 edisc_ccid_tab.delete;
329 unedisc_ccid_tab.delete;
330 finchrg_ccid_tab.delete;
331 adj_non_rec_tax_ccid_tab.delete;
332 edisc_non_rec_tax_ccid_tab.delete;
333 unedisc_non_rec_tax_ccid_tab.delete;
334 finchrg_non_rec_tax_ccid_tab.delete;
335 created_by_tab.delete;
336 creation_date_tab.delete;
337 last_updated_by_tab.delete;
338 last_update_date_tab.delete;
339 request_id_tab.delete;
340 program_application_id_tab.delete;
341 program_id_tab.delete;
342 program_update_date_tab.delete;
343 last_update_login_tab.delete;
344 organization_id_tab.delete;
345
346
347 open organization_id_c ;
348 fetch organization_id_c bulk collect into
349 org_id_tab, loc_structure_id_tab;
350 close organization_id_c ;
351
352 /*-------------------------------------------------------------------------+
353 | We insert new records in AR_LOCATION_ACCOUNTS_ALL table |
354 | One record is created for each ORG_ID |
355 | so that Accounting information in this table is Organization |
356 | independent and so that location structure can be shared across |
357 | Organizations. |
358 +-------------------------------------------------------------------------*/
359
360
361 -- Insert records into ar_location_accounts_all
362 for I in 1..org_id_tab.last loop
363
364 location_tax_account := NULL;
365 l_INTERIM_TAX_CCID := NULL;
366 l_ADJ_CCID := NULL;
367 l_EDISC_CCID := NULL;
368 l_UNEDISC_CCID := NULL;
369 l_FINCHRG_CCID := NULL;
370 l_ADJ_NON_REC_TAX_CCID := NULL;
371 l_EDISC_NON_REC_TAX_CCID := NULL;
372 l_UNEDISC_NON_REC_TAX_CCID := NULL;
373 l_FINCHRG_NON_REC_TAX_CCID := NULL;
374
375 OPEN ar_location_tax_account_c(org_id_tab(I));
376 FETCH ar_location_tax_account_c into
377 location_tax_account,
378 l_INTERIM_TAX_CCID,
379 l_ADJ_CCID,
380 l_EDISC_CCID,
381 l_UNEDISC_CCID,
382 l_FINCHRG_CCID,
383 l_ADJ_NON_REC_TAX_CCID,
384 l_EDISC_NON_REC_TAX_CCID,
385 l_UNEDISC_NON_REC_TAX_CCID,
386 l_FINCHRG_NON_REC_TAX_CCID;
387 if ar_location_tax_account_c%NOTFOUND
388 then
389 location_tax_account:=arp_standard.sysparm.location_tax_account;
390 end if;
391 CLOSE ar_location_tax_account_c;
392
393
394 OPEN ar_location_accounts_s_c;
395 FETCH ar_location_accounts_s_c into
396 l_location_value_account_id;
397 CLOSE ar_location_accounts_s_c;
398
399 location_account_id_tab(i) := l_location_value_account_id;
400 location_segment_id_tab(i) := x_location_segment_id;
401 tax_account_ccid_tab(i) := location_tax_account;
402 interim_tax_ccid_tab(i) := l_INTERIM_TAX_CCID;
403 adj_ccid_tab(i) := l_ADJ_CCID;
404 edisc_ccid_tab(i) := l_EDISC_CCID;
405 unedisc_ccid_tab(i) := l_UNEDISC_CCID;
406 finchrg_ccid_tab(i) := l_FINCHRG_CCID;
407 adj_non_rec_tax_ccid_tab(i) := l_ADJ_NON_REC_TAX_CCID;
408 edisc_non_rec_tax_ccid_tab(i) := l_EDISC_NON_REC_TAX_CCID;
409 unedisc_non_rec_tax_ccid_tab(i) := l_UNEDISC_NON_REC_TAX_CCID;
410 finchrg_non_rec_tax_ccid_tab(i) := l_FINCHRG_NON_REC_TAX_CCID;
411 created_by_tab(i) := arp_standard.profile.user_id;
412 creation_date_tab(i) := sysdate;
416 program_application_id_tab(i) :=
413 last_updated_by_tab(i) := arp_standard.profile.user_id;
414 last_update_date_tab(i) := sysdate;
415 request_id_tab(i) := arp_standard.PROFILE.request_id;
417 arp_standard.PROFILE.program_application_id;
418 program_id_tab(i) := arp_standard.PROFILE.program_id;
419 program_update_date_tab(i) := sysdate;
420 last_update_login_tab(i) := arp_standard.PROFILE.last_update_login;
421 organization_id_tab(i) := org_id_tab(I);
422 end loop;
423
424 for I in 1.. organization_id_tab.last loop
425
426 if organization_id_tab(i) <> X_ORG_ID then
427
428 IF PG_DEBUG = 'Y' THEN
429 arp_util_tax.debug('Before inserting into AR_LOCATION_ACCOUNTS ('||to_char(organization_id_tab(i))||')' );
430 END IF;
431 insert into ar_location_accounts_all
432 ( location_value_account_id,
433 location_segment_id,
434 tax_account_ccid,
435 interim_tax_ccid,
436 adj_ccid,
437 edisc_ccid,
438 unedisc_ccid,
439 finchrg_ccid,
440 adj_non_rec_tax_ccid,
441 edisc_non_rec_tax_ccid,
442 unedisc_non_rec_tax_ccid,
443 finchrg_non_rec_tax_ccid,
444 created_by,
445 creation_date,
446 last_updated_by,
447 last_update_date,
448 request_id,
449 program_application_id,
450 program_id,
451 program_update_date,
452 last_update_login,
453 org_id)
454 VALUES
455 ( location_account_id_tab(i),
456 location_segment_id_tab(i),
457 tax_account_ccid_tab(i),
458 interim_tax_ccid_tab(i),
459 adj_ccid_tab(i),
460 edisc_ccid_tab(i),
461 unedisc_ccid_tab(i),
462 finchrg_ccid_tab(i),
463 adj_non_rec_tax_ccid_tab(i),
464 edisc_non_rec_tax_ccid_tab(i),
465 unedisc_non_rec_tax_ccid_tab(i),
466 finchrg_non_rec_tax_ccid_tab(i),
467 created_by_tab(i),
468 creation_date_tab(i),
469 last_updated_by_tab(i),
470 last_update_date_tab(i),
471 request_id_tab(i),
472 program_application_id_tab(i),
473 program_id_tab(i),
474 program_update_date_tab(i),
475 last_update_login_tab(i),
476 organization_id_tab(i) );
477 IF PG_DEBUG = 'Y' THEN
478 arp_util_tax.debug('After inserting into AR_LOCATION_ACCOUNTS ');
479 END IF;
480 end if;
481 end loop;
482 end if;
483
484 open c;
485 fetch c into X_ROWID;
486 if (c%notfound) then
487 close c;
488 raise no_data_found;
489 end if;
490 close c;
491
492 IF PG_DEBUG = 'Y' THEN
493 arp_util_tax.debug(' AR_LOCVS_PKG.insert_row(-) ');
494 END IF;
495
496 end INSERT_ROW;
497
498 procedure LOCK_ROW (
499 X_ROWID in out NOCOPY VARCHAR2,
500 X_LOCATION_SEGMENT_ID in NUMBER,
501 X_LOCATION_VALUE_ACCOUNT_ID in NUMBER,
502 X_LOCATION_STRUCTURE_ID in NUMBER,
503 X_LOCATION_SEGMENT_QUALIFIER in VARCHAR2,
504 X_LOCATION_SEGMENT_VALUE in VARCHAR2,
505 X_LOCATION_SEGMENT_DESCRIPTION in VARCHAR2,
506 X_LOCATION_SEGMENT_USER_VALUE in VARCHAR2,
507 X_PARENT_SEGMENT_ID in NUMBER,
508 X_TAX_ACCOUNT_CCID in NUMBER,
509 X_INTERIM_TAX_CCID in NUMBER,
510 X_ADJ_CCID in NUMBER,
511 X_EDISC_CCID in NUMBER,
512 X_UNEDISC_CCID in NUMBER,
513 X_FINCHRG_CCID in NUMBER,
514 X_ADJ_NON_REC_TAX_CCID in NUMBER,
515 X_EDISC_NON_REC_TAX_CCID in NUMBER,
516 X_UNEDISC_NON_REC_TAX_CCID in NUMBER,
517 X_FINCHRG_NON_REC_TAX_CCID in NUMBER,
518 X_ATTRIBUTE_CATEGORY in VARCHAR2,
519 X_ATTRIBUTE1 in VARCHAR2,
520 X_ATTRIBUTE2 in VARCHAR2,
521 X_ATTRIBUTE3 in VARCHAR2,
522 X_ATTRIBUTE4 in VARCHAR2,
523 X_ATTRIBUTE5 in VARCHAR2,
524 X_ATTRIBUTE6 in VARCHAR2,
525 X_ATTRIBUTE7 in VARCHAR2,
526 X_ATTRIBUTE8 in VARCHAR2,
527 X_ATTRIBUTE9 in VARCHAR2,
528 X_ATTRIBUTE10 in VARCHAR2,
529 X_ATTRIBUTE11 in VARCHAR2,
530 X_ATTRIBUTE12 in VARCHAR2,
531 X_ATTRIBUTE13 in VARCHAR2,
532 X_ATTRIBUTE14 in VARCHAR2,
533 X_ATTRIBUTE15 in VARCHAR2,
534 X_CREATION_DATE in DATE,
535 X_CREATED_BY in NUMBER,
536 X_LAST_UPDATE_DATE in DATE,
540 X_PROGRAM_APPLICATION_ID in NUMBER,
537 X_LAST_UPDATED_BY in NUMBER,
538 X_LAST_UPDATE_LOGIN in NUMBER,
539 X_REQUEST_ID in NUMBER,
541 X_PROGRAM_ID in NUMBER,
542 X_PROGRAM_UPDATE_DATE in DATE
543 ) is
544 cursor c is select
545 LOCATION_SEGMENT_ID,
546 LOCATION_STRUCTURE_ID,
547 LOCATION_SEGMENT_QUALIFIER,
548 LOCATION_SEGMENT_VALUE,
549 LOCATION_SEGMENT_DESCRIPTION,
550 LOCATION_SEGMENT_USER_VALUE,
551 PARENT_SEGMENT_ID,
552 ATTRIBUTE_CATEGORY,
553 ATTRIBUTE1,
554 ATTRIBUTE2,
555 ATTRIBUTE3,
556 ATTRIBUTE4,
557 ATTRIBUTE5,
558 ATTRIBUTE6,
559 ATTRIBUTE7,
560 ATTRIBUTE8,
561 ATTRIBUTE9,
562 ATTRIBUTE10,
563 ATTRIBUTE11,
564 ATTRIBUTE12,
565 ATTRIBUTE13,
566 ATTRIBUTE14,
567 ATTRIBUTE15,
568 CREATION_DATE,
569 CREATED_BY,
570 LAST_UPDATE_DATE,
571 LAST_UPDATED_BY,
572 LAST_UPDATE_LOGIN,
573 REQUEST_ID,
574 PROGRAM_APPLICATION_ID,
575 PROGRAM_ID,
576 PROGRAM_UPDATE_DATE
577 FROM AR_LOCATION_VALUES_OLD
578 WHERE LOCATION_SEGMENT_ID = X_LOCATION_SEGMENT_ID
579 -- MOAC
580 -- LOCATION_SEGMENT_ID is a unique key. No need for client info.
581 -- AND NVL(ORG_ID,NVL(TO_NUMBER(DECODE( SUBSTRB(USERENV('CLIENT_INFO'),1,1),' ',
582 -- NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)) =
583 -- NVL(TO_NUMBER(DECODE( SUBSTRB(USERENV('CLIENT_INFO'),1,1),' ',
584 -- NULL, SUBSTRB(USERENV('CLIENT_INFO'),1,10))),-99)
585 FOR UPDATE OF LOCATION_SEGMENT_ID NOWAIT;
586
587 recinfo c%rowtype;
588
589 cursor c1 is select
590 LOCATION_VALUE_ACCOUNT_ID,
591 LOCATION_SEGMENT_ID,
592 TAX_ACCOUNT_CCID,
593 INTERIM_TAX_CCID,
594 ADJ_CCID,
595 EDISC_CCID,
596 UNEDISC_CCID,
597 FINCHRG_CCID,
598 ADJ_NON_REC_TAX_CCID,
599 EDISC_NON_REC_TAX_CCID,
600 UNEDISC_NON_REC_TAX_CCID,
601 FINCHRG_NON_REC_TAX_CCID,
602 CREATION_DATE,
603 CREATED_BY,
604 LAST_UPDATE_DATE,
605 LAST_UPDATED_BY,
606 LAST_UPDATE_LOGIN,
607 REQUEST_ID,
608 PROGRAM_APPLICATION_ID,
609 PROGRAM_ID,
610 PROGRAM_UPDATE_DATE
611 FROM AR_LOCATION_ACCOUNTS
612 WHERE LOCATION_VALUE_ACCOUNT_ID = X_LOCATION_VALUE_ACCOUNT_ID
613 FOR UPDATE OF LOCATION_VALUE_ACCOUNT_ID NOWAIT;
614
615 acctinfo c1%rowtype;
616 PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
617 begin
618 IF PG_DEBUG = 'Y' THEN
619 arp_util_tax.debug(' AR_LOCVS_PKG.lock_row(+) ');
620 END IF;
621 open c;
622 fetch c into recinfo;
623 if (c%notfound) then
624 close c;
625 IF PG_DEBUG = 'Y' THEN
626 arp_util_tax.debug(' No record found for AR_LOCATION_VALUES_OLD ');
627 END IF;
628 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
629 app_exception.raise_exception;
630 end if;
631 close c;
632
633 if ( (recinfo.LOCATION_SEGMENT_ID = X_LOCATION_SEGMENT_ID)
634 AND ((recinfo.LOCATION_STRUCTURE_ID = X_LOCATION_STRUCTURE_ID )
635 OR ((recinfo.LOCATION_STRUCTURE_ID is null) AND (X_LOCATION_STRUCTURE_ID is null)))
636 AND ((recinfo.LOCATION_SEGMENT_QUALIFIER = X_LOCATION_SEGMENT_QUALIFIER )
637 OR ((recinfo.LOCATION_SEGMENT_QUALIFIER is null) AND (X_LOCATION_SEGMENT_QUALIFIER is null)))
638 AND ((recinfo.LOCATION_SEGMENT_VALUE = X_LOCATION_SEGMENT_VALUE )
639 OR ((recinfo.LOCATION_SEGMENT_VALUE is null) AND (X_LOCATION_SEGMENT_VALUE is null)))
640 AND ((recinfo.LOCATION_SEGMENT_DESCRIPTION = X_LOCATION_SEGMENT_DESCRIPTION )
641 OR ((recinfo.LOCATION_SEGMENT_DESCRIPTION is null) AND (X_LOCATION_SEGMENT_DESCRIPTION is null)))
642 AND ((recinfo.LOCATION_SEGMENT_USER_VALUE = X_LOCATION_SEGMENT_USER_VALUE )
643 OR ((recinfo.LOCATION_SEGMENT_USER_VALUE is null) AND (X_LOCATION_SEGMENT_USER_VALUE is null)))
644 AND ((recinfo.PARENT_SEGMENT_ID = X_PARENT_SEGMENT_ID )
645 OR ((recinfo.PARENT_SEGMENT_ID is null) AND (X_PARENT_SEGMENT_ID is null)))
646 AND ((recinfo.ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY )
647 OR ((recinfo.ATTRIBUTE_CATEGORY is null) AND (X_ATTRIBUTE_CATEGORY is null)))
648 AND ((recinfo.ATTRIBUTE1 = X_ATTRIBUTE1 )
649 OR ((recinfo.ATTRIBUTE1 is null) AND (X_ATTRIBUTE1 is null)))
650 AND ((recinfo.ATTRIBUTE2 = X_ATTRIBUTE2 )
651 OR ((recinfo.ATTRIBUTE2 is null) AND (X_ATTRIBUTE2 is null)))
652 AND ((recinfo.ATTRIBUTE3 = X_ATTRIBUTE3 )
653 OR ((recinfo.ATTRIBUTE3 is null) AND (X_ATTRIBUTE3 is null)))
654 AND ((recinfo.ATTRIBUTE4 = X_ATTRIBUTE4 )
655 OR ((recinfo.ATTRIBUTE4 is null) AND (X_ATTRIBUTE4 is null)))
656 AND ((recinfo.ATTRIBUTE5 = X_ATTRIBUTE5 )
657 OR ((recinfo.ATTRIBUTE5 is null) AND (X_ATTRIBUTE5 is null)))
658 AND ((recinfo.ATTRIBUTE6 = X_ATTRIBUTE6 )
659 OR ((recinfo.ATTRIBUTE6 is null) AND (X_ATTRIBUTE6 is null)))
660 AND ((recinfo.ATTRIBUTE7 = X_ATTRIBUTE7 )
661 OR ((recinfo.ATTRIBUTE7 is null) AND (X_ATTRIBUTE7 is null)))
662 AND ((recinfo.ATTRIBUTE8 = X_ATTRIBUTE8 )
666 AND ((recinfo.ATTRIBUTE10 = X_ATTRIBUTE10 )
663 OR ((recinfo.ATTRIBUTE8 is null) AND (X_ATTRIBUTE8 is null)))
664 AND ((recinfo.ATTRIBUTE9 = X_ATTRIBUTE9 )
665 OR ((recinfo.ATTRIBUTE9 is null) AND (X_ATTRIBUTE9 is null)))
667 OR ((recinfo.ATTRIBUTE10 is null) AND (X_ATTRIBUTE10 is null)))
668 AND ((recinfo.ATTRIBUTE11 = X_ATTRIBUTE11 )
669 OR ((recinfo.ATTRIBUTE11 is null) AND (X_ATTRIBUTE11 is null)))
670 AND ((recinfo.ATTRIBUTE12 = X_ATTRIBUTE12 )
671 OR ((recinfo.ATTRIBUTE12 is null) AND (X_ATTRIBUTE12 is null)))
672 AND ((recinfo.ATTRIBUTE13 = X_ATTRIBUTE13 )
673 OR ((recinfo.ATTRIBUTE13 is null) AND (X_ATTRIBUTE13 is null)))
674 AND ((recinfo.ATTRIBUTE14 = X_ATTRIBUTE14 )
675 OR ((recinfo.ATTRIBUTE14 is null) AND (X_ATTRIBUTE14 is null)))
676 AND ((recinfo.ATTRIBUTE15 = X_ATTRIBUTE15 )
677 OR ((recinfo.ATTRIBUTE15 is null) AND (X_ATTRIBUTE15 is null)))
678 ) then
679 null;
680 else
681 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
682 app_exception.raise_exception;
683 end if;
684
685 open c1;
686 fetch c1 into acctinfo;
687 if (c1%notfound) then
688 close c1;
689 -- fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
690 -- Bugfix 1712826: Do not raise exception, because there will be a row
691 -- in AR_LOCATION_ACCOUNTS only for one out of State/County/CITY
692 -- app_exception.raise_exception;
693 IF PG_DEBUG = 'Y' THEN
694 arp_util_tax.debug(' No record found for AR_LOCATION_ACCOUNTS ');
695 END IF;
696 else
697 close c1;
698 if ( (acctinfo.LOCATION_VALUE_ACCOUNT_ID = X_LOCATION_VALUE_ACCOUNT_ID)
699 AND ((acctinfo.LOCATION_SEGMENT_ID = X_LOCATION_SEGMENT_ID )
700 OR ((acctinfo.LOCATION_SEGMENT_ID is null) AND (X_LOCATION_SEGMENT_ID is null)))
701 AND ((acctinfo.TAX_ACCOUNT_CCID = X_TAX_ACCOUNT_CCID )
702 OR ((acctinfo.TAX_ACCOUNT_CCID is null) AND (X_TAX_ACCOUNT_CCID is null)))
703 AND ((acctinfo.INTERIM_TAX_CCID = X_INTERIM_TAX_CCID )
704 OR ((acctinfo.INTERIM_TAX_CCID is null) AND (X_INTERIM_TAX_CCID is null)))
705 AND ((acctinfo.ADJ_CCID = X_ADJ_CCID )
706 OR ((acctinfo.ADJ_CCID is null) AND (X_ADJ_CCID is null)))
707 AND ((acctinfo.EDISC_CCID = X_EDISC_CCID)
708 OR ((acctinfo.EDISC_CCID is null) AND (X_EDISC_CCID is null)))
709 AND ((acctinfo.UNEDISC_CCID = X_UNEDISC_CCID)
710 OR ((acctinfo.UNEDISC_CCID is null) AND (X_UNEDISC_CCID is null)))
711 AND ((acctinfo.FINCHRG_CCID = X_FINCHRG_CCID)
712 OR ((acctinfo.FINCHRG_CCID is null) AND (X_FINCHRG_CCID is null)))
713 AND ((acctinfo.ADJ_NON_REC_TAX_CCID = X_ADJ_NON_REC_TAX_CCID)
714 OR ((acctinfo.ADJ_NON_REC_TAX_CCID is null) AND (X_ADJ_NON_REC_TAX_CCID is null)))
715 AND ((acctinfo.EDISC_NON_REC_TAX_CCID = X_EDISC_NON_REC_TAX_CCID)
716 OR ((acctinfo.EDISC_NON_REC_TAX_CCID is null) AND (X_EDISC_NON_REC_TAX_CCID is null)))
717 AND ((acctinfo.FINCHRG_NON_REC_TAX_CCID = X_FINCHRG_NON_REC_TAX_CCID)
718 OR ((acctinfo.FINCHRG_NON_REC_TAX_CCID is null) AND (X_FINCHRG_NON_REC_TAX_CCID is null)))
719 AND ((acctinfo.CREATION_DATE = X_CREATION_DATE )
720 OR ((acctinfo.CREATION_DATE is null) AND (X_CREATION_DATE is null)))
721 AND ((acctinfo.CREATED_BY = X_CREATED_BY )
722 OR ((acctinfo.CREATED_BY is null) AND (X_CREATED_BY is null)))
723 AND ((acctinfo.LAST_UPDATE_DATE = X_LAST_UPDATE_DATE )
724 OR ((acctinfo.LAST_UPDATE_DATE is null) AND (X_LAST_UPDATE_DATE is null)))
725 AND ((acctinfo.LAST_UPDATED_BY = X_LAST_UPDATED_BY )
726 OR ((acctinfo.LAST_UPDATED_BY is null) AND (X_LAST_UPDATED_BY is null)))
727 AND ((acctinfo.LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN )
728 OR ((acctinfo.LAST_UPDATE_LOGIN is null) AND (X_LAST_UPDATE_LOGIN is null)))
729 AND ((acctinfo.REQUEST_ID = X_REQUEST_ID )
730 OR ((acctinfo.REQUEST_ID is null) AND (X_REQUEST_ID is null)))
731 AND ((acctinfo.PROGRAM_APPLICATION_ID = X_PROGRAM_APPLICATION_ID )
732 OR ((acctinfo.PROGRAM_APPLICATION_ID is null) AND (X_PROGRAM_APPLICATION_ID is null)))
733 AND ((acctinfo.PROGRAM_ID = X_PROGRAM_ID )
734 OR ((acctinfo.PROGRAM_ID is null) AND (X_PROGRAM_ID is null)))
735 AND ((acctinfo.PROGRAM_UPDATE_DATE = X_PROGRAM_UPDATE_DATE )
736 OR ((acctinfo.PROGRAM_UPDATE_DATE is null) AND (X_PROGRAM_UPDATE_DATE is null)))
737
738 ) then
739 null;
740 else
741 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
742 app_exception.raise_exception;
743 end if;
744 end if; -- c1%notfound
745
746 IF PG_DEBUG = 'Y' THEN
747 arp_util_tax.debug(' AR_LOCVS_PKG.lock_row(-) ');
748 END IF;
749 return;
750 end LOCK_ROW;
751
752 procedure UPDATE_ROW (
753 X_LOCATION_SEGMENT_ID in NUMBER,
754 X_LOCATION_VALUE_ACCOUNT_ID in NUMBER,
755 X_LOCATION_STRUCTURE_ID in NUMBER,
756 X_LOCATION_SEGMENT_QUALIFIER in VARCHAR2,
757 X_LOCATION_SEGMENT_VALUE in VARCHAR2,
758 X_LOCATION_SEGMENT_DESCRIPTION in VARCHAR2,
759 X_LOCATION_SEGMENT_USER_VALUE in VARCHAR2,
760 X_PARENT_SEGMENT_ID in NUMBER,
761 X_TAX_ACCOUNT_CCID in NUMBER,
762 X_INTERIM_TAX_CCID in NUMBER,
763 X_ADJ_CCID in NUMBER,
767 X_ADJ_NON_REC_TAX_CCID in NUMBER,
764 X_EDISC_CCID in NUMBER,
765 X_UNEDISC_CCID in NUMBER,
766 X_FINCHRG_CCID in NUMBER,
768 X_EDISC_NON_REC_TAX_CCID in NUMBER,
769 X_UNEDISC_NON_REC_TAX_CCID in NUMBER,
770 X_FINCHRG_NON_REC_TAX_CCID in NUMBER,
771 X_ATTRIBUTE_CATEGORY in VARCHAR2,
772 X_ATTRIBUTE1 in VARCHAR2,
773 X_ATTRIBUTE2 in VARCHAR2,
774 X_ATTRIBUTE3 in VARCHAR2,
775 X_ATTRIBUTE4 in VARCHAR2,
776 X_ATTRIBUTE5 in VARCHAR2,
777 X_ATTRIBUTE6 in VARCHAR2,
778 X_ATTRIBUTE7 in VARCHAR2,
779 X_ATTRIBUTE8 in VARCHAR2,
780 X_ATTRIBUTE9 in VARCHAR2,
781 X_ATTRIBUTE10 in VARCHAR2,
782 X_ATTRIBUTE11 in VARCHAR2,
783 X_ATTRIBUTE12 in VARCHAR2,
784 X_ATTRIBUTE13 in VARCHAR2,
785 X_ATTRIBUTE14 in VARCHAR2,
786 X_ATTRIBUTE15 in VARCHAR2,
787 X_CREATION_DATE in DATE,
788 X_CREATED_BY in NUMBER,
789 X_LAST_UPDATE_DATE in DATE,
790 X_LAST_UPDATED_BY in NUMBER,
791 X_LAST_UPDATE_LOGIN in NUMBER,
792 X_REQUEST_ID in NUMBER,
793 X_PROGRAM_APPLICATION_ID in NUMBER,
794 X_PROGRAM_ID in NUMBER,
795 X_PROGRAM_UPDATE_DATE in DATE
796 ) is
797 PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
798 begin
799 IF PG_DEBUG = 'Y' THEN
800 arp_util_tax.debug(' AR_LOCVS_PKG.update_row(+) ');
801 END IF;
802 IF PG_DEBUG = 'Y' THEN
803 arp_util_tax.debug(' Before updating AR_LOCATION_VALUES_OLD ');
804 END IF;
805 /* -- for bug #4561754
806 update AR_LOCATION_VALUES set
807 LOCATION_SEGMENT_ID = X_LOCATION_SEGMENT_ID,
808 LOCATION_STRUCTURE_ID = X_LOCATION_STRUCTURE_ID,
809 LOCATION_SEGMENT_QUALIFIER = X_LOCATION_SEGMENT_QUALIFIER,
810 LOCATION_SEGMENT_VALUE = X_LOCATION_SEGMENT_VALUE,
811 LOCATION_SEGMENT_DESCRIPTION = X_LOCATION_SEGMENT_DESCRIPTION,
812 LOCATION_SEGMENT_USER_VALUE = X_LOCATION_SEGMENT_USER_VALUE ,
813 PARENT_SEGMENT_ID = X_PARENT_SEGMENT_ID,
814 ATTRIBUTE_CATEGORY = X_ATTRIBUTE_CATEGORY,
815 ATTRIBUTE1 = X_ATTRIBUTE1,
816 ATTRIBUTE2 = X_ATTRIBUTE2,
817 ATTRIBUTE3 = X_ATTRIBUTE3,
818 ATTRIBUTE4 = X_ATTRIBUTE4,
819 ATTRIBUTE5 = X_ATTRIBUTE5,
820 ATTRIBUTE6 = X_ATTRIBUTE6,
821 ATTRIBUTE7 = X_ATTRIBUTE7,
822 ATTRIBUTE8 = X_ATTRIBUTE8,
823 ATTRIBUTE9 = X_ATTRIBUTE9,
824 ATTRIBUTE10 = X_ATTRIBUTE10,
825 ATTRIBUTE11 = X_ATTRIBUTE11,
826 ATTRIBUTE12 = X_ATTRIBUTE12,
827 ATTRIBUTE13 = X_ATTRIBUTE13,
828 ATTRIBUTE14 = X_ATTRIBUTE14,
829 ATTRIBUTE15 = X_ATTRIBUTE15,
830 -- Should not be updating creation date, created by
831 -- CREATION_DATE = X_CREATION_DATE,
832 -- CREATED_BY = X_CREATED_BY,
833 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
834 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
835 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
836 REQUEST_ID = X_REQUEST_ID,
837 PROGRAM_APPLICATION_ID = X_PROGRAM_APPLICATION_ID,
838 PROGRAM_ID = X_PROGRAM_ID,
839 PROGRAM_UPDATE_DATE = X_PROGRAM_UPDATE_DATE
840 where LOCATION_SEGMENT_ID = X_LOCATION_SEGMENT_ID;
841 IF PG_DEBUG = 'Y' THEN
842 arp_util_tax.debug(' After updating AR_LOCATION_VALUES_OLD ');
843 END IF;
844
845 if (sql%notfound) then
846 IF PG_DEBUG = 'Y' THEN
847 arp_util_tax.debug('updating AR_LOCATION_VALUES_OLD: No Data Found !! ');
848 END IF;
849 raise no_data_found;
850 end if;
851 */
852 if X_LOCATION_VALUE_ACCOUNT_ID is not null then
853 IF PG_DEBUG = 'Y' THEN
854 arp_util_tax.debug(' Before updating AR_LOCATION_ACCOUNTS ');
855 END IF;
856 UPDATE AR_LOCATION_ACCOUNTS_ALL set
857 LOCATION_VALUE_ACCOUNT_ID = X_LOCATION_VALUE_ACCOUNT_ID,
858 LOCATION_SEGMENT_ID = X_LOCATION_SEGMENT_ID,
859 TAX_ACCOUNT_CCID = X_TAX_ACCOUNT_CCID,
860 INTERIM_TAX_CCID = X_INTERIM_TAX_CCID,
861 ADJ_CCID = X_ADJ_CCID,
862 EDISC_CCID = X_EDISC_CCID,
863 UNEDISC_CCID = X_UNEDISC_CCID,
864 FINCHRG_CCID = X_FINCHRG_CCID,
865 ADJ_NON_REC_TAX_CCID = X_ADJ_NON_REC_TAX_CCID,
866 EDISC_NON_REC_TAX_CCID = X_EDISC_NON_REC_TAX_CCID,
867 UNEDISC_NON_REC_TAX_CCID = X_UNEDISC_NON_REC_TAX_CCID,
868 FINCHRG_NON_REC_TAX_CCID = X_FINCHRG_NON_REC_TAX_CCID,
869 -- Should not be updating creation date, created by
870 -- CREATION_DATE = X_CREATION_DATE,
871 -- CREATED_BY = X_CREATED_BY,
872 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
873 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
874 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
875 REQUEST_ID = X_REQUEST_ID,
876 PROGRAM_APPLICATION_ID = X_PROGRAM_APPLICATION_ID,
877 PROGRAM_ID = X_PROGRAM_ID,
878 PROGRAM_UPDATE_DATE = X_PROGRAM_UPDATE_DATE
879 WHERE LOCATION_VALUE_ACCOUNT_ID = X_LOCATION_VALUE_ACCOUNT_ID;
880
881 IF PG_DEBUG = 'Y' THEN
882 arp_util_tax.debug(' After updating AR_LOCATION_ACCOUNTS ');
883 END IF;
884 end if;
885 /*
886 if (sql%notfound) then
887 IF PG_DEBUG = 'Y' THEN
888 arp_util_tax.debug('updating AR_LOCATION_ACCOUNTS: No Data Found!! ');
889 END IF;
890 raise no_data_found;
891 end if;
892 */
893 IF PG_DEBUG = 'Y' THEN
894 arp_util_tax.debug(' AR_LOCVS_PKG.update_row(-) ');
895 END IF;
896 end UPDATE_ROW;
897
898 procedure DELETE_ROW (
899 X_LOCATION_SEGMENT_ID in NUMBER,
900 X_LOCATION_VALUE_ACCOUNT_ID in NUMBER
901 ) is
902 PG_DEBUG varchar2(1) := NVL(FND_PROFILE.value('AFLOG_ENABLED'), 'N');
903 begin
904
905 IF PG_DEBUG = 'Y' THEN
906 arp_util_tax.debug(' AR_LOCVS_PKG.delete_row(+) ');
907 END IF;
908 if X_LOCATION_VALUE_ACCOUNT_ID is not null then
909 IF PG_DEBUG = 'Y' THEN
910 arp_util_tax.debug(' Before deleting AR_LOCATION_ACCOUNTS ');
911 END IF;
912 DELETE FROM AR_LOCATION_ACCOUNTS_ALL
913 WHERE LOCATION_SEGMENT_ID = X_LOCATION_SEGMENT_ID
914 AND LOCATION_VALUE_ACCOUNT_ID = X_LOCATION_VALUE_ACCOUNT_ID;
915 IF PG_DEBUG = 'Y' THEN
916 arp_util_tax.debug(' After deleting AR_LOCATION_ACCOUNTS ');
917 END IF;
918 end if;
919
920 if (sql%notfound) then
921 raise no_data_found;
922 end if;
923
924 if X_LOCATION_SEGMENT_ID is not null then
925 IF PG_DEBUG = 'Y' THEN
926 arp_util_tax.debug(' Before deleting AR_LOCATION_VALUES_OLD ');
927 END IF;
928 DELETE FROM AR_LOCATION_VALUES_OLD
929 WHERE LOCATION_SEGMENT_ID = X_LOCATION_SEGMENT_ID;
930 IF PG_DEBUG = 'Y' THEN
931 arp_util_tax.debug(' After deleting AR_LOCATION_VALUES_OLD ');
932 END IF;
933 end if;
934
935 if (sql%notfound) then
936 raise no_data_found;
937 end if;
938
939 IF PG_DEBUG = 'Y' THEN
940 arp_util_tax.debug(' AR_LOCVS_PKG.delete_row(-) ');
941 END IF;
942 end DELETE_ROW;
943
944 end AR_LOCVS_PKG;