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