DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_FASFIADJ_XMLP_PKG

Source


1 PACKAGE BODY FA_FASFIADJ_XMLP_PKG AS
2 /* $Header: FASFIADJB.pls 120.0.12010000.1 2008/07/28 13:16:41 appldev ship $ */
3 
4 function report_nameformula(Company_Name in varchar2) return varchar2 is
5 begin
6 
7 DECLARE
8   l_report_name VARCHAR2(80);
9 BEGIN
10   RP_Company_Name := Company_Name;
11   SELECT cp.user_concurrent_program_name
12   INTO   l_report_name
13   FROM    FND_CONCURRENT_PROGRAMS_VL cp,
14          FND_CONCURRENT_REQUESTS cr
15   WHERE  cr.request_id = P_CONC_REQUEST_ID
16   AND    cp.application_id = cr.program_application_id
17   AND    cp.concurrent_program_id=cr.concurrent_program_id;
18 l_report_name := substr(l_report_name,1,instr(l_report_name,' (XML)'));
19   RP_Report_Name := l_report_name;
20   RETURN(l_report_name);
21 
22 EXCEPTION
23   WHEN OTHERS THEN
24     RP_Report_Name := ':Financial Adjustments Report:';
25     RETURN(RP_REPORT_NAME);
26 END;
27 RETURN NULL; end;
28 
29 function BeforeReport return boolean is
30 begin
31  P_CONC_REQUEST_ID := fnd_global.CONC_REQUEST_ID;
32 
33 /*SRW.USER_EXIT('FND SRWINIT');*/null;
34 
35   return (TRUE);
36 end;
37 
38 function AfterReport return boolean is
39 begin
40 
41 /*SRW.USER_EXIT('FND SRWEXIT');*/null;
42   return (TRUE);
43 end;
44 
45 function Period1_PCFormula return Number is
46 begin
47 
48 DECLARE
49   l_period_POD  DATE;
50   l_period_PCD  DATE;
51   l_period_PC   NUMBER(15);
52   l_period_FY   NUMBER(15);
53 BEGIN
54   SELECT period_counter,
55          period_open_date,
56          nvl(period_close_date, sysdate),
57          fiscal_year
58   INTO   l_period_PC,
59          l_period_POD,
60          l_period_PCD,
61          l_period_FY
62   FROM   FA_DEPRN_PERIODS
63   WHERE  book_type_code = P_BOOK
64   AND    period_name    = P_PERIOD1;
65 
66   Period1_POD := l_period_POD;
67   Period1_PCD := l_period_PCD;
68   Period1_FY  := l_period_FY;
69   return(l_period_PC);
70 END;
71 RETURN NULL; end;
72 
73 function d_lifeformula(LIFE in number, ADJUSTED_RATE in number, BONUS_RATE in number, PRODUCTION in number) return varchar2 is
74 begin
75 
76 /*SRW.REFERENCE(LIFE);*/null;
77 
78 /*SRW.REFERENCE(ADJUSTED_RATE);*/null;
79 
80 /*SRW.REFERENCE(BONUS_RATE);*/null;
81 
82 /*SRW.REFERENCE(PRODUCTION);*/null;
83 
84 BEGIN
85   RETURN(FADOLIF(LIFE, ADJUSTED_RATE, BONUS_RATE, PRODUCTION));
86 END;
87 RETURN NULL; end;
88 
89 --Functions to refer Oracle report placeholders--
90 
91  Function Period1_POD_p return date is
92 	Begin
93 	 return Period1_POD;
94 	 END;
95  Function Period1_PCD_p return date is
96 	Begin
97 	 return Period1_PCD;
98 	 END;
99  Function Period1_FY_p return number is
100 	Begin
101 	 return Period1_FY;
102 	 END;
103  Function RP_COMPANY_NAME_p return varchar2 is
104 	Begin
105 	 return RP_COMPANY_NAME;
106 	 END;
107  Function RP_REPORT_NAME_p return varchar2 is
108 	Begin
109 	 return RP_REPORT_NAME;
110 	 END;
111  Function RP_BAL_LPROMPT_p return varchar2 is
112 	Begin
113 	 return RP_BAL_LPROMPT;
114 	 END;
115 	 --ADDED AS PART OF PLS FIX--
116 
117 
118 
119 FUNCTION fadolif(life NUMBER,
120 		adj_rate NUMBER,
121 		bonus_rate NUMBER,
122 		prod NUMBER)
123 RETURN CHAR IS
124    retval CHAR(7);
125    num_chars NUMBER;
126    temp_retval number;
127 
128 BEGIN
129 
130    IF life IS NOT NULL
131    THEN
132 
133       -- Fix for bug 601202 -- added substrb after lpad.  changed '90' to '999'
134       temp_retval := fnd_number.canonical_to_number((LPAD(SUBSTR(TO_CHAR(TRUNC(life/12, 0), '999'), 2, 3),3,' ') || '.' ||
135 		SUBSTR(TO_CHAR(MOD(life, 12), '00'), 2, 2)) );
136       retval := to_char(temp_retval,'999D99');
137 
138    ELSIF adj_rate IS NOT NULL
139    THEN
140       /* Bug 1744591
141          Changed 90D99 to 990D99 */
142 
143            retval := SUBSTR(TO_CHAR(ROUND((adj_rate + NVL(bonus_rate, 0))*100, 2), '990.99'),2,6) || '%';
144 
145    ELSIF prod IS NOT NULL
146    THEN
147 	--test for length of production_capacity; if it's longer
148 	--than 7 characters, then display in exponential notation
149 
150       --IF prod <= 9999999
151       --THEN
152       --   retval := TO_CHAR(prod);
153       --ELSE
154       --   retval := SUBSTR(LTRIM(TO_CHAR(prod, '9.9EEEE')), 1, 7);
155       --END IF;
156 
157 	--display nothing for UOP assets
158 	retval := '';
159    ELSE
160 	--should not occur
161       retval := ' ';
162    END IF;
163 
164    return(retval);
165 
166 END;
167 --END OF PLS FIX
168 END FA_FASFIADJ_XMLP_PKG ;
169