[Home] [Help]
PACKAGE BODY: APPS.HR_TEMPLATE_CANVASES_B_PKG
Source
1 package body HR_TEMPLATE_CANVASES_B_PKG as
2 /* $Header: hrtculct.pkb 120.1 2011/04/28 11:01:08 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_CANVAS_ID in NUMBER,
26 X_OBJECT_VERSION_NUMBER in NUMBER,
27 X_TEMPLATE_WINDOW_ID in NUMBER,
28 X_FORM_CANVAS_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_CANVASES_B
36 where TEMPLATE_CANVAS_ID = X_TEMPLATE_CANVAS_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_CANVASES_B',
48 p_ref_entity_info => PER_RIC_PKG.ref_entity_tbl(
49 PER_RIC_PKG.ref_info_rec('HR_TEMPLATE_WINDOWS_B', PER_RIC_PKG.column_info_tbl(
50 PER_RIC_PKG.col_info_rec('TEMPLATE_WINDOW_ID',NULL,X_TEMPLATE_WINDOW_ID,NULL))),
51 PER_RIC_PKG.ref_info_rec('HR_FORM_CANVASES_B', PER_RIC_PKG.column_info_tbl(
52 PER_RIC_PKG.col_info_rec('FORM_CANVAS_ID',NULL,X_FORM_CANVAS_ID,NULL)))
53 ),
54 p_ref_type => 'INS');
55
56 END;
57 --
58 -- Code Ends Here.
59 --
60 insert into HR_TEMPLATE_CANVASES_B (
61 TEMPLATE_CANVAS_ID,
62 OBJECT_VERSION_NUMBER,
63 TEMPLATE_WINDOW_ID,
64 FORM_CANVAS_ID,
65 LAST_UPDATE_DATE,
66 LAST_UPDATED_BY,
67 LAST_UPDATE_LOGIN,
68 CREATED_BY,
69 CREATION_DATE
70 ) values (
71 X_TEMPLATE_CANVAS_ID,
72 X_OBJECT_VERSION_NUMBER,
73 X_TEMPLATE_WINDOW_ID,
74 X_FORM_CANVAS_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_CANVAS_ID in NUMBER,
93 X_OBJECT_VERSION_NUMBER in NUMBER,
94 X_TEMPLATE_WINDOW_ID in NUMBER,
95 X_FORM_CANVAS_ID in NUMBER
96 ) is
97 cursor c1 is select
98 OBJECT_VERSION_NUMBER,
99 TEMPLATE_WINDOW_ID,
100 FORM_CANVAS_ID
101 from HR_TEMPLATE_CANVASES_B
102 where TEMPLATE_CANVAS_ID = X_TEMPLATE_CANVAS_ID
103 for update of TEMPLATE_CANVAS_ID nowait;
104 begin
105 for tlinfo in c1 loop
106 if (tlinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
107 AND (tlinfo.TEMPLATE_WINDOW_ID = X_TEMPLATE_WINDOW_ID)
108 AND (tlinfo.FORM_CANVAS_ID = X_FORM_CANVAS_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_CANVAS_ID in NUMBER,
121 X_OBJECT_VERSION_NUMBER in NUMBER,
122 X_TEMPLATE_WINDOW_ID in NUMBER,
123 X_FORM_CANVAS_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_CANVASES_B set
130 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
131 TEMPLATE_WINDOW_ID = X_TEMPLATE_WINDOW_ID,
132 FORM_CANVAS_ID = X_FORM_CANVAS_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_CANVAS_ID = X_TEMPLATE_CANVAS_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_CANVAS_ID in NUMBER
145 ) is
146 begin
147
148 --
149 -- Added the following code as a part of Zero Downtime Patching Project.
150 -- Code Starts Here.
151 --
152
153 BEGIN
154 PER_RIC_PKG.chk_integrity (
155 p_entity_name => 'HR_TEMPLATE_CANVASES_B',
156 p_ref_entity_info => PER_RIC_PKG.ref_entity_tbl(
157 PER_RIC_PKG.ref_info_rec('HR_CANVAS_PROPERTIES', PER_RIC_PKG.column_info_tbl(
158 PER_RIC_PKG.col_info_rec('TEMPLATE_CANVAS_ID',NULL,X_TEMPLATE_CANVAS_ID,NULL))),
159 PER_RIC_PKG.ref_info_rec('HR_TEMPLATE_TAB_PAGES_B', PER_RIC_PKG.column_info_tbl(
160 PER_RIC_PKG.col_info_rec('TEMPLATE_CANVAS_ID',NULL,X_TEMPLATE_CANVAS_ID,NULL)))
161 ),
162 p_ref_type => 'DEL');
163
164 END;
165 --
166 -- Code Ends Here.
167 --
168
169 delete from HR_TEMPLATE_CANVASES_B
170 where TEMPLATE_CANVAS_ID = X_TEMPLATE_CANVAS_ID;
171
172 if (sql%notfound) then
173 raise no_data_found;
174 end if;
175
176 end DELETE_ROW;
177 procedure LOAD_ROW (
178 X_APPLICATION_SHORT_NAME in VARCHAR2,
179 X_FORM_NAME in VARCHAR2,
180 X_TEMPLATE_NAME in VARCHAR2,
181 X_TERRITORY_SHORT_NAME in VARCHAR2,
182 X_WINDOW_NAME in VARCHAR2,
183 X_CANVAS_NAME in VARCHAR2,
184 X_OWNER in VARCHAR2,
185 X_OBJECT_VERSION_NUMBER in VARCHAR2) is
186 X_ROWID ROWID;
187 X_CREATION_DATE DATE;
188 X_CREATED_BY NUMBER;
189 X_LAST_UPDATE_DATE DATE;
190 X_LAST_UPDATED_BY NUMBER;
191 X_LAST_UPDATE_LOGIN NUMBER;
192 X_FORM_ID NUMBER;
193 X_APPLICATION_ID NUMBER;
194 X_FORM_WINDOW_ID NUMBER;
195 X_TEMPLATE_WINDOW_ID NUMBER;
196 X_FORM_TEMPLATE_ID NUMBER;
197 X_FORM_CANVAS_ID NUMBER;
198 X_TEMPLATE_CANVAS_ID NUMBER;
199 begin
200
201 OWNER_TO_WHO (
202 X_OWNER,
203 X_CREATION_DATE,
204 X_CREATED_BY,
205 X_LAST_UPDATE_DATE,
206 X_LAST_UPDATED_BY,
207 X_LAST_UPDATE_LOGIN
208 );
209
210 select application_id
211 into x_application_id
212 from fnd_application
213 where application_short_name = x_application_short_name;
214
215 select form_id
216 into x_form_id
217 from fnd_form
218 where form_name = x_form_name
219 and application_id = x_application_id;
220
221 select form_window_id
222 into x_form_window_id
223 from hr_form_windows_b
224 where window_name = x_window_name
225 and application_id = x_application_id
226 and form_id = x_form_id;
227
228 select form_template_id
229 into x_form_template_id
230 from hr_form_templates_b
231 where ( (legislation_code is null and x_territory_short_name is null)
232 or (legislation_code = x_territory_short_name) )
233 and template_name = x_template_name
234 and application_id = x_application_id
235 and form_id = x_form_id;
236
237 select template_window_id
238 into x_template_window_id
239 from hr_template_windows_b
240 where form_template_id = x_form_template_id
241 and form_window_id = x_form_window_id;
242
243 select form_canvas_id
244 into x_form_canvas_id
245 from hr_form_canvases_b
246 where canvas_name = x_canvas_name
247 and form_window_id = x_form_window_id;
248
249 begin
250
251 select template_canvas_id
252 into x_template_canvas_id
253 from hr_template_canvases_b
254 where form_canvas_id = x_form_canvas_id
255 and template_window_id = x_template_window_id;
256
257 exception
258 when no_data_found then
259 select hr_template_canvases_b_s.nextval
260 into x_template_canvas_id
261 from dual;
262 end;
263
264 begin
265 UPDATE_ROW (
266 X_TEMPLATE_CANVAS_ID,
267 to_number(X_OBJECT_VERSION_NUMBER),
268 X_TEMPLATE_WINDOW_ID,
269 X_FORM_CANVAS_ID,
270 X_LAST_UPDATE_DATE,
271 X_LAST_UPDATED_BY,
272 X_LAST_UPDATE_LOGIN
273 );
274 exception
275 when no_data_found then
276 INSERT_ROW (
277 X_ROWID,
278 X_TEMPLATE_CANVAS_ID,
279 to_number(X_OBJECT_VERSION_NUMBER),
280 X_TEMPLATE_WINDOW_ID,
281 X_FORM_CANVAS_ID,
282 X_CREATION_DATE,
283 X_CREATED_BY,
284 X_LAST_UPDATE_DATE,
285 X_LAST_UPDATED_BY,
286 X_LAST_UPDATE_LOGIN);
287 end;
288
289 end LOAD_ROW;
290 end HR_TEMPLATE_CANVASES_B_PKG;