DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_UPDATE_ORGANIZATION_STRU

Source


1 package body hrdpp_UPDATE_ORGANIZATION_STRU as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2007/01/03 23:01:43
4  * Generated for API: PER_ORGANIZATION_STRUCTURE_API.UPDATE_ORGANIZATION_STRUCTURE
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_NAME in varchar2
84 ,P_COMMENTS in varchar2 default null
85 ,P_PRIMARY_STRUCTURE_FLAG in varchar2 default null
86 ,P_PROGRAM_UPDATE_DATE in date default null
87 ,I_PROGRAM_UPDATE_DATE in varchar2 default 'N'
88 ,P_ATTRIBUTE_CATEGORY in varchar2 default null
89 ,P_ATTRIBUTE1 in varchar2 default null
90 ,P_ATTRIBUTE2 in varchar2 default null
91 ,P_ATTRIBUTE3 in varchar2 default null
92 ,P_ATTRIBUTE4 in varchar2 default null
93 ,P_ATTRIBUTE5 in varchar2 default null
94 ,P_ATTRIBUTE6 in varchar2 default null
95 ,P_ATTRIBUTE7 in varchar2 default null
96 ,P_ATTRIBUTE8 in varchar2 default null
97 ,P_ATTRIBUTE9 in varchar2 default null
98 ,P_ATTRIBUTE10 in varchar2 default null
99 ,P_ATTRIBUTE11 in varchar2 default null
100 ,P_ATTRIBUTE12 in varchar2 default null
101 ,P_ATTRIBUTE13 in varchar2 default null
102 ,P_ATTRIBUTE14 in varchar2 default null
103 ,P_ATTRIBUTE15 in varchar2 default null
104 ,P_ATTRIBUTE16 in varchar2 default null
105 ,P_ATTRIBUTE17 in varchar2 default null
106 ,P_ATTRIBUTE18 in varchar2 default null
107 ,P_ATTRIBUTE19 in varchar2 default null
108 ,P_ATTRIBUTE20 in varchar2 default null
109 ,P_POSITION_CONTROL_STRUCTURE_F in varchar2 default null) is
110 blid number := p_data_pump_batch_line_id;
111 begin
112 if blid is not null then
113 delete from hr_pump_batch_lines where batch_line_id = blid;
114 delete from hr_pump_batch_exceptions
115 where source_type = 'BATCH_LINE' and source_id = blid;
116 end if;
117 insert into hr_pump_batch_lines
118 (batch_id
119 ,batch_line_id
120 ,business_group_name
121 ,api_module_id
122 ,line_status
123 ,user_sequence
124 ,link_value
125 ,pval001
126 ,pval002
127 ,pval003
128 ,pval004
129 ,pval005
130 ,pval006
131 ,pval007
132 ,pval008
133 ,pval009
134 ,pval010
135 ,pval011
136 ,pval012
137 ,pval013
138 ,pval014
139 ,pval015
140 ,pval016
141 ,pval017
142 ,pval018
143 ,pval019
144 ,pval020
145 ,pval021
146 ,pval022
147 ,pval023
148 ,pval024
149 ,pval025
150 ,pval026
151 ,pval027)
152 values
153 (p_batch_id
154 ,nvl(blid,hr_pump_batch_lines_s.nextval)
155 ,p_data_pump_business_grp_name
156 ,2252
157 ,'U'
158 ,p_user_sequence
159 ,p_link_value
160 ,dc(P_EFFECTIVE_DATE)
161 ,P_NAME
162 ,P_COMMENTS
163 ,P_PRIMARY_STRUCTURE_FLAG
164 ,dd(P_PROGRAM_UPDATE_DATE,I_PROGRAM_UPDATE_DATE)
165 ,P_ATTRIBUTE_CATEGORY
166 ,P_ATTRIBUTE1
167 ,P_ATTRIBUTE2
168 ,P_ATTRIBUTE3
169 ,P_ATTRIBUTE4
170 ,P_ATTRIBUTE5
171 ,P_ATTRIBUTE6
172 ,P_ATTRIBUTE7
173 ,P_ATTRIBUTE8
174 ,P_ATTRIBUTE9
175 ,P_ATTRIBUTE10
176 ,P_ATTRIBUTE11
177 ,P_ATTRIBUTE12
178 ,P_ATTRIBUTE13
179 ,P_ATTRIBUTE14
180 ,P_ATTRIBUTE15
181 ,P_ATTRIBUTE16
182 ,P_ATTRIBUTE17
183 ,P_ATTRIBUTE18
184 ,P_ATTRIBUTE19
185 ,P_ATTRIBUTE20
186 ,P_POSITION_CONTROL_STRUCTURE_F);
187 end insert_batch_lines;
188 --
189 procedure call
190 (p_business_group_id in number,
191 p_batch_line_id     in number) is
192 cursor cr is
193 select l.rowid myrowid,
194 decode(l.pval001,cn,dn,d(l.pval001)) p1,
195 decode(l.pval002,cn,vn,l.pval002) p2,
196 decode(l.pval003,cn,vn,vn,vh,l.pval003) p3,
197 l.pval003 d3,
198 decode(l.pval004,cn,vn,vn,vh,l.pval004) p4,
199 l.pval004 d4,
200 decode(l.pval005,cn,dn,vn,dh,d(l.pval005)) p5,
201 l.pval005 d5,
202 decode(l.pval006,cn,vn,vn,vh,l.pval006) p6,
203 l.pval006 d6,
204 decode(l.pval007,cn,vn,vn,vh,l.pval007) p7,
205 l.pval007 d7,
206 decode(l.pval008,cn,vn,vn,vh,l.pval008) p8,
207 l.pval008 d8,
208 decode(l.pval009,cn,vn,vn,vh,l.pval009) p9,
209 l.pval009 d9,
210 decode(l.pval010,cn,vn,vn,vh,l.pval010) p10,
211 l.pval010 d10,
212 decode(l.pval011,cn,vn,vn,vh,l.pval011) p11,
213 l.pval011 d11,
214 decode(l.pval012,cn,vn,vn,vh,l.pval012) p12,
215 l.pval012 d12,
216 decode(l.pval013,cn,vn,vn,vh,l.pval013) p13,
217 l.pval013 d13,
218 decode(l.pval014,cn,vn,vn,vh,l.pval014) p14,
219 l.pval014 d14,
220 decode(l.pval015,cn,vn,vn,vh,l.pval015) p15,
221 l.pval015 d15,
222 decode(l.pval016,cn,vn,vn,vh,l.pval016) p16,
223 l.pval016 d16,
224 decode(l.pval017,cn,vn,vn,vh,l.pval017) p17,
225 l.pval017 d17,
226 decode(l.pval018,cn,vn,vn,vh,l.pval018) p18,
227 l.pval018 d18,
228 decode(l.pval019,cn,vn,vn,vh,l.pval019) p19,
229 l.pval019 d19,
230 decode(l.pval020,cn,vn,vn,vh,l.pval020) p20,
231 l.pval020 d20,
232 decode(l.pval021,cn,vn,vn,vh,l.pval021) p21,
233 l.pval021 d21,
234 decode(l.pval022,cn,vn,vn,vh,l.pval022) p22,
235 l.pval022 d22,
236 decode(l.pval023,cn,vn,vn,vh,l.pval023) p23,
237 l.pval023 d23,
238 decode(l.pval024,cn,vn,vn,vh,l.pval024) p24,
239 l.pval024 d24,
240 decode(l.pval025,cn,vn,vn,vh,l.pval025) p25,
241 l.pval025 d25,
242 decode(l.pval026,cn,vn,vn,vh,l.pval026) p26,
243 l.pval026 d26,
244 decode(l.pval027,cn,vn,vn,vh,l.pval027) p27,
245 l.pval027 d27
246 from hr_pump_batch_lines l
247 where l.batch_line_id = p_batch_line_id;
248 --
249 c cr%rowtype;
250 l_validate boolean := false;
251 L_ORGANIZATION_STRUCTURE_ID number;
252 L_REQUEST_ID number;
253 L_PROGRAM_APPLICATION_ID number;
254 L_PROGRAM_ID number;
255 L_OBJECT_VERSION_NUMBER number;
256 --
257 begin
258 hr_data_pump.entry('call');
259 open cr;
260 fetch cr into c;
261 if cr%notfound then
262 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
263 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
264 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
265 hr_utility.set_message_token('VALUE',p_batch_line_id);
266 hr_utility.raise_error;
267 end if;
268 --
269 if c.p2 is null then
270 L_ORGANIZATION_STRUCTURE_ID:=nn;
271 else
272 L_ORGANIZATION_STRUCTURE_ID := 
273 hr_pump_get.get_organization_structure_id
274 (P_NAME => c.p2
275 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID);
276 end if;
277 --
278 L_REQUEST_ID := 
279 hr_pump_get.get_request_id;
280 --
281 L_PROGRAM_APPLICATION_ID := 
282 hr_pump_get.get_program_application_id;
283 --
284 L_PROGRAM_ID := 
285 hr_pump_get.get_program_id;
286 --
287 if c.p2 is null then
288 L_OBJECT_VERSION_NUMBER:=nn;
289 else
290 L_OBJECT_VERSION_NUMBER := 
291 hr_pump_get.GET_ORG_STR_OVN
292 (P_NAME => c.p2
293 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID);
294 end if;
295 --
296 hr_data_pump.api_trc_on;
297 PER_ORGANIZATION_STRUCTURE_API.UPDATE_ORGANIZATION_STRUCTURE
298 (p_validate => l_validate
299 ,P_EFFECTIVE_DATE => c.p1
300 ,P_ORGANIZATION_STRUCTURE_ID => L_ORGANIZATION_STRUCTURE_ID
301 ,P_NAME => c.p2
302 ,P_COMMENTS => c.p3
303 ,P_PRIMARY_STRUCTURE_FLAG => c.p4
304 ,P_REQUEST_ID => L_REQUEST_ID
305 ,P_PROGRAM_APPLICATION_ID => L_PROGRAM_APPLICATION_ID
306 ,P_PROGRAM_ID => L_PROGRAM_ID
307 ,P_PROGRAM_UPDATE_DATE => c.p5
308 ,P_ATTRIBUTE_CATEGORY => c.p6
309 ,P_ATTRIBUTE1 => c.p7
310 ,P_ATTRIBUTE2 => c.p8
311 ,P_ATTRIBUTE3 => c.p9
312 ,P_ATTRIBUTE4 => c.p10
313 ,P_ATTRIBUTE5 => c.p11
314 ,P_ATTRIBUTE6 => c.p12
315 ,P_ATTRIBUTE7 => c.p13
316 ,P_ATTRIBUTE8 => c.p14
317 ,P_ATTRIBUTE9 => c.p15
318 ,P_ATTRIBUTE10 => c.p16
319 ,P_ATTRIBUTE11 => c.p17
320 ,P_ATTRIBUTE12 => c.p18
321 ,P_ATTRIBUTE13 => c.p19
322 ,P_ATTRIBUTE14 => c.p20
323 ,P_ATTRIBUTE15 => c.p21
324 ,P_ATTRIBUTE16 => c.p22
325 ,P_ATTRIBUTE17 => c.p23
326 ,P_ATTRIBUTE18 => c.p24
327 ,P_ATTRIBUTE19 => c.p25
328 ,P_ATTRIBUTE20 => c.p26
329 ,P_POSITION_CONTROL_STRUCTURE_F => c.p27
330 ,P_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER);
331 hr_data_pump.api_trc_off;
332 
333 --
334 
335 --
336 close cr;
337 --
338 hr_data_pump.exit('call');
339 exception
340  when hr_multi_message.error_message_exist then
341    if cr%isopen then
342     close cr;
343    end if;
344    hr_pump_utils.set_multi_msg_error_flag(true);
345  when others then
346  if cr%isopen then
347   close cr;
348  end if;
349  raise;
350 end call;
351 end hrdpp_UPDATE_ORGANIZATION_STRU;