DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEU_UWQ_MEDIA_TYPES_SEED_PKG

Source


1 PACKAGE BODY IEU_UWQ_MEDIA_TYPES_SEED_PKG AS
2 /* $Header: IEUSEEDB.pls 120.1 2005/06/23 02:40:28 appldev ship $ */
3 
4   PROCEDURE Insert_Row (p_uwq_media_types_rec IN uwq_media_types_rec_type) IS
5 
6     CURSOR c IS         SELECT 'X' FROM ieu_uwq_media_types_b
7                 WHERE media_type_id = p_uwq_media_types_rec.media_type_id;
8 
9     l_dummy CHAR(1);
10 
11   BEGIN
12 
13      -- API body
14     INSERT INTO ieu_uwq_media_types_b (
15       media_type_id,
16       created_by,
17       creation_date,
18       last_updated_by,
19       last_update_date,
20       last_update_login,
21       media_type_uuid,
22       simple_blending_order,
23       tel_reqd_flag,
24       svr_login_rule_id,
25       application_id,
26       sh_category_type,
27          image_file_name,
28       classification_query_proc,
29       blended_flag,
30       blended_dir
31     ) VALUES (
32       p_uwq_media_types_rec.media_type_id,
33       p_uwq_media_types_rec.created_by,
34       p_uwq_media_types_rec.creation_date,
35       p_uwq_media_types_rec.last_updated_by,
36       p_uwq_media_types_rec.last_update_date,
37       p_uwq_media_types_rec.last_update_login,
38       p_uwq_media_types_rec.media_type_uuid,
39       p_uwq_media_types_rec.simple_blending_order,
40       p_uwq_media_types_rec.tel_reqd_flag,
41       p_uwq_media_types_rec.svr_login_rule_id,
42       p_uwq_media_types_rec.application_id,
43          p_uwq_media_types_rec.sh_category_type,
44          p_uwq_media_types_rec.image_file_name,
45       p_uwq_media_types_rec.classification_query_proc,
46       p_uwq_media_types_rec.blended_flag,
47       p_uwq_media_types_rec.blended_dir
48     );
49 
50     INSERT INTO ieu_uwq_media_types_tl (
51       media_type_id,
52       language,
53       created_by,
54       creation_date,
55       last_updated_by,
56       last_update_date,
57       last_update_login,
58       media_type_name,
59       source_lang,
60       media_type_description
61     ) SELECT
62         p_uwq_media_types_rec.media_type_id,
63         l.language_code,
64         p_uwq_media_types_rec.created_by,
65         p_uwq_media_types_rec.creation_date,
66         p_uwq_media_types_rec.last_updated_by,
67         p_uwq_media_types_rec.last_update_date,
68         p_uwq_media_types_rec.last_update_login,
69         p_uwq_media_types_rec.media_type_name,
70         USERENV('LANG'),
71         p_uwq_media_types_rec.media_type_description
72       FROM fnd_languages l
73       WHERE l.installed_flag IN ('I', 'B')
74       AND NOT EXISTS
75         (SELECT NULL
76          FROM ieu_uwq_media_types_tl t
77          WHERE t.media_type_id = p_uwq_media_types_rec.media_type_id
78          AND t.language = l.language_code);
79 
80     OPEN c;
81     FETCH c INTO l_dummy;
82     IF (c%NOTFOUND) THEN
83       CLOSE c;
84       RAISE NO_DATA_FOUND;
85     END IF;
86     CLOSE c;
87      -- End of API body
88 
89   END Insert_Row;
90 
91   PROCEDURE Update_Row (p_uwq_media_types_rec IN uwq_media_types_rec_type) IS
92 
93   BEGIN
94      -- API body
95     UPDATE ieu_uwq_media_types_b SET
96       last_updated_by = p_uwq_media_types_rec.last_updated_by,
97       last_update_date = p_uwq_media_types_rec.last_update_date,
98       last_update_login = p_uwq_media_types_rec.last_update_login,
99       media_type_uuid = p_uwq_media_types_rec.media_type_uuid,
100       simple_blending_order = p_uwq_media_types_rec.simple_blending_order,
101       tel_reqd_flag = p_uwq_media_types_rec.tel_reqd_flag,
102       svr_login_rule_id = p_uwq_media_types_rec.svr_login_rule_id,
103       application_id = p_uwq_media_types_rec.application_id,
104          image_file_name = p_uwq_media_types_rec.image_file_name,
105          sh_category_type = p_uwq_media_types_rec.sh_category_type,
106       classification_query_proc = p_uwq_media_types_rec.classification_query_proc,
107       blended_flag = p_uwq_media_types_rec.blended_flag,
108       blended_dir = p_uwq_media_types_rec.blended_dir
109     WHERE media_type_id = p_uwq_media_types_rec.media_type_id;
110 
111     IF (SQL%NOTFOUND) THEN
112       RAISE no_data_found;
113     END IF;
114 
115     UPDATE ieu_uwq_media_types_tl SET
116       media_type_name = p_uwq_media_types_rec.media_type_name,
117       source_lang = USERENV('LANG'),
118       media_type_description = p_uwq_media_types_rec.media_type_description,
119       last_updated_by = p_uwq_media_types_rec.last_updated_by,
120       last_update_date = p_uwq_media_types_rec.last_update_date,
121       last_update_login = p_uwq_media_types_rec.last_update_login
122     WHERE media_type_id = p_uwq_media_types_rec.media_type_id
123     AND USERENV('LANG') IN (language, source_lang);
124 
125     IF (SQL%NOTFOUND) THEN
126       RAISE no_data_found;
127     END IF;
128      -- End of API body
129 
130   END Update_Row;
131 
132   PROCEDURE Load_Row (
133                 p_media_type_id IN NUMBER,
134                 p_media_type_uuid IN VARCHAR2,
135                 p_simple_blending_order IN NUMBER,
136                 p_tel_reqd_flag IN VARCHAR2,
137                 p_svr_login_rule_id IN NUMBER,
138                 p_application_id IN NUMBER,
139                          p_sh_category_type IN VARCHAR2,
140                          p_image_file_name IN VARCHAR2,
141                          p_classification_query_proc IN VARCHAR2,
142                 p_blended_flag IN VARCHAR2,
143                 p_blended_dir IN VARCHAR2,
144                       p_media_type_name IN VARCHAR2,
145                 p_media_type_description IN VARCHAR2,
146                 p_owner IN VARCHAR2) IS
147   BEGIN
148 
149     DECLARE
150        user_id               number := 0;
151        l_uwq_media_types_rec uwq_media_types_rec_type;
152 
153     BEGIN
154 
155        --IF (p_owner = 'SEED') then
156        --   user_id := 1;
157        --END IF;
158        user_id := fnd_load_util.owner_id(P_OWNER);
159 
160            l_uwq_media_types_rec.media_type_id   := p_media_type_id;
161            l_uwq_media_types_rec.media_type_uuid := p_media_type_uuid;
162         l_uwq_media_types_rec.simple_blending_order := p_simple_blending_order;
163         l_uwq_media_types_rec.tel_reqd_flag := p_tel_reqd_flag;
164         l_uwq_media_types_rec.svr_login_rule_id := p_svr_login_rule_id;
165         l_uwq_media_types_rec.application_id := p_application_id;
166            l_uwq_media_types_rec.sh_category_type := p_sh_category_type;
167            l_uwq_media_types_rec.image_file_name := p_image_file_name;
168            l_uwq_media_types_rec.classification_query_proc := p_classification_query_proc;
169         l_uwq_media_types_rec.blended_flag := p_blended_flag;
170         l_uwq_media_types_rec.blended_dir := p_blended_dir;
171         l_uwq_media_types_rec.media_type_name := p_media_type_name;
172            l_uwq_media_types_rec.media_type_description := p_media_type_description;
173         l_uwq_media_types_rec.last_update_date := sysdate;
174         l_uwq_media_types_rec.last_updated_by := user_id;
175            l_uwq_media_types_rec.last_update_login := 0;
176 
177        Update_Row (p_uwq_media_types_rec => l_uwq_media_types_rec);
178       EXCEPTION
179          when no_data_found then
180 
181         l_uwq_media_types_rec.media_type_id   := p_media_type_id;
182         l_uwq_media_types_rec.media_type_uuid := p_media_type_uuid;
183         l_uwq_media_types_rec.simple_blending_order := p_simple_blending_order;
184         l_uwq_media_types_rec.tel_reqd_flag := p_tel_reqd_flag;
185         l_uwq_media_types_rec.svr_login_rule_id := p_svr_login_rule_id;
186         l_uwq_media_types_rec.application_id := p_application_id;
187            l_uwq_media_types_rec.sh_category_type := p_sh_category_type;
188            l_uwq_media_types_rec.image_file_name := p_image_file_name;
189            l_uwq_media_types_rec.classification_query_proc := p_classification_query_proc;
190         l_uwq_media_types_rec.blended_flag := p_blended_flag;
191         l_uwq_media_types_rec.blended_dir := p_blended_dir;
192         l_uwq_media_types_rec.media_type_name := p_media_type_name;
193         l_uwq_media_types_rec.media_type_description := p_media_type_description;
194         l_uwq_media_types_rec.last_update_date := sysdate;
195         l_uwq_media_types_rec.last_updated_by := user_id;
196         l_uwq_media_types_rec.last_update_login := 0;
197         l_uwq_media_types_rec.creation_date := sysdate;
198         l_uwq_media_types_rec.created_by := user_id;
199 
200         Insert_Row (p_uwq_media_types_rec => l_uwq_media_types_rec);
201 
202       END;
203   END load_row;
204 
205   PROCEDURE translate_row (
206     p_media_type_id IN NUMBER,
207     p_media_type_name IN VARCHAR2,
208     p_media_type_description IN VARCHAR2,
209     p_owner IN VARCHAR2) IS
210 
211   BEGIN
212 
213       -- only UPDATE rows that have not been altered by user
214 
215       UPDATE ieu_uwq_media_types_tl SET
216         media_type_name = p_media_type_name,
217         source_lang = userenv('LANG'),
218         media_type_description = p_media_type_description,
219         last_update_date = sysdate,
220         last_updated_by = decode(p_owner, 'SEED', 1, 0),
221         last_update_login = 0
222       WHERE media_type_id = p_media_type_id
223       AND   userenv('LANG') IN (language, source_lang);
224 
225   END translate_row;
226 
227 PROCEDURE ADD_LANGUAGE
228 is
229 begin
230   delete from IEU_UWQ_MEDIA_TYPES_TL T
231   where not exists
232     (select NULL
233     from IEU_UWQ_MEDIA_TYPES_B B
234     where B.MEDIA_TYPE_ID = T.MEDIA_TYPE_ID
235     );
236 
237   update IEU_UWQ_MEDIA_TYPES_TL T set (
238       MEDIA_TYPE_NAME,
239       MEDIA_TYPE_DESCRIPTION
240     ) = (select
241       B.MEDIA_TYPE_NAME,
242       B.MEDIA_TYPE_DESCRIPTION
243     from IEU_UWQ_MEDIA_TYPES_TL B
244     where B.MEDIA_TYPE_ID = T.MEDIA_TYPE_ID
245     and B.LANGUAGE = T.SOURCE_LANG)
246   where (
247       T.MEDIA_TYPE_ID,
248       T.LANGUAGE
249   ) in (select
250       SUBT.MEDIA_TYPE_ID,
251       SUBT.LANGUAGE
252     from IEU_UWQ_MEDIA_TYPES_TL SUBB, IEU_UWQ_MEDIA_TYPES_TL SUBT
253     where SUBB.MEDIA_TYPE_ID = SUBT.MEDIA_TYPE_ID
254     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
255     and (SUBB.MEDIA_TYPE_NAME <> SUBT.MEDIA_TYPE_NAME
256       or SUBB.MEDIA_TYPE_DESCRIPTION <> SUBT.MEDIA_TYPE_DESCRIPTION
257       or (SUBB.MEDIA_TYPE_DESCRIPTION is null and SUBT.MEDIA_TYPE_DESCRIPTION is not null)
258       or (SUBB.MEDIA_TYPE_DESCRIPTION is not null and SUBT.MEDIA_TYPE_DESCRIPTION is null)
259   ));
260 
261   insert into IEU_UWQ_MEDIA_TYPES_TL (
262     MEDIA_TYPE_ID,
263     CREATED_BY,
264     CREATION_DATE,
265     LAST_UPDATED_BY,
266     LAST_UPDATE_DATE,
267     LAST_UPDATE_LOGIN,
268     MEDIA_TYPE_NAME,
269     MEDIA_TYPE_DESCRIPTION,
270     LANGUAGE,
271     SOURCE_LANG
272   ) select
273     B.MEDIA_TYPE_ID,
274     B.CREATED_BY,
275     B.CREATION_DATE,
276     B.LAST_UPDATED_BY,
277     B.LAST_UPDATE_DATE,
278     B.LAST_UPDATE_LOGIN,
279     B.MEDIA_TYPE_NAME,
280     B.MEDIA_TYPE_DESCRIPTION,
281     L.LANGUAGE_CODE,
282     B.SOURCE_LANG
283   from IEU_UWQ_MEDIA_TYPES_TL B, FND_LANGUAGES L
284   where L.INSTALLED_FLAG in ('I', 'B')
285   and B.LANGUAGE = userenv('LANG')
286   and not exists
287     (select NULL
288     from IEU_UWQ_MEDIA_TYPES_TL T
289     where T.MEDIA_TYPE_ID = B.MEDIA_TYPE_ID
290     and T.LANGUAGE = L.LANGUAGE_CODE);
291 end ADD_LANGUAGE;
292 
293 /***** Added on 01/17/01 for NLS issues ****/
294 
295 procedure DELETE_ROW (
296   X_MEDIA_TYPE_ID in NUMBER
297   ) is
298   begin
299     delete from IEU_UWQ_MEDIA_TYPES_TL
300     where MEDIA_TYPE_ID = X_MEDIA_TYPE_ID;
301 
302     if (sql%notfound) then
303           raise no_data_found;
304     end if;
305 
306     delete from IEU_UWQ_MEDIA_TYPES_B
307     where MEDIA_TYPE_ID = X_MEDIA_TYPE_ID;
308 
309     if (sql%notfound) then
310        raise no_data_found;
311     end if;
312  end DELETE_ROW;
313 
314 
315 procedure LOCK_ROW (
316  X_MEDIA_TYPE_ID in NUMBER,
317  X_MEDIA_TYPE_UUID in VARCHAR2,
318  X_LANGUAGE in VARCHAR2,
319  X_CREATED_BY in NUMBER,
320  X_CREATION_DATE in DATE,
321  X_LAST_UPDATED_BY in NUMBER,
322  X_LAST_UPDATE_DATE in DATE,
323  X_MEDIA_TYPE_NAME in VARCHAR2,
324  X_SOURCE_LANG in VARCHAR2,
325  X_MEDIA_TYPE_DESCRIPTION in VARCHAR2,
326  X_OBJECT_VERSION_NUMBER in NUMBER
327 ) is
328 
329 
330 cursor c is select
331  MEDIA_TYPE_UUID
332  from IEU_UWQ_MEDIA_TYPES_B
333  where MEDIA_TYPE_ID = X_MEDIA_TYPE_ID
334  for update of MEDIA_TYPE_ID nowait;
335  recinfo c%rowtype;
336 
337 cursor c1 is select
338  MEDIA_TYPE_ID,
339  language,
340  CREATED_BY,
341  CREATION_DATE,
342  LAST_UPDATED_BY,
343  LAST_UPDATE_DATE,
344  MEDIA_TYPE_NAME,
345  SOURCE_LANG,
346  MEDIA_TYPE_DESCRIPTION,
347  OBJECT_VERSION_NUMBER,
348  decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
349  from IEU_UWQ_MEDIA_TYPES_TL
350  where MEDIA_TYPE_ID = X_MEDIA_TYPE_ID
351  and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
352  for update of MEDIA_TYPE_ID nowait;
353 
354 begin
355   open c;
356   fetch c into recinfo;
357   if (c%notfound) then
358     close c;
359     fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
360     app_exception.raise_exception;
361   end if;
362   close c;
363   if (    (recinfo.MEDIA_TYPE_UUID = X_MEDIA_TYPE_UUID)
364   ) then
365     null;
366   else
367     fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
368     app_exception.raise_exception;
369   end if;
370 
371   for tlinfo in c1 loop
372    if (tlinfo.BASELANG = 'Y') then
373     if (    (tlinfo.MEDIA_TYPE_ID = X_MEDIA_TYPE_ID)
374         AND (tlinfo.LANGUAGE = X_LANGUAGE)
375         AND (tlinfo.CREATED_BY = X_CREATED_BY)
376         AND (tlinfo.CREATION_DATE = X_CREATION_DATE)
377         AND (tlinfo.LAST_UPDATED_BY = X_LAST_UPDATED_BY)
378         AND (tlinfo.LAST_UPDATE_DATE = X_LAST_UPDATE_DATE)
379         AND (tlinfo.MEDIA_TYPE_NAME = X_MEDIA_TYPE_NAME)
380         AND ((tlinfo.SOURCE_LANG = X_SOURCE_LANG)
381                 OR ((tlinfo.SOURCE_LANG is null) AND (X_SOURCE_LANG is null)))
382         AND ((tlinfo.MEDIA_TYPE_DESCRIPTION = X_MEDIA_TYPE_DESCRIPTION)
383                 OR ((tlinfo.MEDIA_TYPE_DESCRIPTION is null) AND (X_MEDIA_TYPE_DESCRIPTION is null)))
384         AND ((tlinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
385                 OR ((tlinfo.OBJECT_VERSION_NUMBER is null) AND (X_OBJECT_VERSION_NUMBER is null)))
386         ) then
387                 null;
388     else
389                 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
390                 app_exception.raise_exception;
391     end if;
392    end if;
393   end loop;
394   return;
395 end LOCK_ROW;
396 
397 PROCEDURE Load_Seed_Row (
398   p_upload_mode IN VARCHAR2,
399   p_media_type_id IN NUMBER,
400   p_media_type_uuid IN VARCHAR2,
401   p_simple_blending_order IN NUMBER,
402   p_tel_reqd_flag IN VARCHAR2,
403   p_svr_login_rule_id IN NUMBER,
404   p_application_id IN NUMBER,
405   p_sh_category_type IN VARCHAR2,
406   p_image_file_name IN VARCHAR2,
407   p_classification_query_proc IN VARCHAR2,
408   p_blended_flag IN VARCHAR2,
409   p_blended_dir IN VARCHAR2,
410   p_media_type_name IN VARCHAR2,
411   p_media_type_description IN VARCHAR2,
412   p_owner IN VARCHAR2
413 )is
414 begin
415 if (p_upload_mode = 'NLS') then
416   TRANSLATE_ROW (
417     P_MEDIA_TYPE_ID,
418     P_MEDIA_TYPE_NAME,
419     P_MEDIA_TYPE_DESCRIPTION,
420     P_OWNER);
421 else
422   LOAD_ROW (
423     P_MEDIA_TYPE_ID,
424     P_MEDIA_TYPE_UUID,
425     P_SIMPLE_BLENDING_ORDER,
426     P_TEL_REQD_FLAG,
427     P_SVR_LOGIN_RULE_ID,
428     P_APPLICATION_ID,
429     P_SH_CATEGORY_TYPE,
430     P_IMAGE_FILE_NAME,
431     P_CLASSIFICATION_QUERY_PROC,
432     P_BLENDED_FLAG,
433     P_BLENDED_DIR,
434     P_MEDIA_TYPE_NAME,
435     P_MEDIA_TYPE_DESCRIPTION,
436     P_OWNER);
437 end if;
438 end Load_Seed_Row;
439 
440 END IEU_UWQ_MEDIA_TYPES_SEED_PKG;