[Home] [Help]
PACKAGE BODY: APPS.PER_PERHDCNT_XMLP_PKG
Source
1 PACKAGE BODY PER_PERHDCNT_XMLP_PKG AS
2 /* $Header: PERHDCNTB.pls 120.1 2007/12/06 11:27:00 amakrish noship $ */
3
4 function BeforeReport return boolean is
5
6 begin
7
8 --hr_standard.event('BEFORE REPORT');
9
10 insert into fnd_sessions
11 (session_id,effective_date)
12 values(userenv('SESSIONID'),sysdate);
13
14 /*srw.message('001','Start of Before Report Trigger');*/null;
15
16
17 if P_WORKER_TYPE = 'C' then
18 CP_TERM := 'PlacementEnd';
19 CP_TERM1:= ' ';
20 CP_NH := 'PlacementStart';
21 CP_NH1 := ' ';
22 CP_WORKER_TYPE := 'Head/FTE Count Detail Report (Contingent Worker)';
23 elsif P_WORKER_TYPE = 'E' then
24 CP_TERM := 'Terminations';
25 CP_TERM1:= ' ';
26 CP_NH := 'NewHires';
27 CP_NH1 := ' ';
28 CP_WORKER_TYPE := 'Head/FTE Count Detail Report (Employees)';
29 elsif P_WORKER_TYPE = 'B' then
30 CP_TERM := 'Termination/';
31 CP_TERM1:= 'PlacementEnd';
32 CP_NH := 'NewHire/';
33 CP_NH1 := 'PlacementStart';
34 CP_WORKER_TYPE := 'Head/FTE Count Detail Report (All Workers)';
35 end if;
36
37
38
39
40 cp_business_group_name :=
41 hr_reports.get_business_group(p_business_group_id);
42
43 /*srw.message('002','Business Group = '||cp_business_group_name);*/null;
44
45
46 cp_top_org_name := hr_person_flex_logic.GetOrgAliasName(p_top_organization_id,sysdate);
47
48 /*srw.message('003','Organization Name = '||cp_top_org_name);*/null;
49
50
51 select name
52 into cp_organization_hierarchy_name
53 from per_organization_structures
54 where organization_structure_id = P_ORGANIZATION_STRUCTURE_ID;
55
56 /*srw.message('004','Organization Name = '||cp_top_org_name);*/null;
57
58
59 hr_head_count.populate_headcount_table(
60 P_BUSINESS_GROUP_ID
61 ,P_TOP_ORGANIZATION_ID
62 ,P_ORGANIZATION_STRUCTURE_ID
63 ,P_BUDGET
64 ,P_ROLL_UP
65 ,P_REPORT_DATE_FROM
66 ,P_REPORT_DATE_TO
67 ,P_REPORT_DATE
68 ,P_INCLUDE_ASG_TYPE
69 ,P_INCLUDE_TOP_ORG
70 ,P_WORKER_TYPE
71 ,P_DAYS_PRIOR_TO_END_DATE
72 ,P_JOB_CATEGORY => 'RG');
73
74
75 return (TRUE);
76 end;
77
78 function cf_rev_vol_termformula(cs_rev_vol_term in number, Sumrev_start_valPerorg_structu in number) return number is
79 begin
80 if (cs_rev_vol_term = 0 or Sumrev_start_valPerorg_structu = 0)
81 then
82 return(0);
83 else
84 return(round(((cs_rev_vol_term/Sumrev_start_valPerorg_structu)*100),2));
85 end if;
86 end;
87
88 function cf_nonrev_vol_termformula(cs_nonrev_vol_term in number, Sumnonrev_start_valPerorg_stru in number) return number is
89 begin
90 if (cs_nonrev_vol_term = 0 or Sumnonrev_start_valPerorg_stru = 0)
91 then
92 return(0);
93 else
94 return(round(((cs_nonrev_vol_term/Sumnonrev_start_valPerorg_stru)*100),2));
95 end if;
96 end;
97
98 function cf_rev_invol_termformula(cs_nonrev_invol_term in number, Sumnonrev_start_valPerorg_stru in number) return number is
99 begin
100 if (cs_nonrev_invol_term = 0 or Sumnonrev_start_valPerorg_stru = 0)
101 then
102 return(0);
103 else
104 return(round(((cs_nonrev_invol_term/Sumnonrev_start_valPerorg_stru)*100),2));
105 end if;
106
107 end;
108
109 function cf_rev_invol_termformula0017(cs_rev_invol_term in number, Sumrev_start_valPerorg_structu in number) return number is
110 begin
111 if (cs_rev_invol_term = 0 or Sumrev_start_valPerorg_structu = 0)
112 then
113 return(0);
114 else
115 return(round((cs_rev_invol_term/Sumrev_start_valPerorg_structu),2)*100);
116 end if;
117 end;
118
119 function cf_rev_cur_termformula(cs_rev_cur_term in number, Sumrev_start_valPerorg_structu in number) return number is
120 begin
121 if (cs_rev_cur_term = 0 or Sumrev_start_valPerorg_structu = 0)
122 then
123 return(0);
124 else
125 return(round(((cs_rev_cur_term/Sumrev_start_valPerorg_structu)*100),2));
126 end if;
127
128 end;
129
130 function cf_nonrev_cur_termformula(cs_nonrev_cur_term in number, Sumnonrev_start_valPerorg_stru in number) return number is
131 begin
132 if (cs_nonrev_cur_term = 0 or Sumnonrev_start_valPerorg_stru = 0)
133 then
134 return(0);
135 else
136 return(round(((cs_nonrev_cur_term/Sumnonrev_start_valPerorg_stru)*100),2));
137 end if;
138
139 end;
140
141 function cf_rev_pct_changeformula(Sumrev_start_valPerorg_structu in number, Sumrev_end_valPerorg_Structure in number) return number is
142 begin
143
144 if (Sumrev_start_valPerorg_structu = 0 or Sumrev_end_valPerorg_Structure = 0)
145 then
146 return(0);
147 else
148 return(round((((Sumrev_end_valPerorg_structure - Sumrev_start_valPerorg_structu)/
149 Sumrev_start_valPerorg_structu)*100),2));
150 end if;
151
152 end;
153
154 function cf_nonrev_pct_changeformula(Sumnonrev_start_valPerorg_stru in number, Sumnonrev_end_valPerorg_Struct in number) return number is
155 begin
156
157 if (Sumnonrev_start_valPerorg_stru = 0 or Sumnonrev_end_valPerorg_Struct = 0)
158 then
159 return(0);
160 else
161 return(round((((Sumnonrev_end_valPerorg_struct - Sumnonrev_start_valPerorg_stru)/
162 Sumnonrev_start_valPerorg_stru)*100),2));
163 end if;
164
165 end;
166
167 function cf_days_betweenformula(date_to in date, date_from in date) return number is
168 begin
169 return(date_to-date_from);
170 end;
171
172 function AfterReport return boolean is
173 begin
174
175 -- hr_standard.event('AFTER REPORT');
176
177 return (TRUE);
178 end;
179
180 --Functions to refer Oracle report placeholders--
181
182 Function CP_BUSINESS_GROUP_NAME_p return varchar2 is
183 Begin
184 return CP_BUSINESS_GROUP_NAME;
185 END;
186 Function CP_TOP_ORG_NAME_p return varchar2 is
187 Begin
188 return CP_TOP_ORG_NAME;
189 END;
190 Function CP_ORGANIZATION_HIERARCHY_NAM return varchar2 is
191 Begin
192 return CP_ORGANIZATION_HIERARCHY_NAME;
193 END;
194 Function CP_NULL_p return number is
195 Begin
196 return CP_NULL;
197 END;
198 Function CP_TERM_p return varchar2 is
199 Begin
200 return CP_TERM;
201 END;
202 Function CP_NH_p return varchar2 is
203 Begin
204 return CP_NH;
205 END;
206 Function CP_NH1_p return varchar2 is
207 Begin
208 return CP_NH1;
209 END;
210 Function CP_TERM1_p return varchar2 is
211 Begin
212 return CP_TERM1;
213 END;
214 Function CP_WORKER_TYPE_p return varchar2 is
215 Begin
216 return CP_WORKER_TYPE;
217 END;
218 END PER_PERHDCNT_XMLP_PKG ;