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