[Home] [Help]
PACKAGE BODY: APPS.HR_TEMPLATE_ITEM_CONTEXTS_PKG
Source
1 package body HR_TEMPLATE_ITEM_CONTEXTS_PKG as
2 /* $Header: hrticlct.pkb 120.1 2011/04/28 10:58:12 sidsaxen ship $ */
3 procedure OWNER_TO_WHO (
4 X_OWNER in VARCHAR2,
5 X_CREATION_DATE out nocopy DATE,
6 X_CREATED_BY out nocopy NUMBER,
7 X_LAST_UPDATE_DATE out nocopy DATE,
8 X_LAST_UPDATED_BY out nocopy NUMBER,
9 X_LAST_UPDATE_LOGIN out nocopy NUMBER
10 ) is
11 begin
12 if X_OWNER = 'SEED' then
13 X_CREATED_BY := 1;
14 X_LAST_UPDATED_BY := 1;
15 else
16 X_CREATED_BY := 0;
17 X_LAST_UPDATED_BY := 0;
18 end if;
19 X_CREATION_DATE := sysdate;
20 X_LAST_UPDATE_DATE := sysdate;
21 X_LAST_UPDATE_LOGIN := 0;
22 end OWNER_TO_WHO;
23 procedure INSERT_ROW (
24 X_ROWID in out nocopy VARCHAR2,
25 X_TEMPLATE_ITEM_CONTEXT_ID in NUMBER,
26 X_OBJECT_VERSION_NUMBER in NUMBER,
27 X_TEMPLATE_ITEM_ID in NUMBER,
28 X_CONTEXT_TYPE in VARCHAR2,
29 X_ITEM_CONTEXT_ID in NUMBER,
30 X_CREATION_DATE in DATE,
31 X_CREATED_BY in NUMBER,
32 X_LAST_UPDATE_DATE in DATE,
33 X_LAST_UPDATED_BY in NUMBER,
34 X_LAST_UPDATE_LOGIN in NUMBER
35 ) is
36 cursor C is select ROWID from HR_TEMPLATE_ITEM_CONTEXTS_B
37 where TEMPLATE_ITEM_CONTEXT_ID = X_TEMPLATE_ITEM_CONTEXT_ID
38 ;
39 begin
40
41 --
42 -- Added the following code as a part of Zero Downtime Patching Project.
43 -- Code Starts Here.
44 --
45
46 BEGIN
47 PER_RIC_PKG.chk_integrity (
48 p_entity_name => 'HR_TEMPLATE_ITEM_CONTEXTS_B',
49 p_ref_entity_info => PER_RIC_PKG.ref_entity_tbl(
50 PER_RIC_PKG.ref_info_rec('HR_TEMPLATE_ITEMS_B', PER_RIC_PKG.column_info_tbl(
51 PER_RIC_PKG.col_info_rec('TEMPLATE_ITEM_ID',NULL,X_TEMPLATE_ITEM_ID,NULL))),
52 PER_RIC_PKG.ref_info_rec('HR_ITEM_CONTEXTS', PER_RIC_PKG.column_info_tbl(
53 PER_RIC_PKG.col_info_rec('ITEM_CONTEXT_ID',NULL,X_ITEM_CONTEXT_ID,NULL)))
54 ),
55 p_ref_type => 'INS');
56
57 END;
58 --
59 -- Code Ends Here.
60 --
61
62 insert into HR_TEMPLATE_ITEM_CONTEXTS_B (
63 TEMPLATE_ITEM_CONTEXT_ID,
64 OBJECT_VERSION_NUMBER,
65 TEMPLATE_ITEM_ID,
66 CONTEXT_TYPE,
67 ITEM_CONTEXT_ID,
68 LAST_UPDATE_DATE,
69 LAST_UPDATED_BY,
70 LAST_UPDATE_LOGIN,
71 CREATED_BY,
72 CREATION_DATE
73 ) values(
74 X_TEMPLATE_ITEM_CONTEXT_ID,
75 X_OBJECT_VERSION_NUMBER,
76 X_TEMPLATE_ITEM_ID,
77 X_CONTEXT_TYPE,
78 X_ITEM_CONTEXT_ID,
79 X_LAST_UPDATE_DATE,
80 X_LAST_UPDATED_BY,
81 X_LAST_UPDATE_LOGIN,
82 X_CREATED_BY,
83 X_CREATION_DATE);
84
85 open c;
86 fetch c into X_ROWID;
87 if (c%notfound) then
88 close c;
89 raise no_data_found;
90 end if;
91 close c;
92
93 end INSERT_ROW;
94
95 procedure LOCK_ROW (
96 X_TEMPLATE_ITEM_CONTEXT_ID in NUMBER,
97 X_OBJECT_VERSION_NUMBER in NUMBER,
98 X_TEMPLATE_ITEM_ID in NUMBER,
99 X_CONTEXT_TYPE in VARCHAR2,
100 X_ITEM_CONTEXT_ID in NUMBER
101 ) is
102 cursor c1 is select
103 OBJECT_VERSION_NUMBER,
104 TEMPLATE_ITEM_ID,
105 CONTEXT_TYPE,
106 ITEM_CONTEXT_ID
107 from HR_TEMPLATE_ITEM_CONTEXTS_B
108 where TEMPLATE_ITEM_CONTEXT_ID = X_TEMPLATE_ITEM_CONTEXT_ID
109 for update of TEMPLATE_ITEM_CONTEXT_ID nowait;
110 begin
111 for tlinfo in c1 loop
112 if (tlinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
113 AND (tlinfo.TEMPLATE_ITEM_ID = X_TEMPLATE_ITEM_ID)
114 AND (tlinfo.CONTEXT_TYPE = X_CONTEXT_TYPE)
115 AND (tlinfo.ITEM_CONTEXT_ID = X_ITEM_CONTEXT_ID)
116 then
117 null;
118 else
119 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
120 app_exception.raise_exception;
121 end if;
122 end loop;
123 return;
124 end LOCK_ROW;
125
126 procedure UPDATE_ROW (
127 X_TEMPLATE_ITEM_CONTEXT_ID in NUMBER,
128 X_OBJECT_VERSION_NUMBER in NUMBER,
129 X_TEMPLATE_ITEM_ID in NUMBER,
130 X_CONTEXT_TYPE in VARCHAR2,
131 X_ITEM_CONTEXT_ID in NUMBER,
132 X_LAST_UPDATE_DATE in DATE,
133 X_LAST_UPDATED_BY in NUMBER,
134 X_LAST_UPDATE_LOGIN in NUMBER
135 ) is
136 begin
137 update HR_TEMPLATE_ITEM_CONTEXTS_B set
138 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
139 TEMPLATE_ITEM_ID = X_TEMPLATE_ITEM_ID,
140 CONTEXT_TYPE = X_CONTEXT_TYPE,
141 ITEM_CONTEXT_ID = X_ITEM_CONTEXT_ID,
142 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
143 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
144 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
145 where TEMPLATE_ITEM_CONTEXT_ID = X_TEMPLATE_ITEM_CONTEXT_ID;
146
147 if (sql%notfound) then
148 raise no_data_found;
149 end if;
150 end UPDATE_ROW;
151
152 procedure DELETE_ROW (
153 X_TEMPLATE_ITEM_CONTEXT_ID in NUMBER
154 ) is
155 begin
156
157 --
158 -- Added the following code as a part of Zero Downtime Patching Project.
159 -- Code Starts Here.
160 --
161
162 BEGIN
163 PER_RIC_PKG.chk_integrity (
164 p_entity_name => 'HR_TEMPLATE_ITEM_CONTEXTS_B',
165 p_ref_entity_info => PER_RIC_PKG.ref_entity_tbl(
166 PER_RIC_PKG.ref_info_rec('HR_ITEM_PROPERTIES_B', PER_RIC_PKG.column_info_tbl(
167 PER_RIC_PKG.col_info_rec('TEMPLATE_ITEM_CONTEXT_ID',NULL,X_TEMPLATE_ITEM_CONTEXT_ID,NULL))),
168 PER_RIC_PKG.ref_info_rec('HR_TEMPLATE_ITEM_CONTEXT_PAGES', PER_RIC_PKG.column_info_tbl(
169 PER_RIC_PKG.col_info_rec('TEMPLATE_ITEM_CONTEXT_ID',NULL,X_TEMPLATE_ITEM_CONTEXT_ID,NULL)))
170 ),
171 p_ref_type => 'DEL');
172
173 END;
174 --
175 -- Code Ends Here.
176 --
177 delete from HR_TEMPLATE_ITEM_CONTEXTS_B
178 where TEMPLATE_ITEM_CONTEXT_ID = X_TEMPLATE_ITEM_CONTEXT_ID;
179
180 if (sql%notfound) then
181 raise no_data_found;
182 end if;
183
184 end DELETE_ROW;
185
186 procedure LOAD_ROW (
187 X_APPLICATION_SHORT_NAME in VARCHAR2,
188 X_FORM_NAME in VARCHAR2,
189 X_TEMPLATE_NAME in VARCHAR2,
190 X_TERRITORY_SHORT_NAME in VARCHAR2,
191 X_FULL_ITEM_NAME in VARCHAR2,
192 X_RADIO_BUTTON_NAME in VARCHAR2,
193 X_SEGMENT1 in VARCHAR2,
194 X_SEGMENT2 in VARCHAR2,
195 X_SEGMENT3 in VARCHAR2,
196 X_SEGMENT4 in VARCHAR2,
197 X_SEGMENT5 in VARCHAR2,
198 X_SEGMENT6 in VARCHAR2,
199 X_SEGMENT7 in VARCHAR2,
200 X_SEGMENT8 in VARCHAR2,
201 X_SEGMENT9 in VARCHAR2,
202 X_SEGMENT10 in VARCHAR2,
203 X_SEGMENT11 in VARCHAR2,
204 X_SEGMENT12 in VARCHAR2,
205 X_SEGMENT13 in VARCHAR2,
206 X_SEGMENT14 in VARCHAR2,
207 X_SEGMENT15 in VARCHAR2,
208 X_SEGMENT16 in VARCHAR2,
209 X_SEGMENT17 in VARCHAR2,
210 X_SEGMENT18 in VARCHAR2,
211 X_SEGMENT19 in VARCHAR2,
212 X_SEGMENT20 in VARCHAR2,
213 X_SEGMENT21 in VARCHAR2,
214 X_SEGMENT22 in VARCHAR2,
215 X_SEGMENT23 in VARCHAR2,
216 X_SEGMENT24 in VARCHAR2,
217 X_SEGMENT25 in VARCHAR2,
218 X_SEGMENT26 in VARCHAR2,
219 X_SEGMENT27 in VARCHAR2,
220 X_SEGMENT28 in VARCHAR2,
221 X_SEGMENT29 in VARCHAR2,
222 X_SEGMENT30 in VARCHAR2,
223 X_ID_FLEX_STRUCTURE_CODE in VARCHAR2,
224 X_ID_FLEX_CODE in VARCHAR2,
225 X_OWNER in VARCHAR2,
226 X_OBJECT_VERSION_NUMBER in VARCHAR2,
227 X_CONTEXT_TYPE in VARCHAR2) is
228 X_ROWID ROWID;
229 X_CREATION_DATE DATE;
230 X_CREATED_BY NUMBER;
231 X_LAST_UPDATE_DATE DATE;
232 X_LAST_UPDATED_BY NUMBER;
233 X_LAST_UPDATE_LOGIN NUMBER;
234 X_FORM_ID NUMBER;
235 X_APPLICATION_ID NUMBER;
236 X_FORM_ITEM_ID NUMBER;
237 X_TEMPLATE_ITEM_ID NUMBER;
238 X_TEMPLATE_ITEM_CONTEXT_ID NUMBER;
239 X_ITEM_PROPERTY_ID NUMBER;
240 X_ITEM_CONTEXT_ID NUMBER;
241 begin
242 OWNER_TO_WHO (
243 X_OWNER,
244 X_CREATION_DATE,
245 X_CREATED_BY,
246 X_LAST_UPDATE_DATE,
247 X_LAST_UPDATED_BY,
248 X_LAST_UPDATE_LOGIN
249 );
250
251 select application_id
252 into x_application_id
253 from fnd_application
254 where application_short_name = x_application_short_name;
255
256 select form_id
257 into x_form_id
258 from fnd_form
259 where form_name = x_form_name
260 and application_id = x_application_id;
261
262 select form_item_id
263 into x_form_item_id
264 from hr_form_items_b
265 where full_item_name = x_full_item_name
266 and application_id = x_application_id
267 and form_id = x_form_id
268 and ( radio_button_name = x_radio_button_name
269 or (radio_button_name is null and x_radio_button_name is null) );
270
271 select hti.template_item_id
272 into x_template_item_id
273 from hr_form_templates_b hft
274 ,hr_template_items_b hti
275 where hti.form_item_id = x_form_item_id
276 and hti.form_template_id = hft.form_template_id
277 and hft.form_id = x_form_id
278 and hft.application_id = x_application_id
279 and ( (legislation_code is null and x_territory_short_name is null)
280 or (legislation_code = x_territory_short_name) )
281 and hft.template_name = x_template_name;
282
283 select item_context_id
284 into x_item_context_id
285 from hr_item_contexts hic
286 ,fnd_id_flex_structures fifs
287 where nvl(hic.segment1,hr_api.g_varchar2) = nvl(x_segment1,hr_api.g_varchar2)
288 and nvl(hic.segment2,hr_api.g_varchar2) = nvl(x_segment2,hr_api.g_varchar2)
289 and nvl(hic.segment3,hr_api.g_varchar2) = nvl(x_segment3,hr_api.g_varchar2)
290 and nvl(hic.segment4,hr_api.g_varchar2) = nvl(x_segment4,hr_api.g_varchar2)
291 and nvl(hic.segment5,hr_api.g_varchar2) = nvl(x_segment5,hr_api.g_varchar2)
292 and nvl(hic.segment6,hr_api.g_varchar2) = nvl(x_segment6,hr_api.g_varchar2)
293 and nvl(hic.segment7,hr_api.g_varchar2) = nvl(x_segment7,hr_api.g_varchar2)
294 and nvl(hic.segment8,hr_api.g_varchar2) = nvl(x_segment8,hr_api.g_varchar2)
295 and nvl(hic.segment9,hr_api.g_varchar2) = nvl(x_segment9,hr_api.g_varchar2)
296 and nvl(hic.segment10,hr_api.g_varchar2) = nvl(x_segment10,hr_api.g_varchar2)
297 and nvl(hic.segment11,hr_api.g_varchar2) = nvl(x_segment11,hr_api.g_varchar2)
298 and nvl(hic.segment12,hr_api.g_varchar2) = nvl(x_segment12,hr_api.g_varchar2)
299 and nvl(hic.segment13,hr_api.g_varchar2) = nvl(x_segment13,hr_api.g_varchar2)
300 and nvl(hic.segment14,hr_api.g_varchar2) = nvl(x_segment14,hr_api.g_varchar2)
301 and nvl(hic.segment15,hr_api.g_varchar2) = nvl(x_segment15,hr_api.g_varchar2)
302 and nvl(hic.segment16,hr_api.g_varchar2) = nvl(x_segment16,hr_api.g_varchar2)
303 and nvl(hic.segment17,hr_api.g_varchar2) = nvl(x_segment17,hr_api.g_varchar2)
304 and nvl(hic.segment18,hr_api.g_varchar2) = nvl(x_segment18,hr_api.g_varchar2)
305 and nvl(hic.segment19,hr_api.g_varchar2) = nvl(x_segment19,hr_api.g_varchar2)
306 and nvl(hic.segment20,hr_api.g_varchar2) = nvl(x_segment20,hr_api.g_varchar2)
307 and nvl(hic.segment21,hr_api.g_varchar2) = nvl(x_segment21,hr_api.g_varchar2)
308 and nvl(hic.segment22,hr_api.g_varchar2) = nvl(x_segment22,hr_api.g_varchar2)
309 and nvl(hic.segment23,hr_api.g_varchar2) = nvl(x_segment23,hr_api.g_varchar2)
310 and nvl(hic.segment24,hr_api.g_varchar2) = nvl(x_segment24,hr_api.g_varchar2)
311 and nvl(hic.segment25,hr_api.g_varchar2) = nvl(x_segment25,hr_api.g_varchar2)
312 and nvl(hic.segment26,hr_api.g_varchar2) = nvl(x_segment26,hr_api.g_varchar2)
313 and nvl(hic.segment27,hr_api.g_varchar2) = nvl(x_segment27,hr_api.g_varchar2)
314 and nvl(hic.segment28,hr_api.g_varchar2) = nvl(x_segment28,hr_api.g_varchar2)
315 and nvl(hic.segment29,hr_api.g_varchar2) = nvl(x_segment29,hr_api.g_varchar2)
316 and nvl(hic.segment30,hr_api.g_varchar2) = nvl(x_segment30,hr_api.g_varchar2)
317 and hic.id_flex_num = fifs.id_flex_num
318 and fifs.application_id = x_application_id
319 and fifs.id_flex_structure_code = x_id_flex_structure_code
320 and fifs.id_flex_code = x_id_flex_code;
321
322 begin
323 select template_item_context_id
324 into x_template_item_context_id
325 from hr_template_item_contexts_b ticb
326 where ticb.template_item_id = x_template_item_id
327 and ticb.item_context_id = x_item_context_id;
328 exception
329 when no_data_found then
330 select hr_template_item_contexts_b_s.nextval
331 into x_template_item_context_id
332 from dual;
333 end;
334
335 begin
336 UPDATE_ROW (
337 X_TEMPLATE_ITEM_CONTEXT_ID,
338 to_number(X_OBJECT_VERSION_NUMBER),
339 X_TEMPLATE_ITEM_ID,
340 X_CONTEXT_TYPE,
341 X_ITEM_CONTEXT_ID,
342 X_LAST_UPDATE_DATE,
343 X_LAST_UPDATED_BY,
344 X_LAST_UPDATE_LOGIN
345 );
346
347 exception
348 when no_data_found then
349 INSERT_ROW (
350 X_ROWID,
351 X_TEMPLATE_ITEM_CONTEXT_ID,
352 to_number(X_OBJECT_VERSION_NUMBER),
353 X_TEMPLATE_ITEM_ID,
354 X_CONTEXT_TYPE,
355 X_ITEM_CONTEXT_ID,
356 X_CREATION_DATE,
357 X_CREATED_BY,
358 X_LAST_UPDATE_DATE,
359 X_LAST_UPDATED_BY,
360 X_LAST_UPDATE_LOGIN);
361 end;
362 end LOAD_ROW;
363 end HR_TEMPLATE_ITEM_CONTEXTS_PKG;