DBA Data[Home] [Help]

PACKAGE BODY: APPS.XTR_XTRHOAPR_XMLP_PKG

Source


1 PACKAGE BODY XTR_XTRHOAPR_XMLP_PKG AS
2 /* $Header: XTRHOAPRB.pls 120.1 2007/12/31 07:18:29 npannamp noship $ */
3   FUNCTION AFTERPFORM RETURN BOOLEAN IS
4     P_AR_FROM VARCHAR2(100);
5     P_AP_FROM VARCHAR2(100);
6     P_AR_WHERE VARCHAR2(10000);
7     P_AP_WHERE VARCHAR2(10000);
8     V_DATE_FROM VARCHAR2(80);
9     V_DATE_TO VARCHAR2(80);
10     CURSOR GET_SOURCE_NAME(P_SOURCE IN VARCHAR2) IS
11       SELECT
12         MEANING
13       FROM
14         FND_LOOKUPS
15       WHERE LOOKUP_TYPE = 'XTR_HEDGE_SOURCES'
16         AND LOOKUP_CODE = P_SOURCE;
17     CURSOR GET_MISC(P_MISC IN VARCHAR2) IS
18       SELECT
19         MEANING
20       FROM
21         FND_LOOKUPS
22       WHERE LOOKUP_TYPE = 'XTR_HEDGE_MISC'
23         AND LOOKUP_CODE = P_MISC;
24     CURSOR GET_YES_NO(P_YES_NO IN VARCHAR2) IS
25       SELECT
26         MEANING
27       FROM
28         FND_LOOKUPS
29       WHERE LOOKUP_TYPE = 'YES_NO'
30         AND LOOKUP_CODE = P_YES_NO;
31     CURSOR GET_COMPANY_NAME(P_COMPANY_CODE IN VARCHAR2) IS
32       SELECT
33         FULL_NAME
34       FROM
35         XTR_PARTY_INFO_V
36       WHERE PARTY_CODE = P_COMPANY_CODE;
37     CURSOR GET_FACTOR(P_FACTOR IN VARCHAR2) IS
38       SELECT
39         MEANING
40       FROM
41         FND_LOOKUPS
42       WHERE LOOKUP_TYPE = 'XTR_NUM_FACTOR'
43         AND LOOKUP_CODE = P_FACTOR;
44     CURSOR GET_REPORT_NAME(P_CONC_REQUEST_ID IN VARCHAR2) IS
45       SELECT
46         CP.USER_CONCURRENT_PROGRAM_NAME
47       FROM
48         FND_CONCURRENT_PROGRAMS_VL CP,
49         FND_CONCURRENT_REQUESTS CR
50       WHERE CR.REQUEST_ID = P_CONC_REQUEST_ID
51         AND CP.APPLICATION_ID = CR.PROGRAM_APPLICATION_ID
52         AND CP.CONCURRENT_PROGRAM_ID = CR.CONCURRENT_PROGRAM_ID;
53   BEGIN
54   P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
55   P_CRITERIA_SET_V := P_CRITERIA_SET;
56     IF (P_SEARCH_BY <> 'ADVANCED') THEN
57       P_CRITERIA_SET_V := NULL;
58     END IF;
59     V_DATE_FROM := TO_CHAR(P_DATE_FROM
60                           ,'RRRR/MM/DD');
61     V_DATE_TO := TO_CHAR(P_DATE_TO
62                         ,'RRRR/MM/DD');
63 --added as fix
64    P_DATE_FROM_v := P_DATE_FROM;
65    P_DATE_TO_v := P_DATE_TO;
66     XTR_HEDGE_PROCESS_P.GET_HOAPR_REPORT_PARAMETERS(P_CRITERIA_SET_V
67                                                    ,P_CRITERIA_SET_OWNER
68                                                    ,P_SOURCE
69                                                    ,P_CURRENCY
70                                                    ,P_COMPANY_CODE
71                                                    ,P_SOB_CURRENCY
72                                                    ,P_DISCOUNT_METHOD
73                                                    ,P_FACTOR
74                                                    ,V_DATE_FROM
75                                                    ,V_DATE_TO
76                                                    ,P_UNAPLD_RECEIPTS
77                                                    ,P_UNAPLD_PREPAYMENTS
78                                                    ,AR_FROM_CLAUSE
79                                                    ,AP_FROM_CLAUSE
80                                                    ,AR_WHERE_CLAUSE
81                                                    ,AP_WHERE_CLAUSE);
82     IF (P_DUMMY1 <> 'D') THEN
83       DSP_CRITERIA_SET := P_CRITERIA_SET_V;
84     END IF;
85   /*  P_DATE_FROM := TO_DATE(V_DATE_FROM
86                           ,'RRRR/MM/DD');
87     P_DATE_TO := TO_DATE(V_DATE_TO
88                         ,'RRRR/MM/DD');*/
89     P_DATE_FROM_V := TO_DATE(V_DATE_FROM
90                               ,'RRRR/MM/DD');
91         P_DATE_TO_V := TO_DATE(V_DATE_TO
92                         ,'RRRR/MM/DD');
93     OPEN GET_SOURCE_NAME('AR');
94     FETCH GET_SOURCE_NAME
95      INTO AR_SOURCE_NAME;
96     CLOSE GET_SOURCE_NAME;
97     OPEN GET_SOURCE_NAME('AP');
98     FETCH GET_SOURCE_NAME
99      INTO AP_SOURCE_NAME;
100     CLOSE GET_SOURCE_NAME;
101     IF (P_DISCOUNT_METHOD = 'MAX') THEN
102       AP_ORDER_CLAUSE := 'MAX_DISCOUNTED_DATE ';
103     ELSIF (P_DISCOUNT_METHOD = 'MIN') THEN
104       AP_ORDER_CLAUSE := 'MIN_DISCOUNTED_DATE ';
105     ELSE
106       AP_ORDER_CLAUSE := 'MIN_DUE_DATE ';
107     END IF;
108     IF P_FACTOR = '0' THEN
109       P_UNIT := 1;
110     ELSE
111       P_UNIT := TO_NUMBER(P_FACTOR);
112     END IF;
113     P_REF_DATE := TRUNC(SYSDATE);
114     OPEN GET_COMPANY_NAME(P_COMPANY_CODE);
115     FETCH GET_COMPANY_NAME
116      INTO DSP_COMPANY_NAME;
117     CLOSE GET_COMPANY_NAME;
118     OPEN GET_MISC(P_DISCOUNT_METHOD);
119     FETCH GET_MISC
120      INTO DSP_DISCOUNT_METHOD;
121     CLOSE GET_MISC;
122     OPEN GET_MISC(P_SEARCH_BY);
123     FETCH GET_MISC
124      INTO DSP_SEARCH_BY;
125     CLOSE GET_MISC;
126     OPEN GET_SOURCE_NAME(P_SOURCE);
127     FETCH GET_SOURCE_NAME
128      INTO DSP_SOURCE;
129     CLOSE GET_SOURCE_NAME;
130     OPEN GET_YES_NO(P_SHOW_TRANSACTIONS);
131     FETCH GET_YES_NO
132      INTO DSP_SHOW_TRANSACTIONS;
133     CLOSE GET_YES_NO;
134     OPEN GET_YES_NO(P_UNAPLD_PREPAYMENTS);
135     FETCH GET_YES_NO
136      INTO DSP_UNAPLD_PREPAYMENTS;
137     CLOSE GET_YES_NO;
138     OPEN GET_YES_NO(P_UNAPLD_RECEIPTS);
139     FETCH GET_YES_NO
140      INTO DSP_UNAPLD_RECEIPTS;
141     CLOSE GET_YES_NO;
142     OPEN GET_FACTOR(P_FACTOR);
143     FETCH GET_FACTOR
144      INTO DSP_FACTOR;
145     CLOSE GET_FACTOR;
146     OPEN GET_REPORT_NAME(P_CONC_REQUEST_ID);
147     FETCH GET_REPORT_NAME
148      INTO P_REPORT_NAME;
149     CLOSE GET_REPORT_NAME;
150     RETURN (TRUE);
151   EXCEPTION
152     WHEN OTHERS THEN
153       /*SRW.MESSAGE(100
154                  ,SQLERRM)*/NULL;
155   END AFTERPFORM;
156 
157   FUNCTION CF_NET_POSITIONFORMULA(SUMSUMAMOUNTPERRPT IN NUMBER
158                                  ,SUMHPAMOUNTPERRPT IN NUMBER) RETURN NUMBER IS
159   BEGIN
160     RETURN NVL(SUMSUMAMOUNTPERRPT
161               ,0) + NVL(SUMHPAMOUNTPERRPT
162               ,0);
163   END CF_NET_POSITIONFORMULA;
164 
165   FUNCTION AMOUNT_DSPFORMULA(AMOUNT IN NUMBER
166                             ,AMOUNT_DSP IN VARCHAR2) RETURN CHAR IS
167   BEGIN
168     /*SRW.REFERENCE(AMOUNT)*/NULL;
169     /*SRW.REFERENCE(AMOUNT_DSP)*/NULL;
170     FORMAT_AMOUNT_FIELD('amount');
171     RETURN (AMOUNT_DSP);
172   END AMOUNT_DSPFORMULA;
173 
174   FUNCTION SUMAMOUNTPERAR_SRC_DSPFORMULA(SUMAMOUNTPERAR_SRC IN NUMBER
175                                         ,SUMAMOUNTPERAR_SRC_DSP IN VARCHAR2) RETURN CHAR IS
176   BEGIN
177     /*SRW.REFERENCE(SUMAMOUNTPERAR_SRC)*/NULL;
178     /*SRW.REFERENCE(SUMAMOUNTPERAR_SRC_DSP)*/NULL;
179     FORMAT_AMOUNT_FIELD('SumAMOUNTPerAR_SRC');
180     RETURN (SUMAMOUNTPERAR_SRC_DSP);
181   END SUMAMOUNTPERAR_SRC_DSPFORMULA;
182 
183   FUNCTION SUMAMOUNTPERAP_SRC_DSPFORMULA(SUMAMOUNTPERAP_SRC IN NUMBER
184                                         ,SUMAMOUNTPERAP_SRC_DSP IN VARCHAR2) RETURN CHAR IS
185   BEGIN
186     /*SRW.REFERENCE(SUMAMOUNTPERAP_SRC)*/NULL;
187     /*SRW.REFERENCE(SUMAMOUNTPERAP_SRC_DSP)*/NULL;
188     FORMAT_AMOUNT_FIELD('sumamountperap_src');
189     RETURN (SUMAMOUNTPERAP_SRC_DSP);
190   END SUMAMOUNTPERAP_SRC_DSPFORMULA;
191 
192   FUNCTION AMOUNT1_DSPFORMULA(AMOUNT1 IN NUMBER
193                              ,AMOUNT1_DSP IN VARCHAR2) RETURN CHAR IS
194   BEGIN
195     /*SRW.REFERENCE(AMOUNT1)*/NULL;
196     /*SRW.REFERENCE(AMOUNT1_DSP)*/NULL;
197     FORMAT_AMOUNT_FIELD('amount1');
198     RETURN (AMOUNT1_DSP);
199   END AMOUNT1_DSPFORMULA;
200 
201   FUNCTION SUM_AMOUNT_DSPFORMULA(SUM_AMOUNT IN NUMBER
202                                 ,SUM_AMOUNT_DSP IN VARCHAR2) RETURN CHAR IS
203   BEGIN
204     /*SRW.REFERENCE(SUM_AMOUNT)*/NULL;
205     /*SRW.REFERENCE(SUM_AMOUNT_DSP)*/NULL;
206     FORMAT_AMOUNT_FIELD_LARGE('sum_amount');
207     RETURN (SUM_AMOUNT_DSP);
208   END SUM_AMOUNT_DSPFORMULA;
209 
210   FUNCTION HP_AMOUNT_DSPFORMULA(HP_AMOUNT IN NUMBER
211                                ,HP_AMOUNT_DSP IN VARCHAR2) RETURN CHAR IS
212   BEGIN
213     /*SRW.REFERENCE(HP_AMOUNT)*/NULL;
214     /*SRW.REFERENCE(HP_AMOUNT_DSP)*/NULL;
215     FORMAT_AMOUNT_FIELD_LARGE('hp_amount');
216     RETURN (HP_AMOUNT_DSP);
217   END HP_AMOUNT_DSPFORMULA;
218 
219   FUNCTION SUMSUMAMOUNTPERRPT_DSPFORMULA(SUMSUMAMOUNTPERRPT IN NUMBER
220                                         ,SUMSUMAMOUNTPERRPT_DSP IN VARCHAR2) RETURN CHAR IS
221   BEGIN
222     /*SRW.REFERENCE(SUMSUMAMOUNTPERRPT)*/NULL;
223     /*SRW.REFERENCE(SUMSUMAMOUNTPERRPT_DSP)*/NULL;
224     FORMAT_AMOUNT_FIELD_LARGE('SumSUMAMOUNTPerRPT');
225     RETURN (SUMSUMAMOUNTPERRPT_DSP);
226   END SUMSUMAMOUNTPERRPT_DSPFORMULA;
227 
228   FUNCTION SUMHPAMOUNTPERRPT_DSPFORMULA(SUMHPAMOUNTPERRPT IN NUMBER
229                                        ,SUMHPAMOUNTPERRPT_DSP IN VARCHAR2) RETURN CHAR IS
230   BEGIN
231     /*SRW.REFERENCE(SUMHPAMOUNTPERRPT)*/NULL;
232     /*SRW.REFERENCE(SUMHPAMOUNTPERRPT_DSP)*/NULL;
233     FORMAT_AMOUNT_FIELD_LARGE('SumHPAMOUNTPerRPT');
234     RETURN (SUMHPAMOUNTPERRPT_DSP);
235   END SUMHPAMOUNTPERRPT_DSPFORMULA;
236 
237   FUNCTION CF_NET_POSITION_DSPFORMULA(CF_NET_POSITION IN NUMBER
238                                      ,CF_NET_POSITION_DSP IN VARCHAR2) RETURN CHAR IS
239   BEGIN
240     /*SRW.REFERENCE(CF_NET_POSITION)*/NULL;
241     /*SRW.REFERENCE(CF_NET_POSITION_DSP)*/NULL;
242     FORMAT_AMOUNT_FIELD_LARGE('cf_net_position');
243     RETURN (CF_NET_POSITION_DSP);
244   END CF_NET_POSITION_DSPFORMULA;
245 
246   FUNCTION BEFOREREPORT RETURN BOOLEAN IS
247     CURSOR GET_LANGUAGE_DESC IS
248       SELECT
249         ITEM_NAME,
250         TEXT LANG_NAME
251       FROM
252         XTR_SYS_LANGUAGES_VL
253       WHERE MODULE_NAME = 'XTRHOAPR';
254   BEGIN
255     FOR c IN GET_LANGUAGE_DESC LOOP
256       IF C.ITEM_NAME = 'Z_REPORT_DATE' THEN
257         Z_REPORT_DATE := C.LANG_NAME;
258       ELSIF C.ITEM_NAME = 'Z_PAGE' THEN
259         Z_PAGE := C.LANG_NAME;
260       ELSIF C.ITEM_NAME = 'Z_SEARCH_BY' THEN
261         Z_SEARCH_BY := C.LANG_NAME;
262       ELSIF C.ITEM_NAME = 'Z_SOURCE' THEN
263         Z_SOURCE := C.LANG_NAME;
264       ELSIF C.ITEM_NAME = 'Z_CURRENCY' THEN
265         Z_CURRENCY := C.LANG_NAME;
266       ELSIF C.ITEM_NAME = 'Z_COMPANY' THEN
267         Z_COMPANY := C.LANG_NAME;
268       ELSIF C.ITEM_NAME = 'Z_SOB_CURRENCY' THEN
269         Z_SOB_CURRENCY := C.LANG_NAME;
270       ELSIF C.ITEM_NAME = 'Z_AP_DISCOUNT' THEN
271         Z_AP_DISCOUNT := C.LANG_NAME;
272       ELSIF C.ITEM_NAME = 'Z_FACTOR' THEN
273         Z_FACTOR := C.LANG_NAME;
274       ELSIF C.ITEM_NAME = 'Z_DUE_DATE_FROM' THEN
275         Z_DUE_DATE_FROM := C.LANG_NAME;
276       ELSIF C.ITEM_NAME = 'Z_DUE_DATE_TO' THEN
277         Z_DUE_DATE_TO := C.LANG_NAME;
278       ELSIF C.ITEM_NAME = 'Z_UNAPPLIED_PREPAYMENTS' THEN
279         Z_UNAPPLIED_PREPAYMENTS := C.LANG_NAME;
280       ELSIF C.ITEM_NAME = 'Z_UNAPPLIED_RECEIPTS' THEN
281         Z_UNAPPLIED_RECEIPTS := C.LANG_NAME;
282       ELSIF C.ITEM_NAME = 'Z_SHOW_TRANSACTIONS' THEN
283         Z_SHOW_TRANSACTIONS := C.LANG_NAME;
284       ELSIF C.ITEM_NAME = 'Z_CRITERIA_SET' THEN
285         Z_CRITERIA_SET := C.LANG_NAME;
286       ELSIF C.ITEM_NAME = 'Z_PARAMETERS' THEN
287         Z_PARAMETERS := C.LANG_NAME;
288       ELSIF C.ITEM_NAME = 'Z_BASIC_SEARCH_CRITERIA' THEN
289         Z_BASIC_SEARCH_CRITERIA := C.LANG_NAME;
290       ELSIF C.ITEM_NAME = 'Z_ADVANCED_SEARCH_CRITERIA' THEN
291         Z_ADVANCED_SEARCH_CRITERIA := C.LANG_NAME;
292       ELSIF C.ITEM_NAME = 'Z_OPEN_ARAP_HEDGE_POSITION' THEN
293         Z_OPEN_ARAP_HEDGE_POSITION := C.LANG_NAME;
294       ELSIF C.ITEM_NAME = 'Z_AS_OF_DATE' THEN
295         Z_AS_OF_DATE := C.LANG_NAME;
296       ELSIF C.ITEM_NAME = 'Z_SUMMARY_POSITION' THEN
297         Z_SUMMARY_POSITION := C.LANG_NAME;
298       ELSIF C.ITEM_NAME = 'Z_NET_POSITION' THEN
299         Z_NET_POSITION := C.LANG_NAME;
300       ELSIF C.ITEM_NAME = 'Z_ACTUAL_HEDGE_POSITION' THEN
301         Z_ACTUAL_HEDGE_POSITION := C.LANG_NAME;
302       ELSIF C.ITEM_NAME = 'Z_UNDER_APPLIED' THEN
303         Z_UNDER_APPLIED := C.LANG_NAME;
304       ELSIF C.ITEM_NAME = 'Z_OVER_APPLIED' THEN
305         Z_OVER_APPLIED := C.LANG_NAME;
306       ELSIF C.ITEM_NAME = 'Z_EVEN' THEN
307         Z_EVEN := C.LANG_NAME;
308       ELSIF C.ITEM_NAME = 'Z_ACTUAL_OPEN_POSITION_SUM' THEN
309         Z_ACTUAL_OPEN_POSITION_SUM := C.LANG_NAME;
310       ELSIF C.ITEM_NAME = 'Z_OUTSTANDING_AMOUNT' THEN
311         Z_OUTSTANDING_AMOUNT := C.LANG_NAME;
312       ELSIF C.ITEM_NAME = 'Z_ACTUAL_HEDGE_POSITION_SUM' THEN
313         Z_ACTUAL_HEDGE_POSITION_SUM := C.LANG_NAME;
314       ELSIF C.ITEM_NAME = 'Z_HEDGE_NUMBER' THEN
315         Z_HEDGE_NUMBER := C.LANG_NAME;
316       ELSIF C.ITEM_NAME = 'Z_DEAL_NUMBER' THEN
317         Z_DEAL_NUMBER := C.LANG_NAME;
318       ELSIF C.ITEM_NAME = 'Z_OFFSET' THEN
319         Z_OFFSET := C.LANG_NAME;
320       ELSIF C.ITEM_NAME = 'Z_DAYS' THEN
321         Z_DAYS := C.LANG_NAME;
322       ELSIF C.ITEM_NAME = 'Z_REMAINING' THEN
323         Z_REMAINING := C.LANG_NAME;
324       ELSIF C.ITEM_NAME = 'Z_RECEIVABLES' THEN
325         Z_RECEIVABLES := C.LANG_NAME;
326       ELSIF C.ITEM_NAME = 'Z_TRANS_TYPE' THEN
327         Z_TRANS_TYPE := C.LANG_NAME;
328       ELSIF C.ITEM_NAME = 'Z_OPERATING_UNIT' THEN
329         Z_OPERATING_UNIT := C.LANG_NAME;
330       ELSIF C.ITEM_NAME = 'Z_CUSTOMER' THEN
331         Z_CUSTOMER := C.LANG_NAME;
332       ELSIF C.ITEM_NAME = 'Z_TRANS_DATE' THEN
333         Z_TRANS_DATE := C.LANG_NAME;
334       ELSIF C.ITEM_NAME = 'Z_DUE_DATE' THEN
335         Z_DUE_DATE := C.LANG_NAME;
336       ELSIF C.ITEM_NAME = 'Z_TRANS_NUMBER' THEN
337         Z_TRANS_NUMBER := C.LANG_NAME;
338       ELSIF C.ITEM_NAME = 'Z_TRANS_AMOUNT' THEN
339         Z_TRANS_AMOUNT := C.LANG_NAME;
340       ELSIF C.ITEM_NAME = 'Z_TOTAL' THEN
341         Z_TOTAL := C.LANG_NAME;
342       ELSIF C.ITEM_NAME = 'Z_PAYABLES' THEN
343         Z_PAYABLES := C.LANG_NAME;
344       ELSIF C.ITEM_NAME = 'Z_INVOICE_TYPE' THEN
345         Z_INVOICE_TYPE := C.LANG_NAME;
346       ELSIF C.ITEM_NAME = 'Z_SUPPLIER' THEN
347         Z_SUPPLIER := C.LANG_NAME;
348       ELSIF C.ITEM_NAME = 'Z_INVOICE_DATE' THEN
349         Z_INVOICE_DATE := C.LANG_NAME;
350       ELSIF C.ITEM_NAME = 'Z_INVOICE_NUMBER' THEN
351         Z_INVOICE_NUMBER := C.LANG_NAME;
352       ELSIF C.ITEM_NAME = 'Z_INVOICE_AMOUNT' THEN
353         Z_INVOICE_AMOUNT := C.LANG_NAME;
354       ELSIF C.ITEM_NAME = 'Z_END_OF_REPORT' THEN
355         Z_END_OF_REPORT := C.LANG_NAME;
356       ELSIF C.ITEM_NAME = 'Z_NO_DATA_FOUND' THEN
357         Z_NO_DATA_FOUND := C.LANG_NAME;
358       END IF;
359     END LOOP;
360     P_CONC_REQUEST_ID := FND_GLOBAL.CONC_REQUEST_ID;
361     /*SRW.USER_EXIT('FND SRWINIT')*/NULL;
362     RETURN (TRUE);
363   END BEFOREREPORT;
364 
365   FUNCTION AFTERREPORT RETURN BOOLEAN IS
366   BEGIN
367     IF (P_DUMMY1 = 'D') THEN
368       DELETE FROM XTR_HEDGE_CRITERIA
369        WHERE CRITERIA_SET = P_CRITERIA_SET_V
370          AND CRITERIA_SET_OWNER = P_CRITERIA_SET_OWNER;
371       COMMIT;
372       P_CRITERIA_SET_V := NULL;
373     END IF;
374     /*SRW.USER_EXIT('FND SRWEXIT')*/NULL;
375     RETURN (TRUE);
376   END AFTERREPORT;
377 
378   FUNCTION CF_FROM_VALUE_DSPFORMULA(CRITERIA_CODE IN VARCHAR2
379                                    ,FROM_VALUE IN VARCHAR2) RETURN CHAR IS
380     V_VALUE VARCHAR2(240);
381     CURSOR C_COMN_OPUNIT(P_VALUE IN VARCHAR2) IS
382       SELECT
383         NAME
384       FROM
385         HR_OPERATING_UNITS OU
386       WHERE ORGANIZATION_ID = P_VALUE;
387     CURSOR C_AP_SUPPLIER(P_VALUE IN VARCHAR2) IS
388       SELECT
389         VENDOR_NAME
390       FROM
391         PO_VENDORS
392       WHERE VENDOR_ID = P_VALUE;
393     CURSOR C_AP_INVTYPE(P_VALUE IN VARCHAR2) IS
394       SELECT
395         DISPLAYED_FIELD
396       FROM
397         AP_LOOKUP_CODES
398       WHERE LOOKUP_TYPE = 'INVOICE TYPE'
399         AND LOOKUP_CODE = P_VALUE;
400     CURSOR C_AP_SOURCE(P_VALUE IN VARCHAR2) IS
401       SELECT
402         DISPLAYED_FIELD
403       FROM
404         AP_LOOKUP_CODES
405       WHERE LOOKUP_TYPE = 'SOURCE'
406         AND LOOKUP_CODE = P_VALUE;
407   BEGIN
408     IF CRITERIA_CODE in ('AR_SOURCE','AR_TRXTYPE','AR_CUSTOMER') THEN
409       V_VALUE := FROM_VALUE;
410     ELSIF CRITERIA_CODE = 'COMN_OPUNIT' THEN
411       OPEN C_COMN_OPUNIT(FROM_VALUE);
412       FETCH C_COMN_OPUNIT
413        INTO V_VALUE;
414       CLOSE C_COMN_OPUNIT;
415     ELSIF CRITERIA_CODE = 'AP_SUPPLIER' THEN
416       OPEN C_AP_SUPPLIER(FROM_VALUE);
417       FETCH C_AP_SUPPLIER
418        INTO V_VALUE;
419       CLOSE C_AP_SUPPLIER;
420     ELSIF CRITERIA_CODE = 'AP_INVTYPE' THEN
421       OPEN C_AP_INVTYPE(FROM_VALUE);
422       FETCH C_AP_INVTYPE
423        INTO V_VALUE;
424       CLOSE C_AP_INVTYPE;
425     ELSIF CRITERIA_CODE = 'AP_SOURCE' THEN
426       IF FROM_VALUE = 'XTR_AP_SOURCE_MANUAL' THEN
427         FND_MESSAGE.SET_NAME('XTR'
428                             ,'XTR_AP_SOURCE_MANUAL');
429         V_VALUE := SUBSTR(FND_MESSAGE.GET
430                          ,1
431                          ,80);
432       ELSIF FROM_VALUE = 'XTR_AP_SOURCE_OTHER' THEN
433         FND_MESSAGE.SET_NAME('XTR'
434                             ,'XTR_AP_SOURCE_OTHER');
435         V_VALUE := SUBSTR(FND_MESSAGE.GET
436                          ,1
437                          ,80);
438       ELSE
439         OPEN C_AP_SOURCE(FROM_VALUE);
440         FETCH C_AP_SOURCE
441          INTO V_VALUE;
442         CLOSE C_AP_SOURCE;
443       END IF;
444     END IF;
445     RETURN V_VALUE;
446   END CF_FROM_VALUE_DSPFORMULA;
447 
448 PROCEDURE FORMAT_AMOUNT_FIELD(p_amt_field VARCHAR2) IS
449   l_precision number;
450 BEGIN
451 
452 /*SRW.REFERENCE(:p_currency);
453 SRW.REFERENCE(L_PRECISION);*/
454 
455 If P_FACTOR = '0' then
456 
457   /* SRW.USER_EXIT('FND FORMAT_CURRENCY
458                 CODE=":p_currency"
459                 DISPLAY_WIDTH="20"
460                 AMOUNT=":'||p_amt_field||'"
461                 DISPLAY=":'||p_amt_field||'_dsp"
462                 PRECISION="STANDARD"
463 	        ');*/null;
464 
465 Else
466 
467   /* SRW.USER_EXIT('FND FORMAT_CURRENCY
468                 CODE=":p_currency"
469                 DISPLAY_WIDTH="20"
470                 AMOUNT=":'||p_amt_field||'"
471                 DISPLAY=":'||p_amt_field||'_dsp"
472                 PRECISION="STANDARD"
473                 DISPLAY_SCALING_FACTOR="'||to_char(length(:p_factor)-1)||'"
474 	        ');*/ null;
475 End If;
476 
477 END;
478 
479 PROCEDURE FORMAT_AMOUNT_FIELD_LARGE(p_amt_field VARCHAR2) IS
480   l_precision number;
481 BEGIN
482 
483 /*SRW.REFERENCE(:p_currency);
484 SRW.REFERENCE(L_PRECISION);
485 */
486 If P_FACTOR = '0' then
487 
488    /*SRW.USER_EXIT('FND FORMAT_CURRENCY
489                 CODE=":p_currency"
490                 DISPLAY_WIDTH="50"
491                 AMOUNT=":'||p_amt_field||'"
492                 DISPLAY=":'||p_amt_field||'_dsp"
493                 PRECISION="STANDARD"
494 	        ');*/null;
495 
496 Else
497 
498   /* SRW.USER_EXIT('FND FORMAT_CURRENCY
499                 CODE=":p_currency"
500                 DISPLAY_WIDTH="50"
501                 AMOUNT=":'||p_amt_field||'"
502                 DISPLAY=":'||p_amt_field||'_dsp"
503                 PRECISION="STANDARD"
504                 DISPLAY_SCALING_FACTOR="'||to_char(length(:p_factor)-1)||'"
505 	        ');*/ null;
506 End If;
507 
508 END;
509 
510 END XTR_XTRHOAPR_XMLP_PKG;
511