DBA Data[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;