1 PACKAGE BODY AP_APXCRRCR_XMLP_PKG AS
2 /* $Header: APXCRRCRB.pls 120.0 2007/12/27 07:37:38 vjaganat noship $ */
3 FUNCTION CUSTOM_INIT RETURN BOOLEAN IS
4 BEGIN
5 /*SRW.MESSAGE(1
6 ,'in custom init')*/NULL;
7 SELECT
8 NVL(P_CHECK_DATE_V
9 ,DECODE(PAYMENT_DATE_OPTION
10 ,'REQUESTDATE'
11 ,SYSDATE
12 ,SYSDATE + ADDL_PAYMENT_DAYS)),
13 NVL(P_PAY_THROUGH_DATE_V
14 ,SYSDATE + ADDL_PAY_THRU_DAYS),
15 HI_PAYMENT_PRIORITY,
16 LOW_PAYMENT_PRIORITY,
17 PAY_ONLY_WHEN_DUE_FLAG,
18 ZERO_INV_ALLOWED_FLAG,
19 VENDOR_ID,
20 sysdate - ADDL_PAY_FROM_DAYS,
21 INV_EXCHANGE_RATE_TYPE,
22 PAYMENT_METHOD_CODE,
23 VENDOR_TYPE_LOOKUP_CODE,
24 OU_GROUP_OPTION,
25 LE_GROUP_OPTION,
26 CURRENCY_GROUP_OPTION,
27 PAY_GROUP_OPTION,
28 PARTY_ID,
29 DECODE(PAY_ONLY_WHEN_DUE_FLAG
30 ,'Y'
31 ,TO_DATE('01/01/80'
32 ,'MM/DD/RR')
33 ,NVL(P_PAY_THROUGH_DATE_V
34 ,SYSDATE + ADDL_PAY_THRU_DAYS)),
35 TEMPLATE_NAME
36 INTO P_CHECK_DATE_V,P_PAY_THROUGH_DATE_V,C_HI_PAYMENT_PRIORITY,
37 C_LOW_PAYMENT_PRIORITY,P_PAY_ONLY_WHEN_DUE_FLAG,C_ZERO_INVOICES_ALLOWED,
38 C_VENDOR_ID,C_PAY_FROM_DATE,C_INV_EXCHANGE_RATE_TYPE,C_PAYMENT_METHOD_CODE,
39 C_VENDOR_TYPE_LOOKUP_CODE,C_OU_GROUP_OPTION,C_LE_GROUP_OPTION,C_CURRENCY_GROUP_OPTION,
40 C_PAY_GROUP_OPTION,C_PARTY_ID,C_DISC_PAY_THRU_DATE,C_TEMPLATE_NAME
41 FROM
42 AP_PAYMENT_TEMPLATES
43 WHERE TEMPLATE_ID = P_TEMPLATE_ID;
44 IF P_INCLUDE_UNVALIDATED = 'N' THEN
45 C_UNVALIDATED_PREDICATE := 'AND inv1.wfapproval_status in ' || '(''NOT REQUIRED'',''WFAPPROVED'',''MANUALLY APPROVED'') ';
46 END IF;
47 IF P_INCLUDE_UNAPPROVED = 'N' THEN
48 C_UNAPPROVED_PREDICATE := 'AND NOT EXISTS (' || 'SELECT 1 ' || 'FROM ap_invoices_derived_v AIDV '
49 || 'WHERE AIDV.invoice_id = inv1.invoice_id ' || 'AND AIDV.approval_status_lookup_code IN '
50 || '(''NEVER APPROVED'', ''NEEDS REAPPROVAL'', ''UNAPPROVED'')) ';
51 END IF;
52 RETURN (TRUE);
53 RETURN NULL;
54 EXCEPTION
55 WHEN OTHERS THEN
56 RETURN (FALSE);
57 END CUSTOM_INIT;
58
59 FUNCTION GET_COVER_PAGE_VALUES RETURN BOOLEAN IS
60 BEGIN
61 RETURN (TRUE);
62 RETURN NULL;
63 EXCEPTION
64 WHEN OTHERS THEN
65 RETURN (FALSE);
66 END GET_COVER_PAGE_VALUES;
67
68 FUNCTION GET_NLS_STRINGS RETURN BOOLEAN IS
69 NLS_ALL AP_LOOKUP_CODES.DISPLAYED_FIELD%TYPE;
70 NLS_YES FND_LOOKUPS.MEANING%TYPE;
71 NLS_NO FND_LOOKUPS.MEANING%TYPE;
72 NLS_HOLDS AP_LOOKUP_CODES.DISPLAYED_FIELD%TYPE;
73 BEGIN
74 NLS_ALL := '';
75 NLS_YES := '';
76 NLS_NO := '';
77 NLS_HOLDS := '';
78 SELECT
79 LY.MEANING,
80 LN.MEANING,
81 LA.DISPLAYED_FIELD,
82 LH.DISPLAYED_FIELD
83 INTO NLS_YES,NLS_NO,NLS_ALL,NLS_HOLDS
84 FROM
85 FND_LOOKUPS LY,
86 FND_LOOKUPS LN,
87 AP_LOOKUP_CODES LA,
88 AP_LOOKUP_CODES LH
89 WHERE LY.LOOKUP_TYPE = 'YES_NO'
90 AND LY.LOOKUP_CODE = 'Y'
91 AND LN.LOOKUP_TYPE = 'YES_NO'
92 AND LN.LOOKUP_CODE = 'N'
93 AND LA.LOOKUP_TYPE = 'NLS REPORT PARAMETER'
94 AND LA.LOOKUP_CODE = 'ALL'
95 AND LH.LOOKUP_TYPE = 'NLS TRANSLATION'
96 AND LH.LOOKUP_CODE = 'HOLDS';
97 C_NLS_YES := NLS_YES;
98 C_NLS_NO := NLS_NO;
99 C_NLS_ALL := NLS_ALL;
100 C_NLS_HOLDS := NLS_HOLDS;
101 FND_MESSAGE.SET_NAME('SQLAP'
102 ,'AP_APPRVL_NO_DATA');
103 C_NLS_NO_DATA_EXISTS := FND_MESSAGE.GET;
104 C_NLS_NO_DATA_EXISTS := ' ' || C_NLS_NO_DATA_EXISTS || ' ';
105 FND_MESSAGE.SET_NAME('SQLAP'
106 ,'AP_ALL_END_OF_REPORT');
107 C_NLS_END_OF_REPORT := FND_MESSAGE.GET;
108 C_NLS_END_OF_REPORT := ' ' || C_NLS_END_OF_REPORT || ' ';
109 RETURN (TRUE);
110 RETURN NULL;
111 EXCEPTION
112 WHEN OTHERS THEN
113 RETURN (FALSE);
114 END GET_NLS_STRINGS;
115
116 FUNCTION BEFOREREPORT RETURN BOOLEAN IS
117 BEGIN
118 DECLARE
119 INIT_FAILURE EXCEPTION;
120 BEGIN
121 --added as fix
122 P_CHECK_DATE_V:=P_CHECK_DATE;
123 P_PAY_THROUGH_DATE_v:=P_PAY_THROUGH_DATE;
124
125 /*SRW.MESSAGE(0
126 ,'Beginning Cash Requirements report ...')*/NULL;
127 P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
128 /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
129 IF (P_DEBUG_SWITCH = 'Y') THEN
130 /*SRW.MESSAGE('1'
131 ,'After SRWINIT')*/NULL;
132 END IF;
133 IF (GET_COMPANY_NAME <> TRUE) THEN
134 RAISE INIT_FAILURE;
135 END IF;
136 IF (P_DEBUG_SWITCH = 'Y') THEN
137 /*SRW.MESSAGE('2'
138 ,'After Get_Company_Name')*/NULL;
139 END IF;
140 IF (GET_NLS_STRINGS <> TRUE) THEN
141 RAISE INIT_FAILURE;
142 END IF;
143 IF (P_DEBUG_SWITCH = 'Y') THEN
144 /*SRW.MESSAGE('3'
145 ,'After Get_NLS_Strings')*/NULL;
146 END IF;
147 BEGIN
148 SELECT
149 SORT_BY_ALTERNATE_FIELD
150 INTO SORT_BY_ALTERNATE
151 FROM
152 AP_SYSTEM_PARAMETERS;
153 EXCEPTION
154 WHEN OTHERS THEN
155 SORT_BY_ALTERNATE := 'N';
156 END;
157 IF (CUSTOM_INIT <> TRUE) THEN
158 RAISE INIT_FAILURE;
159 END IF;
160 IF (P_DEBUG_SWITCH = 'Y') THEN
161 /*SRW.MESSAGE('7'
162 ,'After Custom_Init')*/NULL;
163 END IF;
164 IF (P_DEBUG_SWITCH = 'Y') THEN
165 /*SRW.BREAK*/NULL;
166 END IF;
167
168 --added as fix
169 P_PAY_THROUGH_DATE_v1:=to_char(P_PAY_THROUGH_DATE_v,'DD-MON-YY');
170 P_CHECK_DATE_V1:=to_char(P_CHECK_DATE_V,'DD-MON-YY');
171 RETURN (TRUE);
172 EXCEPTION
173 WHEN OTHERS THEN
174 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
175 END;
176 RETURN (TRUE);
177 END BEFOREREPORT;
178
179 FUNCTION AFTERREPORT RETURN BOOLEAN IS
180 BEGIN
181 BEGIN
182 /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
183 IF (P_DEBUG_SWITCH = 'Y') THEN
184 /*SRW.MESSAGE('20'
185 ,'After SRWEXIT')*/NULL;
186 END IF;
187 EXCEPTION
188 WHEN OTHERS THEN
189 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
190 END;
191 RETURN (TRUE);
192 END AFTERREPORT;
193
194 FUNCTION GET_COMPANY_NAME RETURN BOOLEAN IS
195 BEGIN
196 C_REPORT_START_DATE := SYSDATE;
197 RETURN (TRUE);
198 RETURN NULL;
199 EXCEPTION
200 WHEN OTHERS THEN
201 RETURN (FALSE);
202 END GET_COMPANY_NAME;
203
204 FUNCTION CALCULATE_RUN_TIME RETURN BOOLEAN IS
205 END_DATE DATE;
206 START_DATE DATE;
207 BEGIN
208 END_DATE := SYSDATE;
209 START_DATE := C_REPORT_START_DATE;
210 C_REPORT_RUN_TIME := TO_CHAR(TO_DATE('01/01/0001'
211 ,'DD/MM/YYYY') + ((END_DATE - START_DATE))
212 ,'HH24:MI:SS');
213 RETURN (TRUE);
214 RETURN NULL;
215 EXCEPTION
216 WHEN OTHERS THEN
217 /*RAISE SRW.PROGRAM_ABORT*/RAISE_APPLICATION_ERROR(-20101,null);
218 END CALCULATE_RUN_TIME;
219
220 FUNCTION C_PAY_DATEFORMULA(C_SORT_PAY_DATE IN DATE) RETURN VARCHAR2 IS
221 BEGIN
222 DECLARE
223 L_HOLD_COUNT NUMBER;
224 L_DISC_DATE DATE;
225 L_DATE DATE;
226 BEGIN
227 RETURN (TO_CHAR(C_SORT_PAY_DATE
228 ,'DD-MON-YY'));
229 END;
230 END C_PAY_DATEFORMULA;
231
232 FUNCTION C_HOLD_COUNTFORMULA(C_INVOICE_ID IN NUMBER) RETURN NUMBER IS
233 BEGIN
234 DECLARE
235 L_HOLD_COUNT NUMBER;
236 BEGIN
237 IF P_INCLUDE_UNAPPROVED = 'N' THEN
238 RETURN (0);
239 END IF;
240 /*SRW.REFERENCE(C_INVOICE_ID)*/NULL;
241 SELECT
242 COUNT(HC.HOLD_LOOKUP_CODE)
243 INTO L_HOLD_COUNT
244 FROM
245 AP_HOLDS HC
246 WHERE HC.INVOICE_ID = C_INVOICE_ID
247 AND HC.RELEASE_LOOKUP_CODE IS NULL;
248 RETURN (L_HOLD_COUNT);
249 END;
250 RETURN NULL;
251 END C_HOLD_COUNTFORMULA;
252
253 FUNCTION C_NLS_SUMMARY_FLAGFORMULA RETURN VARCHAR2 IS
254 BEGIN
255 BEGIN
256 IF P_SUMMARY_FLAG = 'Y' THEN
257 RETURN (C_NLS_YES);
258 ELSE
259 RETURN (C_NLS_NO);
260 END IF;
261 END;
262 RETURN NULL;
263 END C_NLS_SUMMARY_FLAGFORMULA;
264
265 FUNCTION C_APPROVED_STATUSFORMULA(C_INVOICE_ID IN NUMBER) RETURN VARCHAR2 IS
266 BEGIN
267 DECLARE
268 STATUS VARCHAR2(8);
269 BEGIN
270 SELECT
271 'Approved'
272 INTO STATUS
273 FROM
274 DUAL
275 WHERE ( ( NOT EXISTS (
276 SELECT
277 'Unreleased holds exist'
278 FROM
279 AP_HOLDS H
280 WHERE H.INVOICE_ID = C_INVOICE_ID
281 AND H.RELEASE_LOOKUP_CODE is null ) )
282 AND ( EXISTS (
283 SELECT
284 'Invoice has been approved'
285 FROM
286 FINANCIALS_SYSTEM_PARAMETERS FP
287 WHERE exists (
288 SELECT
289 'Invoice has been approved'
290 FROM
291 AP_INVOICE_DISTRIBUTIONS D1
292 WHERE D1.INVOICE_ID = C_INVOICE_ID )
293 AND ( ( NVL(FP.PURCH_ENCUMBRANCE_FLAG
294 ,'N') = 'N'
295 AND not exists (
296 SELECT
297 'Invoice is not fully approved'
298 FROM
299 AP_INVOICE_DISTRIBUTIONS D2
300 WHERE D2.INVOICE_ID = C_INVOICE_ID
301 AND NVL(D2.MATCH_STATUS_FLAG
302 ,'N') = 'N' ) )
303 OR ( NVL(FP.PURCH_ENCUMBRANCE_FLAG
304 ,'N') = 'Y'
305 AND not exists (
306 SELECT
307 'Invoice is not fully approved'
308 FROM
309 AP_INVOICE_DISTRIBUTIONS D3
310 WHERE D3.INVOICE_ID = C_INVOICE_ID
311 AND NVL(D3.MATCH_STATUS_FLAG
312 ,'N') <> 'A' ) ) ) ) ) );
313 IF STATUS IS NOT NULL THEN
314 RETURN (C_NLS_YES);
315 ELSE
316 RETURN (C_NLS_NO);
317 END IF;
318 EXCEPTION
319 WHEN NO_DATA_FOUND THEN
320 RETURN (C_NLS_NO);
321 END;
322 RETURN NULL;
323 END C_APPROVED_STATUSFORMULA;
324
325 FUNCTION C_AMOUNT_ROUNDFORMULA(C_CURRENCY_CODE IN VARCHAR2
326 ,C_AMOUNT IN NUMBER) RETURN NUMBER IS
327 BEGIN
328 DECLARE
329 L_DISC_AMT NUMBER;
330 L_AMOUNT NUMBER;
331 BEGIN
332 /*SRW.REFERENCE(C_CURRENCY_CODE)*/NULL;
333 /*SRW.REFERENCE(C_AMOUNT)*/NULL;
334 RETURN (AP_UTILITIES_PKG.AP_ROUND_CURRENCY(C_AMOUNT
335 ,C_CURRENCY_CODE));
336 END;
337 END C_AMOUNT_ROUNDFORMULA;
338
339 FUNCTION C_AMOUNTFORMULA(C_TAKE_DISC_FLAG IN VARCHAR2
340 ,C_DISC_AMT IN NUMBER
341 ,C_DISC_DATE IN DATE
342 ,C_SEC_DISC_DATE IN DATE
343 ,C_SEC_DISC_AMT IN NUMBER
344 ,C_THRD_DISC_DATE IN DATE
345 ,C_THRD_DISC_AMT IN NUMBER
346 ,C_GROSS_AMOUNT IN NUMBER
347 ,C_AMT_REMAINING IN NUMBER) RETURN NUMBER IS
348 BEGIN
349 DECLARE
350 L_DISC_AMT NUMBER;
351 L_AMOUNT NUMBER;
352 BEGIN
353 IF (C_TAKE_DISC_FLAG = 'Y') THEN
354 L_DISC_AMT := NVL(C_DISC_AMT
355 ,0);
356 ELSE
357 IF P_CHECK_DATE_V <= NVL(C_DISC_DATE
358 ,SYSDATE - 9000) THEN
359 L_DISC_AMT := NVL(C_DISC_AMT
360 ,0);
361 ELSE
362 IF P_CHECK_DATE_V <= NVL(C_SEC_DISC_DATE
363 ,SYSDATE - 9000) THEN
364 L_DISC_AMT := NVL(C_SEC_DISC_AMT
365 ,0);
366 ELSE
367 IF P_CHECK_DATE_V <= NVL(C_THRD_DISC_DATE
368 ,SYSDATE - 9000) THEN
369 L_DISC_AMT := NVL(C_THRD_DISC_AMT
370 ,0);
371 ELSE
372 L_DISC_AMT := 0;
373 END IF;
374 END IF;
375 END IF;
376 END IF;
377 IF C_GROSS_AMOUNT = 0 THEN
378 L_DISC_AMT := 0;
379 ELSE
380 L_DISC_AMT := L_DISC_AMT * (C_AMT_REMAINING / C_GROSS_AMOUNT);
381 END IF;
382 IF P_PAY_ONLY_WHEN_DUE_FLAG = 'Y' THEN
383 IF (C_TAKE_DISC_FLAG = 'N') THEN
384 L_AMOUNT := NVL(C_AMT_REMAINING
385 ,0);
386 ELSE
387 L_AMOUNT := NVL(C_AMT_REMAINING
388 ,0) - L_DISC_AMT;
389 END IF;
390 ELSE
391 L_AMOUNT := NVL(C_AMT_REMAINING
392 ,0) - L_DISC_AMT;
393 END IF;
394 RETURN (L_AMOUNT);
395 END;
396 END C_AMOUNTFORMULA;
397
398 FUNCTION C_BASE_CURRENCY_AMOUNTFORMULA(C_TAKE_DISC_FLAG IN VARCHAR2
399 ,C_DISC_AMT IN NUMBER
400 ,C_DISC_DATE IN DATE
404 ,C_THRD_DISC_AMT IN NUMBER
401 ,C_SEC_DISC_DATE IN DATE
402 ,C_SEC_DISC_AMT IN NUMBER
403 ,C_THRD_DISC_DATE IN DATE
405 ,C_GROSS_AMOUNT IN NUMBER
406 ,C_AMT_REMAINING IN NUMBER
407 ,C_BASE_MIN_ACCOUNT_UNIT IN NUMBER
408 ,C_EXCH_RATE IN NUMBER
409 ,C_PAYMENT_CROSS_RATE IN NUMBER
410 ,C_BASE_PRECISION IN NUMBER) RETURN NUMBER IS
411 BEGIN
412 DECLARE
413 L_DISC_AMT NUMBER;
414 L_AMOUNT NUMBER;
415 BEGIN
416 IF (C_TAKE_DISC_FLAG = 'Y') THEN
417 L_DISC_AMT := NVL(C_DISC_AMT
418 ,0);
419 ELSE
420 IF P_CHECK_DATE_V <= NVL(C_DISC_DATE
421 ,SYSDATE - 9000) THEN
422 L_DISC_AMT := NVL(C_DISC_AMT
423 ,0);
424 ELSE
425 IF P_CHECK_DATE_V <= NVL(C_SEC_DISC_DATE
426 ,SYSDATE - 9000) THEN
427 L_DISC_AMT := NVL(C_SEC_DISC_AMT
428 ,0);
429 ELSE
430 IF P_CHECK_DATE_V <= NVL(C_THRD_DISC_DATE
431 ,SYSDATE - 9000) THEN
432 L_DISC_AMT := NVL(C_THRD_DISC_AMT
433 ,0);
434 ELSE
435 L_DISC_AMT := 0;
436 END IF;
437 END IF;
438 END IF;
439 END IF;
440 IF C_GROSS_AMOUNT = 0 THEN
441 L_DISC_AMT := 0;
442 ELSE
443 L_DISC_AMT := L_DISC_AMT * (C_AMT_REMAINING / C_GROSS_AMOUNT);
444 END IF;
445 IF P_PAY_ONLY_WHEN_DUE_FLAG = 'Y' THEN
446 IF (C_TAKE_DISC_FLAG = 'N') THEN
447 L_AMOUNT := NVL(C_AMT_REMAINING
448 ,0);
449 ELSE
450 L_AMOUNT := C_AMT_REMAINING - L_DISC_AMT;
451 END IF;
452 ELSE
453 L_AMOUNT := NVL(C_AMT_REMAINING
454 ,0) - L_DISC_AMT;
455 END IF;
456 IF C_BASE_MIN_ACCOUNT_UNIT IS NULL THEN
457 L_AMOUNT := ROUND((L_AMOUNT * NVL(C_EXCH_RATE
458 ,1) / NVL(C_PAYMENT_CROSS_RATE
459 ,1))
460 ,C_BASE_PRECISION);
461 ELSE
462 L_AMOUNT := ROUND((L_AMOUNT * NVL(C_EXCH_RATE
463 ,1) / NVL(C_PAYMENT_CROSS_RATE
464 ,1)) / C_BASE_MIN_ACCOUNT_UNIT) * C_BASE_MIN_ACCOUNT_UNIT;
465 END IF;
466 RETURN (L_AMOUNT);
467 END;
468 END C_BASE_CURRENCY_AMOUNTFORMULA;
469
470 FUNCTION C_SORT_PAY_DATEFORMULA(C_TAKE_DISC_FLAG IN VARCHAR2
471 ,C_DUE_DATE IN DATE
472 ,C_DISC_DATE IN DATE
473 ,C_SEC_DISC_DATE IN DATE
474 ,C_THRD_DISC_DATE IN DATE) RETURN DATE IS
475 BEGIN
476 DECLARE
477 L_HOLD_COUNT NUMBER;
478 L_DISC_DATE DATE;
479 L_DATE DATE;
480 BEGIN
481 IF (C_TAKE_DISC_FLAG = 'Y') THEN
482 L_DISC_DATE := C_DUE_DATE;
483 ELSE
484 IF P_CHECK_DATE_V <= NVL(C_DISC_DATE
485 ,SYSDATE - 9000) THEN
486 L_DISC_DATE := C_DISC_DATE;
487 ELSE
488 IF P_CHECK_DATE_V <= NVL(C_SEC_DISC_DATE
489 ,SYSDATE - 9000) THEN
490 L_DISC_DATE := C_SEC_DISC_DATE;
491 ELSE
492 IF P_CHECK_DATE_V <= NVL(C_THRD_DISC_DATE
493 ,SYSDATE - 9000) THEN
494 L_DISC_DATE := C_THRD_DISC_DATE;
495 ELSE
496 L_DISC_DATE := C_DUE_DATE;
497 END IF;
498 END IF;
499 END IF;
500 END IF;
501 IF P_PAY_ONLY_WHEN_DUE_FLAG = 'Y' THEN
502 IF (NVL(C_TAKE_DISC_FLAG
503 ,'N') = 'Y') THEN
504 L_DATE := C_DUE_DATE;
505 ELSE
506 L_DATE := L_DISC_DATE;
507 END IF;
508 ELSE
509 L_DATE := L_DISC_DATE;
510 END IF;
511 RETURN (TRUNC(L_DATE));
512 END;
513 END C_SORT_PAY_DATEFORMULA;
514
515 FUNCTION C_NLS_INCL_UNAPPROVEDFORMULA RETURN CHAR IS
516 BEGIN
517 IF P_INCLUDE_UNAPPROVED = 'Y' THEN
518 RETURN (C_NLS_YES);
519 ELSE
520 RETURN (C_NLS_NO);
521 END IF;
522 END C_NLS_INCL_UNAPPROVEDFORMULA;
523
524 FUNCTION C_NLS_INCL_UNVALIDATEDFORMULA RETURN CHAR IS
525 BEGIN
526 IF P_INCLUDE_UNVALIDATED = 'Y' THEN
527 RETURN (C_NLS_YES);
528 ELSE
529 RETURN (C_NLS_NO);
530 END IF;
531 END C_NLS_INCL_UNVALIDATEDFORMULA;
532
533 FUNCTION C_REPORT_START_DATE_P RETURN DATE IS
534 BEGIN
535 RETURN C_REPORT_START_DATE;
536 END C_REPORT_START_DATE_P;
537
538 FUNCTION C_NLS_YES_P RETURN VARCHAR2 IS
539 BEGIN
540 RETURN C_NLS_YES;
541 END C_NLS_YES_P;
542
543 FUNCTION C_NLS_NO_P RETURN VARCHAR2 IS
544 BEGIN
545 RETURN C_NLS_NO;
546 END C_NLS_NO_P;
547
548 FUNCTION C_NLS_ALL_P RETURN VARCHAR2 IS
549 BEGIN
550 RETURN C_NLS_ALL;
551 END C_NLS_ALL_P;
552
553 FUNCTION C_NLS_NO_DATA_EXISTS_P RETURN VARCHAR2 IS
554 BEGIN
555 RETURN C_NLS_NO_DATA_EXISTS;
556 END C_NLS_NO_DATA_EXISTS_P;
557
558 FUNCTION C_REPORT_RUN_TIME_P RETURN VARCHAR2 IS
559 BEGIN
560 RETURN C_REPORT_RUN_TIME;
561 END C_REPORT_RUN_TIME_P;
562
563 FUNCTION C_CHART_OF_ACCOUNTS_ID_P RETURN NUMBER IS
564 BEGIN
565 RETURN C_CHART_OF_ACCOUNTS_ID;
566 END C_CHART_OF_ACCOUNTS_ID_P;
567
568 FUNCTION C_NLS_END_OF_REPORT_P RETURN VARCHAR2 IS
569 BEGIN
570 RETURN C_NLS_END_OF_REPORT;
571 END C_NLS_END_OF_REPORT_P;
572
573 FUNCTION C_HI_PAYMENT_PRIORITY_P RETURN NUMBER IS
574 BEGIN
575 RETURN C_HI_PAYMENT_PRIORITY;
576 END C_HI_PAYMENT_PRIORITY_P;
577
578 FUNCTION C_LOW_PAYMENT_PRIORITY_P RETURN NUMBER IS
579 BEGIN
580 RETURN C_LOW_PAYMENT_PRIORITY;
581 END C_LOW_PAYMENT_PRIORITY_P;
582
583 FUNCTION C_ZERO_INVOICES_ALLOWED_P RETURN VARCHAR2 IS
584 BEGIN
585 RETURN C_ZERO_INVOICES_ALLOWED;
586 END C_ZERO_INVOICES_ALLOWED_P;
587
588 FUNCTION C_VENDOR_ID_P RETURN NUMBER IS
589 BEGIN
590 RETURN C_VENDOR_ID;
591 END C_VENDOR_ID_P;
592
593 FUNCTION C_PAY_FROM_DATE_P RETURN DATE IS
594 BEGIN
595 RETURN C_PAY_FROM_DATE;
596 END C_PAY_FROM_DATE_P;
597
598 FUNCTION C_PAYMENT_METHOD_CODE_P RETURN VARCHAR2 IS
599 BEGIN
600 RETURN C_PAYMENT_METHOD_CODE;
601 END C_PAYMENT_METHOD_CODE_P;
602
603 FUNCTION C_VENDOR_TYPE_LOOKUP_CODE_P RETURN VARCHAR2 IS
604 BEGIN
605 RETURN C_VENDOR_TYPE_LOOKUP_CODE;
606 END C_VENDOR_TYPE_LOOKUP_CODE_P;
607
608 FUNCTION C_OU_GROUP_OPTION_P RETURN VARCHAR2 IS
609 BEGIN
610 RETURN C_OU_GROUP_OPTION;
611 END C_OU_GROUP_OPTION_P;
612
613 FUNCTION C_LE_GROUP_OPTION_P RETURN VARCHAR2 IS
614 BEGIN
615 RETURN C_LE_GROUP_OPTION;
616 END C_LE_GROUP_OPTION_P;
617
618 FUNCTION C_CURRENCY_GROUP_OPTION_P RETURN VARCHAR2 IS
619 BEGIN
620 RETURN C_CURRENCY_GROUP_OPTION;
621 END C_CURRENCY_GROUP_OPTION_P;
622
623 FUNCTION C_PAY_GROUP_OPTION_P RETURN VARCHAR2 IS
624 BEGIN
625 RETURN C_PAY_GROUP_OPTION;
626 END C_PAY_GROUP_OPTION_P;
627
628 FUNCTION C_INV_EXCHANGE_RATE_TYPE_P RETURN VARCHAR2 IS
629 BEGIN
630 RETURN C_INV_EXCHANGE_RATE_TYPE;
631 END C_INV_EXCHANGE_RATE_TYPE_P;
632
633 FUNCTION C_PARTY_ID_P RETURN NUMBER IS
634 BEGIN
635 RETURN C_PARTY_ID;
636 END C_PARTY_ID_P;
637
638 FUNCTION C_DISC_PAY_THRU_DATE_P RETURN DATE IS
639 BEGIN
640 RETURN C_DISC_PAY_THRU_DATE;
641 END C_DISC_PAY_THRU_DATE_P;
642
643 FUNCTION C_TEMPLATE_NAME_P RETURN VARCHAR2 IS
644 BEGIN
645 RETURN C_TEMPLATE_NAME;
646 END C_TEMPLATE_NAME_P;
647
648 FUNCTION C_UNAPPROVED_PREDICATE_P RETURN VARCHAR2 IS
649 BEGIN
650 RETURN C_UNAPPROVED_PREDICATE;
651 END C_UNAPPROVED_PREDICATE_P;
652
653 FUNCTION C_UNVALIDATED_PREDICATE_P RETURN VARCHAR2 IS
654 BEGIN
655 RETURN C_UNVALIDATED_PREDICATE;
656 END C_UNVALIDATED_PREDICATE_P;
657
658 FUNCTION C_NLS_HOLDS_P RETURN VARCHAR2 IS
659 BEGIN
660 RETURN C_NLS_HOLDS;
661 END C_NLS_HOLDS_P;
662
663 END AP_APXCRRCR_XMLP_PKG;
664
665