DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEU_WP_PARAM_PROPS_SEED_PKG

Source


1 PACKAGE BODY IEU_WP_PARAM_PROPS_SEED_PKG AS
2 /* $Header: IEUWPROB.pls 120.2 2005/08/04 23:19:32 appldev ship $ */
3 
4   PROCEDURE Update_Row (p_wp_param_props_rec IN wp_param_props_rec_type) IS
5 
6   BEGIN
7      -- API body
8     UPDATE ieu_wp_param_props_b SET
9       last_updated_by = p_wp_param_props_rec.last_updated_by,
10       last_update_date = p_wp_param_props_rec.last_update_date,
11       last_update_login = p_wp_param_props_rec.last_update_login,
12       ACTION_PARAM_SET_ID = p_wp_param_props_rec.ACTION_PARAM_SET_ID,
13       param_id =   p_wp_param_props_rec.param_id,
14       property_id = p_wp_param_props_rec.property_id,
15       property_value = p_wp_param_props_rec.property_value,
16       value_override_flag = p_wp_param_props_rec.value_override_flag,
17       NOT_VALID_FLAG = p_wp_param_props_rec.NOT_VALID_FLAG
18     WHERE param_property_id  = p_wp_param_props_rec.PARAM_PROPERTY_ID;
19 
20 
21     IF (SQL%NOTFOUND) THEN
22       RAISE no_data_found;
23     END IF;
24 
25     UPDATE ieu_wp_param_props_tl SET
26       property_value = p_wp_param_props_rec.property_value_tl,
27       source_lang = USERENV('LANG'),
28       last_updated_by = p_wp_param_props_rec.last_updated_by,
29       last_update_date = p_wp_param_props_rec.last_update_date,
30       last_update_login = p_wp_param_props_rec.last_update_login
31     WHERE param_property_id  = p_wp_param_props_rec.PARAM_PROPERTY_ID
32     AND USERENV('LANG') IN (language, source_lang);
33 
34     IF (SQL%NOTFOUND) THEN
35       null;
36     END IF;
37      -- End of API body
38 
39   END Update_Row;
40 
41   PROCEDURE Load_Row (
42                     p_PARAM_PROPERTY_ID IN NUMBER,
43                     p_ACTION_PARAM_SET_ID IN NUMBER,
44                     p_PARAM_ID IN NUMBER,
45                     p_PROPERTY_ID IN NUMBER,
46                     p_PROPERTY_VALUE IN VARCHAR2,
47                     p_VALUE_OVERRIDE_FLAG IN VARCHAR2,
48                     p_PROPERTY_VALUE_TL IN VARCHAR2,
49                     p_NOT_VALID_FLAG IN VARCHAR2,
50                     p_last_update_date IN VARCHAR2,
51                     p_owner IN VARCHAR2) IS
52   BEGIN
53 
54     DECLARE
55        user_id         number := 0;
56        l_wp_param_props_rec wp_param_props_rec_type;
57        p_application_id      number(15);
58        l_param_property_id   number;
59        l_last_update_date DATE;
60     BEGIN
61 
62       --IF (p_owner = 'SEED') then
63       --    user_id := -1;
64       --END IF;
65 
66       user_id := fnd_load_util.owner_id(P_OWNER);
67 
68       if (p_last_update_date is null) then
69            l_last_update_date := sysdate;
70       else
71            l_last_update_date := to_date(p_last_update_date, 'YYYY/MM/DD');
72       end if;
73 
74       l_wp_param_props_rec.PARAM_PROPERTY_ID   := p_PARAM_PROPERTY_ID;
75       l_wp_param_props_rec.ACTION_PARAM_SET_ID := p_ACTION_PARAM_SET_ID;
76       l_wp_param_props_rec.PARAM_ID := p_PARAM_ID ;
77       l_wp_param_props_rec.PROPERTY_ID  := p_PROPERTY_ID;
78       l_wp_param_props_rec.PROPERTY_VALUE := p_PROPERTY_VALUE;
79       l_wp_param_props_rec.PROPERTY_VALUE_TL := p_PROPERTY_VALUE_TL;
80       l_wp_param_props_rec.VALUE_OVERRIDE_FLAG := p_VALUE_OVERRIDE_FLAG;
81       l_wp_param_props_rec.last_update_date := l_last_update_date;
82       l_wp_param_props_rec.last_updated_by := user_id;
83       l_wp_param_props_rec.last_update_login := 0;
84       l_wp_param_props_rec.NOT_VALID_FLAG := p_NOT_VALID_FLAG;
85       l_wp_param_props_rec.creation_date := sysdate;
86       l_wp_param_props_rec.created_by := user_id;
87 
88       Update_Row (p_wp_param_props_rec => l_wp_param_props_rec);
89       EXCEPTION
90          when no_data_found then
91            Insert_Row (p_wp_param_props_rec => l_wp_param_props_rec);
92       END;
93   END Load_Row;
94 
95 
96 
97   PROCEDURE translate_row (
98      p_PARAM_PROPERTY_ID IN NUMBER,
99      p_PROPERTY_VALUE_TL IN VARCHAR2,
100      p_last_update_date IN VARCHAR2,
101      p_owner IN VARCHAR2)
102   IS
103      user_id         number := 0;
104 
105      BEGIN
106 
107      user_id := fnd_load_util.owner_id(P_OWNER);
108 
109       -- only UPDATE rows that have not been altered by user
110       UPDATE ieu_wp_param_props_tl SET
111           PROPERTY_VALUE = p_PROPERTY_VALUE_TL,
112           source_lang = userenv('LANG'),
113           last_update_date = decode(p_last_update_date, null,sysdate,to_date(p_last_update_date, 'YYYY/MM/DD')),
114           --last_updated_by = decode(p_owner, 'SEED', -1, 0),
115           last_updated_by = user_id,
116           last_update_login = 0
117       WHERE PARAM_PROPERTY_ID = p_PARAM_PROPERTY_ID
118       AND   userenv('LANG') IN (language, source_lang);
119 end translate_row;
120 
121 
122 
123 procedure DELETE_ROW (
124   X_PARAM_PROPERTY_ID in NUMBER)
125 is
126 begin
127   delete from IEU_WP_PARAM_PROPS_TL
128   where PARAM_PROPERTY_ID = X_PARAM_PROPERTY_ID;
129 
130   if (sql%notfound) then
131     raise no_data_found;
132   end if;
133 
134   delete from IEU_WP_PARAM_PROPS_B
135   where PARAM_PROPERTY_ID = X_PARAM_PROPERTY_ID;
136 
137   if (sql%notfound) then
138     raise no_data_found;
139   end if;
140 end DELETE_ROW;
141 
142 PROCEDURE Insert_Row (p_wp_param_props_rec IN wp_param_props_rec_type)
143 IS
144     CURSOR c IS
145     SELECT 'X'
146     FROM ieu_wp_param_props_b
147     WHERE param_property_id = p_wp_param_props_rec.param_property_id;
148 
149     l_dummy CHAR(1);
150     l_trans_flag IEU_WP_PROPERTIES_B.VALUE_TRANSLATABLE_FLAG%TYPE;
151     l_temp ieu_wp_param_props_b.property_value%type;
152     l_sequence  NUMBER;
153   BEGIN
154    -- API body
155   -- if (p_wp_param_props_rec.property_id <> 10000) then
156      insert into IEU_WP_PARAM_PROPS_B
157                            ( PARAM_PROPERTY_ID,
158                              CREATED_BY,
159                              CREATION_DATE,
160                              LAST_UPDATED_BY,
161                              LAST_UPDATE_DATE,
162                              LAST_UPDATE_LOGIN,
163                              ACTION_PARAM_SET_ID,
164                              PARAM_ID,
165                              PROPERTY_ID,
166                              PROPERTY_VALUE,
167                              VALUE_OVERRIDE_FLAG,
168                              NOT_VALID_FLAG,
169                              OBJECT_VERSION_NUMBER,
170 					    security_group_id)
171                       values( p_wp_param_props_rec.PARAM_PROPERTY_ID,
172                               FND_GLOBAL.USER_ID,
173                               SYSDATE,
174                               FND_GLOBAL.USER_ID,
175                               SYSDATE,
176                               FND_GLOBAL.LOGIN_ID,
177                               p_wp_param_props_rec.ACTION_PARAM_SET_ID,
178                               p_wp_param_props_rec.PARAM_ID,
179                               p_wp_param_props_rec.PROPERTY_ID,
180                               p_wp_param_props_rec.PROPERTY_VALUE,
181                               p_wp_param_props_rec.VALUE_OVERRIDE_FLAG,
182                               p_wp_param_props_rec.NOT_VALID_FLAG,
183                               1,
184 						null);
185 
186      select VALUE_TRANSLATABLE_FLAG into l_trans_flag
187      from ieu_wp_properties_b
188      where property_id =p_wp_param_props_rec.PROPERTY_ID;
189 
190      if (l_trans_flag = 'Y') then
191         INSERT INTO ieu_wp_param_props_tl (
192          PARAM_PROPERTY_ID,
193          language,
194          created_by,
195          creation_date,
196          last_updated_by,
197          last_update_date,
198          last_update_login,
199          property_value,
200          object_version_number,
201 	    security_group_id,
202          source_lang
203        ) SELECT
204          p_wp_param_props_rec.PARAM_PROPERTY_ID,
205          l.language_code,
206          p_wp_param_props_rec.created_by,
207          p_wp_param_props_rec.creation_date,
208          p_wp_param_props_rec.last_updated_by,
209          p_wp_param_props_rec.last_update_date,
210          p_wp_param_props_rec.last_update_login,
211          p_wp_param_props_rec.PROPERTY_VALUE_TL,
212          1,
213 	    null,
214          USERENV('LANG')
215         FROM fnd_languages l
216         WHERE l.installed_flag IN ('I', 'B')
217         AND NOT EXISTS
218         (SELECT NULL
219          FROM ieu_wp_param_props_tl t
220          WHERE t.PARAM_PROPERTY_ID = p_wp_param_props_rec.PARAM_PROPERTY_ID
221          AND t.language = l.language_code);
222     end if ;
223     OPEN c;
224     FETCH c INTO l_dummy;
225     IF (c%NOTFOUND) THEN
226       CLOSE c;
227       RAISE NO_DATA_FOUND;
228     END IF;
229     CLOSE c;
230      -- End of API body
231  -- end if;
232   END Insert_Row;
233 
234 procedure ADD_LANGUAGE
235 is
236 begin
237   delete from IEU_WP_PARAM_PROPS_TL T
238   where not exists
239     (select NULL
240     from IEU_WP_PARAM_PROPS_B B
241     where B.PARAM_PROPERTY_ID = T.PARAM_PROPERTY_ID
242     );
243 
244   update IEU_WP_PARAM_PROPS_TL T set (
245       PROPERTY_VALUE
246     ) = (select
247       B.PROPERTY_VALUE
248     from IEU_WP_PARAM_PROPS_TL B
249     where B.PARAM_PROPERTY_ID = T.PARAM_PROPERTY_ID
250     and B.LANGUAGE = T.SOURCE_LANG)
251   where (
252       T.PARAM_PROPERTY_ID,
253       T.LANGUAGE
254   ) in (select
255       SUBT.PARAM_PROPERTY_ID,
256       SUBT.LANGUAGE
257     from IEU_WP_PARAM_PROPS_TL SUBB, IEU_WP_PARAM_PROPS_TL SUBT
258     where SUBB.PARAM_PROPERTY_ID = SUBT.PARAM_PROPERTY_ID
259     and SUBB.LANGUAGE = SUBT.SOURCE_LANG
260     and (SUBB.PROPERTY_VALUE <> SUBT.PROPERTY_VALUE
261       or (SUBB.PROPERTY_VALUE is null and SUBT.PROPERTY_VALUE is not null)
262       or (SUBB.PROPERTY_VALUE is not null and SUBT.PROPERTY_VALUE is null)
263   ));
264 
265   insert into IEU_WP_PARAM_PROPS_TL (
266     PARAM_PROPERTY_ID,
267     OBJECT_VERSION_NUMBER,
268     CREATED_BY,
269     CREATION_DATE,
270     LAST_UPDATED_BY,
271     LAST_UPDATE_DATE,
272     LAST_UPDATE_LOGIN,
273     SECURITY_GROUP_ID,
274     PROPERTY_VALUE,
275     LANGUAGE,
276     SOURCE_LANG
277   ) select
278     B.PARAM_PROPERTY_ID,
279     B.OBJECT_VERSION_NUMBER,
280     B.CREATED_BY,
281     B.CREATION_DATE,
282     B.LAST_UPDATED_BY,
283     B.LAST_UPDATE_DATE,
284     B.LAST_UPDATE_LOGIN,
285     B.SECURITY_GROUP_ID,
286     B.PROPERTY_VALUE,
287     L.LANGUAGE_CODE,
288     B.SOURCE_LANG
289   from IEU_WP_PARAM_PROPS_TL B, FND_LANGUAGES L
290   where L.INSTALLED_FLAG in ('I', 'B')
291   and B.LANGUAGE = userenv('LANG')
292   and not exists
293     (select NULL
294     from IEU_WP_PARAM_PROPS_TL T
295     where T.PARAM_PROPERTY_ID = B.PARAM_PROPERTY_ID
296     and T.LANGUAGE = L.LANGUAGE_CODE);
297 end ADD_LANGUAGE;
298 
299 PROCEDURE Load_seed_Row (
300   p_upload_mode IN VARCHAR2,
301   p_PARAM_PROPERTY_ID IN NUMBER,
302   p_ACTION_PARAM_SET_ID IN NUMBER,
303   p_PARAM_ID IN NUMBER,
304   p_PROPERTY_ID IN NUMBER,
305   p_PROPERTY_VALUE IN VARCHAR2,
306   p_VALUE_OVERRIDE_FLAG IN VARCHAR2,
307   p_PROPERTY_VALUE_TL IN VARCHAR2,
308   p_NOT_VALID_FLAG    IN VARCHAR2,
309   p_last_update_date IN VARCHAR2,
310   p_owner IN VARCHAR2
311 )is
312 begin
313 
314 if (P_UPLOAD_MODE = 'NLS') then
315   TRANSLATE_ROW (
316     P_PARAM_PROPERTY_ID,
317     P_PROPERTY_VALUE_TL,
318     P_LAST_UPDATE_DATE,
319     P_OWNER);
320 else
321   LOAD_ROW (
322     P_PARAM_PROPERTY_ID,
323     P_ACTION_PARAM_SET_ID,
324     P_PARAM_ID,
325     P_PROPERTY_ID,
326     P_PROPERTY_VALUE,
327     P_VALUE_OVERRIDE_FLAG,
328     P_PROPERTY_VALUE_TL,
329     p_NOT_VALID_FLAG,
330     P_LAST_UPDATE_DATE,
331     P_OWNER);
332 end if;
333 end Load_seed_Row ;
334 
335 END IEU_WP_PARAM_PROPS_SEED_PKG;