DBA Data[Home] [Help]

PACKAGE BODY: APPS.AR_LOCVS_PKG

Source


4 -- MOAC
1 PACKAGE BODY AR_LOCVS_PKG AS
2 /* $Header: ARLOCVSB.pls 120.5 2005/10/07 11:11:48 mparihar ship $ */
3 
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,
17   X_LOCATION_SEGMENT_VALUE 	in VARCHAR2,
14   X_LOCATION_VALUE_ACCOUNT_ID 	in NUMBER,
15   X_LOCATION_STRUCTURE_ID 	in NUMBER,
16   X_LOCATION_SEGMENT_QUALIFIER 	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;
142   unedisc_ccid_tab             num_tab;
139   interim_tax_ccid_tab         num_tab;
140   adj_ccid_tab                 num_tab;
141   edisc_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
321    org_id_tab.delete;
318     arp_util_tax.debug(' After inserting into AR_LOCATION_ACCOUNTS ');
319   END IF;
320 
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;
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;
416            program_application_id_tab(i)   :=
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,
443                                    finchrg_non_rec_tax_ccid,
440                                    adj_non_rec_tax_ccid,
441                                    edisc_non_rec_tax_ccid,
442                                    unedisc_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,
537     X_LAST_UPDATED_BY 			in NUMBER,
538     X_LAST_UPDATE_LOGIN 		in NUMBER,
539     X_REQUEST_ID 			in NUMBER,
540     X_PROGRAM_APPLICATION_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 
592        TAX_ACCOUNT_CCID,
589 cursor c1  is select
590       LOCATION_VALUE_ACCOUNT_ID,
591        LOCATION_SEGMENT_ID,
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 )
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)))
666         AND ((recinfo.ATTRIBUTE10  = X_ATTRIBUTE10 )
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)))
708            OR ((acctinfo.EDISC_CCID is null) AND (X_EDISC_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)
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,
764   X_EDISC_CCID 			in NUMBER,
765   X_UNEDISC_CCID 		in NUMBER,
766   X_FINCHRG_CCID 		in NUMBER,
767   X_ADJ_NON_REC_TAX_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;