DBA Data[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;