[Home] [Help]
PACKAGE BODY: APPS.AMS_IBA_PL_PLACEMENTS_B_PKG
Source
1 PACKAGE BODY AMS_IBA_PL_PLACEMENTS_B_PKG as
2 /* $Header: amstplcb.pls 120.0 2005/06/01 03:42:23 appldev noship $ */
3 -- ===============================================================
4 -- Start of Comments
5 -- Package name
6 -- AMS_IBA_PL_PLACEMENTS_B_PKG
7 -- Purpose
8 --
9 -- History
10 --
11 -- NOTE
12 --
13 -- End of Comments
14 -- ===============================================================
15
16 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AMS_IBA_PL_PLACEMENTS_B_PKG';
17 G_FILE_NAME CONSTANT VARCHAR2(12) := 'amstplcb.pls';
18
19 ----------------------------------------------------------
20 ---- MEDIA ----
21 ----------------------------------------------------------
22
23 -- ========================================================
24 --
25 -- NAME
26 -- createInsertBody
27 --
28 -- PURPOSE
29 --
30 -- NOTES
31 --
32 -- HISTORY
33 --
34 -- ========================================================
35 PROCEDURE Insert_Row(
36 px_placement_id IN OUT NOCOPY NUMBER,
37 p_site_id NUMBER,
38 p_site_ref_code VARCHAR2,
39 p_page_id NUMBER,
40 p_page_ref_code VARCHAR2,
41 p_location_code VARCHAR2,
42 p_param1 VARCHAR2,
43 p_param2 VARCHAR2,
44 p_param3 VARCHAR2,
45 p_param4 VARCHAR2,
46 p_param5 VARCHAR2,
47 p_stylesheet_id NUMBER,
48 p_posting_id NUMBER,
49 p_status_code VARCHAR2,
50 p_track_events_flag VARCHAR2,
51 p_created_by NUMBER,
52 p_creation_date DATE,
53 p_last_updated_by NUMBER,
54 p_last_update_date DATE,
55 p_last_update_login NUMBER,
56 px_object_version_number IN OUT NOCOPY NUMBER,
57 p_name in VARCHAR2,
58 p_description in VARCHAR2
59 )
60
61 IS
62 x_rowid VARCHAR2(30);
63
64
65 BEGIN
66
67
68 px_object_version_number := 1;
69
70
71 INSERT INTO AMS_IBA_PL_PLACEMENTS_B(
72 placement_id,
73 site_id,
74 site_ref_code,
75 page_id,
76 page_ref_code,
77 location_code,
78 param1,
79 param2,
80 param3,
81 param4,
82 param5,
83 stylesheet_id,
84 posting_id,
85 status_code,
86 track_events_flag,
87 created_by,
88 creation_date,
89 last_updated_by,
90 last_update_date,
91 last_update_login,
92 object_version_number
93 ) VALUES (
94 DECODE( px_placement_id, FND_API.g_miss_num, NULL, px_placement_id),
95 DECODE( p_site_id, FND_API.g_miss_num, NULL, p_site_id),
96 DECODE( p_site_ref_code, FND_API.g_miss_char, NULL, p_site_ref_code),
97 DECODE( p_page_id, FND_API.g_miss_num, NULL, p_page_id),
98 DECODE( p_page_ref_code, FND_API.g_miss_char, NULL, p_page_ref_code),
99 DECODE( p_location_code, FND_API.g_miss_char, NULL, p_location_code),
100 DECODE( p_param1, FND_API.g_miss_char, NULL, p_param1),
101 DECODE( p_param2, FND_API.g_miss_char, NULL, p_param2),
102 DECODE( p_param3, FND_API.g_miss_char, NULL, p_param3),
103 DECODE( p_param4, FND_API.g_miss_char, NULL, p_param4),
104 DECODE( p_param5, FND_API.g_miss_char, NULL, p_param5),
105 DECODE( p_stylesheet_id, FND_API.g_miss_num, NULL, p_stylesheet_id),
106 DECODE( p_posting_id, FND_API.g_miss_num, NULL, p_posting_id),
107 DECODE( p_status_code, FND_API.g_miss_char, NULL, p_status_code),
108 DECODE( p_track_events_flag, FND_API.g_miss_char, NULL, p_track_events_flag),
109 DECODE( p_created_by, FND_API.g_miss_num, NULL, p_created_by),
110 DECODE( p_creation_date, FND_API.g_miss_date, NULL, p_creation_date),
111 DECODE( p_last_updated_by, FND_API.g_miss_num, NULL, p_last_updated_by),
112 DECODE( p_last_update_date, FND_API.g_miss_date, NULL, p_last_update_date),
113 DECODE( p_last_update_login, FND_API.g_miss_num, NULL, p_last_update_login),
114 DECODE( px_object_version_number, FND_API.g_miss_num, NULL, px_object_version_number));
115
116 insert into AMS_IBA_PL_PLACEMENTS_TL (
117 PLACEMENT_ID,
118 NAME,
119 DESCRIPTION,
120 CREATED_BY,
121 CREATION_DATE,
122 LAST_UPDATED_BY,
123 LAST_UPDATE_DATE,
124 LAST_UPDATE_LOGIN,
125 OBJECT_VERSION_NUMBER,
126 LANGUAGE,
127 SOURCE_LANG
128 ) select
129 DECODE( px_placement_id, FND_API.g_miss_num, NULL, px_placement_id),
130 DECODE( p_name, FND_API.g_miss_char, NULL, p_name),
131 DECODE( p_description, FND_API.g_miss_char, NULL, p_description),
132 DECODE( p_created_by, FND_API.g_miss_num, NULL, p_created_by),
133 DECODE( p_creation_date, FND_API.g_miss_date, NULL, p_creation_date),
134 DECODE( p_last_updated_by, FND_API.g_miss_num, NULL, p_last_updated_by),
135 DECODE( p_last_update_date, FND_API.g_miss_date, NULL, p_last_update_date),
136 DECODE( p_last_update_login, FND_API.g_miss_num, NULL, p_last_update_login),
137 DECODE( px_object_version_number, FND_API.g_miss_num, NULL, px_object_version_number),
138 l.language_code,
139 userenv('LANG')
140 FROM fnd_languages l
141 WHERE l.installed_flag IN ('I', 'B')
142 AND NOT EXISTS
143 (SELECT NULL
144 FROM ams_iba_pl_placements_tl t
145 WHERE t.placement_id = DECODE( px_placement_id, FND_API.g_miss_num, NULL, px_placement_id)
146 AND t.language = l.language_code);
147
148 END Insert_Row;
149
150
151 ----------------------------------------------------------
152 ---- MEDIA ----
153 ----------------------------------------------------------
154
155 -- ========================================================
156 --
157 -- NAME
158 -- createUpdateBody
159 --
160 -- PURPOSE
161 --
162 -- NOTES
163 --
164 -- HISTORY
165 --
166 -- ========================================================
167 PROCEDURE Update_Row(
168 p_placement_id NUMBER,
169 p_site_id NUMBER,
170 p_site_ref_code VARCHAR2,
171 p_page_id NUMBER,
172 p_page_ref_code VARCHAR2,
173 p_location_code VARCHAR2,
174 p_param1 VARCHAR2,
175 p_param2 VARCHAR2,
176 p_param3 VARCHAR2,
177 p_param4 VARCHAR2,
178 p_param5 VARCHAR2,
179 p_stylesheet_id NUMBER,
180 p_posting_id NUMBER,
181 p_status_code VARCHAR2,
182 p_track_events_flag VARCHAR2,
183 p_created_by NUMBER,
184 p_creation_date DATE,
185 p_last_updated_by NUMBER,
186 p_last_update_date DATE,
187 p_last_update_login NUMBER,
188 p_object_version_number NUMBER,
189 p_name VARCHAR2,
190 p_description VARCHAR2)
191
192 IS
193 BEGIN
194 Update AMS_IBA_PL_PLACEMENTS_B
195 SET
196 site_id = DECODE( p_site_id, FND_API.g_miss_num, site_id, p_site_id),
197 site_ref_code = DECODE( p_site_ref_code, FND_API.g_miss_char, site_ref_code, p_site_ref_code),
198 page_id = DECODE( p_page_id, FND_API.g_miss_num, page_id, p_page_id),
199 page_ref_code = DECODE( p_page_ref_code, FND_API.g_miss_char, page_ref_code, p_page_ref_code),
200 location_code = DECODE( p_location_code, FND_API.g_miss_char, location_code, p_location_code),
201 param1 = DECODE( p_param1, FND_API.g_miss_char, param1, p_param1),
202 param2 = DECODE( p_param2, FND_API.g_miss_char, param2, p_param2),
203 param3 = DECODE( p_param3, FND_API.g_miss_char, param3, p_param3),
204 param4 = DECODE( p_param4, FND_API.g_miss_char, param4, p_param4),
205 param5 = DECODE( p_param5, FND_API.g_miss_char, param5, p_param5),
206 stylesheet_id = DECODE( p_stylesheet_id, FND_API.g_miss_num, stylesheet_id, p_stylesheet_id),
207 posting_id = DECODE( p_posting_id, FND_API.g_miss_num, posting_id, p_posting_id),
208 status_code = DECODE( p_status_code, FND_API.g_miss_char, status_code, p_status_code),
209 track_events_flag = DECODE( p_track_events_flag, FND_API.g_miss_char, track_events_flag, p_track_events_flag),
210 last_updated_by = DECODE( p_last_updated_by, FND_API.g_miss_num, last_updated_by, p_last_updated_by),
211 last_update_date = DECODE( p_last_update_date, FND_API.g_miss_date, last_update_date, p_last_update_date),
212 last_update_login = DECODE( p_last_update_login, FND_API.g_miss_num, last_update_login, p_last_update_login),
213 object_version_number = DECODE( p_object_version_number, FND_API.g_miss_num, object_version_number, p_object_version_number)
214 WHERE PLACEMENT_ID = p_PLACEMENT_ID
215 AND object_version_number = p_object_version_number;
216
217 IF (SQL%NOTFOUND) THEN
218 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
219 END IF;
220
221 UPDATE ams_iba_pl_placements_tl SET
222 name = DECODE(p_name,FND_API.g_miss_char,name,p_name),
223 description = DECODE(p_description,FND_API.g_miss_char,description,p_description),
224 last_update_date = DECODE( p_last_update_date, FND_API.g_miss_date, last_update_date, p_last_update_date),
225 last_updated_by = DECODE( p_last_updated_by, FND_API.g_miss_num, last_updated_by, p_last_updated_by),
226 last_update_login = DECODE( p_last_update_login, FND_API.g_miss_num, last_update_login, p_last_update_login),
227 source_lang = USERENV('LANG')
228 WHERE placement_id = p_placement_id
229 AND USERENV('LANG') IN (language, source_lang);
230
231 IF (SQL%NOTFOUND) THEN
232 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
233 END IF;
234
235 END Update_Row;
236
237
238 ----------------------------------------------------------
239 ---- MEDIA ----
240 ----------------------------------------------------------
241
242 -- ========================================================
243 --
244 -- NAME
245 -- createDeleteBody
246 --
247 -- PURPOSE
248 --
249 -- NOTES
250 --
251 -- HISTORY
252 --
253 -- ========================================================
254 PROCEDURE Delete_Row(
255 p_placement_id NUMBER)
256 IS
257 BEGIN
258
259 DELETE FROM ams_iba_pl_placements_tl
260 WHERE placement_id = p_placement_id;
261
262 If (SQL%NOTFOUND) then
263 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
264 End If;
265
266
267 DELETE FROM ams_iba_pl_placements_b
268 WHERE placement_id = p_placement_id;
269
270 If (SQL%NOTFOUND) then
271 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
272 End If;
273
274 END Delete_Row ;
275
279 delete from AMS_IBA_PL_PLACEMENTS_TL T
276 procedure ADD_LANGUAGE
277 is
278 begin
280 where not exists
281 (select NULL
282 from AMS_IBA_PL_PLACEMENTS_B B
283 where B.PLACEMENT_ID = T.PLACEMENT_ID
284 );
285
286 update AMS_IBA_PL_PLACEMENTS_TL T set (
287 NAME,
288 description
289 ) = (select
290 B.NAME,
291 B.description
292 from AMS_IBA_PL_PLACEMENTS_TL B
293 where B.PLACEMENT_ID = T.PLACEMENT_ID
294 and B.LANGUAGE = T.SOURCE_LANG)
295 where (
296 T.PLACEMENT_ID,
297 T.LANGUAGE
298 ) in (select
299 SUBT.PLACEMENT_ID,
300 SUBT.LANGUAGE
301 from AMS_IBA_PL_PLACEMENTS_TL SUBB, AMS_IBA_PL_PLACEMENTS_TL SUBT
302 where SUBB.PLACEMENT_ID = SUBT.PLACEMENT_ID
303 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
304 and (SUBB.NAME <> SUBT.NAME
305 or SUBB.LANGUAGE <> SUBT.LANGUAGE
306 ));
307
308 insert into AMS_IBA_PL_PLACEMENTS_TL (
309 OBJECT_VERSION_NUMBER,
310 CREATED_BY,
311 CREATION_DATE,
312 LAST_UPDATED_BY,
313 LAST_UPDATE_DATE,
314 LAST_UPDATE_LOGIN,
315 PLACEMENT_ID,
316 NAME,
317 DESCRIPTION,
318 LANGUAGE,
319 SOURCE_LANG
320 ) select
321 B.OBJECT_VERSION_NUMBER,
322 B.CREATED_BY,
323 B.CREATION_DATE,
324 B.LAST_UPDATED_BY,
325 B.LAST_UPDATE_DATE,
326 B.LAST_UPDATE_LOGIN,
327 B.PLACEMENT_ID,
328 B.NAME,
329 B.DESCRIPTION,
330 L.LANGUAGE_CODE,
331 B.SOURCE_LANG
332 from AMS_IBA_PL_PLACEMENTS_TL B, FND_LANGUAGES L
333 where L.INSTALLED_FLAG in ('I', 'B')
334 and B.LANGUAGE = userenv('LANG')
335 and not exists
336 (select NULL
337 from AMS_IBA_PL_PLACEMENTS_TL T
338 where T.PLACEMENT_ID = B.PLACEMENT_ID
339 and T.LANGUAGE = L.LANGUAGE_CODE);
340 end ADD_LANGUAGE;
341
342
343 ----------------------------------------------------------
344 ---- MEDIA ----
345 ----------------------------------------------------------
346
347 -- ========================================================
348 --
349 -- NAME
350 -- createLockBody
351 --
352 -- PURPOSE
353 --
354 -- NOTES
355 --
356 -- HISTORY
357 --
358 -- ========================================================
359 PROCEDURE Lock_Row(
360 p_placement_id NUMBER,
361 p_site_id NUMBER,
362 p_site_ref_code VARCHAR2,
363 p_page_id NUMBER,
364 p_page_ref_code VARCHAR2,
365 p_location_code VARCHAR2,
366 p_param1 VARCHAR2,
367 p_param2 VARCHAR2,
368 p_param3 VARCHAR2,
369 p_param4 VARCHAR2,
370 p_param5 VARCHAR2,
371 p_stylesheet_id NUMBER,
372 p_posting_id NUMBER,
373 p_status_code VARCHAR2,
374 p_track_events_flag VARCHAR2,
375 p_created_by NUMBER,
376 p_creation_date DATE,
377 p_last_updated_by NUMBER,
378 p_last_update_date DATE,
379 p_last_update_login NUMBER,
380 p_object_version_number NUMBER)
381
382 IS
383 CURSOR C IS
384 SELECT *
385 FROM AMS_IBA_PL_PLACEMENTS_B
386 WHERE PLACEMENT_ID = p_PLACEMENT_ID
387 FOR UPDATE of PLACEMENT_ID NOWAIT;
388 Recinfo C%ROWTYPE;
389 BEGIN
390 OPEN c;
391 FETCH c INTO Recinfo;
392 If (c%NOTFOUND) then
393 CLOSE c;
394 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
395 APP_EXCEPTION.RAISE_EXCEPTION;
396 END IF;
397 CLOSE C;
398 IF (
399 ( Recinfo.placement_id = p_placement_id)
400 AND ( ( Recinfo.site_id = p_site_id)
401 OR ( ( Recinfo.site_id IS NULL )
402 AND ( p_site_id IS NULL )))
403 AND ( ( Recinfo.site_ref_code = p_site_ref_code)
404 OR ( ( Recinfo.site_ref_code IS NULL )
405 AND ( p_site_ref_code IS NULL )))
406 AND ( ( Recinfo.page_id = p_page_id)
407 OR ( ( Recinfo.page_id IS NULL )
408 AND ( p_page_id IS NULL )))
409 AND ( ( Recinfo.page_ref_code = p_page_ref_code)
410 OR ( ( Recinfo.page_ref_code IS NULL )
411 AND ( p_page_ref_code IS NULL )))
412 AND ( ( Recinfo.location_code = p_location_code)
413 OR ( ( Recinfo.location_code IS NULL )
414 AND ( p_location_code IS NULL )))
415 AND ( ( Recinfo.param1 = p_param1)
416 OR ( ( Recinfo.param1 IS NULL )
417 AND ( p_param1 IS NULL )))
418 AND ( ( Recinfo.param2 = p_param2)
419 OR ( ( Recinfo.param2 IS NULL )
420 AND ( p_param2 IS NULL )))
421 AND ( ( Recinfo.param3 = p_param3)
422 OR ( ( Recinfo.param3 IS NULL )
423 AND ( p_param3 IS NULL )))
424 AND ( ( Recinfo.param4 = p_param4)
425 OR ( ( Recinfo.param4 IS NULL )
426 AND ( p_param4 IS NULL )))
427 AND ( ( Recinfo.param5 = p_param5)
428 OR ( ( Recinfo.param5 IS NULL )
429 AND ( p_param5 IS NULL )))
430 AND ( ( Recinfo.stylesheet_id = p_stylesheet_id)
431 OR ( ( Recinfo.stylesheet_id IS NULL )
432 AND ( p_stylesheet_id IS NULL )))
433 AND ( ( Recinfo.posting_id = p_posting_id)
434 OR ( ( Recinfo.posting_id IS NULL )
435 AND ( p_posting_id IS NULL )))
439 AND ( ( Recinfo.track_events_flag = p_track_events_flag)
436 AND ( ( Recinfo.status_code = p_status_code)
437 OR ( ( Recinfo.status_code IS NULL )
438 AND ( p_status_code IS NULL )))
440 OR ( ( Recinfo.track_events_flag IS NULL )
441 AND ( p_track_events_flag IS NULL )))
442 AND ( ( Recinfo.created_by = p_created_by)
443 OR ( ( Recinfo.created_by IS NULL )
444 AND ( p_created_by IS NULL )))
445 AND ( ( Recinfo.creation_date = p_creation_date)
446 OR ( ( Recinfo.creation_date IS NULL )
447 AND ( p_creation_date IS NULL )))
448 AND ( ( Recinfo.last_updated_by = p_last_updated_by)
449 OR ( ( Recinfo.last_updated_by IS NULL )
450 AND ( p_last_updated_by IS NULL )))
451 AND ( ( Recinfo.last_update_date = p_last_update_date)
452 OR ( ( Recinfo.last_update_date IS NULL )
453 AND ( p_last_update_date IS NULL )))
454 AND ( ( Recinfo.last_update_login = p_last_update_login)
455 OR ( ( Recinfo.last_update_login IS NULL )
456 AND ( p_last_update_login IS NULL )))
457 AND ( ( Recinfo.object_version_number = p_object_version_number)
458 OR ( ( Recinfo.object_version_number IS NULL )
459 AND ( p_object_version_number IS NULL )))
460 ) THEN
461 RETURN;
462 ELSE
463 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
464 APP_EXCEPTION.RAISE_EXCEPTION;
465 END IF;
466 END Lock_Row;
467
468 END AMS_IBA_PL_PLACEMENTS_B_PKG;