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