DBA Data[Home] [Help]

PACKAGE BODY: APPS.JA_JAINRG1_XMLP_PKG

Source


1 PACKAGE BODY JA_JAINRG1_XMLP_PKG AS
2 /* $Header: JAINRG1B.pls 120.1 2007/12/25 16:27:37 dwkrishn noship $ */
3   FUNCTION AFTERPFORM RETURN BOOLEAN IS
4     FOLIOMONTH DATE;
5     MAXENDDATE DATE;
6     NL CONSTANT VARCHAR2(1) DEFAULT fnd_global.local_chr(10);
7   BEGIN
8     IF P_FISCAL_YEAR IS NOT NULL AND P_MONTH IS NOT NULL THEN
9       FOLIOMONTH := TO_DATE('01-' || UPPER(P_MONTH) || TO_CHAR(P_FISCAL_YEAR
10                                    ,'-YYYY')
11                            ,'DD-MON-YYYY');
12       IF TRUNC(FOLIOMONTH) < TRUNC(P_FISCAL_YEAR) THEN
13         FOLIOMONTH := ADD_MONTHS(FOLIOMONTH
14                                 ,12);
15       END IF;
16       IF TRUNC(LAST_DAY(FOLIOMONTH)) < TRUNC(SYSDATE) THEN
17         P_TRN_FROM_DATE := TO_DATE('01-' || TO_CHAR(FOLIOMONTH
18                                           ,'MON-YYYY')
19                                   ,'DD-MON-YYYY');
20         P_TRN_TO_DATE := LAST_DAY(P_TRN_FROM_DATE);
21         VALIDATION_FLAG := 'Y';
22         IF PREV_PAGE = -1 THEN
23           /*SRW.MESSAGE(999
24                      ,'This Report is not run for the Previous Month')*/NULL;
25           VALIDATION_FLAG := 'N';
26         END IF;
27       END IF;
28     ELSE
29       VALIDATION_FLAG := 'N';
30     END IF;
31     EXECUTE IMMEDIATE
32       'ALTER SESSION SET EVENTS ''10046 trace name context forever, level 4''';
33     IF P_TRN_FROM_DATE IS NOT NULL AND P_TRN_TO_DATE IS NOT NULL THEN
34       IF P_TRN_FROM_DATE = P_TRN_TO_DATE THEN
35         P_QUERY_CONCAT := ' AND trunc(a.creation_date) = :p_trn_from_date ' || NL;
36       ELSE
37         P_QUERY_CONCAT := ' AND trunc(a.creation_date) between :p_trn_from_date and :p_trn_to_date' || NL;
38       END IF;
39     ELSIF P_TRN_FROM_DATE IS NOT NULL AND P_TRN_TO_DATE IS NULL THEN
40       P_QUERY_CONCAT := ' AND trunc(a.creation_date) >= :p_trn_from_date ' || NL;
41     ELSIF P_TRN_FROM_DATE IS NULL AND P_TRN_TO_DATE IS NOT NULL THEN
42       P_QUERY_CONCAT := ' AND trunc(a.creation_date) <= :p_trn_to_date ' || NL;
43       ELSIF P_TRN_FROM_DATE IS NULL AND P_TRN_TO_DATE IS  NULL THEN
44 	P_QUERY_CONCAT := 'AND 1=1 ';
45     END IF;
46     IF P_INVENTORY_ITEM_ID IS NOT NULL THEN
47       P_QUERY_CONCAT := ' AND inventory_item_id = :p_inventory_item_id ' || NL;
48     END IF;
49     RETURN (TRUE);
50   END AFTERPFORM;
51   FUNCTION CF_OPEN_BALFORMULA RETURN NUMBER IS
52   BEGIN
53     IF (P_FIRST_REC = 'T') THEN
54       P_FIRST_REC := 'F';
55       RETURN (P_OPEN_BAL);
56     ELSE
57       RETURN (P_PREV_CLOSE_BAL);
58     END IF;
59     RETURN NULL;
60   EXCEPTION
61     WHEN OTHERS THEN
62       RETURN (0);
63   END CF_OPEN_BALFORMULA;
64   FUNCTION CF_TOT_CR_BALFORMULA(TRANSACTION_TYPE IN VARCHAR2
65                                ,CF_OPENBAL_PACKED IN NUMBER
66                                ,MANUFACTURED_PACKED_QTY IN NUMBER) RETURN NUMBER IS
67   BEGIN
68     IF TRANSACTION_TYPE not in ('I','IOI','IA','PI') THEN
69       RETURN (NVL(CF_OPENBAL_PACKED
70                 ,0) + NVL(MANUFACTURED_PACKED_QTY
71                 ,0));
72     ELSIF TRANSACTION_TYPE in ('I','IOI','IA','PI') THEN
73       RETURN (NVL(CF_OPENBAL_PACKED
74                 ,0) + 0);
75     END IF;
76     RETURN NULL;
77   EXCEPTION
78     WHEN OTHERS THEN
79       RETURN (0);
80   END CF_TOT_CR_BALFORMULA;
81   FUNCTION CF_PREV_BALFORMULA(CF_TOT_CR_BAL_PACKED IN NUMBER
82                              ,CF_TOT_CR_BAL_LOOSE IN NUMBER
83                              ,HOMEQTY IN NUMBER
84                              ,EXPTQTY IN NUMBER
85                              ,OTHERFACTQTY IN NUMBER
86                              ,OTHERPURQTY IN NUMBER) RETURN NUMBER IS
87   BEGIN
88     P_PREV_CLOSE_BAL := (NVL(CF_TOT_CR_BAL_PACKED
89                            ,0) + NVL(CF_TOT_CR_BAL_LOOSE
90                            ,0)) - (NVL(HOMEQTY
91                            ,0) + NVL(EXPTQTY
92                            ,0) + NVL(EXPTQTY
93                            ,0) + NVL(OTHERFACTQTY
94                            ,0) + NVL(OTHERPURQTY
95                            ,0));
96     RETURN (P_PREV_CLOSE_BAL);
97     RETURN NULL;
98   EXCEPTION
99     WHEN OTHERS THEN
100       RETURN (0);
101   END CF_PREV_BALFORMULA;
102   FUNCTION CF_1FORMULA(FIN_YEAR_1 IN NUMBER
103                       ,INVENTORY_ITEM_ID_1 IN NUMBER
104                       ,SLNO_1 IN NUMBER
105                       ,QUERY_NO IN VARCHAR2
106                       ,BALANCE_PACKED IN NUMBER) RETURN NUMBER IS
107     CURSOR PACKED_CUR IS
108       SELECT
109         BALANCE_PACKED
110       FROM
111         JAI_CMN_RG_I_TRXS
112       WHERE ORGANIZATION_ID = P_ORGANIZATION_ID
113         AND LOCATION_ID = P_LOCATION_ID
114         AND FIN_YEAR = FIN_YEAR_1
115         AND INVENTORY_ITEM_ID = INVENTORY_ITEM_ID_1
116         AND SLNO = SLNO_1 - 1;
117     CURSOR C_PREV_YR_BAL(P_ORGN_ID IN NUMBER,P_LOC_ID IN NUMBER,P_FIN_YEAR IN NUMBER,P_ITEM_ID IN NUMBER) IS
118       SELECT
119         BALANCE_PACKED
120       FROM
121         JAI_CMN_RG_I_TRXS
122       WHERE ORGANIZATION_ID = P_ORGN_ID
123         AND LOCATION_ID = P_LOC_ID
124         AND FIN_YEAR = P_FIN_YEAR
125         AND INVENTORY_ITEM_ID = P_ITEM_ID
126         AND SLNO = (
127         SELECT
128           MAX(SLNO)
129         FROM
130           JAI_CMN_RG_I_TRXS
131         WHERE ORGANIZATION_ID = P_ORGN_ID
132           AND LOCATION_ID = P_LOC_ID
133           AND FIN_YEAR = P_FIN_YEAR
134           AND INVENTORY_ITEM_ID = P_ITEM_ID );
135     V_PACKED_QTY NUMBER := 0;
136   BEGIN
137     IF QUERY_NO = '2' THEN
138       V_PACKED_QTY := BALANCE_PACKED;
139     ELSE
140       IF SLNO_1 = 1 THEN
141         OPEN C_PREV_YR_BAL(P_ORGANIZATION_ID,P_LOCATION_ID,FIN_YEAR_1 - 1,INVENTORY_ITEM_ID_1);
142         FETCH C_PREV_YR_BAL
143          INTO V_PACKED_QTY;
144         CLOSE C_PREV_YR_BAL;
145       ELSE
146         OPEN PACKED_CUR;
147         FETCH PACKED_CUR
148          INTO V_PACKED_QTY;
149         CLOSE PACKED_CUR;
150       END IF;
151     END IF;
152     RETURN (V_PACKED_QTY);
153   EXCEPTION
154     WHEN OTHERS THEN
155       RETURN (0);
156   END CF_1FORMULA;
157   FUNCTION G_2GROUPFILTER RETURN BOOLEAN IS
158   BEGIN
159     RETURN (TRUE);
160   END G_2GROUPFILTER;
161   FUNCTION CF_2FORMULA(MANUFACTURED_QTY IN NUMBER
162                       ,HOMEQTY IN NUMBER
163                       ,EXPTQTY2 IN NUMBER
164                       ,EXPTQTY IN NUMBER
165                       ,OTHERFACTQTY IN NUMBER
166                       ,OTHERPURQTY IN NUMBER) RETURN NUMBER IS
167   BEGIN
168     RETURN (NVL(MANUFACTURED_QTY
169               ,0) - (NVL(HOMEQTY
170               ,0) + NVL(EXPTQTY2
171               ,0) + NVL(EXPTQTY
172               ,0) + NVL(OTHERFACTQTY
173               ,0) + NVL(OTHERPURQTY
174               ,0)));
175     RETURN NULL;
176   EXCEPTION
177     WHEN OTHERS THEN
178       RETURN (0);
179   END CF_2FORMULA;
180   FUNCTION CF_OPENSECONDFORMULA(CS_CALC IN NUMBER) RETURN NUMBER IS
181   BEGIN
182     RETURN (CS_CALC);
183     RETURN NULL;
184   EXCEPTION
185     WHEN OTHERS THEN
186       RETURN (0);
187   END CF_OPENSECONDFORMULA;
188   FUNCTION CF_1FORMULA0109(INVENTORY_ITEM_ID IN NUMBER
189                           ,SLNO IN NUMBER) RETURN VARCHAR2 IS
190   BEGIN
191     RETURN (TO_CHAR(INVENTORY_ITEM_ID) || '/' || TO_CHAR(SLNO));
192   END CF_1FORMULA0109;
193   FUNCTION AFTERREPORT RETURN BOOLEAN IS
194     V_MONTH VARCHAR2(3);
195     V_FINAL_FOLIO NUMBER;
196   BEGIN
197     V_MONTH := TO_CHAR(P_TRN_FROM_DATE
198                       ,'MON');
199     V_FINAL_FOLIO := PREV_PAGE + LAST_PAGE;
200     IF VALIDATION_FLAG = 'Y' THEN
201       NULL;
202     END IF;
203     /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
204     RETURN (TRUE);
205   END AFTERREPORT;
206   FUNCTION CF_OPENBAL_PACKEDFORMULA(FIN_YEAR_1 IN NUMBER
207                                    ,INVENTORY_ITEM_ID_1 IN NUMBER
208                                    ,SLNO_1 IN NUMBER
209                                    ,QUERY_NO IN VARCHAR2
210                                    ,BALANCE_LOOSE IN NUMBER) RETURN NUMBER IS
211     CURSOR PACKED_CUR IS
212       SELECT
213         BALANCE_LOOSE
214       FROM
215         JAI_CMN_RG_I_TRXS
216       WHERE ORGANIZATION_ID = P_ORGANIZATION_ID
217         AND LOCATION_ID = P_LOCATION_ID
218         AND FIN_YEAR = FIN_YEAR_1
219         AND INVENTORY_ITEM_ID = INVENTORY_ITEM_ID_1
220         AND SLNO = SLNO_1 - 1;
221     CURSOR C_PREV_YR_BAL(P_ORGN_ID IN NUMBER,P_LOC_ID IN NUMBER,P_FIN_YEAR IN NUMBER,P_ITEM_ID IN NUMBER) IS
222       SELECT
223         BALANCE_LOOSE
224       FROM
225         JAI_CMN_RG_I_TRXS
226       WHERE ORGANIZATION_ID = P_ORGN_ID
227         AND LOCATION_ID = P_LOC_ID
228         AND FIN_YEAR = P_FIN_YEAR
229         AND INVENTORY_ITEM_ID = P_ITEM_ID
230         AND SLNO = (
231         SELECT
232           MAX(SLNO)
233         FROM
234           JAI_CMN_RG_I_TRXS
235         WHERE ORGANIZATION_ID = P_ORGN_ID
236           AND LOCATION_ID = P_LOC_ID
237           AND FIN_YEAR = P_FIN_YEAR
238           AND INVENTORY_ITEM_ID = P_ITEM_ID );
239     V_LOOSE_QTY NUMBER := 0;
240   BEGIN
241     IF QUERY_NO = '2' THEN
242       V_LOOSE_QTY := BALANCE_LOOSE;
243     ELSE
244       IF SLNO_1 = 1 THEN
245         OPEN C_PREV_YR_BAL(P_ORGANIZATION_ID,P_LOCATION_ID,FIN_YEAR_1 - 1,INVENTORY_ITEM_ID_1);
246         FETCH C_PREV_YR_BAL
247          INTO V_LOOSE_QTY;
248         CLOSE C_PREV_YR_BAL;
249       ELSE
250         OPEN PACKED_CUR;
251         FETCH PACKED_CUR
252          INTO V_LOOSE_QTY;
253         CLOSE PACKED_CUR;
254       END IF;
255     END IF;
256     RETURN (V_LOOSE_QTY);
257   EXCEPTION
258     WHEN OTHERS THEN
259       RETURN (0);
260   END CF_OPENBAL_PACKEDFORMULA;
261   FUNCTION CF_1FORMULA0035(TRANSACTION_TYPE IN VARCHAR2
262                           ,CF_OPENBAL_LOOSE IN NUMBER
263                           ,MANUFACTURED_LOOSE_QTY IN NUMBER) RETURN NUMBER IS
264   BEGIN
265     IF TRANSACTION_TYPE not in ('I','IOI','IA','PI') THEN
266       RETURN (NVL(CF_OPENBAL_LOOSE
267                 ,0) + NVL(MANUFACTURED_LOOSE_QTY
268                 ,0));
269     ELSIF TRANSACTION_TYPE in ('I','IOI','IA','PI') THEN
270       RETURN (NVL(CF_OPENBAL_LOOSE
271                 ,0) + 0);
272     END IF;
273     RETURN NULL;
274   EXCEPTION
275     WHEN OTHERS THEN
276       RETURN (0);
277   END CF_1FORMULA0035;
278   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
279     CURSOR C_PROGRAM_ID(P_REQUEST_ID IN NUMBER) IS
280       SELECT
281         CONCURRENT_PROGRAM_ID,
282         NVL(ENABLE_TRACE
283            ,'N')
284       FROM
285         FND_CONCURRENT_REQUESTS
286       WHERE REQUEST_ID = P_REQUEST_ID;
287     CURSOR GET_AUDSID IS
288       SELECT
289         A.SID,
290         A.SERIAL#,
291         B.SPID
292       FROM
293         V$SESSION A,
294         V$PROCESS B
295       WHERE AUDSID = USERENV('SESSIONID')
296         AND A.PADDR = B.ADDR;
297     CURSOR GET_DBNAME IS
298       SELECT
299         NAME
300       FROM
301         V$DATABASE;
302     V_ENABLE_TRACE FND_CONCURRENT_PROGRAMS.ENABLE_TRACE%TYPE;
303     V_PROGRAM_ID FND_CONCURRENT_PROGRAMS.CONCURRENT_PROGRAM_ID%TYPE;
304     V_SID V$SESSION.SID%TYPE;
305     V_SERIAL V$SESSION.SERIAL#%TYPE;
306     V_SPID V$PROCESS.SPID%TYPE;
307     V_NAME1 V$DATABASE.NAME%TYPE;
308   BEGIN
309     P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
310     /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
311     /*SRW.MESSAGE(1275
312                ,'Report Version is 120.2 Last modified date is 24/04/2007')*/NULL;
313     BEGIN
314       OPEN C_PROGRAM_ID(P_CONC_REQUEST_ID);
315       FETCH C_PROGRAM_ID
316        INTO V_PROGRAM_ID,V_ENABLE_TRACE;
317       CLOSE C_PROGRAM_ID;
318       /*SRW.MESSAGE(1275
319                  ,'v_program_id -> ' || V_PROGRAM_ID || ', v_enable_trace -> ' || V_ENABLE_TRACE || ', request_id -> ' || P_CONC_REQUEST_ID)*/NULL;
320       IF V_ENABLE_TRACE = 'Y' THEN
321         OPEN GET_AUDSID;
322         FETCH GET_AUDSID
323          INTO V_SID,V_SERIAL,V_SPID;
324         CLOSE GET_AUDSID;
325         OPEN GET_DBNAME;
326         FETCH GET_DBNAME
327          INTO V_NAME1;
328         CLOSE GET_DBNAME;
332           'ALTER SESSION SET EVENTS ''10046 trace name context forever, level 4''';
329         /*SRW.MESSAGE(1275
330                    ,'TraceFile Name = ' || LOWER(V_NAME1) || '_ora_' || V_SPID || '.trc')*/NULL;
331         EXECUTE IMMEDIATE
333       END IF;
334     EXCEPTION
335       WHEN OTHERS THEN
336         /*SRW.MESSAGE(1275
337                    ,'Error during enabling the trace. ErrCode -> ' || SQLCODE || ', ErrMesg -> ' || SQLERRM)*/NULL;
338     END;
339     RETURN (TRUE);
340   END BEFOREREPORT;
341   FUNCTION P_SHOW_ALL_ITEMSVALIDTRIGGER RETURN BOOLEAN IS
342   BEGIN
343     IF P_SHOW_ALL_ITEMS IS NULL THEN
344       P_SHOW_ALL_ITEMS := 'N';
345     END IF;
346     RETURN (TRUE);
347   END P_SHOW_ALL_ITEMSVALIDTRIGGER;
348   FUNCTION CF_REMARKSFORMULA(REGISTER_ID_PART_II IN NUMBER
349                             ,PAYMENT_REGISTER IN VARCHAR2
350                             ,REMARKS IN VARCHAR2) RETURN CHAR IS
351     V_REGISTER_KEY VARCHAR2(50);
352     V_TEMP NUMBER;
353     CURSOR C_RG23_SLNO(P_REGISTER_ID IN NUMBER) IS
354       SELECT
355         SLNO
356       FROM
357         JAI_CMN_RG_23AC_II_TRXS
358       WHERE REGISTER_ID = P_REGISTER_ID;
359     CURSOR C_PLA_SLNO(P_REGISTER_ID IN NUMBER) IS
360       SELECT
361         SLNO
362       FROM
363         JAI_CMN_RG_PLA_TRXS
364       WHERE REGISTER_ID = P_REGISTER_ID;
365   BEGIN
366     IF REGISTER_ID_PART_II IS NOT NULL AND PAYMENT_REGISTER IS NOT NULL THEN
367       IF PAYMENT_REGISTER in ('RG23A','RG23C') THEN
368         OPEN C_RG23_SLNO(REGISTER_ID_PART_II);
369         FETCH C_RG23_SLNO
370          INTO V_TEMP;
371         CLOSE C_RG23_SLNO;
372         V_REGISTER_KEY := PAYMENT_REGISTER || ':' || V_TEMP;
373       ELSIF PAYMENT_REGISTER = 'PLA' THEN
374         OPEN C_PLA_SLNO(REGISTER_ID_PART_II);
375         FETCH C_PLA_SLNO
376          INTO V_TEMP;
377         CLOSE C_PLA_SLNO;
378         V_REGISTER_KEY := PAYMENT_REGISTER || ':' || V_TEMP;
379       END IF;
380     END IF;
381     IF V_REGISTER_KEY IS NULL THEN
382       V_REGISTER_KEY := '-';
383     END IF;
384     RETURN (V_REGISTER_KEY || '/' || NVL(REMARKS
385               ,'-'));
386   END CF_REMARKSFORMULA;
387   FUNCTION CF_CESS_AMTFORMULA(PAYMENT_REGISTER IN VARCHAR2
388                              ,REGISTER_ID_PART_II IN NUMBER
389                              ,REF_DOC_NO IN VARCHAR2
390                              ,SOURCE IN VARCHAR2
391                              ,CESS_AMT IN NUMBER
392                              ,TRANSACTION_TYPE IN VARCHAR2) RETURN NUMBER IS
393     LN_CESS_AMT NUMBER;
394     LV_RG23A VARCHAR2(10);
395     LV_RG23C VARCHAR2(10);
396     LV_PLA VARCHAR2(10);
397     CURSOR CUR_GET_CESS_AMT IS
398       SELECT
399         DECODE(SUM(CREDIT)
400               ,NULL
401               ,SUM(DEBIT)
402               ,SUM(CREDIT)) CESS_AMT
403       FROM
404         JAI_CMN_RG_OTHERS RGOTH
405       WHERE RGOTH.SOURCE_TYPE = DECODE(PAYMENT_REGISTER
406             ,LV_RG23A
407             ,1
408             ,LV_RG23C
409             ,1
410             ,LV_PLA
411             ,2)
412         AND RGOTH.SOURCE_REGISTER_ID = REGISTER_ID_PART_II
413         AND RGOTH.TAX_TYPE IN ( 'EXCISE_EDUCATION_CESS' , 'CVD_EDUCATION_CESS' );
414     CURSOR C_SHIPMENT_CESS_AMT IS
415       SELECT
416         JSPTL.TAX_RATE CESS_RATE
417       FROM
418         JAI_OM_WSH_LINES_ALL JSPL,
419         JAI_OM_WSH_LINE_TAXES JSPTL,
420         JAI_CMN_TAXES_ALL JTC
421       WHERE JSPL.DELIVERY_DETAIL_ID = JSPTL.DELIVERY_DETAIL_ID
422         AND JSPTL.TAX_ID = JTC.TAX_ID
423         AND UPPER(JTC.TAX_TYPE) IN ( 'EXCISE_EDUCATION_CESS' , 'CVD_EDUCATION_CESS' )
424         AND JSPL.DELIVERY_DETAIL_ID = REF_DOC_NO;
425     CURSOR C_TRX_CESS_AMT IS
426       SELECT
427         JRCTTL.TAX_RATE CESS_RATE
428       FROM
429         JAI_AR_TRX_LINES JRCTL,
430         JAI_AR_TRX_TAX_LINES JRCTTL,
431         JAI_CMN_TAXES_ALL JTC
432       WHERE JRCTL.CUSTOMER_TRX_LINE_ID = JRCTTL.LINK_TO_CUST_TRX_LINE_ID
433         AND JRCTTL.TAX_ID = JTC.TAX_ID
434         AND UPPER(JTC.TAX_TYPE) IN ( 'EXCISE_EDUCATION_CESS' , 'CVD_EDUCATION_CESS' )
435         AND JRCTL.CUSTOMER_TRX_ID = REF_DOC_NO;
436   BEGIN
437     LV_RG23A := 'RG23A';
438     LV_RG23C := 'RG23C';
439     LV_PLA := 'PLA';
440     IF SOURCE in ('WSH','AR') THEN
441       IF SOURCE = 'AR' THEN
442         OPEN C_TRX_CESS_AMT;
443         FETCH C_TRX_CESS_AMT
444          INTO CP_CESS_RATE;
445         CLOSE C_TRX_CESS_AMT;
446       ELSIF SOURCE = 'WSH' THEN
447         OPEN C_SHIPMENT_CESS_AMT;
448         FETCH C_SHIPMENT_CESS_AMT
449          INTO CP_CESS_RATE;
450         CLOSE C_SHIPMENT_CESS_AMT;
451       END IF;
452       LN_CESS_AMT := CESS_AMT;
453       /*SRW.MESSAGE(1275
454                  ,'source-> ' || SOURCE || ', cess_amt-> ' || CESS_AMT)*/NULL;
455     ELSE
456       OPEN CUR_GET_CESS_AMT;
457       FETCH CUR_GET_CESS_AMT
458        INTO LN_CESS_AMT;
459       CLOSE CUR_GET_CESS_AMT;
460       /*SRW.MESSAGE(1275
461                  ,'REGISTER_ID_PART_II:' || REGISTER_ID_PART_II || 'LN_CESS_AMT:' || NVL(LN_CESS_AMT
462                     ,0))*/NULL;
463     END IF;
464     IF TRANSACTION_TYPE = 'CR' THEN
465       RETURN (-NVL(LN_CESS_AMT
466                 ,0));
467     ELSE
468       RETURN (NVL(LN_CESS_AMT
469                 ,0));
470     END IF;
471   END CF_CESS_AMTFORMULA;
472   FUNCTION CF_SH_CESS_AMTFORMULA(PAYMENT_REGISTER IN VARCHAR2
473                                 ,REGISTER_ID_PART_II IN NUMBER
474                                 ,REGISTER_ID_1 IN NUMBER
475                                 ,REF_DOC_NO IN VARCHAR2
476                                 ,SOURCE IN VARCHAR2
477                                 ,SH_CESS_AMT IN NUMBER
478                                 ,TRANSACTION_TYPE IN VARCHAR2) RETURN NUMBER IS
479     LN_CESS_AMT NUMBER;
480     CURSOR CUR_GET_CESS_AMT IS
481       SELECT
482         DECODE(SUM(CREDIT)
483               ,NULL
484               ,SUM(DEBIT)
485               ,SUM(CREDIT)) CESS_AMT
486       FROM
487         JAI_CMN_RG_OTHERS RGOTH
488       WHERE RGOTH.SOURCE_TYPE = DECODE(PAYMENT_REGISTER
489             ,'RG23A'
490             ,1
491             ,'RG23C'
492             ,1
493             ,'PLA'
494             ,2)
495         AND RGOTH.SOURCE_REGISTER_ID = REGISTER_ID_PART_II
496         AND RGOTH.TAX_TYPE IN ( 'EXCISE_SH_EDU_CESS' , 'CVD_SH_EDU_CESS' );
497     CURSOR C_ISSUE_TYPE IS
498       SELECT
499         ISSUE_TYPE
500       FROM
501         JAI_CMN_RG_I_TRXS
502       WHERE REGISTER_ID = REGISTER_ID_1;
503     LV_ISSUE_TYPE JAI_CMN_RG_I_TRXS.ISSUE_TYPE%TYPE;
504     CURSOR C_SHIPMENT_CESS_AMT IS
505       SELECT
506         JSPTL.TAX_RATE CESS_RATE
507       FROM
508         JAI_OM_WSH_LINES_ALL JSPL,
509         JAI_OM_WSH_LINE_TAXES JSPTL,
510         JAI_CMN_TAXES_ALL JTC
511       WHERE JSPL.DELIVERY_DETAIL_ID = JSPTL.DELIVERY_DETAIL_ID
512         AND JSPTL.TAX_ID = JTC.TAX_ID
513         AND UPPER(JTC.TAX_TYPE) IN ( 'EXCISE_SH_EDU_CESS' , 'CVD_SH_EDU_CESS' )
514         AND JSPL.DELIVERY_DETAIL_ID = REF_DOC_NO;
515     CURSOR C_TRX_CESS_AMT IS
516       SELECT
517         JRCTTL.TAX_RATE CESS_RATE
518       FROM
519         JAI_AR_TRX_LINES JRCTL,
520         JAI_AR_TRX_TAX_LINES JRCTTL,
521         JAI_CMN_TAXES_ALL JTC
522       WHERE JRCTL.CUSTOMER_TRX_LINE_ID = JRCTTL.LINK_TO_CUST_TRX_LINE_ID
523         AND JRCTTL.TAX_ID = JTC.TAX_ID
524         AND UPPER(JTC.TAX_TYPE) IN ( 'EXCISE_SH_EDU_CESS' , 'CVD_SH_EDU_CESS' )
525         AND JRCTL.CUSTOMER_TRX_ID = REF_DOC_NO;
526   BEGIN
527     IF SOURCE in ('WSH','AR') THEN
528       OPEN C_ISSUE_TYPE;
529       FETCH C_ISSUE_TYPE
530        INTO LV_ISSUE_TYPE;
531       CLOSE C_ISSUE_TYPE;
532       IF NVL(LV_ISSUE_TYPE
533          ,'$$$') = 'ENE' THEN
534         LN_CESS_AMT := NULL;
535       ELSE
536         LN_CESS_AMT := SH_CESS_AMT;
537       END IF;
538       IF SOURCE = 'AR' THEN
539         OPEN C_TRX_CESS_AMT;
540         FETCH C_TRX_CESS_AMT
541          INTO CP_SH_CESS_RATE;
542         CLOSE C_TRX_CESS_AMT;
543       ELSIF SOURCE = 'WSH' THEN
544         OPEN C_SHIPMENT_CESS_AMT;
545         FETCH C_SHIPMENT_CESS_AMT
546          INTO CP_SH_CESS_RATE;
547         CLOSE C_SHIPMENT_CESS_AMT;
548       END IF;
549       /*SRW.MESSAGE(1275
550                  ,'source-> ' || SOURCE || ', cess_amt-> ' || SH_CESS_AMT || ' cess rate ' || CP_SH_CESS_RATE)*/NULL;
551     ELSE
552       OPEN CUR_GET_CESS_AMT;
553       FETCH CUR_GET_CESS_AMT
554        INTO LN_CESS_AMT;
555       CLOSE CUR_GET_CESS_AMT;
556       /*SRW.MESSAGE(1275
557                  ,'REGISTER_ID_PART_II:' || REGISTER_ID_PART_II || 'LN_CESS_AMT:' || NVL(LN_CESS_AMT
558                     ,0))*/NULL;
559     END IF;
560     IF TRANSACTION_TYPE = 'CR' THEN
561       RETURN (-NVL(LN_CESS_AMT
562                 ,0));
563     ELSE
564       RETURN (NVL(LN_CESS_AMT
565                 ,0));
566     END IF;
567   END CF_SH_CESS_AMTFORMULA;
568   FUNCTION CF_EAMOUNTFORMULA(TRANSACTION_TYPE IN VARCHAR2
569                             ,EAMOUNT IN NUMBER) RETURN NUMBER IS
570   BEGIN
571     IF TRANSACTION_TYPE = 'CR' THEN
572       RETURN (-EAMOUNT);
573     ELSE
574       RETURN EAMOUNT;
575     END IF;
576   END CF_EAMOUNTFORMULA;
577   FUNCTION CP_CESS_RATE_P RETURN NUMBER IS
578   BEGIN
579     RETURN CP_CESS_RATE;
580   END CP_CESS_RATE_P;
581   FUNCTION CP_SH_CESS_RATE_P RETURN NUMBER IS
582   BEGIN
583     RETURN CP_SH_CESS_RATE;
584   END CP_SH_CESS_RATE_P;
585   FUNCTION CP_1_P RETURN NUMBER IS
586   BEGIN
587     RETURN CP_1;
588   END CP_1_P;
589 END JA_JAINRG1_XMLP_PKG;
590 
591