DBA Data[Home] [Help]

PACKAGE BODY: APPS.ZX_PARTY_TAX_PROFILE_PKG

Source


1 package body ZX_PARTY_TAX_PROFILE_PKG as
2 /* $Header: zxcptytaxprfileb.pls 120.9 2006/10/02 18:44:36 dbetanco ship $ */
3 
4 procedure INSERT_ROW (
5   P_COLLECTING_AUTHORITY_FLAG in VARCHAR2,
6   P_PROVIDER_TYPE_CODE in VARCHAR2,
7   P_CREATE_AWT_DISTS_TYPE_CODE in VARCHAR2,
8   P_CREATE_AWT_INVOICES_TYPE_COD in VARCHAR2,
9   P_TAX_CLASSIFICATION_CODE in VARCHAR2,
10   P_SELF_ASSESS_FLAG in VARCHAR2,
11   P_ALLOW_OFFSET_TAX_FLAG in VARCHAR2,
12   P_REP_REGISTRATION_NUMBER in VARCHAR2,
13   P_EFFECTIVE_FROM_USE_LE in DATE,
14   P_RECORD_TYPE_CODE in VARCHAR2,
15   P_REQUEST_ID in NUMBER,
16   P_ATTRIBUTE1 in VARCHAR2,
17   P_ATTRIBUTE2 in VARCHAR2,
18   P_ATTRIBUTE3 in VARCHAR2,
19   P_ATTRIBUTE4 in VARCHAR2,
20   P_ATTRIBUTE5 in VARCHAR2,
21   P_ATTRIBUTE6 in VARCHAR2,
22   P_ATTRIBUTE7 in VARCHAR2,
23   P_ATTRIBUTE8 in VARCHAR2,
24   P_ATTRIBUTE9 in VARCHAR2,
25   P_ATTRIBUTE10 in VARCHAR2,
26   P_ATTRIBUTE11 in VARCHAR2,
27   P_ATTRIBUTE12 in VARCHAR2,
28   P_ATTRIBUTE13 in VARCHAR2,
29   P_ATTRIBUTE14 in VARCHAR2,
30   P_ATTRIBUTE15 in VARCHAR2,
31   P_ATTRIBUTE_CATEGORY in VARCHAR2,
32   P_PARTY_ID in NUMBER,
33   P_PROGRAM_LOGIN_ID in NUMBER,
34   P_PARTY_TYPE_CODE in VARCHAR2,
35   P_SUPPLIER_FLAG in VARCHAR2,
36   P_CUSTOMER_FLAG in VARCHAR2,
37   P_SITE_FLAG in VARCHAR2,
38   P_PROCESS_FOR_APPLICABILITY_FL in VARCHAR2,
39   P_ROUNDING_LEVEL_CODE in VARCHAR2,
40   P_ROUNDING_RULE_CODE in VARCHAR2,
41   P_WITHHOLDING_START_DATE in DATE,
42   P_INCLUSIVE_TAX_FLAG in VARCHAR2,
43   P_ALLOW_AWT_FLAG in VARCHAR2,
44   P_USE_LE_AS_SUBSCRIBER_FLAG in VARCHAR2,
45   P_LEGAL_ESTABLISHMENT_FLAG in VARCHAR2,
46   P_FIRST_PARTY_LE_FLAG in VARCHAR2,
47   P_REPORTING_AUTHORITY_FLAG in VARCHAR2,
48   X_RETURN_STATUS out NOCOPY VARCHAR2
49 ) is
50   L_PARTY_TAX_PROFILE_ID	ZX_PARTY_TAX_PROFILE.PARTY_TAX_PROFILE_ID%TYPE;
51   L_EFFECTIVE_FROM_USE_LE	ZX_PARTY_TAX_PROFILE.EFFECTIVE_FROM_USE_LE%TYPE	:= P_EFFECTIVE_FROM_USE_LE;
52   L_CREATED_BY_MODULE           HZ_PARTIES.CREATED_BY_MODULE%TYPE;
53   CURSOR ptp_cur IS SELECT PARTY_TAX_PROFILE_ID FROM ZX_PARTY_TAX_PROFILE
54   WHERE PARTY_TAX_PROFILE_ID = L_PARTY_TAX_PROFILE_ID;
55 begin
56   --Initialise x_return_status variable
57   X_RETURN_STATUS :=  FND_API.G_RET_STS_SUCCESS;
58   select ZX_PARTY_TAX_PROFILE_S.nextval into L_PARTY_TAX_PROFILE_ID from dual;
59   --Perform validations before inserting data
60   --AllowOffsetTax and SetforSelfAssessment flag would be mutually exclusive
61   BEGIN
62   -- Check created module name
63   select nvl(substr(created_by_module,1,3),'ZX') created_by_module
64     into L_CREATED_BY_MODULE
65     from hz_parties where party_id = P_PARTY_ID;
66   IF L_CREATED_BY_MODULE = 'XLE' THEN
67      return;
68   END IF;
69   EXCEPTION
70       WHEN OTHERS THEN NULL;
71   END;
72   IF P_SELF_ASSESS_FLAG = 'Y' AND P_ALLOW_OFFSET_TAX_FLAG = 'Y' THEN
73     X_RETURN_STATUS :=  FND_API.G_RET_STS_ERROR;
74     arp_util_tax.debug('Error: "Offset Tax and Set for Self Assessment can not both be "Y" at the same time." for Party Id: ' || P_PARTY_ID || ' and Party Type: ' ||P_PARTY_TYPE_CODE);
75   END IF;
76   --when UseLeAsSubscriberFlag is set to 'Y', then setEffectiveFromUseLe as System date
77   IF P_USE_LE_AS_SUBSCRIBER_FLAG = 'Y' THEN
78     L_EFFECTIVE_FROM_USE_LE := SYSDATE;
79   END IF;
80   --Insert only when there is no error
81   IF X_RETURN_STATUS =  FND_API.G_RET_STS_SUCCESS THEN
82     insert into ZX_PARTY_TAX_PROFILE (
83     COLLECTING_AUTHORITY_FLAG,
84     PROVIDER_TYPE_CODE,
85     CREATE_AWT_DISTS_TYPE_CODE,
86     CREATE_AWT_INVOICES_TYPE_CODE,
87     TAX_CLASSIFICATION_CODE,
88     SELF_ASSESS_FLAG,
89     ALLOW_OFFSET_TAX_FLAG,
90     REP_REGISTRATION_NUMBER,
91     EFFECTIVE_FROM_USE_LE,
92     RECORD_TYPE_CODE,
93     REQUEST_ID,
94     PARTY_TAX_PROFILE_ID,
95     ATTRIBUTE1,
96     ATTRIBUTE2,
97     ATTRIBUTE3,
98     ATTRIBUTE4,
99     ATTRIBUTE5,
100     ATTRIBUTE6,
101     ATTRIBUTE7,
102     ATTRIBUTE8,
103     ATTRIBUTE9,
104     ATTRIBUTE10,
105     ATTRIBUTE11,
106     ATTRIBUTE12,
107     ATTRIBUTE13,
108     ATTRIBUTE14,
109     ATTRIBUTE15,
110     ATTRIBUTE_CATEGORY,
111     PARTY_ID,
112     PROGRAM_LOGIN_ID,
113     PARTY_TYPE_CODE,
114     SUPPLIER_FLAG,
115     CUSTOMER_FLAG,
116     SITE_FLAG,
117     PROCESS_FOR_APPLICABILITY_FLAG,
118     ROUNDING_LEVEL_CODE,
119     ROUNDING_RULE_CODE,
120     WITHHOLDING_START_DATE,
121     INCLUSIVE_TAX_FLAG,
122     ALLOW_AWT_FLAG,
123     USE_LE_AS_SUBSCRIBER_FLAG,
124     LEGAL_ESTABLISHMENT_FLAG,
125     FIRST_PARTY_LE_FLAG,
126     REPORTING_AUTHORITY_FLAG,
127     CREATION_DATE,
128     CREATED_BY,
129     LAST_UPDATE_DATE,
130     LAST_UPDATED_BY,
131     LAST_UPDATE_LOGIN,
132     OBJECT_VERSION_NUMBER
133   ) values (
134     P_COLLECTING_AUTHORITY_FLAG,
135     P_PROVIDER_TYPE_CODE,
136     P_CREATE_AWT_DISTS_TYPE_CODE,
137     P_CREATE_AWT_INVOICES_TYPE_COD,
138     P_TAX_CLASSIFICATION_CODE,
139     P_SELF_ASSESS_FLAG,
140     P_ALLOW_OFFSET_TAX_FLAG,
141     DECODE(P_REP_REGISTRATION_NUMBER, fnd_api.g_miss_char,
142            NULL, P_REP_REGISTRATION_NUMBER),
143     L_EFFECTIVE_FROM_USE_LE,
144     P_RECORD_TYPE_CODE,
145     P_REQUEST_ID,
146     L_PARTY_TAX_PROFILE_ID,
147     P_ATTRIBUTE1,
148     P_ATTRIBUTE2,
149     P_ATTRIBUTE3,
150     P_ATTRIBUTE4,
151     P_ATTRIBUTE5,
152     P_ATTRIBUTE6,
153     P_ATTRIBUTE7,
154     P_ATTRIBUTE8,
155     P_ATTRIBUTE9,
156     P_ATTRIBUTE10,
157     P_ATTRIBUTE11,
158     P_ATTRIBUTE12,
159     P_ATTRIBUTE13,
160     P_ATTRIBUTE14,
161     P_ATTRIBUTE15,
162     P_ATTRIBUTE_CATEGORY,
163     P_PARTY_ID,
164     P_PROGRAM_LOGIN_ID,
165     P_PARTY_TYPE_CODE,
166     P_SUPPLIER_FLAG,
167     P_CUSTOMER_FLAG,
168     P_SITE_FLAG,
169     P_PROCESS_FOR_APPLICABILITY_FL,
170     P_ROUNDING_LEVEL_CODE,
171     P_ROUNDING_RULE_CODE,
172     P_WITHHOLDING_START_DATE,
173     P_INCLUSIVE_TAX_FLAG,
174     P_ALLOW_AWT_FLAG,
175     P_USE_LE_AS_SUBSCRIBER_FLAG,
176     P_LEGAL_ESTABLISHMENT_FLAG,
177     P_FIRST_PARTY_LE_FLAG,
178     P_REPORTING_AUTHORITY_FLAG,
179     sysdate,
180     FND_GLOBAL.User_ID,
181     sysdate,
182     FND_GLOBAL.User_ID,
183     FND_GLOBAL.Login_ID,
184     1
185     );
186     OPEN ptp_cur;
187     FETCH ptp_cur INTO L_PARTY_TAX_PROFILE_ID;
188     IF (ptp_cur%notfound) then
189           --Set x_return_status param
190           X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
191 	  arp_util_tax.debug('Error: "The Ptp row has not been inserted for Party Id: ' || P_PARTY_ID || ' and Party Type: ' ||P_PARTY_TYPE_CODE || '."');
192     END IF;
193     CLOSE ptp_cur;
194   END IF;
195   EXCEPTION
196     --Index violation check
197     WHEN DUP_VAL_ON_INDEX THEN
198       --Set x_return_status param
199       X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
200       arp_util_tax.debug('Error: "The Ptp row already exists for Party Id: ' || P_PARTY_ID || ' and Party Type: ' ||P_PARTY_TYPE_CODE || '."');
201 end INSERT_ROW;
202 
203 
204 procedure INSERT_ROW (
205   P_COLLECTING_AUTHORITY_FLAG in VARCHAR2,
206   P_PROVIDER_TYPE_CODE in VARCHAR2,
207   P_CREATE_AWT_DISTS_TYPE_CODE in VARCHAR2,
208   P_CREATE_AWT_INVOICES_TYPE_COD in VARCHAR2,
209   P_TAX_CLASSIFICATION_CODE in VARCHAR2,
210   P_SELF_ASSESS_FLAG in VARCHAR2,
211   P_ALLOW_OFFSET_TAX_FLAG in VARCHAR2,
212   P_REP_REGISTRATION_NUMBER in VARCHAR2,
213   P_EFFECTIVE_FROM_USE_LE in DATE,
214   P_RECORD_TYPE_CODE in VARCHAR2,
215   P_REQUEST_ID in NUMBER,
216   P_ATTRIBUTE1 in VARCHAR2,
217   P_ATTRIBUTE2 in VARCHAR2,
218   P_ATTRIBUTE3 in VARCHAR2,
219   P_ATTRIBUTE4 in VARCHAR2,
220   P_ATTRIBUTE5 in VARCHAR2,
221   P_ATTRIBUTE6 in VARCHAR2,
222   P_ATTRIBUTE7 in VARCHAR2,
223   P_ATTRIBUTE8 in VARCHAR2,
224   P_ATTRIBUTE9 in VARCHAR2,
225   P_ATTRIBUTE10 in VARCHAR2,
226   P_ATTRIBUTE11 in VARCHAR2,
227   P_ATTRIBUTE12 in VARCHAR2,
228   P_ATTRIBUTE13 in VARCHAR2,
229   P_ATTRIBUTE14 in VARCHAR2,
230   P_ATTRIBUTE15 in VARCHAR2,
231   P_ATTRIBUTE_CATEGORY in VARCHAR2,
232   P_PARTY_ID in NUMBER,
233   P_PROGRAM_LOGIN_ID in NUMBER,
234   P_PARTY_TYPE_CODE in VARCHAR2,
235   P_SUPPLIER_FLAG in VARCHAR2,
236   P_CUSTOMER_FLAG in VARCHAR2,
237   P_SITE_FLAG in VARCHAR2,
238   P_PROCESS_FOR_APPLICABILITY_FL in VARCHAR2,
239   P_ROUNDING_LEVEL_CODE in VARCHAR2,
240   P_ROUNDING_RULE_CODE in VARCHAR2,
241   P_WITHHOLDING_START_DATE in DATE,
242   P_INCLUSIVE_TAX_FLAG in VARCHAR2,
243   P_ALLOW_AWT_FLAG in VARCHAR2,
244   P_USE_LE_AS_SUBSCRIBER_FLAG in VARCHAR2,
245   P_LEGAL_ESTABLISHMENT_FLAG in VARCHAR2,
246   P_FIRST_PARTY_LE_FLAG in VARCHAR2,
247   P_REPORTING_AUTHORITY_FLAG in VARCHAR2,
248   X_RETURN_STATUS out NOCOPY VARCHAR2,
249   P_REGISTRATION_TYPE_CODE IN VARCHAR2,
250   P_COUNTRY_CODE IN VARCHAR2
251 ) is
252   L_PARTY_TAX_PROFILE_ID	ZX_PARTY_TAX_PROFILE.PARTY_TAX_PROFILE_ID%TYPE;
253   L_EFFECTIVE_FROM_USE_LE	ZX_PARTY_TAX_PROFILE.EFFECTIVE_FROM_USE_LE%TYPE	:= P_EFFECTIVE_FROM_USE_LE;
254   L_CREATED_BY_MODULE           HZ_PARTIES.CREATED_BY_MODULE%TYPE;
255   CURSOR ptp_cur IS SELECT PARTY_TAX_PROFILE_ID FROM ZX_PARTY_TAX_PROFILE
256   WHERE PARTY_TAX_PROFILE_ID = L_PARTY_TAX_PROFILE_ID;
257 begin
258   --Initialise x_return_status variable
259   X_RETURN_STATUS :=  FND_API.G_RET_STS_SUCCESS;
260   select ZX_PARTY_TAX_PROFILE_S.nextval into L_PARTY_TAX_PROFILE_ID from dual;
261   BEGIN
262   -- Check created module name
263   select nvl(substr(created_by_module,1,3),'ZX') created_by_module
264     into L_CREATED_BY_MODULE
265     from hz_parties where party_id = P_PARTY_ID;
266   IF L_CREATED_BY_MODULE = 'XLE' THEN
267      return;
268   END IF;
269   EXCEPTION
270       WHEN OTHERS THEN NULL;
271   END;
272   --Perform validations before inserting data
273   --AllowOffsetTax and SetforSelfAssessment flag would be mutually exclusive
274   IF P_SELF_ASSESS_FLAG = 'Y' AND P_ALLOW_OFFSET_TAX_FLAG = 'Y' THEN
275     X_RETURN_STATUS :=  FND_API.G_RET_STS_ERROR;
276     arp_util_tax.debug('Error: "Offset Tax and Set for Self Assessment can not both be "Y" at the same time." for Party Id: ' || P_PARTY_ID || ' and Party Type: ' ||P_PARTY_TYPE_CODE);
277   END IF;
278   --when UseLeAsSubscriberFlag is set to 'Y', then setEffectiveFromUseLe as System date
279   IF P_USE_LE_AS_SUBSCRIBER_FLAG = 'Y' THEN
280     L_EFFECTIVE_FROM_USE_LE := SYSDATE;
281   END IF;
282   --Insert only when there is no error
283   IF X_RETURN_STATUS =  FND_API.G_RET_STS_SUCCESS THEN
284     insert into ZX_PARTY_TAX_PROFILE (
285     COLLECTING_AUTHORITY_FLAG,
286     PROVIDER_TYPE_CODE,
287     CREATE_AWT_DISTS_TYPE_CODE,
288     CREATE_AWT_INVOICES_TYPE_CODE,
289     TAX_CLASSIFICATION_CODE,
290     SELF_ASSESS_FLAG,
291     ALLOW_OFFSET_TAX_FLAG,
292     REP_REGISTRATION_NUMBER,
293     EFFECTIVE_FROM_USE_LE,
294     RECORD_TYPE_CODE,
295     REQUEST_ID,
296     PARTY_TAX_PROFILE_ID,
297     ATTRIBUTE1,
298     ATTRIBUTE2,
299     ATTRIBUTE3,
300     ATTRIBUTE4,
301     ATTRIBUTE5,
302     ATTRIBUTE6,
303     ATTRIBUTE7,
304     ATTRIBUTE8,
305     ATTRIBUTE9,
306     ATTRIBUTE10,
307     ATTRIBUTE11,
308     ATTRIBUTE12,
309     ATTRIBUTE13,
310     ATTRIBUTE14,
311     ATTRIBUTE15,
312     ATTRIBUTE_CATEGORY,
313     PARTY_ID,
314     PROGRAM_LOGIN_ID,
315     PARTY_TYPE_CODE,
316     SUPPLIER_FLAG,
317     CUSTOMER_FLAG,
318     SITE_FLAG,
319     PROCESS_FOR_APPLICABILITY_FLAG,
320     ROUNDING_LEVEL_CODE,
321     ROUNDING_RULE_CODE,
322     WITHHOLDING_START_DATE,
323     INCLUSIVE_TAX_FLAG,
324     ALLOW_AWT_FLAG,
325     USE_LE_AS_SUBSCRIBER_FLAG,
326     LEGAL_ESTABLISHMENT_FLAG,
327     FIRST_PARTY_LE_FLAG,
328     REPORTING_AUTHORITY_FLAG,
329     CREATION_DATE,
330     CREATED_BY,
331     LAST_UPDATE_DATE,
332     LAST_UPDATED_BY,
333     LAST_UPDATE_LOGIN,
334     OBJECT_VERSION_NUMBER,
335     REGISTRATION_TYPE_CODE,
336     COUNTRY_CODE
337   ) values (
338     P_COLLECTING_AUTHORITY_FLAG,
339     P_PROVIDER_TYPE_CODE,
340     P_CREATE_AWT_DISTS_TYPE_CODE,
341     P_CREATE_AWT_INVOICES_TYPE_COD,
342     P_TAX_CLASSIFICATION_CODE,
343     P_SELF_ASSESS_FLAG,
344     P_ALLOW_OFFSET_TAX_FLAG,
345     DECODE(P_REP_REGISTRATION_NUMBER, fnd_api.g_miss_char,
346            NULL, P_REP_REGISTRATION_NUMBER),
347     L_EFFECTIVE_FROM_USE_LE,
348     P_RECORD_TYPE_CODE,
349     P_REQUEST_ID,
350     L_PARTY_TAX_PROFILE_ID,
351     P_ATTRIBUTE1,
352     P_ATTRIBUTE2,
353     P_ATTRIBUTE3,
354     P_ATTRIBUTE4,
355     P_ATTRIBUTE5,
356     P_ATTRIBUTE6,
357     P_ATTRIBUTE7,
358     P_ATTRIBUTE8,
359     P_ATTRIBUTE9,
360     P_ATTRIBUTE10,
361     P_ATTRIBUTE11,
362     P_ATTRIBUTE12,
363     P_ATTRIBUTE13,
364     P_ATTRIBUTE14,
365     P_ATTRIBUTE15,
366     P_ATTRIBUTE_CATEGORY,
367     P_PARTY_ID,
368     P_PROGRAM_LOGIN_ID,
369     P_PARTY_TYPE_CODE,
370     P_SUPPLIER_FLAG,
371     P_CUSTOMER_FLAG,
372     P_SITE_FLAG,
373     P_PROCESS_FOR_APPLICABILITY_FL,
374     P_ROUNDING_LEVEL_CODE,
378     P_ALLOW_AWT_FLAG,
375     P_ROUNDING_RULE_CODE,
376     P_WITHHOLDING_START_DATE,
377     P_INCLUSIVE_TAX_FLAG,
379     P_USE_LE_AS_SUBSCRIBER_FLAG,
380     P_LEGAL_ESTABLISHMENT_FLAG,
381     P_FIRST_PARTY_LE_FLAG,
382     P_REPORTING_AUTHORITY_FLAG,
383     sysdate,
384     FND_GLOBAL.User_ID,
385     sysdate,
386     FND_GLOBAL.User_ID,
387     FND_GLOBAL.Login_ID,
388     1,
389     P_REGISTRATION_TYPE_CODE,
390     P_COUNTRY_CODE
391     );
392     OPEN ptp_cur;
393     FETCH ptp_cur INTO L_PARTY_TAX_PROFILE_ID;
394     IF (ptp_cur%notfound) then
395           --Set x_return_status param
396           X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
397 	  arp_util_tax.debug('Error: "The Ptp row has not been inserted for Party Id: ' || P_PARTY_ID || ' and Party Type: ' ||P_PARTY_TYPE_CODE || '."');
398     END IF;
399     CLOSE ptp_cur;
400   END IF;
401   EXCEPTION
402     --Index violation check
403     WHEN DUP_VAL_ON_INDEX THEN
404       --Set x_return_status param
405       X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
406       arp_util_tax.debug('Error: "The Ptp row already exists for Party Id: ' || P_PARTY_ID || ' and Party Type: ' ||P_PARTY_TYPE_CODE || '."');
407 end INSERT_ROW;
408 
409 
410 procedure UPDATE_ROW (
411   P_PARTY_TAX_PROFILE_ID in NUMBER,
412   P_COLLECTING_AUTHORITY_FLAG in VARCHAR2,
413   P_PROVIDER_TYPE_CODE in VARCHAR2,
414   P_CREATE_AWT_DISTS_TYPE_CODE in VARCHAR2,
415   P_CREATE_AWT_INVOICES_TYPE_COD in VARCHAR2,
416   P_TAX_CLASSIFICATION_CODE in VARCHAR2,
417   P_SELF_ASSESS_FLAG in VARCHAR2,
418   P_ALLOW_OFFSET_TAX_FLAG in VARCHAR2,
419   P_REP_REGISTRATION_NUMBER in VARCHAR2,
420   P_EFFECTIVE_FROM_USE_LE in DATE,
421   P_RECORD_TYPE_CODE in VARCHAR2,
422   P_REQUEST_ID in NUMBER,
423   P_ATTRIBUTE1 in VARCHAR2,
424   P_ATTRIBUTE2 in VARCHAR2,
425   P_ATTRIBUTE3 in VARCHAR2,
426   P_ATTRIBUTE4 in VARCHAR2,
427   P_ATTRIBUTE5 in VARCHAR2,
428   P_ATTRIBUTE6 in VARCHAR2,
429   P_ATTRIBUTE7 in VARCHAR2,
430   P_ATTRIBUTE8 in VARCHAR2,
431   P_ATTRIBUTE9 in VARCHAR2,
432   P_ATTRIBUTE10 in VARCHAR2,
433   P_ATTRIBUTE11 in VARCHAR2,
434   P_ATTRIBUTE12 in VARCHAR2,
435   P_ATTRIBUTE13 in VARCHAR2,
436   P_ATTRIBUTE14 in VARCHAR2,
437   P_ATTRIBUTE15 in VARCHAR2,
438   P_ATTRIBUTE_CATEGORY in VARCHAR2,
439   P_PARTY_ID in NUMBER,
440   P_PROGRAM_LOGIN_ID in NUMBER,
441   P_PARTY_TYPE_CODE in VARCHAR2,
442   P_SUPPLIER_FLAG in VARCHAR2,
443   P_CUSTOMER_FLAG in VARCHAR2,
444   P_SITE_FLAG in VARCHAR2,
445   P_PROCESS_FOR_APPLICABILITY_FL in VARCHAR2,
446   P_ROUNDING_LEVEL_CODE in VARCHAR2,
447   P_ROUNDING_RULE_CODE in VARCHAR2,
448   P_WITHHOLDING_START_DATE in DATE,
449   P_INCLUSIVE_TAX_FLAG in VARCHAR2,
450   P_ALLOW_AWT_FLAG in VARCHAR2,
451   P_USE_LE_AS_SUBSCRIBER_FLAG in VARCHAR2,
452   P_LEGAL_ESTABLISHMENT_FLAG in VARCHAR2,
453   P_FIRST_PARTY_LE_FLAG in VARCHAR2,
454   P_REPORTING_AUTHORITY_FLAG in VARCHAR2,
455   X_RETURN_STATUS out NOCOPY VARCHAR2
456 ) is
457   L_EFFECTIVE_FROM_USE_LE	ZX_PARTY_TAX_PROFILE.EFFECTIVE_FROM_USE_LE%TYPE	:= P_EFFECTIVE_FROM_USE_LE;
458 begin
459   --Initialise x_return_status variable
460   X_RETURN_STATUS :=  FND_API.G_RET_STS_SUCCESS;
461   --Perform validations before inserting data
462   --AllowOffsetTax and SetforSelfAssessment flag would be mutually exclusive
463   IF P_SELF_ASSESS_FLAG = 'Y' AND P_ALLOW_OFFSET_TAX_FLAG = 'Y' THEN
464     X_RETURN_STATUS :=  FND_API.G_RET_STS_ERROR;
465     arp_util_tax.debug('Error: "Offset Tax and Set for Self Assessment can not both be "Y" at the same time." for Party Id: ' || P_PARTY_ID || ' and Party Type: ' ||P_PARTY_TYPE_CODE);
466   END IF;
467   --when UseLeAsSubscriberFlag is set to 'Y', then setEffectiveFromUseLe as System date
468   IF P_USE_LE_AS_SUBSCRIBER_FLAG = 'Y' THEN
469     L_EFFECTIVE_FROM_USE_LE := SYSDATE;
470   ELSE
471     L_EFFECTIVE_FROM_USE_LE := NULL;
472   END IF;
473   --Update only when there is no error
474   IF X_RETURN_STATUS =  FND_API.G_RET_STS_SUCCESS THEN
475     update ZX_PARTY_TAX_PROFILE set
476     COLLECTING_AUTHORITY_FLAG = DECODE( P_COLLECTING_AUTHORITY_FLAG, NULL, COLLECTING_AUTHORITY_FLAG, P_COLLECTING_AUTHORITY_FLAG ),
477     PROVIDER_TYPE_CODE = DECODE( P_PROVIDER_TYPE_CODE, NULL, PROVIDER_TYPE_CODE, P_PROVIDER_TYPE_CODE ),
478     CREATE_AWT_DISTS_TYPE_CODE = DECODE( P_CREATE_AWT_DISTS_TYPE_CODE, NULL, CREATE_AWT_DISTS_TYPE_CODE, P_CREATE_AWT_DISTS_TYPE_CODE ),
479     CREATE_AWT_INVOICES_TYPE_CODE = DECODE( P_CREATE_AWT_INVOICES_TYPE_COD, NULL, CREATE_AWT_INVOICES_TYPE_CODE, P_CREATE_AWT_INVOICES_TYPE_COD ),
480     TAX_CLASSIFICATION_CODE = DECODE( P_TAX_CLASSIFICATION_CODE, NULL, TAX_CLASSIFICATION_CODE, P_TAX_CLASSIFICATION_CODE ),
481     SELF_ASSESS_FLAG = DECODE( P_SELF_ASSESS_FLAG, NULL, SELF_ASSESS_FLAG, P_SELF_ASSESS_FLAG ),
485     RECORD_TYPE_CODE = DECODE( P_RECORD_TYPE_CODE, NULL, RECORD_TYPE_CODE, P_RECORD_TYPE_CODE ),
482     ALLOW_OFFSET_TAX_FLAG = DECODE( P_ALLOW_OFFSET_TAX_FLAG, NULL, ALLOW_OFFSET_TAX_FLAG, P_ALLOW_OFFSET_TAX_FLAG ),
483     REP_REGISTRATION_NUMBER = DECODE( P_REP_REGISTRATION_NUMBER, NULL, REP_REGISTRATION_NUMBER,fnd_api.g_miss_char, NULL, P_REP_REGISTRATION_NUMBER ),
484     EFFECTIVE_FROM_USE_LE = DECODE( L_EFFECTIVE_FROM_USE_LE, NULL, EFFECTIVE_FROM_USE_LE, L_EFFECTIVE_FROM_USE_LE ),
486     REQUEST_ID = DECODE( P_REQUEST_ID, NULL, REQUEST_ID, P_REQUEST_ID ),
487     ATTRIBUTE1 = DECODE( P_ATTRIBUTE1, NULL, ATTRIBUTE1, P_ATTRIBUTE1 ),
488     ATTRIBUTE2 = DECODE( P_ATTRIBUTE2, NULL, ATTRIBUTE2, P_ATTRIBUTE2 ),
489     ATTRIBUTE3 = DECODE( P_ATTRIBUTE3, NULL, ATTRIBUTE3, P_ATTRIBUTE3 ),
490     ATTRIBUTE4 = DECODE( P_ATTRIBUTE4, NULL, ATTRIBUTE4, P_ATTRIBUTE4 ),
491     ATTRIBUTE5 = DECODE( P_ATTRIBUTE5, NULL, ATTRIBUTE5, P_ATTRIBUTE5 ),
492     ATTRIBUTE6 = DECODE( P_ATTRIBUTE6, NULL, ATTRIBUTE6, P_ATTRIBUTE6 ),
493     ATTRIBUTE7 = DECODE( P_ATTRIBUTE7, NULL, ATTRIBUTE7, P_ATTRIBUTE7 ),
494     ATTRIBUTE8 = DECODE( P_ATTRIBUTE8, NULL, ATTRIBUTE8, P_ATTRIBUTE8 ),
495     ATTRIBUTE9 = DECODE( P_ATTRIBUTE9, NULL, ATTRIBUTE9, P_ATTRIBUTE9 ),
496     ATTRIBUTE10 = DECODE( P_ATTRIBUTE10, NULL, ATTRIBUTE10, P_ATTRIBUTE10 ),
497     ATTRIBUTE11 = DECODE( P_ATTRIBUTE11, NULL, ATTRIBUTE11, P_ATTRIBUTE11 ),
498     ATTRIBUTE12 = DECODE( P_ATTRIBUTE12, NULL, ATTRIBUTE12, P_ATTRIBUTE12 ),
499     ATTRIBUTE13 = DECODE( P_ATTRIBUTE13, NULL, ATTRIBUTE13, P_ATTRIBUTE13 ),
500     ATTRIBUTE14 = DECODE( P_ATTRIBUTE14, NULL, ATTRIBUTE14, P_ATTRIBUTE14 ),
501     ATTRIBUTE15 = DECODE( P_ATTRIBUTE15, NULL, ATTRIBUTE15, P_ATTRIBUTE15 ),
502     ATTRIBUTE_CATEGORY = DECODE( P_ATTRIBUTE_CATEGORY, NULL, ATTRIBUTE_CATEGORY, P_ATTRIBUTE_CATEGORY ),
503     PARTY_ID = DECODE( P_PARTY_ID, NULL, PARTY_ID, P_PARTY_ID ),
504     PROGRAM_LOGIN_ID = DECODE( P_PROGRAM_LOGIN_ID, NULL, PROGRAM_LOGIN_ID, P_PROGRAM_LOGIN_ID ),
505     PARTY_TYPE_CODE = DECODE( P_PARTY_TYPE_CODE, NULL, PARTY_TYPE_CODE, P_PARTY_TYPE_CODE),
506     SUPPLIER_FLAG = DECODE( P_SUPPLIER_FLAG, NULL, SUPPLIER_FLAG, P_SUPPLIER_FLAG ),
507     CUSTOMER_FLAG = DECODE( P_CUSTOMER_FLAG, NULL, CUSTOMER_FLAG, P_CUSTOMER_FLAG ),
508     SITE_FLAG = DECODE( P_SITE_FLAG, NULL, SITE_FLAG, P_SITE_FLAG ),
509     PROCESS_FOR_APPLICABILITY_FLAG = DECODE( P_PROCESS_FOR_APPLICABILITY_FL, NULL, PROCESS_FOR_APPLICABILITY_FLAG, P_PROCESS_FOR_APPLICABILITY_FL ),
510     ROUNDING_LEVEL_CODE = DECODE( P_ROUNDING_LEVEL_CODE, NULL, ROUNDING_LEVEL_CODE, P_ROUNDING_LEVEL_CODE ),
511     ROUNDING_RULE_CODE = DECODE( P_ROUNDING_RULE_CODE, NULL, ROUNDING_RULE_CODE, P_ROUNDING_RULE_CODE ),
512     WITHHOLDING_START_DATE = DECODE( P_WITHHOLDING_START_DATE, NULL, WITHHOLDING_START_DATE, P_WITHHOLDING_START_DATE ),
513     INCLUSIVE_TAX_FLAG = DECODE( P_INCLUSIVE_TAX_FLAG, NULL, INCLUSIVE_TAX_FLAG, P_INCLUSIVE_TAX_FLAG ),
514     ALLOW_AWT_FLAG = DECODE( P_ALLOW_AWT_FLAG, NULL, ALLOW_AWT_FLAG, P_ALLOW_AWT_FLAG ),
515     USE_LE_AS_SUBSCRIBER_FLAG = DECODE( P_USE_LE_AS_SUBSCRIBER_FLAG, NULL, USE_LE_AS_SUBSCRIBER_FLAG, P_USE_LE_AS_SUBSCRIBER_FLAG ),
516     LEGAL_ESTABLISHMENT_FLAG = DECODE( P_LEGAL_ESTABLISHMENT_FLAG, NULL, LEGAL_ESTABLISHMENT_FLAG, P_LEGAL_ESTABLISHMENT_FLAG ),
517     FIRST_PARTY_LE_FLAG = DECODE( P_FIRST_PARTY_LE_FLAG, NULL, FIRST_PARTY_LE_FLAG, P_FIRST_PARTY_LE_FLAG ),
518     REPORTING_AUTHORITY_FLAG = DECODE( P_REPORTING_AUTHORITY_FLAG, NULL, REPORTING_AUTHORITY_FLAG, P_REPORTING_AUTHORITY_FLAG ),
519     LAST_UPDATE_DATE = sysdate,
520     LAST_UPDATED_BY = FND_GLOBAL.User_ID,
521     LAST_UPDATE_LOGIN = FND_GLOBAL.Login_ID,
522     OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER + 1
523     where PARTY_TAX_PROFILE_ID = P_PARTY_TAX_PROFILE_ID;
524     if (sql%notfound) then
525       --Set x_return_status param
526       X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
527       arp_util_tax.debug('Error: "The Ptp row has not been updated for Party Id: ' || P_PARTY_ID || ' and Party Type: ' ||P_PARTY_TYPE_CODE || '."');
528     end if;--end sql%notfound
529   end if;--end X_RETURN_STATUS
530 end UPDATE_ROW;
531 
532 procedure UPDATE_ROW (
533   P_PARTY_TAX_PROFILE_ID in NUMBER,
534   P_COLLECTING_AUTHORITY_FLAG in VARCHAR2,
535   P_PROVIDER_TYPE_CODE in VARCHAR2,
536   P_CREATE_AWT_DISTS_TYPE_CODE in VARCHAR2,
537   P_CREATE_AWT_INVOICES_TYPE_COD in VARCHAR2,
538   P_TAX_CLASSIFICATION_CODE in VARCHAR2,
539   P_SELF_ASSESS_FLAG in VARCHAR2,
540   P_ALLOW_OFFSET_TAX_FLAG in VARCHAR2,
541   P_REP_REGISTRATION_NUMBER in VARCHAR2,
542   P_EFFECTIVE_FROM_USE_LE in DATE,
543   P_RECORD_TYPE_CODE in VARCHAR2,
544   P_REQUEST_ID in NUMBER,
545   P_ATTRIBUTE1 in VARCHAR2,
546   P_ATTRIBUTE2 in VARCHAR2,
547   P_ATTRIBUTE3 in VARCHAR2,
548   P_ATTRIBUTE4 in VARCHAR2,
549   P_ATTRIBUTE5 in VARCHAR2,
550   P_ATTRIBUTE6 in VARCHAR2,
551   P_ATTRIBUTE7 in VARCHAR2,
552   P_ATTRIBUTE8 in VARCHAR2,
553   P_ATTRIBUTE9 in VARCHAR2,
554   P_ATTRIBUTE10 in VARCHAR2,
555   P_ATTRIBUTE11 in VARCHAR2,
556   P_ATTRIBUTE12 in VARCHAR2,
557   P_ATTRIBUTE13 in VARCHAR2,
558   P_ATTRIBUTE14 in VARCHAR2,
559   P_ATTRIBUTE15 in VARCHAR2,
560   P_ATTRIBUTE_CATEGORY in VARCHAR2,
561   P_PARTY_ID in NUMBER,
562   P_PROGRAM_LOGIN_ID in NUMBER,
563   P_PARTY_TYPE_CODE in VARCHAR2,
564   P_SUPPLIER_FLAG in VARCHAR2,
565   P_CUSTOMER_FLAG in VARCHAR2,
566   P_SITE_FLAG in VARCHAR2,
567   P_PROCESS_FOR_APPLICABILITY_FL in VARCHAR2,
568   P_ROUNDING_LEVEL_CODE in VARCHAR2,
569   P_ROUNDING_RULE_CODE in VARCHAR2,
570   P_WITHHOLDING_START_DATE in DATE,
571   P_INCLUSIVE_TAX_FLAG in VARCHAR2,
572   P_ALLOW_AWT_FLAG in VARCHAR2,
573   P_USE_LE_AS_SUBSCRIBER_FLAG in VARCHAR2,
574   P_LEGAL_ESTABLISHMENT_FLAG in VARCHAR2,
575   P_FIRST_PARTY_LE_FLAG in VARCHAR2,
576   P_REPORTING_AUTHORITY_FLAG in VARCHAR2,
577   X_RETURN_STATUS out NOCOPY VARCHAR2,
578   P_REGISTRATION_TYPE_CODE in VARCHAR2,
579   P_COUNTRY_CODE in VARCHAR2
580 ) is
581   L_EFFECTIVE_FROM_USE_LE	ZX_PARTY_TAX_PROFILE.EFFECTIVE_FROM_USE_LE%TYPE	:= P_EFFECTIVE_FROM_USE_LE;
582 begin
586   --AllowOffsetTax and SetforSelfAssessment flag would be mutually exclusive
583   --Initialise x_return_status variable
584   X_RETURN_STATUS :=  FND_API.G_RET_STS_SUCCESS;
585   --Perform validations before inserting data
587   IF P_SELF_ASSESS_FLAG = 'Y' AND P_ALLOW_OFFSET_TAX_FLAG = 'Y' THEN
588     X_RETURN_STATUS :=  FND_API.G_RET_STS_ERROR;
589     arp_util_tax.debug('Error: "Offset Tax and Set for Self Assessment can not both be "Y" at the same time." for Party Id: ' || P_PARTY_ID || ' and Party Type: ' ||P_PARTY_TYPE_CODE);
590   END IF;
591   --when UseLeAsSubscriberFlag is set to 'Y', then setEffectiveFromUseLe as System date
592   IF P_USE_LE_AS_SUBSCRIBER_FLAG = 'Y' THEN
593     L_EFFECTIVE_FROM_USE_LE := SYSDATE;
594   ELSE
595     L_EFFECTIVE_FROM_USE_LE := NULL;
596   END IF;
597   --Update only when there is no error
598   IF X_RETURN_STATUS =  FND_API.G_RET_STS_SUCCESS THEN
599     update ZX_PARTY_TAX_PROFILE set
600     COLLECTING_AUTHORITY_FLAG = DECODE( P_COLLECTING_AUTHORITY_FLAG, NULL, COLLECTING_AUTHORITY_FLAG, P_COLLECTING_AUTHORITY_FLAG ),
601     PROVIDER_TYPE_CODE = DECODE( P_PROVIDER_TYPE_CODE, NULL, PROVIDER_TYPE_CODE, P_PROVIDER_TYPE_CODE ),
602     CREATE_AWT_DISTS_TYPE_CODE = DECODE( P_CREATE_AWT_DISTS_TYPE_CODE, NULL, CREATE_AWT_DISTS_TYPE_CODE, P_CREATE_AWT_DISTS_TYPE_CODE ),
603     CREATE_AWT_INVOICES_TYPE_CODE = DECODE( P_CREATE_AWT_INVOICES_TYPE_COD, NULL, CREATE_AWT_INVOICES_TYPE_CODE, P_CREATE_AWT_INVOICES_TYPE_COD ),
604     TAX_CLASSIFICATION_CODE = DECODE( P_TAX_CLASSIFICATION_CODE, NULL, TAX_CLASSIFICATION_CODE, P_TAX_CLASSIFICATION_CODE ),
605     SELF_ASSESS_FLAG = DECODE( P_SELF_ASSESS_FLAG, NULL, SELF_ASSESS_FLAG, P_SELF_ASSESS_FLAG ),
606     ALLOW_OFFSET_TAX_FLAG = DECODE( P_ALLOW_OFFSET_TAX_FLAG, NULL, ALLOW_OFFSET_TAX_FLAG, P_ALLOW_OFFSET_TAX_FLAG ),
607     REP_REGISTRATION_NUMBER = DECODE( P_REP_REGISTRATION_NUMBER, NULL, REP_REGISTRATION_NUMBER,fnd_api.g_miss_char, NULL, P_REP_REGISTRATION_NUMBER ),
608     EFFECTIVE_FROM_USE_LE = DECODE( L_EFFECTIVE_FROM_USE_LE, NULL, EFFECTIVE_FROM_USE_LE, L_EFFECTIVE_FROM_USE_LE ),
609     RECORD_TYPE_CODE = DECODE( P_RECORD_TYPE_CODE, NULL, RECORD_TYPE_CODE, P_RECORD_TYPE_CODE ),
610     REQUEST_ID = DECODE( P_REQUEST_ID, NULL, REQUEST_ID, P_REQUEST_ID ),
611     ATTRIBUTE1 = DECODE( P_ATTRIBUTE1, NULL, ATTRIBUTE1, P_ATTRIBUTE1 ),
612     ATTRIBUTE2 = DECODE( P_ATTRIBUTE2, NULL, ATTRIBUTE2, P_ATTRIBUTE2 ),
613     ATTRIBUTE3 = DECODE( P_ATTRIBUTE3, NULL, ATTRIBUTE3, P_ATTRIBUTE3 ),
614     ATTRIBUTE4 = DECODE( P_ATTRIBUTE4, NULL, ATTRIBUTE4, P_ATTRIBUTE4 ),
615     ATTRIBUTE5 = DECODE( P_ATTRIBUTE5, NULL, ATTRIBUTE5, P_ATTRIBUTE5 ),
616     ATTRIBUTE6 = DECODE( P_ATTRIBUTE6, NULL, ATTRIBUTE6, P_ATTRIBUTE6 ),
617     ATTRIBUTE7 = DECODE( P_ATTRIBUTE7, NULL, ATTRIBUTE7, P_ATTRIBUTE7 ),
618     ATTRIBUTE8 = DECODE( P_ATTRIBUTE8, NULL, ATTRIBUTE8, P_ATTRIBUTE8 ),
619     ATTRIBUTE9 = DECODE( P_ATTRIBUTE9, NULL, ATTRIBUTE9, P_ATTRIBUTE9 ),
620     ATTRIBUTE10 = DECODE( P_ATTRIBUTE10, NULL, ATTRIBUTE10, P_ATTRIBUTE10 ),
621     ATTRIBUTE11 = DECODE( P_ATTRIBUTE11, NULL, ATTRIBUTE11, P_ATTRIBUTE11 ),
622     ATTRIBUTE12 = DECODE( P_ATTRIBUTE12, NULL, ATTRIBUTE12, P_ATTRIBUTE12 ),
623     ATTRIBUTE13 = DECODE( P_ATTRIBUTE13, NULL, ATTRIBUTE13, P_ATTRIBUTE13 ),
624     ATTRIBUTE14 = DECODE( P_ATTRIBUTE14, NULL, ATTRIBUTE14, P_ATTRIBUTE14 ),
625     ATTRIBUTE15 = DECODE( P_ATTRIBUTE15, NULL, ATTRIBUTE15, P_ATTRIBUTE15 ),
626     ATTRIBUTE_CATEGORY = DECODE( P_ATTRIBUTE_CATEGORY, NULL, ATTRIBUTE_CATEGORY, P_ATTRIBUTE_CATEGORY ),
627     PARTY_ID = DECODE( P_PARTY_ID, NULL, PARTY_ID, P_PARTY_ID ),
628     PROGRAM_LOGIN_ID = DECODE( P_PROGRAM_LOGIN_ID, NULL, PROGRAM_LOGIN_ID, P_PROGRAM_LOGIN_ID ),
629     PARTY_TYPE_CODE = DECODE( P_PARTY_TYPE_CODE, NULL, PARTY_TYPE_CODE, P_PARTY_TYPE_CODE),
630     SUPPLIER_FLAG = DECODE( P_SUPPLIER_FLAG, NULL, SUPPLIER_FLAG, P_SUPPLIER_FLAG ),
631     CUSTOMER_FLAG = DECODE( P_CUSTOMER_FLAG, NULL, CUSTOMER_FLAG, P_CUSTOMER_FLAG ),
632     SITE_FLAG = DECODE( P_SITE_FLAG, NULL, SITE_FLAG, P_SITE_FLAG ),
633     PROCESS_FOR_APPLICABILITY_FLAG = DECODE( P_PROCESS_FOR_APPLICABILITY_FL, NULL, PROCESS_FOR_APPLICABILITY_FLAG, P_PROCESS_FOR_APPLICABILITY_FL ),
634     ROUNDING_LEVEL_CODE = DECODE( P_ROUNDING_LEVEL_CODE, NULL, ROUNDING_LEVEL_CODE, P_ROUNDING_LEVEL_CODE ),
635     ROUNDING_RULE_CODE = DECODE( P_ROUNDING_RULE_CODE, NULL, ROUNDING_RULE_CODE, P_ROUNDING_RULE_CODE ),
636     WITHHOLDING_START_DATE = DECODE( P_WITHHOLDING_START_DATE, NULL, WITHHOLDING_START_DATE, P_WITHHOLDING_START_DATE ),
637     INCLUSIVE_TAX_FLAG = DECODE( P_INCLUSIVE_TAX_FLAG, NULL, INCLUSIVE_TAX_FLAG, P_INCLUSIVE_TAX_FLAG ),
638     ALLOW_AWT_FLAG = DECODE( P_ALLOW_AWT_FLAG, NULL, ALLOW_AWT_FLAG, P_ALLOW_AWT_FLAG ),
639     USE_LE_AS_SUBSCRIBER_FLAG = DECODE( P_USE_LE_AS_SUBSCRIBER_FLAG, NULL, USE_LE_AS_SUBSCRIBER_FLAG, P_USE_LE_AS_SUBSCRIBER_FLAG ),
640     LEGAL_ESTABLISHMENT_FLAG = DECODE( P_LEGAL_ESTABLISHMENT_FLAG, NULL, LEGAL_ESTABLISHMENT_FLAG, P_LEGAL_ESTABLISHMENT_FLAG ),
641     FIRST_PARTY_LE_FLAG = DECODE( P_FIRST_PARTY_LE_FLAG, NULL, FIRST_PARTY_LE_FLAG, P_FIRST_PARTY_LE_FLAG ),
642     REPORTING_AUTHORITY_FLAG = DECODE( P_REPORTING_AUTHORITY_FLAG, NULL, REPORTING_AUTHORITY_FLAG, P_REPORTING_AUTHORITY_FLAG ),
643     LAST_UPDATE_DATE = sysdate,
644     LAST_UPDATED_BY = FND_GLOBAL.User_ID,
645     LAST_UPDATE_LOGIN = FND_GLOBAL.Login_ID,
646     OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER + 1,
647     REGISTRATION_TYPE_CODE = DECODE (P_REGISTRATION_TYPE_CODE,NULL, REGISTRATION_TYPE_CODE, P_REGISTRATION_TYPE_CODE),
648     COUNTRY_CODE = DECODE (P_COUNTRY_CODE,NULL, COUNTRY_CODE, P_COUNTRY_CODE)
649     where PARTY_TAX_PROFILE_ID = P_PARTY_TAX_PROFILE_ID;
650     if (sql%notfound) then
651       --Set x_return_status param
652       X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
653       arp_util_tax.debug('Error: "The Ptp row has not been updated for Party Id: ' || P_PARTY_ID || ' and Party Type: ' ||P_PARTY_TYPE_CODE || '."');
654     end if;--end sql%notfound
655   end if;--end X_RETURN_STATUS
656 end UPDATE_ROW;
657 
658 procedure DELETE_ROW (
659   P_PARTY_TAX_PROFILE_ID in NUMBER,
660   X_RETURN_STATUS out NOCOPY VARCHAR2
661 ) is
662 begin
663   --Initialise x_return_status variable
664   X_RETURN_STATUS :=  FND_API.G_RET_STS_SUCCESS;
668 
665   --Delete the row
666   delete from ZX_PARTY_TAX_PROFILE
667   where PARTY_TAX_PROFILE_ID = P_PARTY_TAX_PROFILE_ID;
669   if (sql%notfound) then
670     --Set x_return_status param
671     X_RETURN_STATUS := FND_API.G_RET_STS_UNEXP_ERROR;
672     raise no_data_found;
673   end if;
674 end DELETE_ROW;
675 
676 end ZX_PARTY_TAX_PROFILE_PKG;