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