[Home] [Help]
PACKAGE BODY: APPS.HR_TEMPLATE_DATA_GROUPS_PKG
Source
1 package body HR_TEMPLATE_DATA_GROUPS_PKG as
2 /* $Header: hrtdglct.pkb 120.1 2011/04/28 10:59:42 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_DATA_GROUP_ID in NUMBER,
26 X_OBJECT_VERSION_NUMBER in NUMBER,
27 X_FORM_TEMPLATE_ID in NUMBER,
28 X_FORM_DATA_GROUP_ID in NUMBER,
29 X_CREATION_DATE in DATE,
30 X_CREATED_BY in NUMBER,
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_TEMPLATE_DATA_GROUPS
36 where TEMPLATE_DATA_GROUP_ID = X_TEMPLATE_DATA_GROUP_ID
37 ;
38 begin
39
40 --
41 -- Added the following code as a part of Zero Downtime Patching Project.
42 -- Code Starts Here.
43 --
44
45 BEGIN
46 PER_RIC_PKG.chk_integrity (
47 p_entity_name => 'HR_TEMPLATE_DATA_GROUPS',
48 p_ref_entity_info => PER_RIC_PKG.ref_entity_tbl(
49 PER_RIC_PKG.ref_info_rec('HR_FORM_TEMPLATES_B', PER_RIC_PKG.column_info_tbl(
50 PER_RIC_PKG.col_info_rec('FORM_TEMPLATE_ID',NULL,X_FORM_TEMPLATE_ID,NULL))),
51 PER_RIC_PKG.ref_info_rec('HR_FORM_DATA_GROUPS_B', PER_RIC_PKG.column_info_tbl(
52 PER_RIC_PKG.col_info_rec('FORM_DATA_GROUP_ID',NULL,X_FORM_DATA_GROUP_ID,NULL)))
53 ),
54 p_ref_type => 'INS');
55
56 END;
57 --
58 -- Code Ends Here.
59 --
60 insert into HR_TEMPLATE_DATA_GROUPS (
61 TEMPLATE_DATA_GROUP_ID,
62 OBJECT_VERSION_NUMBER,
63 FORM_TEMPLATE_ID,
64 FORM_DATA_GROUP_ID,
65 LAST_UPDATE_DATE,
66 LAST_UPDATED_BY,
67 LAST_UPDATE_LOGIN,
68 CREATED_BY,
69 CREATION_DATE
70 ) values(
71 X_TEMPLATE_DATA_GROUP_ID,
72 X_OBJECT_VERSION_NUMBER,
73 X_FORM_TEMPLATE_ID,
74 X_FORM_DATA_GROUP_ID,
75 X_LAST_UPDATE_DATE,
76 X_LAST_UPDATED_BY,
77 X_LAST_UPDATE_LOGIN,
78 X_CREATED_BY,
79 X_CREATION_DATE);
80
81 open c;
82 fetch c into X_ROWID;
83 if (c%notfound) then
84 close c;
85 raise no_data_found;
86 end if;
87 close c;
88
89 end INSERT_ROW;
90
91 procedure LOCK_ROW (
92 X_TEMPLATE_DATA_GROUP_ID in NUMBER,
93 X_OBJECT_VERSION_NUMBER in NUMBER,
94 X_FORM_TEMPLATE_ID in NUMBER,
95 X_FORM_DATA_GROUP_ID in NUMBER
96 ) is
97 cursor c1 is select
98 OBJECT_VERSION_NUMBER,
99 FORM_TEMPLATE_ID,
100 FORM_DATA_GROUP_ID
101 from HR_TEMPLATE_DATA_GROUPS
102 where TEMPLATE_DATA_GROUP_ID = X_TEMPLATE_DATA_GROUP_ID
103 for update of TEMPLATE_DATA_GROUP_ID nowait;
104 begin
105 for tlinfo in c1 loop
106 IF (tlinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
107 AND (tlinfo.FORM_TEMPLATE_ID = X_FORM_TEMPLATE_ID)
108 AND (tlinfo.FORM_DATA_GROUP_ID = X_FORM_DATA_GROUP_ID)
109 then
110 null;
111 else
112 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
113 app_exception.raise_exception;
114 end if;
115 end loop;
116 return;
117 end LOCK_ROW;
118
119 procedure UPDATE_ROW (
120 X_TEMPLATE_DATA_GROUP_ID in NUMBER,
121 X_OBJECT_VERSION_NUMBER in NUMBER,
122 X_FORM_TEMPLATE_ID in NUMBER,
123 X_FORM_DATA_GROUP_ID in NUMBER,
124 X_LAST_UPDATE_DATE in DATE,
125 X_LAST_UPDATED_BY in NUMBER,
126 X_LAST_UPDATE_LOGIN in NUMBER
127 ) is
128 begin
129 update HR_TEMPLATE_DATA_GROUPS set
130 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
131 FORM_TEMPLATE_ID = X_FORM_TEMPLATE_ID,
132 FORM_DATA_GROUP_ID = X_FORM_DATA_GROUP_ID,
133 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
134 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
135 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
136 where TEMPLATE_DATA_GROUP_ID = X_TEMPLATE_DATA_GROUP_ID
137 ;
138 if (sql%notfound) then
139 raise no_data_found;
140 end if;
141 end UPDATE_ROW;
142
143 procedure DELETE_ROW (
144 X_TEMPLATE_DATA_GROUP_ID in NUMBER
145 ) is
146 begin
147 delete from HR_TEMPLATE_DATA_GROUPS
148 where TEMPLATE_DATA_GROUP_ID = X_TEMPLATE_DATA_GROUP_ID;
149
150 if (sql%notfound) then
151 raise no_data_found;
152 end if;
153
154 end DELETE_ROW;
155
156 procedure LOAD_ROW (
157 X_APPLICATION_SHORT_NAME in VARCHAR2,
158 X_FORM_NAME in VARCHAR2,
159 X_DATA_GROUP_NAME in VARCHAR2,
160 X_TEMPLATE_NAME in VARCHAR2,
161 X_TERRITORY_SHORT_NAME in VARCHAR2,
162 X_OWNER in VARCHAR2,
163 X_OBJECT_VERSION_NUMBER in VARCHAR2) is
164 X_ROWID ROWID;
165 X_CREATION_DATE DATE;
166 X_CREATED_BY NUMBER;
167 X_LAST_UPDATE_DATE DATE;
168 X_LAST_UPDATED_BY NUMBER;
169 X_LAST_UPDATE_LOGIN NUMBER;
170 X_FORM_ID NUMBER;
171 X_APPLICATION_ID NUMBER;
172 X_FORM_DATA_GROUP_ID NUMBER;
173 X_FORM_TEMPLATE_ID NUMBER;
174 X_TEMPLATE_DATA_GROUP_ID NUMBER;
175 begin
176
177 OWNER_TO_WHO (
178 X_OWNER,
179 X_CREATION_DATE,
180 X_CREATED_BY,
181 X_LAST_UPDATE_DATE,
182 X_LAST_UPDATED_BY,
183 X_LAST_UPDATE_LOGIN
184 );
185
186 select application_id
187 into x_application_id
188 from fnd_application
189 where application_short_name = x_application_short_name;
190
191 select form_id
192 into x_form_id
193 from fnd_form
194 where form_name = x_form_name
195 and application_id = x_application_id;
196
197 select form_data_group_id
198 into x_form_data_group_id
199 from hr_form_data_groups_b
200 where data_group_name = x_data_group_name
201 and application_id = x_application_id
202 and form_id = x_form_id;
203
204 select form_template_id
205 into x_form_template_id
206 from hr_form_templates_b
207 where ( (legislation_code is null and x_territory_short_name is null)
208 or (legislation_code = x_territory_short_name) )
209 and template_name = x_template_name
210 and application_id = x_application_id
211 and form_id = x_form_id;
212
213 begin
214 select template_data_group_id
215 into x_template_data_group_id
216 from hr_template_data_groups
217 where form_template_id = x_form_template_id
218 and form_data_group_id = x_form_data_group_id;
219 exception
220 when no_data_found then
221 select hr_template_data_groups_s.nextval
222 into x_template_data_group_id
223 from dual;
224 end;
225
226 begin
227 UPDATE_ROW (
228 X_TEMPLATE_DATA_GROUP_ID,
229 to_number(X_OBJECT_VERSION_NUMBER),
230 X_FORM_TEMPLATE_ID,
231 X_FORM_DATA_GROUP_ID,
232 X_LAST_UPDATE_DATE,
233 X_LAST_UPDATED_BY,
234 X_LAST_UPDATE_LOGIN
235 );
236 exception
237 when no_data_found then
238 INSERT_ROW (
239 X_ROWID,
240 X_TEMPLATE_DATA_GROUP_ID,
241 to_number(X_OBJECT_VERSION_NUMBER),
242 X_FORM_TEMPLATE_ID,
243 X_FORM_DATA_GROUP_ID,
244 X_CREATION_DATE,
245 X_CREATED_BY,
246 X_LAST_UPDATE_DATE,
247 X_LAST_UPDATED_BY,
248 X_LAST_UPDATE_LOGIN );
249 end;
250 end LOAD_ROW;
251 end HR_TEMPLATE_DATA_GROUPS_PKG;