[Home] [Help]
PACKAGE BODY: APPS.HR_FORM_DATA_GROUP_ITEMS_PKG
Source
1 package body HR_FORM_DATA_GROUP_ITEMS_PKG as
2 /* $Header: hrfgilct.pkb 115.2 2002/12/10 10:58:29 hjonnala 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_FORM_DATA_GROUP_ITEM_ID in NUMBER,
26 X_FORM_DATA_GROUP_ID in NUMBER,
27 X_FORM_ITEM_ID in NUMBER,
28 X_OBJECT_VERSION_NUMBER in NUMBER,
29 X_CREATED_BY in NUMBER,
30 X_CREATION_DATE in DATE,
31 X_LAST_UPDATE_DATE in DATE,
32 X_LAST_UPDATED_BY in NUMBER,
33 X_LAST_UPDATE_LOGIN in NUMBER
34 ) is
35 cursor C is select ROWID from HR_FORM_DATA_GROUP_ITEMS
36 where FORM_DATA_GROUP_ITEM_ID = X_FORM_DATA_GROUP_ITEM_ID
37 ;
38 begin
39 insert into HR_FORM_DATA_GROUP_ITEMS (
40 FORM_DATA_GROUP_ID,
41 FORM_ITEM_ID,
42 LAST_UPDATE_DATE,
43 LAST_UPDATED_BY,
44 LAST_UPDATE_LOGIN,
45 FORM_DATA_GROUP_ITEM_ID,
46 OBJECT_VERSION_NUMBER,
47 CREATED_BY,
48 CREATION_DATE
49 ) values(
50 X_FORM_DATA_GROUP_ID,
51 X_FORM_ITEM_ID,
52 X_LAST_UPDATE_DATE,
53 X_LAST_UPDATED_BY,
54 X_LAST_UPDATE_LOGIN,
55 X_FORM_DATA_GROUP_ITEM_ID,
56 X_OBJECT_VERSION_NUMBER,
57 X_CREATED_BY,
58 X_CREATION_DATE);
59
60 open c;
61 fetch c into X_ROWID;
62 if (c%notfound) then
63 close c;
64 raise no_data_found;
65 end if;
66 close c;
67
68 end INSERT_ROW;
69
70 procedure LOCK_ROW (
71 X_FORM_DATA_GROUP_ITEM_ID in NUMBER,
72 X_FORM_DATA_GROUP_ID in NUMBER,
73 X_FORM_ITEM_ID in NUMBER,
74 X_OBJECT_VERSION_NUMBER in NUMBER
75 ) is
76 cursor c1 is select
77 FORM_DATA_GROUP_ID,
78 FORM_ITEM_ID,
79 OBJECT_VERSION_NUMBER
80 from HR_FORM_DATA_GROUP_ITEMS
81 where FORM_DATA_GROUP_ITEM_ID = X_FORM_DATA_GROUP_ITEM_ID
82 for update of FORM_DATA_GROUP_ITEM_ID nowait;
83 begin
84 for tlinfo in c1 loop
85 if ( (tlinfo.FORM_DATA_GROUP_ID = X_FORM_DATA_GROUP_ID)
86 AND (tlinfo.FORM_ITEM_ID = X_FORM_ITEM_ID)
87 AND (tlinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
88 ) then
89 null;
90 else
91 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
92 app_exception.raise_exception;
93 end if;
94 end loop;
95 return;
96 end LOCK_ROW;
97
98 procedure UPDATE_ROW (
99 X_FORM_DATA_GROUP_ITEM_ID in NUMBER,
100 X_FORM_DATA_GROUP_ID in NUMBER,
101 X_FORM_ITEM_ID in NUMBER,
102 X_OBJECT_VERSION_NUMBER in NUMBER,
103 X_LAST_UPDATE_DATE in DATE,
104 X_LAST_UPDATED_BY in NUMBER,
105 X_LAST_UPDATE_LOGIN in NUMBER
106 ) is
107 begin
108 update HR_FORM_DATA_GROUP_ITEMS set
109 FORM_DATA_GROUP_ID = X_FORM_DATA_GROUP_ID,
110 FORM_ITEM_ID = X_FORM_ITEM_ID,
111 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
112 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
113 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
114 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
115 where FORM_DATA_GROUP_ITEM_ID = X_FORM_DATA_GROUP_ITEM_ID;
116
117 if (sql%notfound) then
118 raise no_data_found;
119 end if;
120 end UPDATE_ROW;
121
122 procedure DELETE_ROW (
123 X_FORM_DATA_GROUP_ITEM_ID in NUMBER
124 ) is
125 begin
126 delete from HR_FORM_DATA_GROUP_ITEMS
127 where FORM_DATA_GROUP_ITEM_ID = X_FORM_DATA_GROUP_ITEM_ID;
128
129 if (sql%notfound) then
130 raise no_data_found;
131 end if;
132
133 end DELETE_ROW;
134 procedure LOAD_ROW (
135 X_APPLICATION_SHORT_NAME in VARCHAR2,
136 X_FORM_NAME in VARCHAR2,
137 X_DATA_GROUP_NAME in VARCHAR2,
138 X_FULL_ITEM_NAME in VARCHAR2,
139 X_RADIO_BUTTON_NAME in VARCHAR2,
140 X_OWNER in VARCHAR2,
141 X_OBJECT_VERSION_NUMBER in VARCHAR2) is
142 X_ROWID ROWID;
143 X_CREATION_DATE DATE;
144 X_CREATED_BY NUMBER;
145 X_LAST_UPDATE_DATE DATE;
146 X_LAST_UPDATED_BY NUMBER;
147 X_LAST_UPDATE_LOGIN NUMBER;
148 X_FORM_ID NUMBER;
149 X_APPLICATION_ID NUMBER;
150 X_FORM_DATA_GROUP_ID NUMBER;
151 X_FORM_ITEM_ID NUMBER;
152 X_FORM_DATA_GROUP_ITEM_ID NUMBER;
153 begin
154
155 OWNER_TO_WHO (
156 X_OWNER,
157 X_CREATION_DATE,
158 X_CREATED_BY,
159 X_LAST_UPDATE_DATE,
160 X_LAST_UPDATED_BY,
161 X_LAST_UPDATE_LOGIN
162 );
163
164 select application_id
165 into x_application_id
166 from fnd_application
167 where application_short_name = x_application_short_name;
168
169 select form_id
170 into x_form_id
171 from fnd_form
172 where form_name = x_form_name
173 and application_id = x_application_id;
174
175 select hfi.form_item_id
176 into x_form_item_id
177 from hr_form_items_b hfi
178 where hfi.application_id = x_application_id
179 and hfi.form_id = x_form_id
180 and hfi.full_item_name = x_full_item_name
181 and ( (hfi.radio_button_name = x_radio_button_name)
182 or (hfi.radio_button_name is null and x_radio_button_name is null) );
183
184 select form_data_group_id
185 into x_form_data_group_id
186 from hr_form_data_groups_b fdg
187 where fdg.data_group_name = x_data_group_name
188 and fdg.application_id = x_application_id
189 and fdg.form_id = x_form_id;
190
191 begin
192 select fgi.form_data_group_item_id
193 into x_form_data_group_item_id
194 from hr_form_data_group_items fgi
195 where fgi.form_data_group_id = x_form_data_group_id
196 and fgi.form_item_id = x_form_item_id;
197 exception
198 when no_data_found then
199 select hr_form_data_group_items_s.nextval
200 into x_form_data_group_item_id
201 from dual;
202 end;
203
204 begin
205 UPDATE_ROW (
206 X_FORM_DATA_GROUP_ITEM_ID,
207 X_FORM_DATA_GROUP_ID,
208 X_FORM_ITEM_ID,
209 to_number(X_OBJECT_VERSION_NUMBER),
210 X_LAST_UPDATE_DATE,
211 X_LAST_UPDATED_BY,
212 X_LAST_UPDATE_LOGIN
213 );
214
215 exception
216 when no_data_found then
217 INSERT_ROW (
218 X_ROWID,
219 X_FORM_DATA_GROUP_ITEM_ID,
220 X_FORM_DATA_GROUP_ID,
221 X_FORM_ITEM_ID,
222 to_number(X_OBJECT_VERSION_NUMBER),
223 X_CREATED_BY,
224 X_CREATION_DATE,
225 X_LAST_UPDATE_DATE,
226 X_LAST_UPDATED_BY,
227 X_LAST_UPDATE_LOGIN);
228 end;
229 end LOAD_ROW;
230 end HR_FORM_DATA_GROUP_ITEMS_PKG;