DBA Data[Home] [Help]

PACKAGE BODY: APPS.JE_JEFILPIP_XMLP_PKG

Source


1 PACKAGE BODY JE_JEFILPIP_XMLP_PKG AS
2 /* $Header: JEFILPIPB.pls 120.1 2007/12/25 16:52:45 dwkrishn noship $ */
3 FUNCTION SQL_PAYMENT_GROUP_1 RETURN BOOLEAN IS
4 BEGIN
5   IF P_PAYMENT_GROUP IS NOT NULL THEN
6      IF SUBSTR(P_GROUP_FIELD,1,1)='T' THEN
7 --        SRW.REFERENCE(:C_COAI);
8   /*      SRW.USER_EXIT('FND FLEXSQL
9           CODE="GL#"
10           NUM=":C_COAI"
11           APPL_SHORT_NAME="SQLGL"
12           OUTPUT=":SQL_PAYMENT_GROUP"
13           MODE="WHERE"
14           DISPLAY="GL_ACCOUNT"
15           TABLEALIAS="GCC"
16           OPERATOR="="
17           OPERAND1=":P_PAYMENT_GROUP"');*/
18         SQL_PAYMENT_GROUP:='AND '||SQL_PAYMENT_GROUP;
19      ELSE
20          SQL_PAYMENT_GROUP:=
21            'AND I.PAY_GROUP_LOOKUP_CODE='''||P_PAYMENT_GROUP||'''';
22      END IF;
23   END IF;
24   RETURN(TRUE);
25 END;
26 
27   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
28   BEGIN
29     DECLARE
30       INIT_FAILURE EXCEPTION;
31     BEGIN
32       P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
33       /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
34       IF (P_DEBUG_SWITCH = 'Y') THEN
35         /*SRW.MESSAGE('0'
36                    ,'The current time is ' || SYSDATE)*/NULL;
37       END IF;
38       BEGIN
39         SELECT
40           GSOB.CHART_OF_ACCOUNTS_ID,
41           GSOB.SET_OF_BOOKS_ID,
42           C.PRECISION,
43           C.CURRENCY_CODE
44         INTO C_COAI,C_SOB,C_PRECISION,C_FUNCT_CURR
45         FROM
46           AP_SYSTEM_PARAMETERS ASP,
47           GL_SETS_OF_BOOKS GSOB,
48           FND_CURRENCIES_VL C
49         WHERE ASP.SET_OF_BOOKS_ID = GSOB.SET_OF_BOOKS_ID
50           AND ASP.BASE_CURRENCY_CODE = C.CURRENCY_CODE;
51       EXCEPTION
52         WHEN NO_DATA_FOUND THEN
53           RAISE INIT_FAILURE;
54       END;
55       IF (P_DEBUG_SWITCH = 'Y') THEN
56         /*SRW.MESSAGE('1'
57                    ,'After select coai')*/NULL;
58       END IF;
59       IF (NLS_PARAMETERS = FALSE) THEN
60         RAISE INIT_FAILURE;
61       END IF;
62       IF (P_DEBUG_SWITCH = 'Y') THEN
63         /*SRW.MESSAGE('1'
64                    ,'After select nls parameters.')*/NULL;
65       END IF;
66       IF (SQL_PAYMENT_GROUP_1 = FALSE) THEN
67         RAISE INIT_FAILURE;
68       END IF;
69       IF (P_DEBUG_SWITCH = 'Y') THEN
70         /*SRW.MESSAGE('1'
71                    ,'After sql_payment_group')*/NULL;
72       END IF;
73       IF (SQL_CURRENCY = FALSE) THEN
74         RAISE INIT_FAILURE;
75       END IF;
76       IF (P_DEBUG_SWITCH = 'Y') THEN
77         /*SRW.MESSAGE('1'
78                    ,'After sql_currency')*/NULL;
79       END IF;
80       IF (SQL_VENDOR = FALSE) THEN
81         RAISE INIT_FAILURE;
82       END IF;
83       IF (P_DEBUG_SWITCH = 'Y') THEN
84         /*SRW.MESSAGE('1'
85                    ,'After sql_vendor')*/NULL;
86       END IF;
87       IF (P_DEBUG_SWITCH = 'Y') THEN
88         /*SRW.MESSAGE('1'
89                    ,'After sql_only_past')*/NULL;
90       END IF;
91       IF (SQL_DISTRIBUTIONS_1 = FALSE) THEN
92         RAISE INIT_FAILURE;
93       END IF;
94       IF (P_DEBUG_SWITCH = 'Y') THEN
95         /*SRW.MESSAGE('1'
96                    ,'After sql_distributions')*/NULL;
97       END IF;
98       IF (SQL_PAYMENTS = FALSE) THEN
99         RAISE INIT_FAILURE;
100       END IF;
101       IF (P_DEBUG_SWITCH = 'Y') THEN
102         /*SRW.MESSAGE('1'
103                    ,'After sql_payments')*/NULL;
104         /*SRW.BREAK*/NULL;
105       END IF;
106     EXCEPTION
107       WHEN OTHERS THEN
108         /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
109     END;
110     RETURN (TRUE);
111   END BEFOREREPORT;
112 
113   FUNCTION AFTERREPORT RETURN BOOLEAN IS
114   BEGIN
115     BEGIN
116       /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
117     END;
118     RETURN (TRUE);
119   END AFTERREPORT;
120 
121   FUNCTION C_INV_OPEN_AMOUNTFORMULA(C_INV_GROSS_AMOUNT IN NUMBER
122                                    ,C_INV_PAY_AMOUNT0 IN NUMBER
123                                    ,C_INV_DISCOUNT_TAKEN0 IN NUMBER) RETURN NUMBER IS
124   BEGIN
125     RETURN ((C_INV_GROSS_AMOUNT - C_INV_PAY_AMOUNT0 - NVL((-1) * CP_INVPP_OPEN_AMOUNT
126               ,0) - C_INV_DISCOUNT_TAKEN0));
127   END C_INV_OPEN_AMOUNTFORMULA;
128 
129   FUNCTION C_INV_OPEN_BASEFORMULA(C_INV_OPEN_AMOUNT IN NUMBER
130                                  ,EXCHANGE_RATE IN NUMBER) RETURN NUMBER IS
131   BEGIN
132     RETURN ROUND((C_INV_OPEN_AMOUNT * EXCHANGE_RATE)
133                 ,C_PRECISION);
134   END C_INV_OPEN_BASEFORMULA;
135 
136   FUNCTION C_CUR_OPEN_AMOUNTFORMULA(C_CUR_GROSS_AMOUNT IN NUMBER
137                                    ,C_CUR_PAY_AMOUNT IN NUMBER
138                                    ,C_CUR_DISCOUNT_TAKEN IN NUMBER) RETURN NUMBER IS
139   BEGIN
140     RETURN (C_CUR_GROSS_AMOUNT - C_CUR_PAY_AMOUNT - C_CUR_DISCOUNT_TAKEN);
141   END C_CUR_OPEN_AMOUNTFORMULA;
142 
143   FUNCTION C_CUR_OPEN_BASEFORMULA(C_CUR_OPEN_AMOUNT IN NUMBER
144                                  ,EXCHANGE_RATE IN NUMBER) RETURN NUMBER IS
145   BEGIN
146     RETURN (C_CUR_OPEN_AMOUNT * EXCHANGE_RATE);
147   END C_CUR_OPEN_BASEFORMULA;
148 
149   FUNCTION C_GRP_OPEN_BASEFORMULA(C_GRP_GROSS_BASE IN NUMBER
150                                  ,C_GRP_PAY_BASE IN NUMBER
151                                  ,C_GRP_DISCOUNT_TAKEN_BASE IN NUMBER
152                                  ,C_GRP_GAINLOSS IN NUMBER) RETURN NUMBER IS
153   BEGIN
154     RETURN (C_GRP_GROSS_BASE - C_GRP_PAY_BASE - C_GRP_DISCOUNT_TAKEN_BASE + C_GRP_GAINLOSS);
155   END C_GRP_OPEN_BASEFORMULA;
156 
157   FUNCTION C_VEN_OPEN_AMOUNTFORMULA(C_VEN_GROSS_AMOUNT IN NUMBER
158                                    ,C_VEN_PAY_AMOUNT IN NUMBER
159                                    ,C_VEN_DISCOUNT_TAKEN IN NUMBER) RETURN NUMBER IS
160   BEGIN
161     RETURN (C_VEN_GROSS_AMOUNT - C_VEN_PAY_AMOUNT - C_VEN_DISCOUNT_TAKEN);
162   END C_VEN_OPEN_AMOUNTFORMULA;
163 
164   FUNCTION C_VEN_OPEN_BASEFORMULA(C_VEN_OPEN_AMOUNT IN NUMBER
165                                  ,EXCHANGE_RATE IN NUMBER) RETURN NUMBER IS
166   BEGIN
167     RETURN (C_VEN_OPEN_AMOUNT * EXCHANGE_RATE);
168   END C_VEN_OPEN_BASEFORMULA;
169 
170   FUNCTION C_RPT_OPEN_BASEFORMULA(C_RPT_INV_BASE IN NUMBER
171                                  ,C_RPT_PAY_BASE IN NUMBER
172                                  ,C_RPT_DISCOUNT_TAKEN_BASE IN NUMBER
173                                  ,C_RPT_GAINLOSS IN NUMBER) RETURN NUMBER IS
174   BEGIN
175     RETURN (C_RPT_INV_BASE - C_RPT_PAY_BASE - C_RPT_DISCOUNT_TAKEN_BASE + C_RPT_GAINLOSS);
176   END C_RPT_OPEN_BASEFORMULA;
177 
178   FUNCTION C_VENDOR_NAMEFORMULA RETURN VARCHAR2 IS
179   BEGIN
180     DECLARE
181       APU2 PO_VENDORS.VENDOR_NAME%TYPE;
182     BEGIN
183       SELECT
184         SEGMENT1 || '  ' || VENDOR_NAME
185       INTO APU2
186       FROM
187         PO_VENDORS
188       WHERE VENDOR_ID = NVL(P_VENDOR_ID
189          ,-1);
190       RETURN (APU2);
191     EXCEPTION
192       WHEN NO_DATA_FOUND THEN
193         RETURN (C_ALL);
194     END;
195     RETURN NULL;
196   END C_VENDOR_NAMEFORMULA;
197 
198   FUNCTION C_FLEXPROMPTFORMULA RETURN VARCHAR2 IS
199   BEGIN
200     DECLARE
201       L_GROUP VARCHAR2(80);
202     BEGIN
203       SELECT
204         MEANING
205       INTO L_GROUP
206       FROM
207         FND_LOOKUPS
208       WHERE LOOKUP_TYPE = 'JEFI_LPIP_GROUP'
209         AND LOOKUP_CODE = P_GROUP_FIELD;
210       RETURN (L_GROUP);
211     EXCEPTION
212       WHEN NO_DATA_FOUND THEN
213         RETURN ('');
214     END;
215     RETURN NULL;
216   END C_FLEXPROMPTFORMULA;
217 
218   FUNCTION C_SOB_NAMEFORMULA RETURN VARCHAR2 IS
219   BEGIN
220     DECLARE
221       APU VARCHAR2(40);
222     BEGIN
223       SELECT
224         GSOB.NAME
225       INTO APU
226       FROM
227         GL_SETS_OF_BOOKS GSOB,
228         AP_SYSTEM_PARAMETERS SP
229       WHERE GSOB.SET_OF_BOOKS_ID = SP.SET_OF_BOOKS_ID;
230       RETURN (APU);
231     EXCEPTION
232       WHEN NO_DATA_FOUND THEN
233         RETURN ('*ERROR*');
234     END;
235     RETURN NULL;
236   END C_SOB_NAMEFORMULA;
237 
238   FUNCTION SQL_CURRENCY RETURN BOOLEAN IS
239   BEGIN
240     IF P_INVOICE_CURRENCY IS NOT NULL THEN
241       SQL_INVOICE_CURRENCY := 'and i.invoice_currency_code=''' || P_INVOICE_CURRENCY || '''';
242     ELSE
243       SQL_INVOICE_CURRENCY := ' ';
244     END IF;
245     RETURN (TRUE);
246   END SQL_CURRENCY;
247 
248   FUNCTION SQL_VENDOR RETURN BOOLEAN IS
249   BEGIN
250     IF P_VENDOR_ID IS NOT NULL THEN
251       SQL_VENDOR_ID := 'and i.vendor_id=' || TO_CHAR(P_VENDOR_ID);
252     ELSE
253        SQL_VENDOR_ID := ' ';
254     END IF;
255     RETURN (TRUE);
256   END SQL_VENDOR;
257 
258   FUNCTION SQL_DISTRIBUTIONS_1 RETURN BOOLEAN IS
259     ENCUMBRANCE_FLAG VARCHAR2(1);
260   BEGIN
261     SELECT
262       PURCH_ENCUMBRANCE_FLAG
263     INTO ENCUMBRANCE_FLAG
264     FROM
265       FINANCIALS_SYSTEM_PARAMETERS;
266     IF P_MATCH_STATUS_FLAG = 'A' THEN
267       SQL_DISTRIBUTIONS := 'and not exists' || '((select aid1.invoice_id from ap_invoice_distributions aid1' || '  where aid1.invoice_id = id.invoice_id';
268       IF NVL(ENCUMBRANCE_FLAG,'N') = 'Y' THEN
269         SQL_DISTRIBUTIONS := SQL_DISTRIBUTIONS || '  and   nvl(aid1.match_status_flag,''N'') <> ''A'') ';
270       END IF;
271       IF NVL(ENCUMBRANCE_FLAG
272          ,'N') = 'N' THEN
273         SQL_DISTRIBUTIONS := SQL_DISTRIBUTIONS || '  AND   nvl(aid1.match_status_flag,''N'') not in (''A'', ''T'')) ';
274       END IF;
275       SQL_DISTRIBUTIONS := SQL_DISTRIBUTIONS || '  UNION' || ' (select aih1.invoice_id from ap_holds aih1' || '  where aih1.invoice_id = id.invoice_id'
276       || '  and aih1.release_lookup_code is null))' || 'and exists' || '(select null from ap_invoice_distributions aid2' || ' where aid2.invoice_id = id.invoice_id)';
277     END IF;
278     IF P_MATCH_STATUS_FLAG = 'N' THEN
279       SQL_DISTRIBUTIONS := 'and exists' || '((select aid2.invoice_id from ap_invoice_distributions aid2' || '  where aid2.invoice_id = id.invoice_id';
280       IF NVL(ENCUMBRANCE_FLAG,'N') = 'Y' THEN
281         SQL_DISTRIBUTIONS := SQL_DISTRIBUTIONS || '  and   nvl(aid2.match_status_flag,''N'') <> ''A'')';
282       END IF;
283       IF NVL(ENCUMBRANCE_FLAG
284          ,'N') = 'N' THEN
285         SQL_DISTRIBUTIONS := SQL_DISTRIBUTIONS || '  AND   nvl(aid2.match_status_flag,''N'') not in (''A'', ''T'')) ';
286       END IF;
287       SQL_DISTRIBUTIONS := SQL_DISTRIBUTIONS || '  UNION' || ' (select aih2.invoice_id from ap_holds aih2' || '  where aih2.invoice_id = id.invoice_id' || '  and aih2.release_lookup_code is null))';
288     END IF;
289     IF P_INV_POSTED_FLAG IS NOT NULL THEN
290       SQL_DISTRIBUTIONS := SQL_DISTRIBUTIONS || 'and nvl(ach1.gl_transfer_status_code,''N'')=''' || P_INV_POSTED_FLAG || ''' ';
291     END IF;
292     IF P_CUT_DATE IS NOT NULL THEN
293       SQL_DISTRIBUTIONS := SQL_DISTRIBUTIONS || 'and trunc(nvl(id.accounting_date,sysdate))<=''' || TO_CHAR(P_CUT_DATE) || ''' ';
294     END IF;
295     IF P_INVOICE_PERIOD IS NOT NULL THEN
296       SQL_DISTRIBUTIONS := SQL_DISTRIBUTIONS || 'and id.period_name=''' || P_INVOICE_PERIOD || '''';
297     ELSE
298       SQL_DISTRIBUTIONS :=' ';
299     END IF;
300     RETURN (TRUE);
301   END SQL_DISTRIBUTIONS_1;
302 
303   FUNCTION SQL_PAYMENTS RETURN BOOLEAN IS
304     L_START_DATE DATE;
308     IF P_CUT_DATE IS NULL THEN
305     L_CLEARING VARCHAR2(30);
306     L_SQL_PAY2_SUB VARCHAR2(1000);
307   BEGIN
309       CP_CUT_DATE := SYSDATE;
310     END IF;
311     SQL_PAYMENTS1 := ' ';
312     SQL_PAYMENTS2 := ' ';
313     SQL_PAYMENTS3 := ' ';
314     SQL_PAYMENTS_FDP := ' ';
315     IF P_ONLY_OPEN_INVOICES = 'N' AND P_ONLY_PAID_INVOICES = 'N' THEN
316       P_ONLY_OPEN_INVOICES := 'Y';
317     END IF;
318     IF P_PAYMENT_PERIOD IS NOT NULL THEN
319       SQL_PAYMENTS2 := SQL_PAYMENTS2 || 'and ip.period_name=''' || P_PAYMENT_PERIOD || ''' ';
320       CP_ONLY_PAID_INVOICES := 'Y';
321       P_ONLY_OPEN_INVOICES := 'N';
322     END IF;
323     IF P_CHECK_VOUCHER IS NOT NULL THEN
324       SQL_PAYMENTS2 := SQL_PAYMENTS2 || 'and c.doc_sequence_value=''' || P_CHECK_VOUCHER || ''' ';
325       CP_ONLY_PAID_INVOICES := 'Y';
326       P_ONLY_OPEN_INVOICES := 'N';
327     END IF;
328     IF P_CHECKRUN_NAME IS NOT NULL THEN
329       SQL_PAYMENTS2 := SQL_PAYMENTS2 || 'and c.checkrun_name=''' || P_CHECKRUN_NAME || ''' ';
330       CP_ONLY_PAID_INVOICES := 'Y';
331       P_ONLY_OPEN_INVOICES := 'N';
332     END IF;
333     L_SQL_PAY2_SUB := SQL_PAYMENTS2;
334     SELECT
335       NVL(WHEN_TO_ACCOUNT_PMT
336          ,'X')
337     INTO L_CLEARING
338     FROM
339       AP_SYSTEM_PARAMETERS;
340     IF L_CLEARING = 'CLEARING ONLY' THEN
341       SQL_PAYMENTS2 := SQL_PAYMENTS2 || 'and trunc(c.cleared_date)<=''' || TO_CHAR(P_CUT_DATE) || ''' ';
342     ELSE
343       IF P_CONFIRMED = 'N' THEN
344         SQL_PAYMENTS2 := SQL_PAYMENTS2 || 'and (trunc(c.cleared_date)>''' || TO_CHAR(P_CUT_DATE) || ''' or c.cleared_date is null) ';
345       ELSIF P_CONFIRMED = 'Y' THEN
346         SQL_PAYMENTS2 := SQL_PAYMENTS2 || 'and trunc(c.cleared_date)<=''' || TO_CHAR(P_CUT_DATE) || ''' ';
347       ELSIF P_CONFIRMED IS NULL THEN
348         SQL_PAYMENTS2 := SQL_PAYMENTS2 || 'and (trunc(ip.accounting_date)<=''' || TO_CHAR(P_CUT_DATE) || ''' or to_char(ip.accounting_date,''DD-MM-YYYY'')=''31-12-2099'') ';
349       END IF;
350     END IF;
351     IF P_PAY_POSTED_FLAG IS NOT NULL THEN
352       SQL_PAYMENTS2 := SQL_PAYMENTS2 || 'and nvl(ach.gl_transfer_status_code,''N'')=''' || P_PAY_POSTED_FLAG || ''' ';
353     END IF;
354     IF P_ONLY_PAID_INVOICES = 'Y' AND P_ONLY_OPEN_INVOICES = 'N' THEN
355       SQL_PAYMENTS1 := SQL_PAYMENTS1 || 'and exists (select null from ap_invoice_payments ip, ap_checks c  where i.invoice_id=ip.invoice_id and ip.check_id=c.check_id and c.void_date is null ' || SQL_PAYMENTS2 || ')';
356       SQL_PAYMENTS3 := SQL_PAYMENTS3 || 'and exists (select null from ap_invoice_payments ip, ap_checks c, xla_transaction_entities aae, xla_ae_headers ach, xla_events xev ' || ' where ps.invoice_id=ip.invoice_id and
357       ps.payment_num=ip.payment_num and ' || ' c.check_id = aae.source_id_int_1(+) and aae.ENTITY_CODE = ''AP_PAYMENTS'' and aae.ENTITY_ID = ach.ENTITY_ID and ' || ' xev.ENTITY_ID = aae.ENTITY_ID and xev.EVENT_TYPE_CODE
358       in (''PAYMENT CREATED'', ''PAYMENT CLEARED'', ''REFUND RECORDED'') and ' || ' ip.check_id=c.check_id and c.void_date is null ' || SQL_PAYMENTS2 || ')';
359     END IF;
360     IF P_ONLY_OPEN_INVOICES = 'Y' AND P_ONLY_PAID_INVOICES = 'Y' THEN
361       SELECT
362         TRUNC(START_DATE)
363       INTO L_START_DATE
364       FROM
365         GL_PERIOD_STATUSES
366       WHERE APPLICATION_ID = 200
367         AND NVL(ADJUSTMENT_PERIOD_FLAG
368          ,'N') = 'N'
369         AND TRUNC(P_CUT_DATE) between START_DATE
370         AND END_DATE
371         AND SET_OF_BOOKS_ID = C_SOB;
372       SQL_PAYMENTS1 := SQL_PAYMENTS1 || 'and (exists (' || 'select null from ap_payment_schedules ps where ps.invoice_id=i.invoice_id ' || 'and (nvl(ps.amount_remaining,0)<>0 or ' || 'not exists
373       (select null from ap_invoice_payments ip, ap_checks c, xla_transaction_entities aae, xla_ae_headers ach, xla_events xev ' || 'where ip.invoice_id=i.invoice_id and ps.payment_num=ip.payment_num and ip.check_id=c.check_id and
374       c.void_date is null ' || 'and c.check_id = aae.source_id_int_1(+) and aae.ENTITY_CODE = ''AP_PAYMENTS'' and aae.ENTITY_ID = ach.ENTITY_ID ' || 'and xev.ENTITY_ID = aae.ENTITY_ID and xev.EVENT_TYPE_CODE in
375       (''PAYMENT CREATED'', ''PAYMENT CLEARED'', ''REFUND RECORDED'') ' || SQL_PAYMENTS2 || ')))' || 'or exists (select null from ap_invoice_payments ip, ap_checks c ' || '           where i.invoice_id=ip.invoice_id
376       and ip.check_id=c.check_id and c.void_date is null ' || '             and trunc(ip.accounting_date) >=''' || TO_CHAR(L_START_DATE) || '''' || '             and trunc(ip.accounting_date) <=''' || TO_CHAR(P_CUT_DATE) || '''))';
377 
378       SQL_PAYMENTS3 := SQL_PAYMENTS3 || 'and ( nvl(ps.amount_remaining,0)<>0 or ' || '(not exists (select null from ap_invoice_payments ip, ap_checks c, xla_transaction_entities aae, xla_ae_headers ach, xla_events xev ' || 'where
379       ip.invoice_id=ps.invoice_id and ps.payment_num=ip.payment_num and ip.check_id=c.check_id and c.void_date is null ' || 'and c.check_id = aae.source_id_int_1(+) and aae.ENTITY_CODE = ''AP_PAYMENTS'' and
380       aae.ENTITY_ID = ach.ENTITY_ID ' || 'and xev.ENTITY_ID = aae.ENTITY_ID and xev.EVENT_TYPE_CODE in (''PAYMENT CREATED'', ''PAYMENT CLEARED'', ''REFUND RECORDED'') ' || SQL_PAYMENTS2 || ') AND ' || 'not exists
381       (select null from ap_invoice_distributions id, ap_invoice_distributions ppd, ap_invoices pp' || ', ap_payment_schedules ppps, ap_invoice_payments ppip, ap_checks c ' || 'where id.invoice_id = ps.invoice_id
382       and id.line_type_lookup_code = ''PREPAY''
383       and id.PREPAY_DISTRIBUTION_ID = ppd.INVOICE_DISTRIBUTION_ID ' || 'and ppd.invoice_id = pp.invoice_id and pp.invoice_type_lookup_code = ''PREPAYMENT'' and pp.invoice_id = ppip.invoice_id ' || 'and ppps.invoice_id = pp.invoice_id and
384       ppps.payment_num = ppip.payment_num and ppip.check_id = c.check_id ' || 'and c.void_date is null ' || L_SQL_PAY2_SUB || ') ) ' || 'or exists (select null from ap_invoice_payments ip, ap_checks c ' || '           where
385       ps.invoice_id=ip.invoice_id and ip.check_id=c.check_id and c.void_date is null and ps.payment_num=ip.payment_num ' || '             and trunc(ip.accounting_date) >=''' || TO_CHAR(L_START_DATE) || '''' || '
389       and trunc(id.accounting_date) >=''' || TO_CHAR(L_START_DATE) || '''' || '                        and trunc(id.accounting_date) <=''' || TO_CHAR(P_CUT_DATE) || ''')) ';
386       and trunc(ip.accounting_date) <=''' || TO_CHAR(P_CUT_DATE) || ''') ' || 'or exists (select null from ap_invoice_distributions id, ap_invoice_distributions ppd, ap_invoices pp' || ', ap_payment_schedules ppps,
387       ap_invoice_payments ppip, ap_checks c ' || 'where id.invoice_id = ps.invoice_id and id.line_type_lookup_code = ''PREPAY'' and id.PREPAY_DISTRIBUTION_ID = ppd.INVOICE_DISTRIBUTION_ID ' || 'and ppd.invoice_id = pp.invoice_id
388       and pp.invoice_type_lookup_code = ''PREPAYMENT'' and pp.invoice_id = ppip.invoice_id ' || 'and ppps.invoice_id = pp.invoice_id and ppps.payment_num = ppip.payment_num and ppip.check_id = c.check_id ' || 'and c.void_date is null
390 
391       SQL_PAYMENTS_FDP := SQL_PAYMENTS_FDP || 'and ( nvl(ps.amount_remaining,0)<>0 or ' || '(not exists (select null from ap_invoice_payments ip, ap_checks c, xla_transaction_entities aae,
392       xla_ae_headers ach, xla_events xev ' || 'where ip.invoice_id=ps.invoice_id and ps.payment_num=ip.payment_num and ip.check_id=c.check_id and c.void_date is null ' || 'and c.check_id = aae.source_id_int_1(+)
393       and aae.ENTITY_CODE = ''AP_PAYMENTS'' and aae.ENTITY_ID = ach.ENTITY_ID ' || 'and xev.ENTITY_ID = aae.ENTITY_ID and xev.EVENT_TYPE_CODE in (''PAYMENT CREATED'', ''PAYMENT CLEARED'', ''REFUND RECORDED'') ' ||
394       SQL_PAYMENTS2 || ') AND ' || 'not exists (select null from ap_invoice_distributions id, ap_invoice_distributions ppd, ap_invoices pp' || ', ap_payment_schedules ppps, ap_invoice_payments ppip, ap_checks c ' ||
395       'where id.invoice_id = ps.invoice_id and id.line_type_lookup_code = ''PREPAY'' and id.PREPAY_DISTRIBUTION_ID = ppd.INVOICE_DISTRIBUTION_ID ' || 'and ppd.invoice_id = pp.invoice_id and pp.invoice_type_lookup_code = ''PREPAYMENT''
396       and pp.invoice_id = ppip.invoice_id ' || 'and ppps.invoice_id = pp.invoice_id and ppps.payment_num = ppip.payment_num and ppip.check_id = c.check_id ' || 'and c.void_date is null ' || L_SQL_PAY2_SUB || ')) ' ||
397       'or exists (select null from ap_invoice_payments ip, ap_checks c ' || '           where ps.invoice_id=ip.invoice_id and ip.check_id=c.check_id and c.void_date is null and ps.payment_num=ip.payment_num ' || '
398       and trunc(ip.accounting_date) <=''' || TO_CHAR(P_CUT_DATE) || '''' || '             and c.future_pay_due_date is not null ' || '             and c.status_lookup_code = ''ISSUED'')) ';
399 
400     END IF;
401     IF P_ONLY_OPEN_INVOICES = 'Y' AND P_ONLY_PAID_INVOICES = 'N' THEN
402       SQL_PAYMENTS1 := SQL_PAYMENTS1 || 'and (exists (' || 'select null from ap_payment_schedules ps where ps.invoice_id=i.invoice_id ' || 'and (nvl(ps.amount_remaining,0)<>0 or ' ||
403       'not exists (select null from ap_invoice_payments ip, ap_checks c, xla_transaction_entities aae, xla_ae_headers ach, xla_events xev ' || 'where ip.invoice_id=i.invoice_id and
404       ps.payment_num=ip.payment_num and ip.check_id=c.check_id and c.void_date is null ' || 'and c.check_id = aae.source_id_int_1(+) and aae.ENTITY_CODE = ''AP_PAYMENTS'' and
405       aae.ENTITY_ID = ach.ENTITY_ID ' || 'and xev.ENTITY_ID = aae.ENTITY_ID and xev.EVENT_TYPE_CODE in (''PAYMENT CREATED'', ''PAYMENT CLEARED'', ''REFUND RECORDED'') ' || SQL_PAYMENTS2 || '))))';
406 
407       SQL_PAYMENTS3 := SQL_PAYMENTS3 || 'and ( nvl(ps.amount_remaining,0)<>0 or ' || '(not exists (select null from ap_invoice_payments ip, ap_checks c, xla_transaction_entities aae, xla_ae_headers ach,
408       xla_events xev ' || 'where ip.invoice_id=ps.invoice_id and ps.payment_num=ip.payment_num and ip.check_id=c.check_id and c.void_date is null ' || 'and c.check_id = aae.source_id_int_1(+) and
409       aae.ENTITY_CODE = ''AP_PAYMENTS'' and aae.ENTITY_ID = ach.ENTITY_ID ' || 'and xev.ENTITY_ID = aae.ENTITY_ID and xev.EVENT_TYPE_CODE in (''PAYMENT CREATED'', ''PAYMENT CLEARED'', ''REFUND RECORDED'') ' || SQL_PAYMENTS2
410       || ') AND ' || ' not exists (select null from ap_invoice_distributions id, ap_invoice_distributions ppd, ap_invoices pp' || ', ap_payment_schedules ppps, ap_invoice_payments ppip, ap_checks c ' || 'where id.invoice_id = ps.invoice_id
411       and id.line_type_lookup_code = ''PREPAY'' and id.PREPAY_DISTRIBUTION_ID = ppd.INVOICE_DISTRIBUTION_ID ' || 'and ppd.invoice_id = pp.invoice_id and pp.invoice_type_lookup_code = ''PREPAYMENT'' and pp.invoice_id = ppip.invoice_id ' ||
412       'and ppps.invoice_id = pp.invoice_id and ppps.payment_num = ppip.payment_num and ppip.check_id = c.check_id ' || 'and c.void_date is null ' || L_SQL_PAY2_SUB || ')) )';
413 
414     END IF;
415     IF (P_DEBUG_SWITCH = 'Y') THEN
416       /*SRW.MESSAGE(102
417                  ,'SQL Payments 2 sub: ' || L_SQL_PAY2_SUB)*/NULL;
418       /*SRW.MESSAGE(103
419                  ,'SQL Payments 2: ' || SQL_PAYMENTS2)*/NULL;
420       /*SRW.MESSAGE(100
421                  ,'--------------------')*/NULL;
422       /*SRW.MESSAGE(104
423                  ,'SQL Payments 3: ' || SUBSTR(SQL_PAYMENTS3
424                        ,1
425                        ,250))*/NULL;
426       /*SRW.MESSAGE(104
427                  ,'SQL Payments 3: ' || SUBSTR(SQL_PAYMENTS3
428                        ,251
429                        ,250))*/NULL;
430       /*SRW.MESSAGE(104
431                  ,'SQL Payments 3: ' || SUBSTR(SQL_PAYMENTS3
432                        ,501
433                        ,250))*/NULL;
434       /*SRW.MESSAGE(104
435                  ,'SQL Payments 3: ' || SUBSTR(SQL_PAYMENTS3
436                        ,751
437                        ,250))*/NULL;
438       /*SRW.MESSAGE(104
439                  ,'SQL Payments 3: ' || SUBSTR(SQL_PAYMENTS3
440                        ,1001
441                        ,250))*/NULL;
442       /*SRW.MESSAGE(104
443                  ,'SQL Payments 3: ' || SUBSTR(SQL_PAYMENTS3
444                        ,1251
445                        ,250))*/NULL;
446       /*SRW.MESSAGE(104
447                  ,'SQL Payments 3: ' || SUBSTR(SQL_PAYMENTS3
448                        ,1501
449                        ,250))*/NULL;
450       /*SRW.MESSAGE(104
451                  ,'SQL Payments 3: ' || SUBSTR(SQL_PAYMENTS3
452                        ,1751
453                        ,250))*/NULL;
454       /*SRW.MESSAGE(104
455                  ,'SQL Payments 3: ' || SUBSTR(SQL_PAYMENTS3
459                  ,'SQL Payments 3: ' || SUBSTR(SQL_PAYMENTS3
456                        ,2001
457                        ,250))*/NULL;
458       /*SRW.MESSAGE(104
460                        ,2251
461                        ,250))*/NULL;
462       /*SRW.MESSAGE(100
463                  ,'--------------------')*/NULL;
464       /*SRW.MESSAGE(106
465                  ,'SQL Payments FDP: ' || SUBSTR(SQL_PAYMENTS_FDP
466                        ,1
467                        ,250))*/NULL;
468       /*SRW.MESSAGE(106
469                  ,'SQL Payments FDP: ' || SUBSTR(SQL_PAYMENTS_FDP
470                        ,251
471                        ,250))*/NULL;
472       /*SRW.MESSAGE(106
473                  ,'SQL Payments FDP: ' || SUBSTR(SQL_PAYMENTS_FDP
474                        ,501
475                        ,250))*/NULL;
476       /*SRW.MESSAGE(106
477                  ,'SQL Payments FDP: ' || SUBSTR(SQL_PAYMENTS_FDP
478                        ,751
479                        ,250))*/NULL;
480       /*SRW.MESSAGE(106
481                  ,'SQL Payments FDP: ' || SUBSTR(SQL_PAYMENTS_FDP
482                        ,1001
483                        ,250))*/NULL;
484       /*SRW.MESSAGE(106
485                  ,'SQL Payments FDP: ' || SUBSTR(SQL_PAYMENTS_FDP
486                        ,1251
487                        ,250))*/NULL;
488       /*SRW.MESSAGE(106
489                  ,'SQL Payments FDP: ' || SUBSTR(SQL_PAYMENTS_FDP
490                        ,1501
491                        ,250))*/NULL;
492     END IF;
493     RETURN (TRUE);
494   EXCEPTION
495     WHEN NO_DATA_FOUND THEN
496       RETURN (FALSE);
497   END SQL_PAYMENTS;
498 
499   FUNCTION C_BAL_FACTORFORMULA(DIST_BASE_AMOUNT IN NUMBER
500                               ,P_INVOICE_ID IN NUMBER) RETURN NUMBER IS
501   BEGIN
502     DECLARE
503       DIST_TOTAL NUMBER;
504     BEGIN
505       IF (DIST_BASE_AMOUNT IS NOT NULL) THEN
506         BEGIN
507           SELECT
508             SUM(NVL(BASE_AMOUNT
509                    ,AMOUNT))
510           INTO DIST_TOTAL
511           FROM
512             AP_INVOICE_DISTRIBUTIONS
513           WHERE INVOICE_ID = P_INVOICE_ID;
514         EXCEPTION
515           WHEN NO_DATA_FOUND THEN
516             DIST_TOTAL := DIST_BASE_AMOUNT;
517         END;
518         IF (DIST_TOTAL <> 0) THEN
519           RETURN (DIST_BASE_AMOUNT / DIST_TOTAL);
520         ELSE
521           RETURN (1);
522         END IF;
523       ELSE
524         RETURN (1);
525       END IF;
526     END;
527     RETURN NULL;
528   END C_BAL_FACTORFORMULA;
529 
530   FUNCTION C_INV_GROSS_BASEFORMULA(CANCELLED_DATE IN DATE
531                                   ,C_INV_GROSS_BASE0 IN NUMBER
532                                   ,CANCELLED_AMOUNT IN NUMBER
533                                   ,EXCHANGE_RATE IN NUMBER) RETURN NUMBER IS
534   BEGIN
535     IF NVL(CANCELLED_DATE
536        ,P_CUT_DATE) > P_CUT_DATE THEN
537       RETURN (C_INV_GROSS_BASE0 + ROUND(CANCELLED_AMOUNT * EXCHANGE_RATE
538                   ,C_PRECISION));
539     ELSE
540       RETURN (C_INV_GROSS_BASE0);
541     END IF;
542     RETURN NULL;
543   END C_INV_GROSS_BASEFORMULA;
544 
545   FUNCTION C_INV_GROSS_AMOUNTFORMULA(CANCELLED_DATE IN DATE
546                                     ,C_INV_GROSS_AMOUNT1 IN NUMBER
547                                     ,CANCELLED_AMOUNT IN NUMBER) RETURN NUMBER IS
548   BEGIN
549     IF NVL(CANCELLED_DATE
550        ,P_CUT_DATE) > P_CUT_DATE THEN
551       RETURN (C_INV_GROSS_AMOUNT1 + CANCELLED_AMOUNT);
552     ELSE
553       RETURN (C_INV_GROSS_AMOUNT1);
554     END IF;
555     RETURN NULL;
556   END C_INV_GROSS_AMOUNTFORMULA;
557 
558   FUNCTION C_INV_PAY_BASEFORMULA(P_INVOICE_ID IN NUMBER
559                                 ,C_INV_PAY_BASE0 IN NUMBER) RETURN NUMBER IS
560     L_PREPAY_AMT NUMBER := 0;
561     L_CLEARING VARCHAR2(40);
562     L_START_DATE DATE;
563   BEGIN
564     SELECT
565       TRUNC(START_DATE)
566     INTO L_START_DATE
567     FROM
568       GL_PERIOD_STATUSES
569     WHERE APPLICATION_ID = 200
570       AND NVL(ADJUSTMENT_PERIOD_FLAG
571        ,'N') = 'N'
572       AND TRUNC(P_CUT_DATE) between START_DATE
573       AND END_DATE
574       AND SET_OF_BOOKS_ID = C_SOB;
575     SELECT
576       SUM(PREPAY_AMT),
577       SUM(INVPP_OPEN_AMOUNT),
578       MAX(INVPP_GL_DATE)
579     INTO L_PREPAY_AMT,CP_INVPP_OPEN_AMOUNT,CP_INVPP_GL_DATE
580     FROM
581       (   SELECT
582           SUM(NVL(ID.BASE_AMOUNT
583                  ,ID.AMOUNT)) PREPAY_AMT,
584           SUM(ID.AMOUNT) INVPP_OPEN_AMOUNT,
585           MAX(ID.ACCOUNTING_DATE) INVPP_GL_DATE
586         FROM
587           AP_INVOICE_DISTRIBUTIONS_ALL ID,
588           AP_INVOICE_DISTRIBUTIONS_ALL PPD,
589           AP_INVOICES_ALL PP
590         WHERE ID.INVOICE_ID = P_INVOICE_ID
591           AND ( ( ID.LINE_TYPE_LOOKUP_CODE = 'PREPAY'
592           AND ID.PREPAY_DISTRIBUTION_ID = PPD.INVOICE_DISTRIBUTION_ID ) )
593           AND PPD.INVOICE_ID = PP.INVOICE_ID
594           AND PP.INVOICE_TYPE_LOOKUP_CODE = 'PREPAYMENT'
595           AND TRUNC(ID.ACCOUNTING_DATE) between L_START_DATE
596           AND P_CUT_DATE
597         UNION
598         SELECT
599           SUM(NVL(ID.BASE_AMOUNT
600                  ,ID.AMOUNT)) PREPAY_AMT,
601           SUM(ID.AMOUNT) INVPP_OPEN_AMOUNT,
602           MAX(ID.ACCOUNTING_DATE) INVPP_GL_DATE
603         FROM
604           AP_INVOICE_DISTRIBUTIONS_ALL ID,
605           AP_INVOICE_DISTRIBUTIONS_ALL PPD,
606           AP_INVOICE_DISTRIBUTIONS_ALL AID,
607           AP_INVOICES_ALL PP
611           AND ID.PREPAY_TAX_PARENT_ID = AID.INVOICE_DISTRIBUTION_ID
608         WHERE ID.INVOICE_ID = P_INVOICE_ID
609           AND ID.LINE_TYPE_LOOKUP_CODE = 'TAX'
610           AND AID.LINE_TYPE_LOOKUP_CODE = 'PREPAY'
612           AND AID.PREPAY_DISTRIBUTION_ID = PPD.INVOICE_DISTRIBUTION_ID
613           AND PPD.INVOICE_ID = PP.INVOICE_ID
614           AND PP.INVOICE_TYPE_LOOKUP_CODE = 'PREPAYMENT'
615           AND TRUNC(ID.ACCOUNTING_DATE) between L_START_DATE
616           AND P_CUT_DATE );
617     RETURN (NVL(C_INV_PAY_BASE0
618               ,0) - NVL(L_PREPAY_AMT
619               ,0));
620   EXCEPTION
621     WHEN OTHERS THEN
622       CP_INVPP_GL_DATE := TO_DATE('1952/01/01'
623                                  ,'YYYY/MM/DD');
624       RETURN (C_INV_PAY_BASE0);
625   END C_INV_PAY_BASEFORMULA;
626 
627   FUNCTION C_INV_GAINLOSSFORMULA(C_INV_GAINLOSS0 IN NUMBER) RETURN NUMBER IS
628   BEGIN
629     RETURN (C_INV_GAINLOSS0);
630   END C_INV_GAINLOSSFORMULA;
631 
632   FUNCTION C_INV_DISCOUNT_TAKEN_BASEFORMU(C_INV_DISC_TAKEN_BASE0 IN NUMBER) RETURN NUMBER IS
633   BEGIN
634     RETURN (C_INV_DISC_TAKEN_BASE0);
635   END C_INV_DISCOUNT_TAKEN_BASEFORMU;
636 
637   FUNCTION C_INV_DISCOUNT_AVAILABLEFORMUL(C_INV_DISC_AVAIL0 IN NUMBER
638                                          ,C_BAL_FACTOR IN NUMBER) RETURN NUMBER IS
639   BEGIN
640     RETURN (C_INV_DISC_AVAIL0 * C_BAL_FACTOR);
641   END C_INV_DISCOUNT_AVAILABLEFORMUL;
642 
643   FUNCTION NLS_PARAMETERS RETURN BOOLEAN IS
644     L_SUMMARY VARCHAR2(80);
645     L_YES VARCHAR2(80);
646     L_NO VARCHAR2(80);
647     L_ALL VARCHAR2(80);
648     L_APPROVAL_STATUS VARCHAR2(80);
649   BEGIN
650     SELECT
651       MEANING
652     INTO L_SUMMARY
653     FROM
654       FND_LOOKUPS
655     WHERE LOOKUP_TYPE = 'JEFI_LPIP_SUMMARY_LEVEL'
656       AND LOOKUP_CODE = P_SUMMARY_LEVEL;
657     C_SUMMARY_LEVEL := L_SUMMARY;
658     SELECT
659       MEANING
660     INTO L_APPROVAL_STATUS
661     FROM
662       FND_LOOKUPS
663     WHERE LOOKUP_TYPE = 'JEFI_LPIP_APPROVAL_STATUS'
664       AND LOOKUP_CODE = NVL(P_MATCH_STATUS_FLAG
665        ,'*');
666     C_APPROVAL_STATUS := L_APPROVAL_STATUS;
667     SELECT
668       MEANING
669     INTO L_YES
670     FROM
671       FND_LOOKUPS
672     WHERE LOOKUP_TYPE = 'YES_NO_ALL'
673       AND LOOKUP_CODE = 'Y';
674     C_YES := L_YES;
675     SELECT
676       MEANING
677     INTO L_NO
678     FROM
679       FND_LOOKUPS
680     WHERE LOOKUP_TYPE = 'YES_NO_ALL'
681       AND LOOKUP_CODE = 'N';
682     C_NO := L_NO;
683     SELECT
684       MEANING
685     INTO L_ALL
686     FROM
687       FND_LOOKUPS
688     WHERE LOOKUP_TYPE = 'YES_NO_ALL'
689       AND LOOKUP_CODE = 'A';
690     C_ALL := L_ALL;
691     RETURN (TRUE);
692     RETURN NULL;
693   EXCEPTION
694     WHEN NO_DATA_FOUND THEN
695       RETURN (FALSE);
696   END NLS_PARAMETERS;
697 
698   FUNCTION C_APPROVE_FLAGFORMULA(P_INVOICE_ID IN NUMBER) RETURN VARCHAR2 IS
699   BEGIN
700     DECLARE
701       A_FLAG FND_LOOKUPS.MEANING%TYPE;
702       A_COUNT NUMBER;
703     BEGIN
704       A_FLAG := C_NO;
705       A_COUNT := 0;
706       SELECT
707         count(*)
708       INTO A_COUNT
709       FROM
710         AP_INVOICE_DISTRIBUTIONS AID
711       WHERE AID.INVOICE_ID = P_INVOICE_ID
712         AND NVL(AID.MATCH_STATUS_FLAG
713          ,'N') <> 'A';
714       IF (A_COUNT = 0) THEN
715         A_FLAG := C_YES;
716       END IF;
717       A_COUNT := 0;
718       SELECT
719         count(*)
720       INTO A_COUNT
721       FROM
722         AP_HOLDS AIH
723       WHERE AIH.INVOICE_ID = P_INVOICE_ID
724         AND AIH.RELEASE_LOOKUP_CODE is null;
725       IF (A_COUNT <> 0) THEN
726         A_FLAG := C_NO;
727       END IF;
728       RETURN (A_FLAG);
729     END;
730     RETURN NULL;
731   END C_APPROVE_FLAGFORMULA;
732 
733   FUNCTION CF_CUT_DATEFORMULA RETURN CHAR IS
734   BEGIN
735     RETURN (FND_DATE.DATE_TO_CHARDATE(P_CUT_DATE));
736   END CF_CUT_DATEFORMULA;
737 
738   FUNCTION CF_SYSDATEFORMULA RETURN CHAR IS
739   BEGIN
740     RETURN (FND_DATE.DATE_TO_CHARDT(SYSDATE));
741   END CF_SYSDATEFORMULA;
742 
743   FUNCTION CF_C_INV_DISCOUNT_DATEFORMULA(C_INV_DISCOUNT_DATE IN DATE) RETURN CHAR IS
744   BEGIN
745     RETURN (FND_DATE.DATE_TO_CHARDATE(C_INV_DISCOUNT_DATE));
746   END CF_C_INV_DISCOUNT_DATEFORMULA;
747 
748   FUNCTION CF_INV_CHECK_GL_DATEFORMULA(C_INV_CHECK_GL_DATE IN DATE) RETURN CHAR IS
749   BEGIN
750     IF NVL(C_INV_CHECK_GL_DATE,TO_DATE('1952/01/01','YYYY/MM/DD')) < NVL(CP_INVPP_GL_DATE,TO_DATE('1952/01/01','YYYY/MM/DD')) THEN
751       RETURN (FND_DATE.DATE_TO_CHARDATE(CP_INVPP_GL_DATE));
752     ELSE
753       RETURN (FND_DATE.DATE_TO_CHARDATE(C_INV_CHECK_GL_DATE));
754     END IF;
755   END CF_INV_CHECK_GL_DATEFORMULA;
756 
757   FUNCTION C_SCH_OPEN_AMOUNTFORMULA(GROSS_AMOUNT IN NUMBER
758                                    ,C_SCH_PAY_AMOUNT IN NUMBER
759                                    ,C_SCH_DISCOUNT_TAKEN IN NUMBER) RETURN NUMBER IS
760   BEGIN
761     RETURN (GROSS_AMOUNT - C_SCH_PAY_AMOUNT - C_SCH_DISCOUNT_TAKEN);
762   END C_SCH_OPEN_AMOUNTFORMULA;
763 
764   FUNCTION C_SCH_OPEN_BASEFORMULA(C_SCH_OPEN_AMOUNT IN NUMBER
765                                  ,EXCHANGE_RATE IN NUMBER) RETURN NUMBER IS
766   BEGIN
767     RETURN (C_SCH_OPEN_AMOUNT * EXCHANGE_RATE);
768   END C_SCH_OPEN_BASEFORMULA;
769 
770   FUNCTION CP_INV_PAY_AMOUNT_P RETURN NUMBER IS
771   BEGIN
772     RETURN CP_INV_PAY_AMOUNT;
773   END CP_INV_PAY_AMOUNT_P;
774 
775   FUNCTION CP_INVPP_OPEN_AMOUNT_P RETURN NUMBER IS
776   BEGIN
777     RETURN CP_INVPP_OPEN_AMOUNT;
778   END CP_INVPP_OPEN_AMOUNT_P;
779 
780   FUNCTION CP_INVPP_GL_DATE_P RETURN DATE IS
781   BEGIN
782     RETURN CP_INVPP_GL_DATE;
783   END CP_INVPP_GL_DATE_P;
784 
785   FUNCTION C_FLEXDATA_P RETURN VARCHAR2 IS
786   BEGIN
787     RETURN C_FLEXDATA;
788   END C_FLEXDATA_P;
789 
790   FUNCTION SQL_PAYMENT_GROUP_P RETURN VARCHAR2 IS
791   BEGIN
792     RETURN SQL_PAYMENT_GROUP;
793   END SQL_PAYMENT_GROUP_P;
794 
795   FUNCTION SQL_INVOICE_CURRENCY_P RETURN VARCHAR2 IS
796   BEGIN
797     RETURN SQL_INVOICE_CURRENCY;
798   END SQL_INVOICE_CURRENCY_P;
799 
800   FUNCTION SQL_VENDOR_ID_P RETURN VARCHAR2 IS
801   BEGIN
802     RETURN SQL_VENDOR_ID;
803   END SQL_VENDOR_ID_P;
804 
805   FUNCTION SQL_DISTRIBUTIONS_P RETURN VARCHAR2 IS
806   BEGIN
807     RETURN SQL_DISTRIBUTIONS;
808   END SQL_DISTRIBUTIONS_P;
809 
810   FUNCTION SQL_PAYMENTS2_P RETURN VARCHAR2 IS
811   BEGIN
812     RETURN SQL_PAYMENTS2;
813   END SQL_PAYMENTS2_P;
814 
815   FUNCTION SQL_PAYMENTS3_P RETURN VARCHAR2 IS
816   BEGIN
817     RETURN SQL_PAYMENTS3;
818   END SQL_PAYMENTS3_P;
819 
820   FUNCTION C_COAI_P RETURN NUMBER IS
821   BEGIN
822     RETURN C_COAI;
823   END C_COAI_P;
824 
825   FUNCTION SQL_PAYMENTS1_P RETURN VARCHAR2 IS
826   BEGIN
827     RETURN SQL_PAYMENTS1;
828   END SQL_PAYMENTS1_P;
829 
830   FUNCTION C_TITLE_P RETURN VARCHAR2 IS
831   BEGIN
832     RETURN C_TITLE;
833   END C_TITLE_P;
834 
835   FUNCTION C_SUMMARY_LEVEL_P RETURN VARCHAR2 IS
836   BEGIN
837     RETURN C_SUMMARY_LEVEL;
838   END C_SUMMARY_LEVEL_P;
839 
840   FUNCTION C_YES_P RETURN VARCHAR2 IS
841   BEGIN
842     RETURN C_YES;
843   END C_YES_P;
844 
845   FUNCTION C_APPROVAL_STATUS_P RETURN VARCHAR2 IS
846   BEGIN
847     RETURN C_APPROVAL_STATUS;
848   END C_APPROVAL_STATUS_P;
849 
850   FUNCTION C_NO_P RETURN VARCHAR2 IS
851   BEGIN
852     RETURN C_NO;
853   END C_NO_P;
854 
855   FUNCTION C_ALL_P RETURN VARCHAR2 IS
856   BEGIN
857     RETURN C_ALL;
858   END C_ALL_P;
859 
860   FUNCTION C_SOB_P RETURN NUMBER IS
861   BEGIN
862     RETURN C_SOB;
863   END C_SOB_P;
864 
865   FUNCTION C_HOLD_FLAG_P RETURN VARCHAR2 IS
866   BEGIN
867     RETURN C_HOLD_FLAG;
868   END C_HOLD_FLAG_P;
869 
870   FUNCTION C_PRECISION_P RETURN NUMBER IS
871   BEGIN
872     RETURN C_PRECISION;
873   END C_PRECISION_P;
874 
875   FUNCTION C_FUNCT_CURR_P RETURN VARCHAR2 IS
876   BEGIN
877     RETURN C_FUNCT_CURR;
878   END C_FUNCT_CURR_P;
879 
880   FUNCTION SQL_PAYMENTS_FDP_P RETURN VARCHAR2 IS
881   BEGIN
882     RETURN SQL_PAYMENTS_FDP;
883   END SQL_PAYMENTS_FDP_P;
884 
885 END JE_JEFILPIP_XMLP_PKG;
886 
887 
888