DBA Data[Home] [Help]

PACKAGE BODY: APPS.JA_JAINITCP_XMLP_PKG

Source


1 PACKAGE BODY JA_JAINITCP_XMLP_PKG AS
2 /* $Header: JAINITCPB.pls 120.1 2007/12/25 16:20:55 dwkrishn noship $ */
3   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
4     CURSOR C_PROGRAM_ID(P_REQUEST_ID IN NUMBER) IS
5       SELECT
6         CONCURRENT_PROGRAM_ID,
7         NVL(ENABLE_TRACE
8            ,'N')
9       FROM
10         FND_CONCURRENT_REQUESTS
11       WHERE REQUEST_ID = P_REQUEST_ID;
12     V_ENABLE_TRACE FND_CONCURRENT_PROGRAMS.ENABLE_TRACE%TYPE;
13     V_PROGRAM_ID FND_CONCURRENT_PROGRAMS.CONCURRENT_PROGRAM_ID%TYPE;
14     TEMP BOOLEAN;
15   BEGIN
16   TEMP:=P_SUPPLIER_ORG_TYPEVALIDTRIGGE;
17     /*SRW.MESSAGE(1275
18                ,'Report Version is 120.4 Last modified date is 15/12/2005')*/NULL;
19     P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
20     /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
21     BEGIN
22       OPEN C_PROGRAM_ID(P_CONC_REQUEST_ID);
23       FETCH C_PROGRAM_ID
24        INTO V_PROGRAM_ID,V_ENABLE_TRACE;
25       CLOSE C_PROGRAM_ID;
26       /*SRW.MESSAGE(1275
27                  ,'v_program_id -> ' || V_PROGRAM_ID || ', v_enable_trace -> ' || V_ENABLE_TRACE || ', request_id -> ' || P_CONC_REQUEST_ID)*/NULL;
28       /*SRW.MESSAGE(1275
29                  ,'suppl_or_type -> ' || P_SUPPLIER_ORG_TYPE)*/NULL;
30       IF V_ENABLE_TRACE = 'Y' THEN
31         EXECUTE IMMEDIATE
32           'ALTER SESSION SET EVENTS ''10046 trace name context forever, level 4''';
33       END IF;
34     EXCEPTION
35       WHEN OTHERS THEN
36         /*SRW.MESSAGE(1275
37                    ,'Error during enabling the trace. ErrCode -> ' || SQLCODE || ', ErrMesg -> ' || SQLERRM)*/NULL;
38     END;
39     P_FROM_DATE_T:= P_FROM_DATE;
40     P_TO_DATE_T :=P_TO_DATE;
41     IF P_FROM_DATE IS NULL THEN
42       SELECT
43         MIN(API2.INVOICE_DATE)
44       INTO P_FROM_DATE_T
45       FROM
46         JAI_AP_TDS_F16_HDRS_ALL AFRM,
47         JAI_AP_TDS_F16_DTLS_ALL FRMD,
48         HR_ORGANIZATION_UNITS HOU,
49         HR_LOCATIONS LOC,
50         JAI_CMN_INVENTORY_ORGS JHOU,
51         AP_INVOICES_ALL API1,
52         AP_INVOICES_ALL API2,
53         AP_INVOICE_PAYMENTS_ALL APIP,
54         PO_VENDORS POV1,
55         PO_VENDORS POV2,
56         PO_VENDORS POV3,
57         PO_VENDOR_SITES_ALL POVS,
58         AP_INVOICE_LINES_ALL APLA
59       WHERE DECODE(AFRM.ORG_ID
60             ,NULL
61             ,0
62             ,AFRM.ORG_ID) = NVL(P_ORGANIZATION_ID
63          ,DECODE(AFRM.ORG_ID
64                ,NULL
65                ,0
66                ,AFRM.ORG_ID))
67         AND AFRM.TDS_TAX_SECTION = P_TDS_PAYMENT_TYPE
68         AND AFRM.ORG_ID = hou.organization_id (+)
69         AND FRMD.CERTIFICATE_NUM = AFRM.CERTIFICATE_NUM
70         AND apla.invoice_id (+) = FRMD.TDS_INVOICE_ID
71         AND ( ( POV1.ORGANIZATION_TYPE_LOOKUP_CODE = P_SUPPLIER_ORG_TYPE_T
72         AND UPPER(P_SUPPLIER_ORG_TYPE_T) = 'COMPANY' )
73       OR ( POV1.ORGANIZATION_TYPE_LOOKUP_CODE <> P_SUPPLIER_ORG_TYPE_T
74         AND UPPER(P_SUPPLIER_ORG_TYPE_T) <> 'COMPANY' ) )
75         AND pov1.vendor_id (+) = AFRM.VENDOR_ID
76         AND povs.vendor_site_id (+) = AFRM.VENDOR_SITE_ID
77         AND POVS.ORG_ID = P_ORGANIZATION_ID
78         AND API2.INVOICE_ID = FRMD.TDS_INVOICE_ID
79         AND pov3.vendor_id (+) = API2.VENDOR_ID
80         AND api1.invoice_id (+) = FRMD.INVOICE_ID
81         AND apip.invoice_payment_id (+) = FRMD.INVOICE_PAYMENT_ID
82         AND jhou.organization_id (+) = HOU.ORGANIZATION_ID
83         AND HOU.LOCATION_ID = loc.location_id (+)
84         AND pov2.vendor_id (+) = AFRM.TAX_AUTHORITY_ID;
85     END IF;
86     RETURN (TRUE);
87   END BEFOREREPORT;
88 
89   FUNCTION CF_GROSS_INV_AMTFORMULA(INVOICE_ID_V IN NUMBER
90                                   ,INVOICE_AMOUNT IN NUMBER) RETURN NUMBER IS
91     TMP NUMBER := 0;
92     CURSOR FETCH_PREPAYMENT_AMT_CUR IS
93       SELECT
94         SUM(AMOUNT)
95       FROM
96         AP_INVOICE_LINES_ALL
97       WHERE INVOICE_ID = INVOICE_ID_V
98         AND LINE_TYPE_LOOKUP_CODE = 'PREPAY';
99     V_PREPAYMENT_AMOUNT NUMBER;
100   BEGIN
101     OPEN FETCH_PREPAYMENT_AMT_CUR;
102     FETCH FETCH_PREPAYMENT_AMT_CUR
103      INTO V_PREPAYMENT_AMOUNT;
104     CLOSE FETCH_PREPAYMENT_AMT_CUR;
105     TMP := NVL(INVOICE_AMOUNT
106               ,0) + NVL(V_PREPAYMENT_AMOUNT
107               ,0);
108     RETURN (TMP);
109   END CF_GROSS_INV_AMTFORMULA;
110 
111   FUNCTION AFTERPFORM RETURN BOOLEAN IS
112     CURSOR ORG_NAME_CUR(CP_ORGANIZATION_ID IN NUMBER) IS
113       SELECT
114         NAME
115       FROM
116         HR_ORGANIZATION_UNITS
117       WHERE ORGANIZATION_ID = CP_ORGANIZATION_ID;
118     CURSOR INTERNAL_ADD_CUR(CP_ORGANIZATION_ID IN NUMBER) IS
119       SELECT
120         NVL(INTERNAL_ADDRESS_LINE
121            ,'NIL')
122       FROM
123         HR_ORGANIZATION_UNITS
124       WHERE ORGANIZATION_ID = CP_ORGANIZATION_ID;
125     CURSOR TOWN_OR_CITY_CUR(CP_ORGANIZATION_ID IN NUMBER) IS
126       SELECT
127         NVL(LOC.TOWN_OR_CITY
128            ,'NIL') || '-' || NVL(LOC.POSTAL_CODE
129            ,'NIL')
130       FROM
131         HR_LOCATIONS LOC,
132         HR_ORGANIZATION_UNITS HR
133       WHERE LOC.LOCATION_ID = HR.LOCATION_ID
134         AND HR.ORGANIZATION_ID = CP_ORGANIZATION_ID;
135     CURSOR COUNTRY_CUR(CP_ORGANIZATION_ID IN NUMBER) IS
136       SELECT
137         NVL(LOC.COUNTRY
138            ,'NIL')
139       FROM
140         HR_LOCATIONS LOC,
141         HR_ORGANIZATION_UNITS HR
142       WHERE LOC.LOCATION_ID = HR.LOCATION_ID
143         AND HR.ORGANIZATION_ID = CP_ORGANIZATION_ID;
144     CURSOR PO_VENDOR_NAME_CUR(P_TDS_PAYMENT_TYPE IN VARCHAR2) IS
145       SELECT
146         DISTINCT
147         ( NVL(PO.VENDOR_NAME
148            ,'NULL') )
149       FROM
150         PO_VENDORS PO,
151         JAI_AP_TDS_F16_HDRS_ALL AFRM,
152         JAI_AP_TDS_VENDOR_HDRS TDS
153       WHERE PO.VENDOR_ID = AFRM.TAX_AUTHORITY_ID
154         AND TDS.TAX_ID = AFRM.TDS_TAX_ID
155         AND AFRM.TDS_TAX_SECTION = P_TDS_PAYMENT_TYPE;
156     CURSOR ATTRIBUTE14_CUR(CP_ORGANIZATION_ID IN NUMBER) IS
157       SELECT
158         NVL(ATTRIBUTE14
159            ,'NA')
160       FROM
161         HR_ORGANIZATION_UNITS
162       WHERE ORGANIZATION_ID = NVL(CP_ORGANIZATION_ID
163          ,0);
164     CURSOR ATTRIBUTE15_CUR(CP_ORGANIZATION_ID IN NUMBER) IS
165       SELECT
166         NVL(ATTRIBUTE15
167            ,'NA')
168       FROM
169         HR_ORGANIZATION_UNITS
170       WHERE ORGANIZATION_ID = NVL(CP_ORGANIZATION_ID
171          ,0);
172     LV_REPORTING_LEVEL VARCHAR2(2000);
173     LN_REPORTING_ENTITY_ID NUMBER;
174     LV_PREDICATE_TYPE VARCHAR2(2000);
175     LV_PREDICATE_WHERE VARCHAR2(2000);
176   BEGIN
177     OPEN ORG_NAME_CUR(P_ORGANIZATION_ID);
178     FETCH ORG_NAME_CUR
179      INTO F_NAME;
180     CLOSE ORG_NAME_CUR;
181     OPEN INTERNAL_ADD_CUR(P_ORGANIZATION_ID);
182     FETCH INTERNAL_ADD_CUR
183      INTO F_INTERNAL_ADDRS;
184     CLOSE INTERNAL_ADD_CUR;
185     OPEN TOWN_OR_CITY_CUR(P_ORGANIZATION_ID);
186     FETCH TOWN_OR_CITY_CUR
187      INTO F_ADDRS_LINE1;
188     CLOSE TOWN_OR_CITY_CUR;
189     OPEN COUNTRY_CUR(P_ORGANIZATION_ID);
190     FETCH COUNTRY_CUR
191      INTO F_COUNTRY;
192     CLOSE COUNTRY_CUR;
193     OPEN PO_VENDOR_NAME_CUR(P_TDS_PAYMENT_TYPE);
194     FETCH PO_VENDOR_NAME_CUR
195      INTO F_VENDOR_NAME;
196     CLOSE PO_VENDOR_NAME_CUR;
197     OPEN ATTRIBUTE14_CUR(P_ORGANIZATION_ID);
198     FETCH ATTRIBUTE14_CUR
199      INTO F_TDS_VENDOR;
200     CLOSE ATTRIBUTE14_CUR;
201     OPEN ATTRIBUTE15_CUR(P_ORGANIZATION_ID);
202     FETCH ATTRIBUTE15_CUR
203      INTO F_TDS_PREFIX;
204     CLOSE ATTRIBUTE15_CUR;
205     /*SRW.MESSAGE(1275
206                ,'def where clause is ' || P_ORG_WHERE)*/NULL;
207     RETURN (TRUE);
208   END AFTERPFORM;
209 
210   FUNCTION CF_VENDOR_SITE_ADDRESSFORMULA(VENDOR_SITE_ID_V IN NUMBER) RETURN CHAR IS
211     CURSOR C_VEND_SITE_ADDR IS
212       SELECT
213         POVS.ADDRESS_LINE1 || ',' || POVS.ADDRESS_LINE2 || ',' || POVS.ADDRESS_LINE3 || ',' || POVS.CITY || ',' || POVS.STATE || ',' || POVS.ZIP || ',' || POVS.COUNTRY VENDOR_SITE_ADDRESS
214       FROM
215         PO_VENDOR_SITES_ALL POVS
216       WHERE VENDOR_SITE_ID = VENDOR_SITE_ID_V;
217     V_VENDOR_SITE_ADDR VARCHAR2(500);
218   BEGIN
219     OPEN C_VEND_SITE_ADDR;
220     FETCH C_VEND_SITE_ADDR
221      INTO V_VENDOR_SITE_ADDR;
222     CLOSE C_VEND_SITE_ADDR;
223     RETURN (V_VENDOR_SITE_ADDR);
224   EXCEPTION
225     WHEN OTHERS THEN
226       RETURN ('NULL');
227   END CF_VENDOR_SITE_ADDRESSFORMULA;
228 
229   FUNCTION CF_ACCOUNTING_DATEFORMULA(INVOICE_ID_V IN NUMBER) RETURN DATE IS
230     CURSOR C_ACCTD_DATE IS
231       SELECT
232         ACCOUNTING_DATE
233       FROM
234         AP_INVOICE_LINES_ALL
235       WHERE INVOICE_ID = INVOICE_ID_V
236         AND LINE_NUMBER = 1;
237     V_ACCTD_DATE DATE;
238   BEGIN
239     OPEN C_ACCTD_DATE;
240     FETCH C_ACCTD_DATE
241      INTO V_ACCTD_DATE;
242     CLOSE C_ACCTD_DATE;
243     RETURN (V_ACCTD_DATE);
244   EXCEPTION
245     WHEN OTHERS THEN
246       RETURN (NULL);
247   END CF_ACCOUNTING_DATEFORMULA;
248 
249   FUNCTION CF_TDS_AMOUNTFORMULA(INVOICE_ID_V IN NUMBER
250                                ,TAX_RATE IN NUMBER
251                                ,SURCHARGE_RATE IN NUMBER
252                                ,INVOICE_AMOUNT IN NUMBER) RETURN NUMBER IS
253     TDS_TMP NUMBER := 0;
254     CURSOR FETCH_PREPAYMENT_AMT_CUR IS
255       SELECT
256         SUM(AMOUNT)
257       FROM
258         AP_INVOICE_DISTRIBUTIONS_ALL APD1
259       WHERE INVOICE_ID = INVOICE_ID_V
260         AND LINE_TYPE_LOOKUP_CODE = 'PREPAY'
261         AND PREPAY_DISTRIBUTION_ID IN (
262         SELECT
263           INVOICE_DISTRIBUTION_ID
264         FROM
265           AP_INVOICE_DISTRIBUTIONS_ALL APD2
266         WHERE exists (
267           SELECT
268             1
269           FROM
270             JAI_AP_TDS_F16_DTLS_ALL JA
271           WHERE JA.INVOICE_ID = APD2.INVOICE_ID ) );
272     V_PREPAYMENT_AMOUNT NUMBER;
273     V_TDS_TAX_RATE NUMBER;
274     CURSOR C_RTN_AMOUNT(P_INVOICE_ID IN NUMBER) IS
275       SELECT
276         NVL(AMT_REVERSED
277            ,0)
278       FROM
279         JAI_AP_TDS_INVOICES
280       WHERE INVOICE_ID = P_INVOICE_ID;
281     V_RTN_AMOUNT NUMBER;
282   BEGIN
283     V_TDS_TAX_RATE := TAX_RATE - SURCHARGE_RATE;
284     OPEN C_RTN_AMOUNT(INVOICE_ID_v);
285     FETCH C_RTN_AMOUNT
286      INTO V_RTN_AMOUNT;
287     CLOSE C_RTN_AMOUNT;
288     TDS_TMP := (NVL(V_TDS_TAX_RATE
289                   ,1) * NVL(INVOICE_AMOUNT
290                   ,0) / 100) - NVL(V_RTN_AMOUNT
291                   ,0);
292     /*SRW.MESSAGE(1112
293                ,'invid->' || INVOICE_AMOUNT || ', v_rtn_amount->' || V_RTN_AMOUNT || ', v_tds_tax_rate->' || V_TDS_TAX_RATE)*/NULL;
294     RETURN (ROUND(TDS_TMP
295                 ,2));
296   END CF_TDS_AMOUNTFORMULA;
297 
298   FUNCTION CF_INVOICE_AMOUNTFORMULA(INVOICE_ID_V IN NUMBER
299                                    ,INVOICE_AMOUNT IN NUMBER) RETURN NUMBER IS
300     CURSOR FETCH_PREPAYMENT_AMT_CUR IS
301       SELECT
302         SUM(AMOUNT)
303       FROM
304         AP_INVOICE_DISTRIBUTIONS_ALL APD1
305       WHERE INVOICE_ID = INVOICE_ID_V
306         AND LINE_TYPE_LOOKUP_CODE = 'PREPAY'
307         AND PREPAY_DISTRIBUTION_ID IN (
308         SELECT
309           INVOICE_DISTRIBUTION_ID
310         FROM
311           AP_INVOICE_DISTRIBUTIONS_ALL APD2
312         WHERE exists (
313           SELECT
314             1
315           FROM
316             JAI_AP_TDS_F16_DTLS_ALL JA
317           WHERE JA.INVOICE_ID = APD2.INVOICE_ID ) );
318     V_PREPAYMENT_AMOUNT NUMBER;
319     V_INV_AMOUNT NUMBER;
320     CURSOR C_RTN_BASE_AMOUNT(P_INVOICE_ID IN NUMBER) IS
321       SELECT
322         NVL(AMT_APPLIED
323            ,0)
324       FROM
325         JAI_AP_TDS_INVOICES
326       WHERE INVOICE_ID = P_INVOICE_ID;
327     V_RTN_BASE_AMOUNT NUMBER;
328   BEGIN
329     OPEN C_RTN_BASE_AMOUNT(INVOICE_ID_v);
330     FETCH C_RTN_BASE_AMOUNT
331      INTO V_RTN_BASE_AMOUNT;
332     CLOSE C_RTN_BASE_AMOUNT;
333     V_INV_AMOUNT := NVL(INVOICE_AMOUNT
334                        ,0) - NVL(V_RTN_BASE_AMOUNT
335                        ,0);
336     /*SRW.MESSAGE(1111
337                ,'invid->' || INVOICE_ID || ', rtvnAmt->' || V_RTN_BASE_AMOUNT)*/NULL;
338     RETURN (V_INV_AMOUNT);
339   END CF_INVOICE_AMOUNTFORMULA;
340 
341   FUNCTION CF_TOT_TDS_TAX_AMOUNTFORMULA(TDS_INV_AMT IN NUMBER
342                                        ,SUR_AMT IN NUMBER) RETURN NUMBER IS
343   BEGIN
344     RETURN (ROUND(NVL(TDS_INV_AMT
345                     ,0) + NVL(SUR_AMT
346                     ,0)));
347   END CF_TOT_TDS_TAX_AMOUNTFORMULA;
348 
349   FUNCTION P_SUPPLIER_ORG_TYPEVALIDTRIGGE RETURN BOOLEAN IS
350   BEGIN
351   P_SUPPLIER_ORG_TYPE_T := P_SUPPLIER_ORG_TYPE;
352     IF UPPER(NVL(P_SUPPLIER_ORG_TYPE
353              ,'XXX')) <> 'COMPANY' THEN
354       P_SUPPLIER_ORG_TYPE_T := NULL;
355     END IF;
356     RETURN (TRUE);
357   END P_SUPPLIER_ORG_TYPEVALIDTRIGGE;
358 
359   FUNCTION CF_PAN_NOFORMULA(VENDOR_ID IN NUMBER
360                            ,VENDOR_SITE_ID IN NUMBER) RETURN CHAR IS
361   BEGIN
362     RETURN GET_PAN_TAN(VENDOR_ID
363                       ,VENDOR_SITE_ID
364                       ,'PAN');
365   END CF_PAN_NOFORMULA;
366 
367   FUNCTION GET_PAN_TAN(P_VENDOR_ID IN JAI_AP_TDS_VENDOR_HDRS.VENDOR_ID%TYPE
368                       ,P_VENDOR_SITE_ID IN JAI_AP_TDS_VENDOR_HDRS.VENDOR_SITE_ID%TYPE
369                       ,P_PAN_OR_TAN IN VARCHAR2) RETURN VARCHAR2 IS
370     CURSOR CUR_PAN_TAN(CP_VENDOR_ID IN JAI_AP_TDS_VENDOR_HDRS.VENDOR_ID%TYPE,CP_VENDOR_SITE_ID IN JAI_AP_TDS_VENDOR_HDRS.VENDOR_SITE_ID%TYPE) IS
371       SELECT
372         PAN_NO,
373         TAN_NO
374       FROM
375         JAI_AP_TDS_VENDOR_HDRS
376       WHERE VENDOR_ID = CP_VENDOR_ID
377         AND VENDOR_SITE_ID = CP_VENDOR_SITE_ID;
378     LR_PAN_TAN CUR_PAN_TAN%ROWTYPE;
379   BEGIN
380     OPEN CUR_PAN_TAN(P_VENDOR_ID,P_VENDOR_SITE_ID);
381     FETCH CUR_PAN_TAN
382      INTO LR_PAN_TAN;
383     CLOSE CUR_PAN_TAN;
384     IF LR_PAN_TAN.PAN_NO IS NULL THEN
385       OPEN CUR_PAN_TAN(P_VENDOR_ID,0);
386       FETCH CUR_PAN_TAN
387        INTO LR_PAN_TAN;
388       CLOSE CUR_PAN_TAN;
389     END IF;
390     IF P_PAN_OR_TAN = 'PAN' THEN
391       RETURN LR_PAN_TAN.PAN_NO;
392     ELSIF P_PAN_OR_TAN = 'TAN' THEN
393       RETURN LR_PAN_TAN.TAN_NO;
394     ELSE
395       RETURN NULL;
396     END IF;
397   END GET_PAN_TAN;
398 
399   FUNCTION AFTERREPORT RETURN BOOLEAN IS
400   BEGIN
401     /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
402     RETURN (TRUE);
403   END AFTERREPORT;
404 
405   FUNCTION CF_AMOUNTSFORMULA(INVOICE_ID IN NUMBER
406                             ,TAX_ID IN NUMBER
407                             ,TOT_TAX_AMT IN NUMBER) RETURN NUMBER IS
408     CURSOR C_GET_TDS_RATES(P_TAX_ID IN NUMBER) IS
409       SELECT
410         ( NVL(TAX_RATE
411            ,0) - ( NVL(SURCHARGE_RATE
412            ,0) + NVL(CESS_RATE
413            ,0) ) ) TDS_RATE,
414         NVL(SURCHARGE_RATE
415            ,0) SURCHARGE_RATE,
416         NVL(CESS_RATE
417            ,0),
418         NVL(SH_CESS_RATE
419            ,0),
420         NVL(TAX_RATE
421            ,0)
422       FROM
423         JAI_CMN_TAXES_ALL JTC
424       WHERE TAX_ID = P_TAX_ID;
425     LN_TDS_RATE NUMBER;
426     LN_TAX_RATE NUMBER;
427     LN_SURCHARGE_RATE NUMBER;
428     LN_CESS_RATE NUMBER;
429     LN_SH_CESS_RATE NUMBER;
430   BEGIN
431     /*SRW.MESSAGE(1275
432                ,INVOICE_ID || ' ' || TAX_ID)*/NULL;
433     OPEN C_GET_TDS_RATES(TAX_ID);
434     FETCH C_GET_TDS_RATES
435      INTO LN_TDS_RATE,LN_SURCHARGE_RATE,LN_CESS_RATE,LN_SH_CESS_RATE,LN_TAX_RATE;
436     CLOSE C_GET_TDS_RATES;
437     /*SRW.MESSAGE(13
438                ,':ln_tds_rate  : ' || LN_TDS_RATE || ':ln_surcharge_rate : ' || LN_SURCHARGE_RATE || ' ln_cess_rate : ' || LN_CESS_RATE || ':tot_tax_amt : ' || TOT_TAX_AMT)*/NULL;
439     CP_SURCHARGE_AMOUNT := ROUND((TOT_TAX_AMT * LN_SURCHARGE_RATE / LN_TAX_RATE)
440                                 ,2);
441     CP_CESS_AMOUNT := ROUND((TOT_TAX_AMT * LN_CESS_RATE / LN_TAX_RATE)
442                            ,2);
443     CP_SH_CESS_AMOUNT := ROUND((TOT_TAX_AMT * LN_CESS_RATE / LN_TAX_RATE)
444                               ,2);
445     CP_TDS_AMOUNT := TOT_TAX_AMT - NVL(CP_SURCHARGE_AMOUNT
446                         ,0) - NVL(CP_CESS_AMOUNT
447                         ,0) - NVL(CP_SH_CESS_AMOUNT
448                         ,0);
449     RETURN (1);
450   END CF_AMOUNTSFORMULA;
451 
452   FUNCTION CP_CESS_AMOUNT_P RETURN NUMBER IS
453   BEGIN
454     RETURN CP_CESS_AMOUNT;
455   END CP_CESS_AMOUNT_P;
456 
457   FUNCTION CP_SURCHARGE_AMOUNT_P RETURN NUMBER IS
458   BEGIN
459     RETURN CP_SURCHARGE_AMOUNT;
460   END CP_SURCHARGE_AMOUNT_P;
461 
462   FUNCTION CP_TDS_AMOUNT_P RETURN NUMBER IS
463   BEGIN
464     RETURN CP_TDS_AMOUNT;
465   END CP_TDS_AMOUNT_P;
466 
467   FUNCTION CP_SH_CESS_AMOUNT_P RETURN NUMBER IS
468   BEGIN
469     RETURN CP_SH_CESS_AMOUNT;
470   END CP_SH_CESS_AMOUNT_P;
471 
472 END JA_JAINITCP_XMLP_PKG;
473