[Home] [Help]
PACKAGE BODY: APPS.IEC_O_VALIDATION_RECOMM_PKG
Source
1 package body IEC_O_VALIDATION_RECOMM_PKG as
2 /* $Header: IECVLRCB.pls 120.2 2005/06/17 12:04:49 appldev $ */
3
4
5 procedure INSERT_ROW (
6 X_ROWID out nocopy VARCHAR2,
7 X_RECOMMENDATION_CODE in VARCHAR2,
8 X_OBJECT_VERSION_NUMBER in NUMBER,
9 X_RECOMMENDATION in VARCHAR2,
10 X_CREATION_DATE in DATE,
11 X_CREATED_BY in NUMBER,
12 X_LAST_UPDATE_DATE in DATE,
13 X_LAST_UPDATED_BY in NUMBER,
14 X_LAST_UPDATE_LOGIN in NUMBER
15 ) is
16 cursor C is select ROWID from IEC_O_VALIDATION_RECOMM_B
17 where RECOMMENDATION_CODE = X_RECOMMENDATION_CODE
18 ;
19 begin
20 x_rowid := NULL;
21
22 insert into IEC_O_VALIDATION_RECOMM_B (
23 RECOMMENDATION_CODE,
24 OBJECT_VERSION_NUMBER,
25 CREATION_DATE,
26 CREATED_BY,
27 LAST_UPDATE_DATE,
28 LAST_UPDATED_BY,
29 LAST_UPDATE_LOGIN
30 ) values (
31 X_RECOMMENDATION_CODE,
32 X_OBJECT_VERSION_NUMBER,
33 X_CREATION_DATE,
34 X_CREATED_BY,
35 X_LAST_UPDATE_DATE,
36 X_LAST_UPDATED_BY,
37 X_LAST_UPDATE_LOGIN
38 );
39
40 insert into IEC_O_VALIDATION_RECOMM_TL (
41 RECOMMENDATION_CODE,
42 RECOMMENDATION,
43 CREATED_BY,
44 CREATION_DATE,
45 LAST_UPDATED_BY,
46 LAST_UPDATE_DATE,
47 LAST_UPDATE_LOGIN,
48 OBJECT_VERSION_NUMBER,
49 LANGUAGE,
50 SOURCE_LANG
51 ) select
52 X_RECOMMENDATION_CODE,
53 X_RECOMMENDATION,
54 X_CREATED_BY,
55 X_CREATION_DATE,
56 X_LAST_UPDATED_BY,
57 X_LAST_UPDATE_DATE,
58 X_LAST_UPDATE_LOGIN,
59 X_OBJECT_VERSION_NUMBER,
60 L.LANGUAGE_CODE,
61 userenv('LANG')
62 from FND_LANGUAGES L
63 where L.INSTALLED_FLAG in ('I', 'B')
64 and not exists
65 (select NULL
66 from IEC_O_VALIDATION_RECOMM_TL T
67 where T.RECOMMENDATION_CODE = X_RECOMMENDATION_CODE
68 and T.LANGUAGE = L.LANGUAGE_CODE);
69
70 open c;
71 fetch c into X_ROWID;
72 if (c%notfound) then
73 close c;
74 raise no_data_found;
75 end if;
76 close c;
77
78 end INSERT_ROW;
79
80
81 procedure LOCK_ROW (
82 X_RECOMMENDATION_CODE in VARCHAR2,
83 X_OBJECT_VERSION_NUMBER in NUMBER,
84 X_RECOMMENDATION in VARCHAR2
85 ) is
86 cursor c is select
87 OBJECT_VERSION_NUMBER
88 from IEC_O_VALIDATION_RECOMM_B
89 where RECOMMENDATION_CODE = X_RECOMMENDATION_CODE
90 for update of RECOMMENDATION_CODE nowait;
91 recinfo c%rowtype;
92
93 cursor c1 is select
94 RECOMMENDATION,
95 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
96 from IEC_O_VALIDATION_RECOMM_TL
97 where RECOMMENDATION_CODE = X_RECOMMENDATION_CODE
98 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
99 for update of RECOMMENDATION_CODE nowait;
100
101 begin
102 open c;
103 fetch c into recinfo;
104 if (c%notfound) then
105 close c;
106 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
107 app_exception.raise_exception;
108 end if;
109 close c;
110 if recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER then
111 null;
112 else
113 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
114 app_exception.raise_exception;
115 end if;
116
117 for tlinfo in c1 loop
118 if (tlinfo.BASELANG = 'Y') then
119 if ( ((tlinfo.RECOMMENDATION = X_RECOMMENDATION)
120 OR ((tlinfo.RECOMMENDATION is null) AND (X_RECOMMENDATION is null)))
121 ) then
122 null;
123 else
124 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
125 app_exception.raise_exception;
126 end if;
127 end if;
128 end loop;
129 return;
130 end LOCK_ROW;
131
132
133 procedure UPDATE_ROW (
134 X_RECOMMENDATION_CODE in VARCHAR2,
135 X_OBJECT_VERSION_NUMBER in NUMBER,
136 X_RECOMMENDATION in VARCHAR2,
137 X_LAST_UPDATE_DATE in DATE,
138 X_LAST_UPDATED_BY in NUMBER,
139 X_LAST_UPDATE_LOGIN in NUMBER
140 ) is
141 begin
142 update IEC_O_VALIDATION_RECOMM_B set
143 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
144 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
145 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
146 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
147 where RECOMMENDATION_CODE = X_RECOMMENDATION_CODE;
148
149 if (sql%notfound) then
150 raise no_data_found;
151 end if;
152
153 update IEC_O_VALIDATION_RECOMM_TL set
154 RECOMMENDATION = X_RECOMMENDATION,
155 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
156 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
157 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
158 SOURCE_LANG = userenv('LANG')
159 where RECOMMENDATION_CODE = X_RECOMMENDATION_CODE
160 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
161
162 if (sql%notfound) then
163 raise no_data_found;
164 end if;
165 end UPDATE_ROW;
166
167
168 procedure DELETE_ROW (
169 X_RECOMMENDATION_CODE in VARCHAR2
170 ) is
171 begin
172 delete from IEC_O_VALIDATION_RECOMM_TL
173 where RECOMMENDATION_CODE = X_RECOMMENDATION_CODE;
174
175 if (sql%notfound) then
176 raise no_data_found;
177 end if;
178
179 delete from IEC_O_VALIDATION_RECOMM_B
180 where RECOMMENDATION_CODE = X_RECOMMENDATION_CODE;
181
182 if (sql%notfound) then
183 raise no_data_found;
184 end if;
185 end DELETE_ROW;
186
187
188
189 procedure ADD_LANGUAGE
190 is
191 begin
192 delete from IEC_O_VALIDATION_RECOMM_TL T
193 where not exists
194 (select NULL
195 from IEC_O_VALIDATION_RECOMM_B B
196 where B.RECOMMENDATION_CODE = T.RECOMMENDATION_CODE
197 );
198
199 update IEC_O_VALIDATION_RECOMM_TL T set (
200 RECOMMENDATION
201 ) = (select
202 B.RECOMMENDATION
203 from IEC_O_VALIDATION_RECOMM_TL B
204 where B.RECOMMENDATION_CODE = T.RECOMMENDATION_CODE
205 and B.LANGUAGE = T.SOURCE_LANG)
206 where (
207 T.RECOMMENDATION_CODE,
208 T.LANGUAGE
209 ) in (select
210 SUBT.RECOMMENDATION_CODE,
211 SUBT.LANGUAGE
212 from IEC_O_VALIDATION_RECOMM_TL SUBB, IEC_O_VALIDATION_RECOMM_TL SUBT
213 where SUBB.RECOMMENDATION_CODE = SUBT.RECOMMENDATION_CODE
214 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
215 and (SUBB.RECOMMENDATION <> SUBT.RECOMMENDATION
216 or (SUBB.RECOMMENDATION is null and SUBT.RECOMMENDATION is not null)
217 or (SUBB.RECOMMENDATION is not null and SUBT.RECOMMENDATION is null)
218 ));
219
220 insert into IEC_O_VALIDATION_RECOMM_TL (
221 RECOMMENDATION_CODE,
222 RECOMMENDATION,
223 CREATED_BY,
224 CREATION_DATE,
225 LAST_UPDATED_BY,
226 LAST_UPDATE_DATE,
227 LAST_UPDATE_LOGIN,
228 OBJECT_VERSION_NUMBER,
229 LANGUAGE,
230 SOURCE_LANG
231 ) select
232 B.RECOMMENDATION_CODE,
233 B.RECOMMENDATION,
234 B.CREATED_BY,
235 B.CREATION_DATE,
236 B.LAST_UPDATED_BY,
237 B.LAST_UPDATE_DATE,
238 B.LAST_UPDATE_LOGIN,
239 B.OBJECT_VERSION_NUMBER,
240 L.LANGUAGE_CODE,
241 B.SOURCE_LANG
242 from IEC_O_VALIDATION_RECOMM_TL B, FND_LANGUAGES L
243 where L.INSTALLED_FLAG in ('I', 'B')
244 and B.LANGUAGE = userenv('LANG')
245 and not exists
246 (select NULL
247 from IEC_O_VALIDATION_RECOMM_TL T
248 where T.RECOMMENDATION_CODE = B.RECOMMENDATION_CODE
249 and T.LANGUAGE = L.LANGUAGE_CODE);
250 end ADD_LANGUAGE;
251
252
253
254 procedure LOAD_ROW (
255 X_RECOMMENDATION_CODE in VARCHAR2,
256 X_RECOMMENDATION in VARCHAR2,
257 X_OWNER in VARCHAR2
258 ) is
259
260 USER_ID NUMBER := 0;
261 ROW_ID VARCHAR2(500);
262
263 begin
264
265 USER_ID := fnd_load_util.owner_id(x_owner);
266
267 UPDATE_ROW ( X_RECOMMENDATION_CODE
268 , 0
269 , X_RECOMMENDATION
270 , SYSDATE
271 , USER_ID
272 , 0);
273
274 exception
275 when no_data_found then
276 INSERT_ROW ( ROW_ID
277 , X_RECOMMENDATION_CODE
278 , 0
279 , X_RECOMMENDATION
280 , SYSDATE
281 , USER_ID
282 , SYSDATE
283 , USER_ID
284 , 0);
285
286 end LOAD_ROW;
287
288 procedure LOAD_SEED_ROW (
289 X_upload_mode in VARCHAR2,
290 X_RECOMMENDATION_CODE in VARCHAR2,
291 X_RECOMMENDATION in VARCHAR2,
292 X_OWNER in VARCHAR2
293 ) is
294 begin
295 if(X_upload_mode = 'NLS') then
296 IEC_O_VALIDATION_RECOMM_PKG.TRANSLATE_ROW (
297 X_RECOMMENDATION_CODE,
298 X_RECOMMENDATION,
299 X_OWNER);
300 else
301 IEC_O_VALIDATION_RECOMM_PKG.LOAD_ROW (
302 X_RECOMMENDATION_CODE,
303 X_RECOMMENDATION,
304 X_OWNER);
305 end if;
306 end LOAD_SEED_ROW;
307
308 procedure TRANSLATE_ROW (
309 X_RECOMMENDATION_CODE in VARCHAR2,
310 X_RECOMMENDATION in VARCHAR2,
311 X_OWNER in VARCHAR2
312 ) is
313 begin
314
315 -- only UPDATE rows that have not been altered by user
316
317 update IEC_O_VALIDATION_RECOMM_TL set
318 SOURCE_LANG = userenv('LANG'),
319 RECOMMENDATION = X_RECOMMENDATION,
320 LAST_UPDATE_DATE = SYSDATE,
321 LAST_UPDATED_BY = fnd_load_util.owner_id(X_OWNER),
322 LAST_UPDATE_LOGIN = 0
323 where RECOMMENDATION_CODE = X_RECOMMENDATION_CODE
324 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
325
326 end TRANSLATE_ROW;
327
328 end IEC_O_VALIDATION_RECOMM_PKG;