DBA Data[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 ;