DBA Data[Home] [Help]

PACKAGE BODY: APPS.JA_JAINRECI_XMLP_PKG

Source


1 PACKAGE BODY JA_JAINRECI_XMLP_PKG AS
2 /* $Header: JAINRECIB.pls 120.1 2007/12/25 16:27:07 dwkrishn noship $ */
3   FUNCTION CF_TRANSACTIONAL_CURRFORMULA(PARENT_TRANSACTION_ID IN NUMBER) RETURN VARCHAR2 IS
4     CURSOR PARENT_CUR IS
5       SELECT
6         CURRENCY_CODE,
7         CURRENCY_CONVERSION_RATE,
8         TRANSACTION_TYPE,
9         PO_HEADER_ID
10       FROM
11         RCV_TRANSACTIONS
12       WHERE TRANSACTION_ID = PARENT_TRANSACTION_ID;
13     V_PARENT_REC PARENT_CUR%ROWTYPE;
14   BEGIN
15     OPEN PARENT_CUR;
16     FETCH PARENT_CUR
17      INTO V_PARENT_REC;
18     CLOSE PARENT_CUR;
19     IF V_PARENT_REC.TRANSACTION_TYPE <> 'MATCH' THEN
20       RETURN V_PARENT_REC.CURRENCY_CODE;
21     ELSE
22       FOR po_rec IN (SELECT
23                        CURRENCY_CODE,
24                        RATE
25                      FROM
26                        PO_HEADERS_ALL
27                      WHERE PO_HEADER_ID = V_PARENT_REC.PO_HEADER_ID) LOOP
28         RETURN PO_REC.CURRENCY_CODE;
29       END LOOP;
30     END IF;
31     RETURN NULL;
32   END CF_TRANSACTIONAL_CURRFORMULA;
33 
34   FUNCTION CF_2FORMULA(PARENT_TRANSACTION_ID IN NUMBER
35                       ,SHIPMENT_LINE_ID IN NUMBER
36                       ,CF_CURRENCY_CODE IN VARCHAR2
37                       ,PRIMARY_QUANTITY IN NUMBER) RETURN NUMBER IS
38     V_CONV_FACTOR RCV_TRANSACTIONS.CURRENCY_CONVERSION_RATE%TYPE;
39     V_CVD_AMT NUMBER;
40     V_CURRENCY_CONVERSION_RATE RCV_TRANSACTIONS.CURRENCY_CONVERSION_RATE%TYPE;
41     LN_VAT_TAX NUMBER;
42     CURSOR PARENT_CUR IS
43       SELECT
44         CURRENCY_CODE,
45         CURRENCY_CONVERSION_RATE,
46         TRANSACTION_TYPE,
47         PRIMARY_QUANTITY,
48         PO_HEADER_ID
49       FROM
50         RCV_TRANSACTIONS
51       WHERE TRANSACTION_ID = PARENT_TRANSACTION_ID;
52     V_PARENT_REC PARENT_CUR%ROWTYPE;
53   BEGIN
54     OPEN PARENT_CUR;
55     FETCH PARENT_CUR
56      INTO V_PARENT_REC;
57     CLOSE PARENT_CUR;
58     IF V_PARENT_REC.TRANSACTION_TYPE <> 'MATCH' THEN
59       V_CURRENCY_CONVERSION_RATE := V_PARENT_REC.CURRENCY_CONVERSION_RATE;
60     ELSE
61       FOR po_rec IN (SELECT
62                        CURRENCY_CODE,
63                        RATE
64                      FROM
65                        PO_HEADERS_ALL
66                      WHERE PO_HEADER_ID = V_PARENT_REC.PO_HEADER_ID) LOOP
67         V_CURRENCY_CONVERSION_RATE := PO_REC.RATE;
68       END LOOP;
69     END IF;
70     FOR cr_rec IN (SELECT
71                      JRTL.TAX_AMOUNT,
72                      JRTL.TAX_TYPE,
73                      JRTL.CURRENCY,
74                      NVL(MOD_CR_PERCENTAGE
75                         ,0) MOD_CR_PERCENTAGE
76                    FROM
77                      JAI_RCV_LINE_TAXES JRTL,
78                      JAI_CMN_TAXES_ALL JTC
79                    WHERE SHIPMENT_LINE_ID = CF_2FORMULA.SHIPMENT_LINE_ID
80                      AND NVL(MODVAT_FLAG
81                       ,'N') = 'Y'
82                      AND JRTL.TAX_ID = JTC.TAX_ID) LOOP
83       IF CR_REC.CURRENCY <> CF_CURRENCY_CODE THEN
84         V_CONV_FACTOR := NVL(V_CURRENCY_CONVERSION_RATE
85                             ,1);
86       ELSE
87         V_CONV_FACTOR := 1;
88       END IF;
89       IF (V_PARENT_REC.PRIMARY_QUANTITY <> 0) THEN
90         V_CONV_FACTOR := V_CONV_FACTOR * (PRIMARY_QUANTITY / V_PARENT_REC.PRIMARY_QUANTITY);
91       END IF;
92       IF CR_REC.TAX_TYPE = 'CVD' THEN
93         V_CVD_AMT := NVL(V_CVD_AMT
94                         ,0) + (NVL(CR_REC.TAX_AMOUNT
95                         ,0) * CR_REC.MOD_CR_PERCENTAGE / 100) * V_CONV_FACTOR;
96       ELSIF CR_REC.TAX_TYPE in ('VALUE ADDED TAX','PURCHASE TAX','TURNOVER TAX','ENTRY TAX') THEN
97         LN_VAT_TAX := NVL(LN_VAT_TAX
98                          ,0) + (NVL(CR_REC.TAX_AMOUNT
99                          ,0) * CR_REC.MOD_CR_PERCENTAGE / 100) * V_CONV_FACTOR;
100       END IF;
101     END LOOP;
102     CP_VAT_TAX := NVL(LN_VAT_TAX
103                      ,0);
104     RETURN NVL(V_CVD_AMT
105               ,0);
106   END CF_2FORMULA;
107 
108   FUNCTION CF_3FORMULA(LOCATION_ID IN NUMBER) RETURN VARCHAR2 IS
109   BEGIN
110     FOR loc_rec IN (SELECT
111                       DESCRIPTION
112                     FROM
113                       HR_LOCATIONS
114                     WHERE LOCATION_ID = cf_3formula.LOCATION_ID) LOOP
115       RETURN LOC_REC.DESCRIPTION;
116     END LOOP;
117     RETURN NULL;
118   END CF_3FORMULA;
119 
120   FUNCTION CF_4FORMULA(LOCATION_ID IN NUMBER) RETURN VARCHAR2 IS
121   BEGIN
122     FOR loc_rec IN (SELECT
123                       COUNTRY
124                     FROM
125                       HR_LOCATIONS
126                     WHERE LOCATION_ID = cf_4formula.LOCATION_ID) LOOP
127       RETURN LOC_REC.COUNTRY;
128     END LOOP;
129     RETURN NULL;
130   END CF_4FORMULA;
131 
132   FUNCTION CF_5FORMULA(LOCATION_ID IN NUMBER) RETURN VARCHAR2 IS
133   BEGIN
134     FOR loc_rec IN (SELECT
135                       ADDRESS_LINE_1
136                     FROM
137                       HR_LOCATIONS
138                     WHERE LOCATION_ID = CF_5FORMULA.LOCATION_ID) LOOP
139       RETURN LOC_REC.ADDRESS_LINE_1;
140     END LOOP;
141     RETURN NULL;
142   END CF_5FORMULA;
143 
144   FUNCTION CF_6FORMULA(LOCATION_ID IN NUMBER) RETURN VARCHAR2 IS
145   BEGIN
146     FOR loc_rec IN (SELECT
147                       ADDRESS_LINE_2
148                     FROM
149                       HR_LOCATIONS
150                     WHERE LOCATION_ID = CF_6FORMULA.LOCATION_ID) LOOP
151       RETURN LOC_REC.ADDRESS_LINE_2;
152     END LOOP;
153     RETURN NULL;
154   END CF_6FORMULA;
155 
156   FUNCTION CF_7FORMULA(LOCATION_ID IN NUMBER) RETURN VARCHAR2 IS
157   BEGIN
158     FOR loc_rec IN (SELECT
159                       ADDRESS_LINE_3
160                     FROM
161                       HR_LOCATIONS
162                     WHERE LOCATION_ID = CF_7FORMULA.LOCATION_ID) LOOP
163       RETURN LOC_REC.ADDRESS_LINE_3;
164     END LOOP;
165     RETURN NULL;
166   END CF_7FORMULA;
167 
168   FUNCTION CF_8FORMULA(ORGANIZATION_ID1 IN NUMBER
169                       ,INVENTORY_ITEM_ID IN NUMBER) RETURN VARCHAR2 IS
170   BEGIN
171     FOR item_rec IN (SELECT
172                        ITEM_FOLIO
173                      FROM
174                        JAI_INV_ITM_SETUPS
175                      WHERE ORGANIZATION_ID = ORGANIZATION_ID1
176                        AND INVENTORY_ITEM_ID = CF_8FORMULA.INVENTORY_ITEM_ID) LOOP
177       RETURN ITEM_REC.ITEM_FOLIO;
178     END LOOP;
179     RETURN NULL;
180   END CF_8FORMULA;
181 
182   FUNCTION CF_CURRENCY_CODEFORMULA(ORGANIZATION_ID1 IN NUMBER) RETURN CHAR IS
183     V_CURRENCY_CODE GL_SETS_OF_BOOKS.CURRENCY_CODE%TYPE;
184   BEGIN
185     FOR fetch_curr_code IN (SELECT
186                               CURRENCY_CODE
187                             FROM
188                               GL_SETS_OF_BOOKS
189                             WHERE SET_OF_BOOKS_ID in (
190                               SELECT
191                                 SET_OF_BOOKS_ID
192                               FROM
193                                 ORG_ORGANIZATION_DEFINITIONS
194                               WHERE ORGANIZATION_ID = ORGANIZATION_ID1 )) LOOP
195       V_CURRENCY_CODE := FETCH_CURR_CODE.CURRENCY_CODE;
196     END LOOP;
197     RETURN (V_CURRENCY_CODE);
198   EXCEPTION
199     WHEN OTHERS THEN
200       RETURN (NULL);
201   END CF_CURRENCY_CODEFORMULA;
202 
203   FUNCTION CF_ORGANIZATION_NAMEFORMULA(ORGANIZATION_ID1 IN NUMBER) RETURN CHAR IS
204     V_ORGANIZATION_NAME ORG_ORGANIZATION_DEFINITIONS.ORGANIZATION_NAME%TYPE;
205   BEGIN
206     FOR fetch_org_name IN (SELECT
207                              ORGANIZATION_NAME
208                            FROM
209                              ORG_ORGANIZATION_DEFINITIONS
210                            WHERE ORGANIZATION_ID = ORGANIZATION_ID1) LOOP
211       V_ORGANIZATION_NAME := FETCH_ORG_NAME.ORGANIZATION_NAME;
212     END LOOP;
213     RETURN (V_ORGANIZATION_NAME);
214   EXCEPTION
215     WHEN OTHERS THEN
216       RETURN (NULL);
217   END CF_ORGANIZATION_NAMEFORMULA;
218 
219   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
220   BEGIN
221     P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
222     /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
223     /*SRW.MESSAGE(1275
224                ,'Report Version is 120.6 Last modified date is 24-Nov-2006')*/NULL;
225     RETURN (TRUE);
226   END BEFOREREPORT;
227 
228   FUNCTION CF_CESS_AMOUNTFORMULA(TRANSACTION_ID IN NUMBER
229                                 ,ORGANIZATION_ID1 IN NUMBER
230                                 ,LOCATION_ID IN NUMBER
231                                 ,REGISTER_TYPE IN VARCHAR2
232                                 ,DR_BASIC_ED IN NUMBER
233                                 ,DR_ADDITIONAL_ED IN NUMBER
234                                 ,DR_OTHER_ED IN NUMBER) RETURN NUMBER IS
235     LN_CESS_AMOUNT NUMBER;
236     LV_EXC_EDU_CESS JAI_CMN_RG_OTHERS.TAX_TYPE%TYPE;
237     LV_CVD_EDU_CESS JAI_CMN_RG_OTHERS.TAX_TYPE%TYPE;
238     CURSOR LCU_GET_PLA_CESS_AMOUNT IS
239       SELECT
240         NVL(SUM(JRO.CREDIT)
241            ,SUM(JRO.DEBIT))
242       FROM
243         JAI_CMN_RG_OTHERS JRO
244       WHERE JRO.SOURCE_REGISTER_ID IN (
245         SELECT
246           RG.REGISTER_ID
247         FROM
248           JAI_CMN_RG_PLA_TRXS RG
249         WHERE RG.REF_DOCUMENT_ID = TRANSACTION_ID
250           AND RG.ORGANIZATION_ID = ORGANIZATION_ID1
251           AND RG.TRANSACTION_SOURCE_NUM = 19
252           AND RG.LOCATION_ID = cf_cess_amountformula.LOCATION_ID )
253         AND JRO.SOURCE_TYPE = 2
254         AND JRO.TAX_TYPE IN ( LV_EXC_EDU_CESS , LV_CVD_EDU_CESS );
255     CURSOR LCU_GET_CESS_AMOUNT IS
256       SELECT
257         NVL(SUM(JRO.CREDIT)
258            ,SUM(JRO.DEBIT))
259       FROM
260         JAI_CMN_RG_OTHERS JRO
261       WHERE JRO.SOURCE_REGISTER_ID IN (
262         SELECT
263           RG.REGISTER_ID
264         FROM
265           JAI_CMN_RG_23AC_II_TRXS RG
266         WHERE RG.RECEIPT_REF = TRANSACTION_ID
267           AND RG.ORGANIZATION_ID = ORGANIZATION_ID1
268           AND RG.TRANSACTION_SOURCE_NUM = 18
269           AND RG.LOCATION_ID = cf_cess_amountformula.LOCATION_ID )
270         AND JRO.SOURCE_TYPE = 1
271         AND JRO.TAX_TYPE IN ( LV_EXC_EDU_CESS , LV_CVD_EDU_CESS );
272   BEGIN
273     LV_EXC_EDU_CESS := 'EXCISE_EDUCATION_CESS';
274     LV_CVD_EDU_CESS := 'CVD_EDUCATION_CESS';
275     IF (REGISTER_TYPE = 'PLA') THEN
276       OPEN LCU_GET_PLA_CESS_AMOUNT;
277       FETCH LCU_GET_PLA_CESS_AMOUNT
278        INTO LN_CESS_AMOUNT;
279       CLOSE LCU_GET_PLA_CESS_AMOUNT;
280     ELSE
281       OPEN LCU_GET_CESS_AMOUNT;
282       FETCH LCU_GET_CESS_AMOUNT
283        INTO LN_CESS_AMOUNT;
284       CLOSE LCU_GET_CESS_AMOUNT;
285     END IF;
286     /*SRW.MESSAGE(1000
287                ,'CessFor basic:' || DR_BASIC_ED || ', rndBasic:' || CP_ROUND_BASIC_ED || ', addl:' || DR_ADDITIONAL_ED || ', rndAddl:' || CP_ROUND_ADDITIONAL_ED || ', oth:' || DR_OTHER_ED || ', rndOth:'
288 	       || CP_ROUND_OTHER_ED || ', cess:' || LN_CESS_AMOUNT || ', rndAddl:' || CP_ROUND_CESS)*/NULL;
289     RETURN (NVL(LN_CESS_AMOUNT
290               ,0) + NVL(CP_ROUND_CESS
291               ,0));
292   EXCEPTION
293     WHEN OTHERS THEN
294       IF (LCU_GET_PLA_CESS_AMOUNT%ISOPEN) THEN
295         CLOSE LCU_GET_PLA_CESS_AMOUNT;
296       END IF;
297       IF (LCU_GET_CESS_AMOUNT%ISOPEN) THEN
298         CLOSE LCU_GET_CESS_AMOUNT;
299       END IF;
300       RETURN (0);
301   END CF_CESS_AMOUNTFORMULA;
302 
303   FUNCTION CF_ROUNDING_AMTSFORMULA(ROUNDING_ID IN NUMBER
304                                   ,REGISTER_TYPE IN VARCHAR2
305                                   ,DR_BASIC_ED IN NUMBER
306                                   ,DR_ADDITIONAL_ED IN NUMBER
307                                   ,DR_OTHER_ED IN NUMBER) RETURN NUMBER IS
308     CURSOR C_ROUNDING_DTL(CP_ROUNDING_ID IN NUMBER) IS
309       SELECT
310         REGISTER_ID
311       FROM
312         JAI_CMN_RG_ROUND_HDRS
313       WHERE ROUNDING_ID = CP_ROUNDING_ID;
314     CURSOR C_23P2_RND_AMTS(CP_REGISTER_ID IN NUMBER) IS
315       SELECT
316         - NVL(CR_BASIC_ED
317            ,0) + NVL(DR_BASIC_ED
318            ,0) BASIC_ED,
319         - NVL(CR_ADDITIONAL_ED
320            ,0) + NVL(DR_ADDITIONAL_ED
321            ,0) ADDITIONAL_ED,
322         - NVL(CR_OTHER_ED
323            ,0) + NVL(DR_OTHER_ED
324            ,0) OTHER_ED,
325         - NVL(CR_ADDITIONAL_CVD
326            ,0) + NVL(DR_ADDITIONAL_CVD
327            ,0) OTHER_ED
328       FROM
329         JAI_CMN_RG_23AC_II_TRXS
330       WHERE REGISTER_ID = CP_REGISTER_ID;
331     CURSOR C_PLA_RND_AMTS(CP_REGISTER_ID IN NUMBER) IS
332       SELECT
333         - NVL(CR_BASIC_ED
334            ,0) + NVL(DR_BASIC_ED
335            ,0) BASIC_ED,
336         - NVL(CR_ADDITIONAL_ED
337            ,0) + NVL(DR_ADDITIONAL_ED
338            ,0) ADDITIONAL_ED,
339         - NVL(CR_OTHER_ED
340            ,0) + NVL(DR_OTHER_ED
341            ,0) OTHER_ED
342       FROM
343         JAI_CMN_RG_PLA_TRXS
344       WHERE REGISTER_ID = CP_REGISTER_ID;
345     LV_EXC_EDU_CESS JAI_CMN_RG_OTHERS.TAX_TYPE%TYPE;
346     LV_CVD_EDU_CESS JAI_CMN_RG_OTHERS.TAX_TYPE%TYPE;
347     CURSOR C_RND_CESS_AMT(CP_REGISTER_ID IN NUMBER,CP_SOURCE_TYPE IN NUMBER) IS
348       SELECT
349         SUM(NVL(DEBIT
350                ,0) - NVL(CREDIT
351                ,0))
352       FROM
353         JAI_CMN_RG_OTHERS
354       WHERE SOURCE_REGISTER_ID = CP_REGISTER_ID
355         AND SOURCE_TYPE = CP_SOURCE_TYPE
356         AND TAX_TYPE in ( LV_EXC_EDU_CESS , LV_CVD_EDU_CESS );
357     V_RND_BASIC_ED NUMBER;
358     V_RND_ADDITIONAL_ED NUMBER;
359     V_RND_ADDITIONAL_CVD NUMBER;
360     V_RND_OTHER_ED NUMBER;
361     V_RND_CESS NUMBER;
362     V_REGISTER_ID NUMBER;
363   BEGIN
364     IF ROUNDING_ID IS NOT NULL THEN
365       OPEN C_ROUNDING_DTL(ROUNDING_ID);
366       FETCH C_ROUNDING_DTL
367        INTO V_REGISTER_ID;
368       CLOSE C_ROUNDING_DTL;
369       IF REGISTER_TYPE in ('A','C') THEN
370         OPEN C_23P2_RND_AMTS(V_REGISTER_ID);
371         FETCH C_23P2_RND_AMTS
372          INTO V_RND_BASIC_ED,V_RND_ADDITIONAL_ED,V_RND_OTHER_ED,V_RND_ADDITIONAL_CVD;
373         CLOSE C_23P2_RND_AMTS;
374         LV_EXC_EDU_CESS := 'EXCISE_EDUCATION_CESS';
375         LV_CVD_EDU_CESS := 'CVD_EDUCATION_CESS';
376         OPEN C_RND_CESS_AMT(V_REGISTER_ID,1);
377         FETCH C_RND_CESS_AMT
378          INTO V_RND_CESS;
379         CLOSE C_RND_CESS_AMT;
380       ELSIF REGISTER_TYPE = 'PLA' THEN
381         OPEN C_PLA_RND_AMTS(V_REGISTER_ID);
385         LV_EXC_EDU_CESS := 'EXCISE_EDUCATION_CESS';
382         FETCH C_PLA_RND_AMTS
383          INTO V_RND_BASIC_ED,V_RND_ADDITIONAL_ED,V_RND_OTHER_ED;
384         CLOSE C_PLA_RND_AMTS;
386         LV_CVD_EDU_CESS := 'CVD_EDUCATION_CESS';
387         OPEN C_RND_CESS_AMT(V_REGISTER_ID,2);
388         FETCH C_RND_CESS_AMT
389          INTO V_RND_CESS;
390         CLOSE C_RND_CESS_AMT;
391       END IF;
392       CP_ROUND_BASIC_ED := V_RND_BASIC_ED;
393       CP_ROUND_OTHER_ED := V_RND_OTHER_ED;
394       CP_ROUND_ADDITIONAL_ED := V_RND_ADDITIONAL_ED;
395       CP_ROUND_ADDITIONAL_CVD := V_RND_ADDITIONAL_CVD;
396       CP_ROUND_CESS := V_RND_CESS;
397     ELSE
398       CP_ROUND_BASIC_ED := 0;
399       CP_ROUND_OTHER_ED := 0;
400       CP_ROUND_ADDITIONAL_ED := 0;
401       CP_ROUND_CESS := 0;
402       CP_ROUND_ADDITIONAL_CVD := 0;
403     END IF;
404     /*SRW.MESSAGE(1000
405                ,'RndAmts basic:' || DR_BASIC_ED || ', rndBasic:' || CP_ROUND_BASIC_ED || ', addl:' || DR_ADDITIONAL_ED || ', rndAddl:' || CP_ROUND_ADDITIONAL_ED || ', oth:' || DR_OTHER_ED
406 	       || ', rndOth:' || CP_ROUND_OTHER_ED || ', rndAddl:' || CP_ROUND_CESS)*/NULL;
407     RETURN (V_RND_BASIC_ED + V_RND_OTHER_ED + V_RND_ADDITIONAL_ED + V_RND_CESS);
408   END CF_ROUNDING_AMTSFORMULA;
409 
410   FUNCTION CF_BASIC_EDFORMULA(DR_BASIC_ED IN NUMBER) RETURN NUMBER IS
411   BEGIN
412     RETURN (NVL(DR_BASIC_ED
413               ,0) + NVL(CP_ROUND_BASIC_ED
414               ,0));
415   END CF_BASIC_EDFORMULA;
416 
417   FUNCTION CF_ADDITIONAL_EDFORMULA(DR_ADDITIONAL_ED IN NUMBER) RETURN NUMBER IS
418   BEGIN
419     RETURN (NVL(DR_ADDITIONAL_ED
420               ,0) + NVL(CP_ROUND_ADDITIONAL_ED
421               ,0));
422   END CF_ADDITIONAL_EDFORMULA;
423 
424   FUNCTION CF_OTHER_EDFORMULA(DR_OTHER_ED IN NUMBER) RETURN NUMBER IS
425   BEGIN
426     RETURN (NVL(DR_OTHER_ED
427               ,0) + NVL(CP_ROUND_OTHER_ED
428               ,0));
429   END CF_OTHER_EDFORMULA;
430 
431   FUNCTION AFTERREPORT RETURN BOOLEAN IS
432   BEGIN
433     /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
434     RETURN (TRUE);
435   END AFTERREPORT;
436 
437   FUNCTION CF_ADDITIONAL_CVDFORMULA(DR_ADDITIONAL_CVD IN NUMBER) RETURN NUMBER IS
438   BEGIN
439     RETURN (NVL(DR_ADDITIONAL_CVD
440               ,0) + NVL(CP_ROUND_ADDITIONAL_CVD
441               ,0));
442   END CF_ADDITIONAL_CVDFORMULA;
443 
444   FUNCTION CF_CALC_VAT_INVNUM_DATEFORMULA(TRANSACTION_ID IN NUMBER) RETURN NUMBER IS
445     LC_VAT_INV_NO VARCHAR2(50);
446     LD_VAT_INV_DATE DATE;
447     CURSOR LCU_GET_VAT_DETAILS(P_TRANSACTION_ID IN NUMBER) IS
448       SELECT
449         JIRT.VAT_INVOICE_NO,
450         JIRT.VAT_INVOICE_DATE
451       FROM
452         JAI_RCV_TRANSACTIONS JIRT
453       WHERE JIRT.TRANSACTION_ID = P_TRANSACTION_ID;
454   BEGIN
455     OPEN LCU_GET_VAT_DETAILS(P_TRANSACTION_ID => TRANSACTION_ID);
456     FETCH LCU_GET_VAT_DETAILS
457      INTO LC_VAT_INV_NO,LD_VAT_INV_DATE;
458     CLOSE LCU_GET_VAT_DETAILS;
459     CP_VAT_INVOICE_NUMBER := LC_VAT_INV_NO;
460     CP_VAT_INVOICE_DATE := LD_VAT_INV_DATE;
461     RETURN (NULL);
462   EXCEPTION
463     WHEN OTHERS THEN
464       IF (LCU_GET_VAT_DETAILS%ISOPEN) THEN
465         CLOSE LCU_GET_VAT_DETAILS;
466       END IF;
467       RETURN (NULL);
468   END CF_CALC_VAT_INVNUM_DATEFORMULA;
469 
470   FUNCTION CF_SH_CESS_AMOUNTFORMULA(TRANSACTION_ID IN NUMBER
471                                    ,ORGANIZATION_ID1 IN NUMBER
472                                    ,LOCATION_ID IN NUMBER
473                                    ,REGISTER_TYPE IN VARCHAR2
474                                    ,DR_BASIC_ED IN NUMBER
475                                    ,DR_ADDITIONAL_ED IN NUMBER
476                                    ,DR_OTHER_ED IN NUMBER) RETURN NUMBER IS
477     CURSOR LCU_GET_PLA_CESS_AMOUNT IS
478       SELECT
479         NVL(SUM(JRO.CREDIT)
480            ,SUM(JRO.DEBIT))
481       FROM
482         JAI_CMN_RG_OTHERS JRO
483       WHERE JRO.SOURCE_REGISTER_ID in (
484         SELECT
485           RG.REGISTER_ID
486         FROM
487           JAI_CMN_RG_PLA_TRXS RG
488         WHERE RG.REF_DOCUMENT_ID = TRANSACTION_ID
489           AND RG.ORGANIZATION_ID = ORGANIZATION_ID1
490           AND RG.TRANSACTION_SOURCE_NUM = 19
491           AND RG.LOCATION_ID = cf_sh_cess_amountformula.LOCATION_ID )
492         AND JRO.SOURCE_TYPE = 2
493         AND JRO.TAX_TYPE in ( 'EXCISE_SH_EDU_CESS' , 'CVD_SH_EDU_CESS' );
494     CURSOR LCU_GET_CESS_AMOUNT IS
495       SELECT
496         NVL(SUM(JRO.CREDIT)
497            ,SUM(JRO.DEBIT))
498       FROM
499         JAI_CMN_RG_OTHERS JRO
500       WHERE JRO.SOURCE_REGISTER_ID in (
501         SELECT
502           RG.REGISTER_ID
503         FROM
504           JAI_CMN_RG_23AC_II_TRXS RG
505         WHERE RG.RECEIPT_REF = TRANSACTION_ID
506           AND RG.ORGANIZATION_ID = ORGANIZATION_ID1
507           AND RG.TRANSACTION_SOURCE_NUM = 18
508           AND RG.LOCATION_ID = cf_sh_cess_amountformula.LOCATION_ID )
509         AND JRO.SOURCE_TYPE = 1
510         AND JRO.TAX_TYPE in ( 'EXCISE_SH_EDU_CESS' , 'CVD_SH_EDU_CESS' );
511     LN_SH_CESS_AMOUNT NUMBER;
512   BEGIN
513     IF (REGISTER_TYPE = 'PLA') THEN
514       OPEN LCU_GET_PLA_CESS_AMOUNT;
515       FETCH LCU_GET_PLA_CESS_AMOUNT
516        INTO LN_SH_CESS_AMOUNT;
517       CLOSE LCU_GET_PLA_CESS_AMOUNT;
518     ELSE
519       OPEN LCU_GET_CESS_AMOUNT;
520       FETCH LCU_GET_CESS_AMOUNT
521        INTO LN_SH_CESS_AMOUNT;
522       CLOSE LCU_GET_CESS_AMOUNT;
523     END IF;
524     /*SRW.MESSAGE(1000
525                ,'CessFor basic:' || DR_BASIC_ED || ', rndBasic:' || CP_ROUND_BASIC_ED || ', addl:' || DR_ADDITIONAL_ED || ', rndAddl:' || CP_ROUND_ADDITIONAL_ED || ', oth:' || DR_OTHER_ED || ', rndOth:' ||
526 	       CP_ROUND_OTHER_ED || ', cess:' || LN_SH_CESS_AMOUNT || ', SH Rndcess:' || CP_SH_ROUND_CESS)*/NULL;
527     RETURN (NVL(LN_SH_CESS_AMOUNT
528               ,0) + NVL(CP_SH_ROUND_CESS
529               ,0));
530   EXCEPTION
531     WHEN OTHERS THEN
532       IF (LCU_GET_PLA_CESS_AMOUNT%ISOPEN) THEN
533         CLOSE LCU_GET_PLA_CESS_AMOUNT;
534       END IF;
535       IF (LCU_GET_CESS_AMOUNT%ISOPEN) THEN
536         CLOSE LCU_GET_CESS_AMOUNT;
537       END IF;
538       RETURN (0);
539   END CF_SH_CESS_AMOUNTFORMULA;
540 
541   FUNCTION CP_ROUND_BASIC_ED_P RETURN NUMBER IS
542   BEGIN
543     RETURN CP_ROUND_BASIC_ED;
544   END CP_ROUND_BASIC_ED_P;
545 
546   FUNCTION CP_ROUND_ADDITIONAL_ED_P RETURN NUMBER IS
547   BEGIN
548     RETURN CP_ROUND_ADDITIONAL_ED;
549   END CP_ROUND_ADDITIONAL_ED_P;
550 
551   FUNCTION CP_ROUND_ADDITIONAL_CVD_P RETURN NUMBER IS
552   BEGIN
553     RETURN CP_ROUND_ADDITIONAL_CVD;
554   END CP_ROUND_ADDITIONAL_CVD_P;
555 
556   FUNCTION CP_ROUND_OTHER_ED_P RETURN NUMBER IS
557   BEGIN
558     RETURN CP_ROUND_OTHER_ED;
559   END CP_ROUND_OTHER_ED_P;
560 
561   FUNCTION CP_ROUND_CESS_P RETURN NUMBER IS
562   BEGIN
563     RETURN CP_ROUND_CESS;
564   END CP_ROUND_CESS_P;
565 
566   FUNCTION CP_VAT_TAX_P RETURN NUMBER IS
567   BEGIN
568     RETURN CP_VAT_TAX;
569   END CP_VAT_TAX_P;
570 
571   FUNCTION CP_SH_ROUND_CESS_P RETURN NUMBER IS
572   BEGIN
573     RETURN CP_SH_ROUND_CESS;
574   END CP_SH_ROUND_CESS_P;
575 
576   FUNCTION CP_VAT_INVOICE_NUMBER_P RETURN NUMBER IS
577   BEGIN
578     RETURN CP_VAT_INVOICE_NUMBER;
579   END CP_VAT_INVOICE_NUMBER_P;
580 
581   FUNCTION CP_VAT_INVOICE_DATE_P RETURN DATE IS
582   BEGIN
583     RETURN CP_VAT_INVOICE_DATE;
584   END CP_VAT_INVOICE_DATE_P;
585 
586 END JA_JAINRECI_XMLP_PKG;
587 
588 
589