DBA Data[Home] [Help]

PACKAGE BODY: APPS.XDP_ADAPTER_TYPES_PKG

Source


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