DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEO_SVR_TYPES_SEED_PKG

Source


1 PACKAGE BODY IEO_SVR_TYPES_SEED_PKG AS
2 /* $Header: IEOSEEDB.pls 115.8 2003/01/02 17:07:23 dolee ship $ */
3 
4   PROCEDURE Insert_Row (p_svr_types_rec IN uwq_svr_types_rec_type) IS
5 
6     CURSOR c IS SELECT 'X' FROM ieo_svr_types_b
7     WHERE  type_id = p_svr_types_rec.type_id;
8 
9     l_dummy CHAR(1);
10 
11   BEGIN
12 
13      -- API body
14     INSERT INTO ieo_svr_types_b (
15       type_id,
16       created_by,
17       creation_date,
18       last_updated_by,
19       last_update_date,
20       last_update_login,
21       type_uuid,
22       rt_refresh_rate,
23       max_major_load_factor,
24       max_minor_load_factor,
25       application_short_name
26     ) VALUES (
27       p_svr_types_rec.type_id,
28       p_svr_types_rec.created_by,
29       p_svr_types_rec.creation_date,
30       p_svr_types_rec.last_updated_by,
31       p_svr_types_rec.last_update_date,
32       p_svr_types_rec.last_update_login,
33       p_svr_types_rec.type_uuid,
34       p_svr_types_rec.rt_refresh_rate,
35       p_svr_types_rec.max_major_load_factor,
36       p_svr_types_rec.max_minor_load_factor,
37       p_svr_types_rec.application_short_name
38     );
39 
40     INSERT INTO ieo_svr_types_tl (
41       type_id,
42       language,
43       created_by,
44       creation_date,
45       last_updated_by,
46       last_update_date,
47       last_update_login,
48       type_name,
49       source_lang,
50       type_description,
51       type_extra
52     ) SELECT
53          p_svr_types_rec.type_id,
54          l.language_code,
55          p_svr_types_rec.created_by,
56          p_svr_types_rec.creation_date,
57          p_svr_types_rec.last_updated_by,
58          p_svr_types_rec.last_update_date,
59          p_svr_types_rec.last_update_login,
60          p_svr_types_rec.type_name,
61          USERENV('LANG'),
62          p_svr_types_rec.type_description,
63          p_svr_types_rec.type_extra
64       FROM fnd_languages l
65       WHERE l.installed_flag IN ('I', 'B')
66       AND NOT EXISTS
67         (SELECT NULL
68          FROM ieo_svr_types_tl t
69          WHERE t.type_id = p_svr_types_rec.type_id
70          AND t.language = l.language_code);
71 
72     OPEN c;
73     FETCH c INTO l_dummy;
74     IF (c%NOTFOUND) THEN
75       CLOSE c;
76       RAISE NO_DATA_FOUND;
77     END IF;
78     CLOSE c;
79      -- End of API body
80 
81   END Insert_Row;
82 
83   PROCEDURE Update_Row (p_svr_types_rec IN uwq_svr_types_rec_type) IS
84 
85   BEGIN
86      -- API body
87     UPDATE ieo_svr_types_b SET
88       last_updated_by   = p_svr_types_rec.last_updated_by,
89       last_update_date  = p_svr_types_rec.last_update_date,
90       last_update_login = p_svr_types_rec.last_update_login,
91       type_uuid = p_svr_types_rec.type_uuid,
92       rt_refresh_rate = p_svr_types_rec.rt_refresh_rate,
93       max_major_load_factor = p_svr_types_rec.max_major_load_factor,
94       max_minor_load_factor = p_svr_types_rec.max_minor_load_factor,
95       application_short_name = p_svr_types_rec.application_short_name
96     WHERE type_id = p_svr_types_rec.type_id;
97 
98     IF (SQL%NOTFOUND) THEN
99       RAISE no_data_found;
100     END IF;
101 
102     UPDATE ieo_svr_types_tl SET
103       type_name = p_svr_types_rec.type_name,
104       source_lang = USERENV('LANG'),
105       type_description = p_svr_types_rec.type_description,
106       last_updated_by  = p_svr_types_rec.last_updated_by,
107       last_update_date = p_svr_types_rec.last_update_date,
108       last_update_login = p_svr_types_rec.last_update_login,
109       type_extra = p_svr_types_rec.type_extra
110     WHERE type_id = p_svr_types_rec.type_id
111     AND USERENV('LANG') IN (language, source_lang);
112 
113     IF (SQL%NOTFOUND) THEN
114       RAISE no_data_found;
115     END IF;
116      -- End of API body
117 
118   END Update_Row;
119 
120   PROCEDURE Load_Row (
121       p_type_id IN NUMBER,
122       p_type_uuid IN VARCHAR2,
123       p_rt_refresh_rate  IN NUMBER,
124       p_max_major_load_factor IN NUMBER,
125       p_max_minor_load_factor IN NUMBER,
126       p_type_name IN VARCHAR2,
127       p_type_description IN VARCHAR2,
128       p_type_extra IN VARCHAR2,
129       p_owner IN VARCHAR2,
130       p_application_short_name IN VARCHAR2) IS
131   BEGIN
132 
133     DECLARE
134        user_id         number := 0;
135        l_svr_types_rec uwq_svr_types_rec_type;
136 
137     BEGIN
138 
139        IF (p_owner = 'SEED') then
140           user_id := 1;
141        END IF;
142 
143       l_svr_types_rec.type_id   := p_type_id;
144       l_svr_types_rec.type_uuid := p_type_uuid;
145       l_svr_types_rec.rt_refresh_rate := p_rt_refresh_rate;
146       l_svr_types_rec.max_major_load_factor := p_max_major_load_factor;
147       l_svr_types_rec.max_minor_load_factor := p_max_minor_load_factor;
148       l_svr_types_rec.type_name := p_type_name;
149       l_svr_types_rec.type_description := p_type_description;
150       l_svr_types_rec.type_extra := p_type_extra;
151       l_svr_types_rec.last_update_date := sysdate;
152       l_svr_types_rec.last_updated_by := user_id;
153       l_svr_types_rec.last_update_login := 0;
154       l_svr_types_rec.application_short_name := p_application_short_name;
155 
156       Update_Row (p_svr_types_rec => l_svr_types_rec);
157       EXCEPTION
158          when no_data_found then
159 
160       l_svr_types_rec.type_id   := p_type_id;
161       l_svr_types_rec.type_uuid := p_type_uuid;
162       l_svr_types_rec.rt_refresh_rate := p_rt_refresh_rate;
163       l_svr_types_rec.max_major_load_factor := p_max_major_load_factor;
164       l_svr_types_rec.max_minor_load_factor := p_max_minor_load_factor;
165       l_svr_types_rec.type_name := p_type_name;
166       l_svr_types_rec.type_description := p_type_description;
167       l_svr_types_rec.last_update_date := sysdate;
168       l_svr_types_rec.last_updated_by := user_id;
169       l_svr_types_rec.last_update_login := 0;
170       l_svr_types_rec.creation_date := sysdate;
171       l_svr_types_rec.created_by := user_id;
172       l_svr_types_rec.application_short_name := p_application_short_name;
173 
174       Insert_Row (p_svr_types_rec => l_svr_types_rec);
175 
176       END;
177   END load_row;
178 
179   PROCEDURE translate_row (
180     p_type_id IN NUMBER,
181     p_type_name IN VARCHAR2,
182     p_type_description IN VARCHAR2,
183     p_type_extra IN VARCHAR2,
184     p_owner IN VARCHAR2) IS
185   BEGIN
186 
187       -- only UPDATE rows that have not been altered by user
188 
189      UPDATE ieo_svr_types_tl SET
190      type_name = p_type_name,
191      source_lang = userenv('LANG'),
192      type_description = p_type_description,
193      type_extra = p_type_extra,
194      last_update_date = sysdate,
195      last_updated_by = decode(p_owner, 'SEED', 1, 0),
196      last_update_login = 0
197      WHERE type_id = p_type_id
198      AND   userenv('LANG') IN (language, source_lang);
199 
200   END translate_row;
201 
202 PROCEDURE ADD_LANGUAGE
203 is
204 begin
205   delete from IEO_SVR_TYPES_TL T
206   where not exists
207     (select NULL
208     from IEO_SVR_TYPES_B B
209     where B.TYPE_ID = T.TYPE_ID
210     );
211 
212   update IEO_SVR_TYPES_TL T set (
213       TYPE_NAME,
214       TYPE_DESCRIPTION,
215       TYPE_EXTRA
216     ) = (select
217       B.TYPE_NAME,
218       B.TYPE_DESCRIPTION,
219       B.TYPE_EXTRA
220     from IEO_SVR_TYPES_TL B
221     where B.TYPE_ID = T.TYPE_ID
222     and B.LANGUAGE = T.SOURCE_LANG)
223   where (
224       T.TYPE_ID,
225       T.LANGUAGE
226   ) in (select
227       SUBT.TYPE_ID,
228       SUBT.LANGUAGE
229     from IEO_SVR_TYPES_TL SUBB, IEO_SVR_TYPES_TL SUBT
230     where SUBB.TYPE_ID = SUBT.TYPE_ID
231     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
232     and (SUBB.TYPE_NAME <> SUBT.TYPE_NAME
233       or SUBB.TYPE_DESCRIPTION <> SUBT.TYPE_DESCRIPTION
234       or (SUBB.TYPE_DESCRIPTION is null and SUBT.TYPE_DESCRIPTION is not null)
235       or (SUBB.TYPE_DESCRIPTION is not null and SUBT.TYPE_DESCRIPTION is null)
236       or SUBB.TYPE_EXTRA <> SUBT.TYPE_EXTRA
237       or (SUBB.TYPE_EXTRA is null and SUBT.TYPE_EXTRA is not null)
238       or (SUBB.TYPE_EXTRA is not null and SUBT.TYPE_EXTRA is null)
239   ));
240 
241   insert into IEO_SVR_TYPES_TL (
242     TYPE_ID,
243     CREATED_BY,
244     CREATION_DATE,
245     LAST_UPDATED_BY,
246     LAST_UPDATE_DATE,
247     LAST_UPDATE_LOGIN,
248     TYPE_NAME,
249     TYPE_DESCRIPTION,
250     TYPE_EXTRA,
251     LANGUAGE,
252     SOURCE_LANG
253   ) select
254     B.TYPE_ID,
255     B.CREATED_BY,
256     B.CREATION_DATE,
257     B.LAST_UPDATED_BY,
258     B.LAST_UPDATE_DATE,
259     B.LAST_UPDATE_LOGIN,
260     B.TYPE_NAME,
261     B.TYPE_DESCRIPTION,
262     B.TYPE_EXTRA,
263     L.LANGUAGE_CODE,
264     B.SOURCE_LANG
265   from IEO_SVR_TYPES_TL B, FND_LANGUAGES L
266   where L.INSTALLED_FLAG in ('I', 'B')
267   and B.LANGUAGE = userenv('LANG')
268   and not exists
269     (select NULL
270     from IEO_SVR_TYPES_TL T
271     where T.TYPE_ID = B.TYPE_ID
272     and T.LANGUAGE = L.LANGUAGE_CODE);
273 end ADD_LANGUAGE;
274 
275 END IEO_SVR_TYPES_SEED_PKG;