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