DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_CREATE_BUSINESS_GROUP

Source


1 package body hrdpp_CREATE_BUSINESS_GROUP as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2012/11/27 04:11:43
4  * Generated for API: HR_ORGANIZATION_API.CREATE_BUSINESS_GROUP
5  */
6 --
7 dh constant date := hr_api.g_date;
8 nh constant number := hr_api.g_number;
9 vh constant varchar2(64) := hr_api.g_varchar2;
10 c_sot constant date := to_date('01010001','DDMMYYYY');
11 cn constant varchar2(32) := '<NULL>';
12 dn constant date := null;
13 nn constant number := null;
14 vn constant varchar2(1) := null;
15 --
16 function dc(p in date) return varchar2 is
17 begin
18 if p<c_sot then
19  if p<>trunc(p) then
20   return to_char(p,'SYYYY/MM/DD HH24:MI:SS');
21  end if;
22  return to_char(p,'SYYYY/MM/DD');
23 elsif p<>trunc(p) then
24  return to_char(p,'YYYY/MM/DD HH24:MI:SS');
25 end if;
26 return to_char(p,'YYYY/MM/DD');
27 end dc;
28 function d(p in varchar2) return date is
29 begin
30 if length(p)=10 then
31 return to_date(p,'YYYY/MM/DD');
32 elsif length(p)=19 then
33 return to_date(p,'YYYY/MM/DD HH24:MI:SS');
34 elsif length(p)=11 then
35 return to_date(p,'SYYYY/MM/DD');
36 elsif length(p)=20 then
37 return to_date(p,'SYYYY/MM/DD HH24:MI:SS');
38 end if;
39 -- Try default format as last resort.
40 return to_date(p,'YYYY/MM/DD');
41 end d;
42 function n(p in varchar2) return number is
43 begin
44 return to_number(p);
45 end n;
46 function dd(p in date,i in varchar2)
47 return varchar2 is
48 begin
49 if upper(i) = 'N' then return dc(p);
50 else return cn; end if;
51 end dd;
52 function nd(p in number,i in varchar2)
53 return varchar2 is
54 begin
55 if upper(i) = 'N' then return to_char(p);
56 else return cn; end if;
57 end nd;
58 --
59 procedure iuk
60 (p_batch_line_id  in number,
61 p_user_key_value in varchar2,
62 p_unique_key_id  in number)
63 is
64 begin
65 hr_data_pump.entry('ins_user_key');
66 insert into hr_pump_batch_line_user_keys
67 (user_key_id, batch_line_id,user_key_value,unique_key_id)
68 values
69 (hr_pump_batch_line_user_keys_s.nextval,
70 p_batch_line_id,
71 p_user_key_value,
72 p_unique_key_id);
73 hr_data_pump.exit('ins_user_key');
74 end iuk;
75 --
76 procedure insert_batch_lines
77 (p_batch_id      in number
78 ,p_data_pump_batch_line_id in number default null
79 ,p_data_pump_business_grp_name in varchar2 default null
80 ,p_user_sequence in number default null
81 ,p_link_value    in number default null
82 ,P_EFFECTIVE_DATE in date
83 ,P_LANGUAGE_CODE in varchar2
84 ,P_DATE_FROM in date
85 ,P_NAME in varchar2
86 ,P_TYPE in varchar2
87 ,P_INTERNAL_EXTERNAL_FLAG in varchar2
88 ,P_SHORT_NAME in varchar2
89 ,P_EMP_GEN_METHOD in varchar2
90 ,P_APP_GEN_METHOD in varchar2
91 ,P_CWK_GEN_METHOD in varchar2
92 ,P_LEGISLATION_CODE in varchar2
93 ,P_CURRENCY_CODE in varchar2
94 ,P_FISCAL_YEAR_START in varchar2
95 ,P_MIN_WORK_AGE in varchar2
96 ,P_MAX_WORK_AGE in varchar2
97 ,P_ORG_USER_KEY in varchar2
98 ,P_LOCATION_CODE in varchar2
99 ,P_GRADE_FLEX_STRU_CODE in varchar2
100 ,P_GROUP_FLEX_STRU_CODE in varchar2
101 ,P_JOB_FLEX_STRU_CODE in varchar2
102 ,P_COST_FLEX_STRU_CODE in varchar2
103 ,P_POSITION_FLEX_STRU_CODE in varchar2
104 ,P_SECURITY_GROUP_NAME in varchar2
105 ,P_COMPETENCE_FLEX_STRU_CODE in varchar2) is
106 blid number := p_data_pump_batch_line_id;
107 begin
108 if blid is not null then
109 delete from hr_pump_batch_lines where batch_line_id = blid;
110 delete from hr_pump_batch_exceptions
111 where source_type = 'BATCH_LINE' and source_id = blid;
112 end if;
113 insert into hr_pump_batch_lines
114 (batch_id
115 ,batch_line_id
116 ,business_group_name
117 ,api_module_id
118 ,line_status
119 ,user_sequence
120 ,link_value
121 ,pval001
122 ,pval002
123 ,pval003
124 ,pval004
125 ,pval005
126 ,pval006
127 ,pval007
128 ,pval008
129 ,pval009
130 ,pval010
131 ,pval011
132 ,pval012
133 ,pval013
134 ,pval014
135 ,pval015
136 ,pval016
137 ,pval018
138 ,pval019
139 ,pval020
140 ,pval021
141 ,pval022
142 ,pval023
143 ,pval024
144 ,pval025)
145 values
146 (p_batch_id
147 ,nvl(blid,hr_pump_batch_lines_s.nextval)
148 ,p_data_pump_business_grp_name
149 ,3171
150 ,'U'
151 ,p_user_sequence
152 ,p_link_value
153 ,dc(P_EFFECTIVE_DATE)
154 ,P_LANGUAGE_CODE
155 ,dc(P_DATE_FROM)
156 ,P_NAME
157 ,P_TYPE
158 ,P_INTERNAL_EXTERNAL_FLAG
159 ,P_SHORT_NAME
160 ,P_EMP_GEN_METHOD
161 ,P_APP_GEN_METHOD
162 ,P_CWK_GEN_METHOD
163 ,P_LEGISLATION_CODE
164 ,P_CURRENCY_CODE
165 ,P_FISCAL_YEAR_START
166 ,P_MIN_WORK_AGE
167 ,P_MAX_WORK_AGE
168 ,P_ORG_USER_KEY
169 ,P_LOCATION_CODE
170 ,P_GRADE_FLEX_STRU_CODE
171 ,P_GROUP_FLEX_STRU_CODE
172 ,P_JOB_FLEX_STRU_CODE
173 ,P_COST_FLEX_STRU_CODE
174 ,P_POSITION_FLEX_STRU_CODE
175 ,P_SECURITY_GROUP_NAME
176 ,P_COMPETENCE_FLEX_STRU_CODE);
177 end insert_batch_lines;
178 --
179 procedure call
180 (p_business_group_id in number,
181 p_batch_line_id     in number) is
182 cursor cr is
183 select l.rowid myrowid,
184 decode(l.pval001,cn,dn,d(l.pval001)) p1,
185 decode(l.pval002,cn,vn,l.pval002) p2,
186 decode(l.pval003,cn,dn,d(l.pval003)) p3,
187 decode(l.pval004,cn,vn,l.pval004) p4,
188 decode(l.pval005,cn,vn,
189  hr_pump_get.gl(l.pval005,'ORG_TYPE',d(l.pval001),l.pval002)) p5,
190 decode(l.pval006,cn,vn,
191  hr_pump_get.gl(l.pval006,'INTL_EXTL',d(l.pval001),l.pval002)) p6,
192 decode(l.pval007,cn,vn,l.pval007) p7,
193 decode(l.pval008,cn,vn,
194  hr_pump_get.gl(l.pval008,'EMP_NUM_GEN_METHOD',d(l.pval001),l.pval002)) p8,
195 decode(l.pval009,cn,vn,l.pval009) p9,
196 decode(l.pval010,cn,vn,
197  hr_pump_get.gl(l.pval010,'CWK_NUM_GEN_METHOD',d(l.pval001),l.pval002)) p10,
198 decode(l.pval011,cn,vn,l.pval011) p11,
199 decode(l.pval012,cn,vn,l.pval012) p12,
200 decode(l.pval013,cn,vn,l.pval013) p13,
201 decode(l.pval014,cn,vn,l.pval014) p14,
202 decode(l.pval015,cn,vn,l.pval015) p15,
203 l.pval016 p16,
204 l.pval017 p17,
205 decode(l.pval018,cn,vn,l.pval018) p18,
206 decode(l.pval019,cn,vn,l.pval019) p19,
207 decode(l.pval020,cn,vn,l.pval020) p20,
208 decode(l.pval021,cn,vn,l.pval021) p21,
209 decode(l.pval022,cn,vn,l.pval022) p22,
210 decode(l.pval023,cn,vn,l.pval023) p23,
211 decode(l.pval024,cn,vn,l.pval024) p24,
212 decode(l.pval025,cn,vn,l.pval025) p25
213 from hr_pump_batch_lines l
214 where l.batch_line_id = p_batch_line_id;
215 --
216 c cr%rowtype;
217 l_validate boolean := false;
218 L_ORGANIZATION_ID number;
219 L_LOCATION_ID number;
220 L_GRADE_FLEX_ID varchar2(2000);
221 L_GROUP_FLEX_ID varchar2(2000);
222 L_JOB_FLEX_ID varchar2(2000);
223 L_COST_FLEX_ID varchar2(2000);
224 L_POSITION_FLEX_ID varchar2(2000);
225 L_SEC_GROUP_ID varchar2(2000);
226 L_COMPETENCE_FLEX_ID varchar2(2000);
227 --
228 begin
229 hr_data_pump.entry('call');
230 open cr;
231 fetch cr into c;
232 if cr%notfound then
233 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
234 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
235 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
236 hr_utility.set_message_token('VALUE',p_batch_line_id);
237 hr_utility.raise_error;
238 end if;
239 --
240 if c.p18 is null or
241 c.p2 is null then
242 L_LOCATION_ID:=nn;
243 else
244 L_LOCATION_ID := 
245 hr_pump_get.GET_LOCATION_ID
246 (P_LOCATION_CODE => c.p18
247 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
248 ,P_LANGUAGE_CODE => c.p2);
249 end if;
250 --
251 L_GRADE_FLEX_ID := 
252 hr_pump_get.GET_GRADE_FLEX_STRU_NUM
253 (P_DATA_PUMP_ALWAYS_CALL => null
254 ,P_GRADE_FLEX_STRU_CODE => c.p19);
255 --
256 L_GROUP_FLEX_ID := 
257 hr_pump_get.GET_GROUP_FLEX_STRU_NUM
258 (P_DATA_PUMP_ALWAYS_CALL => null
259 ,P_GROUP_FLEX_STRU_CODE => c.p20);
260 --
261 L_JOB_FLEX_ID := 
262 hr_pump_get.GET_JOB_FLEX_STRU_NUM
263 (P_DATA_PUMP_ALWAYS_CALL => null
264 ,P_JOB_FLEX_STRU_CODE => c.p21);
265 --
266 L_COST_FLEX_ID := 
267 hr_pump_get.GET_COST_FLEX_STRU_NUM
268 (P_DATA_PUMP_ALWAYS_CALL => null
269 ,P_COST_FLEX_STRU_CODE => c.p22);
270 --
271 L_POSITION_FLEX_ID := 
272 hr_pump_get.GET_POSITION_FLEX_STRU_NUM
273 (P_DATA_PUMP_ALWAYS_CALL => null
274 ,P_POSITION_FLEX_STRU_CODE => c.p23);
275 --
276 L_SEC_GROUP_ID := 
277 hr_pump_get.GET_SEC_GROUP_ID
278 (P_DATA_PUMP_ALWAYS_CALL => null
279 ,P_SECURITY_GROUP_NAME => c.p24);
280 --
281 L_COMPETENCE_FLEX_ID := 
282 hr_pump_get.GET_COMPETENCE_FLEX_STRU_NUM
283 (P_DATA_PUMP_ALWAYS_CALL => null
284 ,P_COMPETENCE_FLEX_STRU_CODE => c.p25);
285 --
286 hr_data_pump.api_trc_on;
287 HR_ORGANIZATION_API.CREATE_BUSINESS_GROUP
288 (p_validate => l_validate
289 ,P_EFFECTIVE_DATE => c.p1
290 ,P_LANGUAGE_CODE => c.p2
291 ,P_DATE_FROM => c.p3
292 ,P_NAME => c.p4
293 ,P_TYPE => c.p5
294 ,P_INTERNAL_EXTERNAL_FLAG => c.p6
295 ,P_LOCATION_ID => L_LOCATION_ID
296 ,P_SHORT_NAME => c.p7
297 ,P_EMP_GEN_METHOD => c.p8
298 ,P_APP_GEN_METHOD => c.p9
299 ,P_CWK_GEN_METHOD => c.p10
300 ,P_GRADE_FLEX_ID => L_GRADE_FLEX_ID
301 ,P_GROUP_FLEX_ID => L_GROUP_FLEX_ID
302 ,P_JOB_FLEX_ID => L_JOB_FLEX_ID
303 ,P_COST_FLEX_ID => L_COST_FLEX_ID
304 ,P_POSITION_FLEX_ID => L_POSITION_FLEX_ID
305 ,P_LEGISLATION_CODE => c.p11
306 ,P_CURRENCY_CODE => c.p12
307 ,P_FISCAL_YEAR_START => c.p13
308 ,P_MIN_WORK_AGE => c.p14
309 ,P_MAX_WORK_AGE => c.p15
310 ,P_SEC_GROUP_ID => L_SEC_GROUP_ID
311 ,P_COMPETENCE_FLEX_ID => L_COMPETENCE_FLEX_ID
312 ,P_ORGANIZATION_ID => L_ORGANIZATION_ID
313 ,P_OBJECT_VERSION_NUMBER => c.p17);
314 hr_data_pump.api_trc_off;
315 --
316 iuk(p_batch_line_id,c.p16,L_ORGANIZATION_ID);
317 --
318 update hr_pump_batch_lines l set
319 l.pval016 = decode(c.p16,null,cn,c.p16),
320 l.pval017 = decode(c.p17,null,cn,c.p17)
321 where l.rowid = c.myrowid;
322 --
323 close cr;
324 --
325 hr_data_pump.exit('call');
326 exception
327  when hr_multi_message.error_message_exist then
328    if cr%isopen then
329     close cr;
330    end if;
331    hr_pump_utils.set_multi_msg_error_flag(true);
332  when others then
333  if cr%isopen then
334   close cr;
335  end if;
336  raise;
337 end call;
338 end hrdpp_CREATE_BUSINESS_GROUP;