DBA Data[Home] [Help]

PACKAGE BODY: APPS.FA_FAS911_XMLP_PKG

Source


1 PACKAGE BODY FA_FAS911_XMLP_PKG AS
2 /* $Header: FAS911B.pls 120.0.12010000.1 2008/07/28 13:16:04 appldev ship $ */
3 function report_nameformula(Company_Name in varchar2) return varchar2 is
4 begin
5  P_CONC_REQUEST_ID := fnd_global.CONC_REQUEST_ID;
6 DECLARE
7   l_report_name VARCHAR2(80);
8   l_conc_program_id NUMBER;
9 BEGIN
10   RP_Company_Name := Company_Name;
11   SELECT cr.concurrent_program_id
12   INTO l_conc_program_id
13   FROM FND_CONCURRENT_REQUESTS cr
14   WHERE cr.program_application_id = 140
15   AND   cr.request_id = P_CONC_REQUEST_ID;
16   SELECT cp.user_concurrent_program_name
17   INTO   l_report_name
18   FROM    FND_CONCURRENT_PROGRAMS_VL cp
19   WHERE
20       cp.concurrent_program_id= l_conc_program_id
21   and cp.application_id = 140;
22 L_REPORT_NAME := substr(L_REPORT_NAME,1,instr(L_REPORT_NAME,' (XML)'));
23   RP_Report_Name := l_report_name;
24   RETURN(l_report_name);
25 EXCEPTION
26   WHEN OTHERS THEN
27     RP_Report_Name := ':Depreciation Rate Listing:';
28     RETURN(RP_Report_Name);
29 END;
30 RETURN NULL; end;
31 function BeforeReport return boolean is
32 begin
33 /*SRW.USER_EXIT('FND SRWINIT');*/null;
34   return (TRUE);
35 end;
36 function AfterReport return boolean is
37 begin
38 /*SRW.USER_EXIT('FND SRWEXIT');*/null;
39   return (TRUE);
40 end;
41 function d_lifeformula(LIFE in number) return varchar2 is
42 begin
43 /*SRW.REFERENCE(life);*/null;
44 BEGIN
45   RETURN(fadolif(LIFE, NULL, NULL, NULL));
46 END;
47 RETURN NULL; end;
48 --Functions to refer Oracle report placeholders--
49  Function RP_COMPANY_NAME_p return varchar2 is
50 	Begin
51 	 return RP_COMPANY_NAME;
52 	 END;
53  Function RP_REPORT_NAME_p return varchar2 is
54 	Begin
55 	 return RP_REPORT_NAME;
56 	 END;
57 FUNCTION fadolif(life NUMBER,
58 		adj_rate NUMBER,
59 		bonus_rate NUMBER,
60 		prod NUMBER)
61 RETURN CHAR IS
62    retval CHAR(7);
63    num_chars NUMBER;
64    temp_retval number;
65 BEGIN
66    IF life IS NOT NULL
67    THEN
68       -- Fix for bug 601202 -- added substrb after lpad.  changed '90' to '999'
69       temp_retval := fnd_number.canonical_to_number((LPAD(SUBSTR(TO_CHAR(TRUNC(life/12, 0), '999'), 2, 3),3,' ') || '.' ||
70 		SUBSTR(TO_CHAR(MOD(life, 12), '00'), 2, 2)) );
71       retval := to_char(temp_retval,'999D99');
72    ELSIF adj_rate IS NOT NULL
73    THEN
74       /* Bug 1744591
75          Changed 90D99 to 990D99 */
76            retval := SUBSTR(TO_CHAR(ROUND((adj_rate + NVL(bonus_rate, 0))*100, 2), '990.99'),2,6) || '%';
77    ELSIF prod IS NOT NULL
78    THEN
79 	--test for length of production_capacity; if it's longer
80 	--than 7 characters, then display in exponential notation
81       --IF prod <= 9999999
82       --THEN
83       --   retval := TO_CHAR(prod);
84       --ELSE
85       --   retval := SUBSTR(LTRIM(TO_CHAR(prod, '9.9EEEE')), 1, 7);
86       --END IF;
87 	--display nothing for UOP assets
88 	retval := '';
89    ELSE
90 	--should not occur
91       retval := ' ';
92    END IF;
93    return(retval);
94 END;
95 END FA_FAS911_XMLP_PKG ;
96