DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_FAS421_XMLP_PKG

Source


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