DBA Data[Home] [Help]

PACKAGE BODY: APPS.JA_JAINTSLS_XMLP_PKG

Source


1 PACKAGE BODY JA_JAINTSLS_XMLP_PKG AS
2 /* $Header: JAINTSLSB.pls 120.1 2007/12/25 16:32:25 dwkrishn noship $ */
3   FUNCTION CF_1FORMULA(LINE_AMOUNT IN NUMBER) RETURN NUMBER IS
4     LINE_AMT NUMBER(17) := 0;
5   BEGIN
6     LINE_AMT := LINE_AMT + LINE_AMOUNT;
7     RETURN (LINE_AMT);
8   END CF_1FORMULA;
9 
10   FUNCTION C_LINE_TOTAL_W_TAXFORMULA(CS_TAX_TOTAL_1 IN NUMBER
11                                     ,CS_LINE_TOTAL_WO_TAX_1 IN NUMBER) RETURN NUMBER IS
12     LINE_TOTAL NUMBER(17) := 0;
13   BEGIN
14     LINE_TOTAL := LINE_TOTAL + CS_TAX_TOTAL_1 + CS_LINE_TOTAL_WO_TAX_1;
15     RETURN (LINE_TOTAL);
16   END C_LINE_TOTAL_W_TAXFORMULA;
17 
18   FUNCTION P_END_DATEVALIDTRIGGER RETURN BOOLEAN IS
19   BEGIN
20     IF P_END_DATE IS NULL THEN
21       P_END_DATE := TRUNC(SYSDATE);
22     END IF;
23     RETURN (TRUE);
24   END P_END_DATEVALIDTRIGGER;
25 
26   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
27     CURSOR C_PROGRAM_ID(P_REQUEST_ID IN NUMBER) IS
28       SELECT
29         CONCURRENT_PROGRAM_ID,
30         NVL(ENABLE_TRACE
31            ,'N')
32       FROM
33         FND_CONCURRENT_REQUESTS
34       WHERE REQUEST_ID = P_REQUEST_ID;
35     V_ENABLE_TRACE FND_CONCURRENT_PROGRAMS.ENABLE_TRACE%TYPE;
36     V_PROGRAM_ID FND_CONCURRENT_PROGRAMS.CONCURRENT_PROGRAM_ID%TYPE;
37     V_ORG_ID NUMBER;
38     LV_SALES JAI_CMN_TAXES_ALL.TAX_TYPE%TYPE;
39     LV_CST JAI_CMN_TAXES_ALL.TAX_TYPE%TYPE;
40     a boolean;
41   BEGIN
42   a:=P_END_DATEVALIDTRIGGER;
43   LP_END_DATE:=P_END_DATE;
44     V_ORG_ID := FND_PROFILE.VALUE('ORG_ID');
45     P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
46 
47     BEGIN
48       OPEN C_PROGRAM_ID(P_CONC_REQUEST_ID);
49       FETCH C_PROGRAM_ID
50        INTO V_PROGRAM_ID,V_ENABLE_TRACE;
51       CLOSE C_PROGRAM_ID;
52             IF V_ENABLE_TRACE = 'Y' THEN
53         EXECUTE IMMEDIATE
54           'ALTER SESSION SET EVENTS ''10046 trace name context forever, level 4''';
55       END IF;
56     EXCEPTION
57       WHEN OTHERS THEN
58        NULL;
59     END;
60     IF P_START_DATE IS NULL THEN
61       LV_SALES := '%SALES%';
62       LV_CST := '%CST%';
63       SELECT
64         MIN(CUTX.TRX_DATE)
65       INTO P_START_DATE
66       FROM
67         RA_CUSTOMER_TRX_ALL CUTX,
68         JAI_AR_TRXS JCUTX,
69         RA_CUSTOMER_TRX_LINES_ALL CUTXL,
70         JAI_CMN_CUS_ADDRESSES JCUAD,
71         JAI_AR_TRX_TAX_LINES JRCTAXL,
72         JAI_CMN_TAXES_ALL JITC,
73         AR_PAYMENT_SCHEDULES_ALL ARPS
74       WHERE JCUTX.ORGANIZATION_ID = P_ORGANIZATION_ID
75         AND CUTX.CUSTOMER_TRX_ID = JCUTX.CUSTOMER_TRX_ID
76         AND CUTXL.CUSTOMER_TRX_ID = CUTX.CUSTOMER_TRX_ID
77         AND JRCTAXL.LINK_TO_CUST_TRX_LINE_ID = CUTXL.CUSTOMER_TRX_LINE_ID
78         AND JITC.TAX_ID = JRCTAXL.TAX_ID
79         AND ( UPPER(JITC.TAX_TYPE) like LV_SALES
80       OR UPPER(JITC.TAX_TYPE) like LV_CST )
81         AND UPPER(CUTX.COMPLETE_FLAG) = 'Y'
82         AND ARPS.CUSTOMER_TRX_ID = CUTX.CUSTOMER_TRX_ID
83         AND jcuad.customer_id (+) = CUTX.SOLD_TO_CUSTOMER_ID;
84     END IF;
85     RETURN (TRUE);
86   END BEFOREREPORT;
87 
88   FUNCTION CF_1FORMULA0004(CUSTOMER_TRX_LINE_ID IN NUMBER) RETURN NUMBER IS
89   BEGIN
90     DECLARE
91       EXCISE_TAX NUMBER;
92       LV_EXCISE JAI_CMN_TAXES_ALL.TAX_TYPE%TYPE;
93       LV_ADDL_EXCISE JAI_CMN_TAXES_ALL.TAX_TYPE%TYPE;
94       LV_OTHER_EXCISE JAI_CMN_TAXES_ALL.TAX_TYPE%TYPE;
95       LV_EXC_EDU_CESS JAI_CMN_TAXES_ALL.TAX_TYPE%TYPE;
96       LV_SH_EXC_EDU_CESS JAI_CMN_TAXES_ALL.TAX_TYPE%TYPE;
97     BEGIN
98       LV_EXCISE := 'EXCISE';
99       LV_ADDL_EXCISE := 'ADDL. EXCISE';
100       LV_OTHER_EXCISE := 'OTHER EXCISE';
101       LV_EXC_EDU_CESS := 'EXCISE_EDUCATION_CESS';
102       LV_SH_EXC_EDU_CESS := 'EXCISE_SH_EDU_CESS';
103       SELECT
104         SUM(A.TAX_AMOUNT)
105       INTO EXCISE_TAX
106       FROM
107         JAI_AR_TRX_TAX_LINES A,
108         JAI_CMN_TAXES_ALL B
109       WHERE A.LINK_TO_CUST_TRX_LINE_ID = CF_1FORMULA0004.CUSTOMER_TRX_LINE_ID
110         AND A.TAX_ID = B.TAX_ID
111         AND UPPER(B.TAX_TYPE) IN ( LV_EXCISE , LV_ADDL_EXCISE , LV_OTHER_EXCISE , LV_EXC_EDU_CESS , LV_SH_EXC_EDU_CESS );
112       CP_EXCISE_1 := EXCISE_TAX;
113       RETURN (NVL(EXCISE_TAX
114                 ,0));
115     END;
116   END CF_1FORMULA0004;
117 
118   FUNCTION CF_2FORMULA(CUSTOMER_TRX_LINE_ID IN NUMBER) RETURN NUMBER IS
119   BEGIN
120     DECLARE
121       OTHER_TAX NUMBER;
122       LV_EXCISE JAI_CMN_TAXES_ALL.TAX_TYPE%TYPE;
123       LV_ADDL_EXCISE JAI_CMN_TAXES_ALL.TAX_TYPE%TYPE;
124       LV_OTHER_EXCISE JAI_CMN_TAXES_ALL.TAX_TYPE%TYPE;
125       LV_EXC_EDU_CESS JAI_CMN_TAXES_ALL.TAX_TYPE%TYPE;
126       LV_SALES_TAX JAI_CMN_TAXES_ALL.TAX_TYPE%TYPE;
127       LV_CST JAI_CMN_TAXES_ALL.TAX_TYPE%TYPE;
128       LV_SH_EXC_EDU_CESS JAI_CMN_TAXES_ALL.TAX_TYPE%TYPE;
129     BEGIN
130       LV_EXCISE := 'EXCISE';
131       LV_ADDL_EXCISE := 'ADDL. EXCISE';
132       LV_OTHER_EXCISE := 'OTHER EXCISE';
133       LV_EXC_EDU_CESS := 'EXCISE_EDUCATION_CESS';
134       LV_SALES_TAX := 'SALES TAX';
135       LV_CST := 'CST';
136       LV_SH_EXC_EDU_CESS := 'EXCISE_SH_EDU_CESS';
137       SELECT
138         SUM(A.TAX_AMOUNT)
139       INTO OTHER_TAX
140       FROM
141         JAI_AR_TRX_TAX_LINES A,
142         JAI_CMN_TAXES_ALL B
143       WHERE A.LINK_TO_CUST_TRX_LINE_ID = CF_2FORMULA.CUSTOMER_TRX_LINE_ID
144         AND A.TAX_ID = B.TAX_ID
145         AND UPPER(B.TAX_TYPE) NOT IN ( LV_EXCISE , LV_ADDL_EXCISE , LV_OTHER_EXCISE , LV_EXC_EDU_CESS , LV_SALES_TAX , LV_CST , LV_SH_EXC_EDU_CESS );
146       CP_ADDL_OTHER_TAXES_1 := NVL(OTHER_TAX
147                                   ,0);
148       RETURN (NVL(OTHER_TAX
149                 ,0));
150     END;
151   END CF_2FORMULA;
152 
153   FUNCTION CF_1FORMULA0013(CUSTOMER_TRX_ID IN NUMBER) RETURN NUMBER IS
154     V_TOTAL_AMOUNT NUMBER;
155   BEGIN
156     SELECT
157       SUM(NVL(LINE_AMOUNT
158              ,0)) + SUM(NVL(TAX_AMOUNT
159              ,0))
160     INTO V_TOTAL_AMOUNT
161     FROM
162       JAI_AR_TRX_LINES
163     WHERE CUSTOMER_TRX_ID = CF_1FORMULA0013.CUSTOMER_TRX_ID;
164     RETURN (V_TOTAL_AMOUNT);
165   EXCEPTION
166     WHEN OTHERS THEN
167       RETURN (0);
168   END CF_1FORMULA0013;
169 
170   FUNCTION CF_2FORMULA0008(TAX_ACCOUNT_ID IN NUMBER) RETURN CHAR IS
171     CURSOR C_ACCOUNT(P_CODE_COMBINATION_ID IN NUMBER) IS
172       SELECT
173         CONCATENATED_SEGMENTS
174       FROM
175         GL_CODE_COMBINATIONS_KFV
176       WHERE CODE_COMBINATION_ID = P_CODE_COMBINATION_ID;
177     V_ACCOUNT_CODE VARCHAR2(285);
178   BEGIN
179     OPEN C_ACCOUNT(TAX_ACCOUNT_ID);
180     FETCH C_ACCOUNT
181      INTO V_ACCOUNT_CODE;
182     CLOSE C_ACCOUNT;
183     RETURN V_ACCOUNT_CODE;
184   END CF_2FORMULA0008;
185 
186   FUNCTION CF_SALES_TAXABLE_AMT_2FORMULA(TAX_TYPE IN VARCHAR2
187                                         ,STAX_RATE IN NUMBER
188                                         ,STAX_AMT IN NUMBER) RETURN NUMBER IS
189     V_SALES_TAX_BASE_AMT NUMBER := 0;
190   BEGIN
191     IF TAX_TYPE in ('Sales Tax','CST') AND NVL(STAX_RATE
192        ,0) <> 0 THEN
193       V_SALES_TAX_BASE_AMT := (STAX_AMT * 100) / STAX_RATE;
194     END IF;
195     RETURN V_SALES_TAX_BASE_AMT;
196   END CF_SALES_TAXABLE_AMT_2FORMULA;
197 
198   FUNCTION CF_TRX_NUMBER_DATE_1FORMULA(TRX_NUMBER IN VARCHAR2
199                                       ,TRX_DATE IN DATE) RETURN CHAR IS
200   BEGIN
201     RETURN TRX_NUMBER || ', ' || TO_CHAR(TRX_DATE
202                   ,'DD-MON-YYYY');
203   END CF_TRX_NUMBER_DATE_1FORMULA;
204 
205   FUNCTION CF_1FORMULA0005(CUSTOMER_TRX_ID IN NUMBER
206                           ,ORDER_LINE_ID IN VARCHAR2
207                           ,LINE_AMOUNT IN NUMBER) RETURN NUMBER IS
208     V_LINE_AMOUNT RA_CUSTOMER_TRX_LINES_ALL.EXTENDED_AMOUNT%TYPE;
209     CURSOR C_LINE_AMOUNT(CP_LINE_TYPE IN RA_CUSTOMER_TRX_LINES_ALL.LINE_TYPE%TYPE) IS
210       SELECT
211         SUM(NVL(EXTENDED_AMOUNT
212                ,0))
213       FROM
214         RA_CUSTOMER_TRX_LINES_ALL
215       WHERE CUSTOMER_TRX_ID = CF_1FORMULA0005.CUSTOMER_TRX_ID
216         AND LINE_TYPE = CP_LINE_TYPE
217         AND SALES_ORDER_LINE = ORDER_LINE_ID
218       GROUP BY
219         SALES_ORDER_LINE;
220     CURSOR C_CREATED_FROM IS
221       SELECT
222         CREATED_FROM
223       FROM
224         RA_CUSTOMER_TRX_ALL
225       WHERE CUSTOMER_TRX_ID = CF_1FORMULA0005.CUSTOMER_TRX_ID;
226     V_CREATED_FROM RA_CUSTOMER_TRX_ALL.CREATED_FROM%TYPE;
227     MY_EXCEPTION EXCEPTION;
228   BEGIN
229     OPEN C_CREATED_FROM;
230     FETCH C_CREATED_FROM
231      INTO V_CREATED_FROM;
232     CLOSE C_CREATED_FROM;
233     IF V_CREATED_FROM = 'RAXTRX' THEN
234       OPEN C_LINE_AMOUNT('LINE');
235       FETCH C_LINE_AMOUNT
236        INTO V_LINE_AMOUNT;
237       CLOSE C_LINE_AMOUNT;
238       IF V_LINE_AMOUNT IS NULL THEN
239         /*SRW.MESSAGE(100
240                    ,'created from ' || V_CREATED_FROM)*/NULL;
241         /*SRW.MESSAGE(101
242                    ,' Customer trx id  ' || CUSTOMER_TRX_ID)*/NULL;
243         /*SRW.MESSAGE(102
244                    ,' Sales order no  ' || ORDER_LINE_ID)*/NULL;
245         RAISE MY_EXCEPTION;
246       END IF;
247       RETURN V_LINE_AMOUNT;
248     ELSIF V_CREATED_FROM = 'ARXTWMAI' THEN
249       IF LINE_AMOUNT IS NULL THEN
250         /*SRW.MESSAGE(100
251                    ,'created from ' || V_CREATED_FROM)*/NULL;
252         /*SRW.MESSAGE(101
253                    ,' Customer trx id  ' || CUSTOMER_TRX_ID)*/NULL;
254         /*SRW.MESSAGE(102
255                    ,' Sales order no  ' || ORDER_LINE_ID)*/NULL;
256         RAISE MY_EXCEPTION;
257       END IF;
258       RETURN LINE_AMOUNT;
259     END IF;
260     RETURN NULL;
261   EXCEPTION
262     WHEN MY_EXCEPTION THEN
263       /*SRW.MESSAGE(100
264                  ,'created from ' || V_CREATED_FROM)*/NULL;
265       /*SRW.MESSAGE(101
266                  ,' Customer trx id  ' || CUSTOMER_TRX_ID)*/NULL;
267       /*SRW.MESSAGE(102
268                  ,' Sales order no  ' || ORDER_LINE_ID)*/NULL;
269       RETURN NULL;
270   END CF_1FORMULA0005;
271 
272   FUNCTION AFTERREPORT RETURN BOOLEAN IS
273   BEGIN
274     NULL;
275     RETURN (TRUE);
276   END AFTERREPORT;
277 
278   FUNCTION CF_VAT_TAXES_1(CUSTOMER_TRX_LINE_ID IN NUMBER) RETURN NUMBER IS
279     VAT_TAX NUMBER;
280   BEGIN
281     SELECT
282       SUM(A.FUNC_TAX_AMOUNT)
283     INTO VAT_TAX
284     FROM
285       JAI_AR_TRX_TAX_LINES A,
286       JAI_CMN_TAXES_ALL B
287     WHERE A.LINK_TO_CUST_TRX_LINE_ID = CF_VAT_TAXES_1.CUSTOMER_TRX_LINE_ID
288       AND A.TAX_ID = B.TAX_ID
289       AND UPPER(B.TAX_TYPE) IN (
290       SELECT
291         TAX_TYPE
292       FROM
293         JAI_REGIME_TAX_TYPES_V
294       WHERE REGIME_CODE = 'VAT' );
295     CP_VAT_TAXES_1 := NVL(VAT_TAX
296                          ,0);
297     RETURN (NVL(VAT_TAX
298               ,0));
299   END CF_VAT_TAXES_1;
300 
301   FUNCTION CP_EXCISE_1_P RETURN NUMBER IS
302   BEGIN
303     RETURN CP_EXCISE_1;
304   END CP_EXCISE_1_P;
305 
306   FUNCTION CP_ADDL_OTHER_TAXES_1_P RETURN NUMBER IS
307   BEGIN
308     RETURN CP_ADDL_OTHER_TAXES_1;
309   END CP_ADDL_OTHER_TAXES_1_P;
310 
311   FUNCTION CP_VAT_TAXES_1_P RETURN NUMBER IS
312   BEGIN
313     RETURN CP_VAT_TAXES_1;
314   END CP_VAT_TAXES_1_P;
315 
316 END JA_JAINTSLS_XMLP_PKG;
317 
318