DBA Data[Home] [Help]

PACKAGE BODY: APPS.HRDPP_ACTIVATE_EMP_ASG

Source


1 package body hrdpp_activate_emp_asg as
2 /*
3  * Generated by hr_pump_meta_mapper at: 2012/11/27 04:11:40
4  * Generated for API: hr_assignment_api.activate_emp_asg
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_DATETRACK_UPDATE_MODE in varchar2
84 ,P_ASSIGNMENT_USER_KEY in varchar2
85 ,P_CHANGE_REASON in varchar2 default null
86 ,P_LANGUAGE_CODE in varchar2 default null
87 ,P_USER_STATUS in varchar2 default null) is
88 blid number := p_data_pump_batch_line_id;
89 begin
90 if blid is not null then
91 delete from hr_pump_batch_lines where batch_line_id = blid;
92 delete from hr_pump_batch_exceptions
93 where source_type = 'BATCH_LINE' and source_id = blid;
94 end if;
95 insert into hr_pump_batch_lines
96 (batch_id
97 ,batch_line_id
98 ,business_group_name
99 ,api_module_id
100 ,line_status
101 ,user_sequence
102 ,link_value
103 ,pval001
104 ,pval002
105 ,pval005
106 ,pval006
107 ,pval007
108 ,pval008)
109 values
110 (p_batch_id
111 ,nvl(blid,hr_pump_batch_lines_s.nextval)
112 ,p_data_pump_business_grp_name
113 ,1190
114 ,'U'
115 ,p_user_sequence
116 ,p_link_value
117 ,dc(P_EFFECTIVE_DATE)
118 ,P_DATETRACK_UPDATE_MODE
119 ,P_ASSIGNMENT_USER_KEY
120 ,P_CHANGE_REASON
121 ,P_LANGUAGE_CODE
122 ,P_USER_STATUS);
123 end insert_batch_lines;
124 --
125 procedure call
126 (p_business_group_id in number,
127 p_batch_line_id     in number) is
128 cursor cr is
129 select l.rowid myrowid,
130 decode(l.pval001,cn,dn,d(l.pval001)) p1,
131 decode(l.pval002,cn,vn,l.pval002) p2,
132 decode(l.pval003,cn,dn,d(l.pval003)) p3,
133 decode(l.pval004,cn,dn,d(l.pval004)) p4,
134 decode(l.pval005,cn,vn,l.pval005) p5,
135 decode(l.pval006,cn,vn,vn,vh,l.pval006) p6,
136 l.pval006 d6,
137 decode(l.pval007,cn,vn,vn,vh,l.pval007) p7,
138 l.pval007 d7,
139 decode(l.pval008,cn,vn,vn,vh,l.pval008) p8,
140 l.pval008 d8
141 from hr_pump_batch_lines l
142 where l.batch_line_id = p_batch_line_id;
143 --
144 c cr%rowtype;
145 l_validate boolean := false;
146 L_ASSIGNMENT_ID number;
147 L_CHANGE_REASON varchar2(2000);
148 L_OBJECT_VERSION_NUMBER number;
149 L_ASSIGNMENT_STATUS_TYPE_ID number;
150 --
151 begin
152 hr_data_pump.entry('call');
153 open cr;
154 fetch cr into c;
155 if cr%notfound then
156 hr_utility.set_message(800,'HR_50326_DP_NO_ROW');
157 hr_utility.set_message_token('TABLE','HR_PUMP_BATCH_LINES');
158 hr_utility.set_message_token('COLUMN','P_BATCH_LINE_ID');
159 hr_utility.set_message_token('VALUE',p_batch_line_id);
160 hr_utility.raise_error;
161 end if;
162 --
163 if c.p5 is null then
164 L_ASSIGNMENT_ID:=nn;
165 else
166 L_ASSIGNMENT_ID := 
167 hr_pump_get.get_assignment_id
168 (P_ASSIGNMENT_USER_KEY => c.p5);
169 end if;
170 --
171 if c.d6=cn or
172 c.p5 is null or
173 c.p1 is null or
174 c.d7=cn then
175 L_CHANGE_REASON:=vn;
176 elsif c.d6 is null or
177 c.d7 is null then 
178 L_CHANGE_REASON:=vh;
179 else
180 L_CHANGE_REASON := 
181 hr_pump_get.GET_CHANGE_REASON
182 (P_CHANGE_REASON => c.p6
183 ,P_ASSIGNMENT_USER_KEY => c.p5
184 ,P_EFFECTIVE_DATE => c.p1
185 ,P_LANGUAGE_CODE => c.p7);
186 end if;
187 --
188 if c.p5 is null or
189 c.p1 is null then
190 L_OBJECT_VERSION_NUMBER:=nn;
191 else
192 L_OBJECT_VERSION_NUMBER := 
193 hr_pump_get.GET_ASG_OVN
194 (P_ASSIGNMENT_USER_KEY => c.p5
195 ,P_EFFECTIVE_DATE => c.p1);
196 end if;
197 --
198 if c.d8=cn or
199 c.d7=cn then
200 L_ASSIGNMENT_STATUS_TYPE_ID:=nn;
201 elsif c.d8 is null or
202 c.d7 is null then 
203 L_ASSIGNMENT_STATUS_TYPE_ID:=nh;
204 else
205 L_ASSIGNMENT_STATUS_TYPE_ID := 
206 hr_pump_get.get_assignment_status_type_id
207 (P_USER_STATUS => c.p8
208 ,P_BUSINESS_GROUP_ID => P_BUSINESS_GROUP_ID
209 ,P_LANGUAGE_CODE => c.p7);
210 end if;
211 --
212 hr_data_pump.api_trc_on;
213 hr_assignment_api.activate_emp_asg
214 (p_validate => l_validate
215 ,P_EFFECTIVE_DATE => c.p1
216 ,P_DATETRACK_UPDATE_MODE => c.p2
217 ,P_ASSIGNMENT_ID => L_ASSIGNMENT_ID
218 ,P_CHANGE_REASON => L_CHANGE_REASON
219 ,P_OBJECT_VERSION_NUMBER => L_OBJECT_VERSION_NUMBER
220 ,P_ASSIGNMENT_STATUS_TYPE_ID => L_ASSIGNMENT_STATUS_TYPE_ID
221 ,P_EFFECTIVE_START_DATE => c.p3
222 ,P_EFFECTIVE_END_DATE => c.p4);
223 hr_data_pump.api_trc_off;
224 
225 --
226 update hr_pump_batch_lines l set
227 l.pval003 = decode(c.p3,null,cn,dc(c.p3)),
228 l.pval004 = decode(c.p4,null,cn,dc(c.p4))
229 where l.rowid = c.myrowid;
230 --
231 close cr;
232 --
233 hr_data_pump.exit('call');
234 exception
235  when hr_multi_message.error_message_exist then
236    if cr%isopen then
237     close cr;
238    end if;
239    hr_pump_utils.set_multi_msg_error_flag(true);
240  when others then
241  if cr%isopen then
242   close cr;
243  end if;
244  raise;
245 end call;
246 end hrdpp_activate_emp_asg;