[Home] [Help]
PACKAGE BODY: APPS.HZ_ORIG_SYSTEMS_PKG
Source
1 PACKAGE BODY HZ_ORIG_SYSTEMS_PKG AS
2 /*$Header: ARHOSPTB.pls 120.5 2005/05/25 23:52:26 achung noship $ */
3
4 procedure INSERT_ROW (
5 X_ORIG_SYSTEM_ID in out nocopy NUMBER,
6 X_ORIG_SYSTEM in VARCHAR2,
7 X_ORIG_SYSTEM_TYPE in VARCHAR2,
8 X_SST_FLAG in VARCHAR2,
9 X_STATUS in VARCHAR2,
10 X_OBJECT_VERSION_NUMBER in NUMBER,
11 X_CREATED_BY_MODULE in VARCHAR2,
12 X_ATTRIBUTE_CATEGORY in VARCHAR2,
13 X_ATTRIBUTE1 in VARCHAR2,
14 X_ATTRIBUTE2 in VARCHAR2,
15 X_ATTRIBUTE3 in VARCHAR2,
16 X_ATTRIBUTE4 in VARCHAR2,
17 X_ATTRIBUTE5 in VARCHAR2,
18 X_ATTRIBUTE6 in VARCHAR2,
19 X_ATTRIBUTE7 in VARCHAR2,
20 X_ATTRIBUTE8 in VARCHAR2,
21 X_ATTRIBUTE9 in VARCHAR2,
22 X_ATTRIBUTE10 in VARCHAR2,
23 X_ATTRIBUTE11 in VARCHAR2,
24 X_ATTRIBUTE12 in VARCHAR2,
25 X_ATTRIBUTE13 in VARCHAR2,
26 X_ATTRIBUTE14 in VARCHAR2,
27 X_ATTRIBUTE15 in VARCHAR2,
28 X_ATTRIBUTE16 in VARCHAR2,
29 X_ATTRIBUTE17 in VARCHAR2,
30 X_ATTRIBUTE18 in VARCHAR2,
31 X_ATTRIBUTE19 in VARCHAR2,
32 X_ATTRIBUTE20 in VARCHAR2,
33 X_ORIG_SYSTEM_NAME in VARCHAR2,
34 X_DESCRIPTION in VARCHAR2--,
35 /* X_CREATION_DATE in DATE,
36 X_CREATED_BY in NUMBER,
37 X_LAST_UPDATE_DATE in DATE,
38 X_LAST_UPDATED_BY in NUMBER,
39 X_LAST_UPDATE_LOGIN in NUMBER*/
40 ) is
41
42 CURSOR C2 IS SELECT HZ_ORIG_SYSTEMS_S.nextval FROM sys.dual;
43 l_success VARCHAR2(1) := 'N';
44
45 begin
46 WHILE l_success = 'N' LOOP
47 BEGIN
48 IF ( X_ORIG_SYSTEM_ID IS NULL) OR (X_ORIG_SYSTEM_ID = FND_API.G_MISS_NUM) THEN
49 OPEN C2;
50 FETCH C2 INTO X_ORIG_SYSTEM_ID;
51 CLOSE C2;
52 END IF;
53
54 insert into HZ_ORIG_SYSTEMS_B (
55 ORIG_SYSTEM_ID,
56 ORIG_SYSTEM,
57 ORIG_SYSTEM_TYPE,
58 SST_FLAG,
59 STATUS,
60 START_DATE_ACTIVE,
61 END_DATE_ACTIVE,
62 OBJECT_VERSION_NUMBER,
63 CREATED_BY_MODULE,
64 ATTRIBUTE_CATEGORY,
65 ATTRIBUTE1,
66 ATTRIBUTE2,
67 ATTRIBUTE3,
68 ATTRIBUTE4,
69 ATTRIBUTE5,
70 ATTRIBUTE6,
71 ATTRIBUTE7,
72 ATTRIBUTE8,
73 ATTRIBUTE9,
74 ATTRIBUTE10,
75 ATTRIBUTE11,
76 ATTRIBUTE12,
77 ATTRIBUTE13,
78 ATTRIBUTE14,
79 ATTRIBUTE15,
80 ATTRIBUTE16,
81 ATTRIBUTE17,
82 ATTRIBUTE18,
83 ATTRIBUTE19,
84 ATTRIBUTE20,
85 CREATION_DATE,
86 CREATED_BY,
87 LAST_UPDATE_DATE,
88 LAST_UPDATED_BY,
89 LAST_UPDATE_LOGIN
90 ) values (
91 X_ORIG_SYSTEM_ID,
92 X_ORIG_SYSTEM,
93 X_ORIG_SYSTEM_TYPE,
94 X_SST_FLAG,
95 X_STATUS,
96 sysdate,
97 decode(X_STATUS,'A',NULL,'I',sysdate),
98 X_OBJECT_VERSION_NUMBER,
99 X_CREATED_BY_MODULE,
100 X_ATTRIBUTE_CATEGORY,
101 X_ATTRIBUTE1,
102 X_ATTRIBUTE2,
103 X_ATTRIBUTE3,
104 X_ATTRIBUTE4,
105 X_ATTRIBUTE5,
106 X_ATTRIBUTE6,
107 X_ATTRIBUTE7,
108 X_ATTRIBUTE8,
109 X_ATTRIBUTE9,
110 X_ATTRIBUTE10,
111 X_ATTRIBUTE11,
112 X_ATTRIBUTE12,
113 X_ATTRIBUTE13,
114 X_ATTRIBUTE14,
115 X_ATTRIBUTE15,
116 X_ATTRIBUTE16,
117 X_ATTRIBUTE17,
118 X_ATTRIBUTE18,
119 X_ATTRIBUTE19,
120 X_ATTRIBUTE20,
121 HZ_UTILITY_V2PUB.CREATION_DATE,
122 HZ_UTILITY_V2PUB.CREATED_BY,
123 HZ_UTILITY_V2PUB.LAST_UPDATE_DATE,
124 HZ_UTILITY_V2PUB.LAST_UPDATED_BY,
125 HZ_UTILITY_V2PUB.LAST_UPDATE_LOGIN
126 );
127
128 l_success := 'Y';
129
130 EXCEPTION
131 WHEN DUP_VAL_ON_INDEX THEN
132 IF INSTRB( SQLERRM, 'HZ_ORIG_SYSTEMS_U1' ) <> 0 THEN
133 DECLARE
134 l_count NUMBER;
135 l_dummy VARCHAR2(1);
136 BEGIN
137 l_count := 1;
138 WHILE l_count > 0 LOOP
139 SELECT HZ_ORIG_SYSTEMS_S.NEXTVAL
140 INTO X_ORIG_SYSTEM_ID FROM dual;
141 BEGIN
142 SELECT 'Y' INTO l_dummy
143 FROM HZ_ORIG_SYSTEMS_B
144 WHERE ORIG_SYSTEM_ID = X_ORIG_SYSTEM_ID;
145 l_count := 1;
146 EXCEPTION
147 WHEN NO_DATA_FOUND THEN
148 l_count := 0;
149 END;
150 END LOOP;
151 END;
152 END IF;
153 END;
154 END LOOP;
155
156
157 insert into HZ_ORIG_SYSTEMS_TL (
158 ORIG_SYSTEM_ID,
159 ORIG_SYSTEM_NAME,
160 DESCRIPTION,
161 CREATED_BY,
162 CREATION_DATE,
163 LAST_UPDATED_BY,
164 LAST_UPDATE_DATE,
165 LAST_UPDATE_LOGIN,
166 LANGUAGE,
167 SOURCE_LANG
168 ) select
169 X_ORIG_SYSTEM_ID,
170 X_ORIG_SYSTEM_NAME,
171 X_DESCRIPTION,
172 HZ_UTILITY_V2PUB.CREATED_BY,
173 HZ_UTILITY_V2PUB.CREATION_DATE,
174 HZ_UTILITY_V2PUB.LAST_UPDATED_BY,
175 HZ_UTILITY_V2PUB.LAST_UPDATE_DATE,
176 HZ_UTILITY_V2PUB.LAST_UPDATE_LOGIN,
177 L.LANGUAGE_CODE,
178 userenv('LANG')
179 from FND_LANGUAGES L
180 where L.INSTALLED_FLAG in ('I', 'B')
181 and not exists
182 (select NULL
183 from HZ_ORIG_SYSTEMS_TL T
184 where T.ORIG_SYSTEM_ID = X_ORIG_SYSTEM_ID
185 and T.LANGUAGE = L.LANGUAGE_CODE);
186
187 end INSERT_ROW;
188
189 procedure LOCK_ROW (
190 X_ORIG_SYSTEM_ID in NUMBER,
191 X_OBJECT_VERSION_NUMBER in NUMBER
192 ) is
193 cursor c is select
194 OBJECT_VERSION_NUMBER
195 from HZ_ORIG_SYSTEMS_B
196 where ORIG_SYSTEM_ID = X_ORIG_SYSTEM_ID
197 for update of ORIG_SYSTEM_ID nowait;
198 recinfo c%rowtype;
199
200 cursor c1 is select
201 ORIG_SYSTEM_NAME,
202 DESCRIPTION,
203 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
204 from HZ_ORIG_SYSTEMS_TL
205 where ORIG_SYSTEM_ID = X_ORIG_SYSTEM_ID
206 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
207 for update of ORIG_SYSTEM_ID nowait;
208 begin
209 open c;
210 fetch c into recinfo;
211 if (c%notfound) then
212 close c;
213 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
214 app_exception.raise_exception;
215 end if;
216 close c;
217 if ( ( recinfo.OBJECT_VERSION_NUMBER IS NULL AND X_object_version_number IS NULL )
218 OR ( recinfo.OBJECT_VERSION_NUMBER IS NOT NULL AND
219 X_object_version_number IS NOT NULL AND
220 recinfo.OBJECT_VERSION_NUMBER = X_object_version_number )
221 ) then
222 null;
223 else
224 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
225 app_exception.raise_exception;
226 end if;
227 return;
228 end LOCK_ROW;
229
230 procedure UPDATE_ROW (
231 X_ORIG_SYSTEM_ID in NUMBER,
232 X_ORIG_SYSTEM in VARCHAR2,
233 X_ORIG_SYSTEM_TYPE in VARCHAR2,
234 X_SST_FLAG in VARCHAR2,
235 X_STATUS in VARCHAR2,
236 X_OBJECT_VERSION_NUMBER in NUMBER,
237 X_CREATED_BY_MODULE in VARCHAR2,
238 X_ATTRIBUTE_CATEGORY in VARCHAR2,
239 X_ATTRIBUTE1 in VARCHAR2,
240 X_ATTRIBUTE2 in VARCHAR2,
241 X_ATTRIBUTE3 in VARCHAR2,
242 X_ATTRIBUTE4 in VARCHAR2,
243 X_ATTRIBUTE5 in VARCHAR2,
244 X_ATTRIBUTE6 in VARCHAR2,
245 X_ATTRIBUTE7 in VARCHAR2,
246 X_ATTRIBUTE8 in VARCHAR2,
247 X_ATTRIBUTE9 in VARCHAR2,
248 X_ATTRIBUTE10 in VARCHAR2,
249 X_ATTRIBUTE11 in VARCHAR2,
250 X_ATTRIBUTE12 in VARCHAR2,
251 X_ATTRIBUTE13 in VARCHAR2,
252 X_ATTRIBUTE14 in VARCHAR2,
253 X_ATTRIBUTE15 in VARCHAR2,
254 X_ATTRIBUTE16 in VARCHAR2,
255 X_ATTRIBUTE17 in VARCHAR2,
256 X_ATTRIBUTE18 in VARCHAR2,
257 X_ATTRIBUTE19 in VARCHAR2,
258 X_ATTRIBUTE20 in VARCHAR2,
259 X_ORIG_SYSTEM_NAME in VARCHAR2,
260 X_DESCRIPTION in VARCHAR2--,
261 /* X_LAST_UPDATE_DATE in DATE,
262 X_LAST_UPDATED_BY in NUMBER,
263 X_LAST_UPDATE_LOGIN in NUMBER*/
264 ) is
265 --p_object_version_number number;
266
267 begin
268
269 --p_object_version_number := NVL(X_OBJECT_VERSION_NUMBER, 1) + 1;
270
271 update HZ_ORIG_SYSTEMS_B set
272 ORIG_SYSTEM = DECODE(X_ORIG_SYSTEM, FND_API.G_MISS_CHAR, NULL,NULL,ORIG_SYSTEM, X_ORIG_SYSTEM),
273 ORIG_SYSTEM_TYPE = DECODE(X_ORIG_SYSTEM_TYPE, FND_API.G_MISS_CHAR, NULL,NULL,ORIG_SYSTEM_TYPE, X_ORIG_SYSTEM_TYPE),
274 SST_FLAG = DECODE(X_SST_FLAG, FND_API.G_MISS_CHAR, NULL,NULL,SST_FLAG, X_SST_FLAG),
275 STATUS = DECODE(X_STATUS, FND_API.G_MISS_CHAR, NULL,NULL,STATUS, X_STATUS),
276 END_DATE_ACTIVE = DECODE(X_STATUS,'I',DECODE(END_DATE_ACTIVE,NULL,SYSDATE,END_DATE_ACTIVE),'A',NULL,NULL,END_DATE_ACTIVE),
277 OBJECT_VERSION_NUMBER = DECODE(X_OBJECT_VERSION_NUMBER, NULL, OBJECT_VERSION_NUMBER, FND_API.G_MISS_NUM, OBJECT_VERSION_NUMBER, X_OBJECT_VERSION_NUMBER),
278 CREATED_BY_MODULE = DECODE(X_CREATED_BY_MODULE, FND_API.G_MISS_CHAR, NULL,NULL,CREATED_BY_MODULE, X_CREATED_BY_MODULE),
279 ATTRIBUTE_CATEGORY = DECODE(X_ATTRIBUTE_CATEGORY, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE_CATEGORY, X_ATTRIBUTE_CATEGORY),
280 ATTRIBUTE1 = DECODE(X_ATTRIBUTE1, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE1, X_ATTRIBUTE1),
281 ATTRIBUTE2 = DECODE(X_ATTRIBUTE2, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE2, X_ATTRIBUTE2),
282 ATTRIBUTE3 = DECODE(X_ATTRIBUTE3, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE3, X_ATTRIBUTE3),
283 ATTRIBUTE4 = DECODE(X_ATTRIBUTE4, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE4, X_ATTRIBUTE4),
284 ATTRIBUTE5 = DECODE(X_ATTRIBUTE5, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE5, X_ATTRIBUTE5),
285 ATTRIBUTE6 = DECODE(X_ATTRIBUTE6, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE6, X_ATTRIBUTE6),
286 ATTRIBUTE7 = DECODE(X_ATTRIBUTE7, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE7, X_ATTRIBUTE7),
287 ATTRIBUTE8 = DECODE(X_ATTRIBUTE8, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE8, X_ATTRIBUTE8),
288 ATTRIBUTE9 = DECODE(X_ATTRIBUTE9, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE9, X_ATTRIBUTE9),
289 ATTRIBUTE10 = DECODE(X_ATTRIBUTE10, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE10, X_ATTRIBUTE10),
290 ATTRIBUTE11 = DECODE(X_ATTRIBUTE11, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE11, X_ATTRIBUTE11),
291 ATTRIBUTE12 = DECODE(X_ATTRIBUTE12, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE12, X_ATTRIBUTE12),
292 ATTRIBUTE13 = DECODE(X_ATTRIBUTE13, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE13, X_ATTRIBUTE13),
293 ATTRIBUTE14 = DECODE(X_ATTRIBUTE14, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE14, X_ATTRIBUTE14),
294 ATTRIBUTE15 = DECODE(X_ATTRIBUTE15, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE15, X_ATTRIBUTE15),
295 ATTRIBUTE16 = DECODE(X_ATTRIBUTE16, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE16, X_ATTRIBUTE16),
296 ATTRIBUTE17 = DECODE(X_ATTRIBUTE17, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE17, X_ATTRIBUTE17),
297 ATTRIBUTE18 = DECODE(X_ATTRIBUTE18, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE18, X_ATTRIBUTE18),
298 ATTRIBUTE19 = DECODE(X_ATTRIBUTE19, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE19, X_ATTRIBUTE19),
299 ATTRIBUTE20 = DECODE(X_ATTRIBUTE20, FND_API.G_MISS_CHAR, NULL,NULL,ATTRIBUTE20, X_ATTRIBUTE20),
300 LAST_UPDATE_DATE = HZ_UTILITY_V2PUB.LAST_UPDATE_DATE,
301 LAST_UPDATED_BY = HZ_UTILITY_V2PUB.LAST_UPDATED_BY,
302 LAST_UPDATE_LOGIN = HZ_UTILITY_V2PUB.LAST_UPDATE_LOGIN
303 where ORIG_SYSTEM_ID = X_ORIG_SYSTEM_ID;
304
305 if (sql%notfound) then
306 raise no_data_found;
307 end if;
308
309 update HZ_ORIG_SYSTEMS_TL set
310 ORIG_SYSTEM_NAME = DECODE(X_ORIG_SYSTEM_NAME, FND_API.G_MISS_CHAR, NULL,NULL,ORIG_SYSTEM_NAME, X_ORIG_SYSTEM_NAME),
311 DESCRIPTION = DECODE(X_DESCRIPTION, FND_API.G_MISS_CHAR, NULL,NULL,DESCRIPTION, X_DESCRIPTION),
312 LAST_UPDATE_DATE = HZ_UTILITY_V2PUB.LAST_UPDATE_DATE,
313 LAST_UPDATED_BY = HZ_UTILITY_V2PUB.LAST_UPDATED_BY,
314 LAST_UPDATE_LOGIN = HZ_UTILITY_V2PUB.LAST_UPDATE_LOGIN,
315 SOURCE_LANG = userenv('LANG')
316 where ORIG_SYSTEM_ID = X_ORIG_SYSTEM_ID
317 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
318
319 if (sql%notfound) then
320 raise no_data_found;
321 end if;
322 end UPDATE_ROW;
323
324 procedure DELETE_ROW (
325 X_ORIG_SYSTEM_ID in NUMBER
326 ) is
327 begin
328 delete from HZ_ORIG_SYSTEMS_TL
329 where ORIG_SYSTEM_ID = X_ORIG_SYSTEM_ID;
330
331 if (sql%notfound) then
332 raise no_data_found;
333 end if;
334
335 delete from HZ_ORIG_SYSTEMS_B
336 where ORIG_SYSTEM_ID = X_ORIG_SYSTEM_ID;
337
338 if (sql%notfound) then
339 raise no_data_found;
340 end if;
341 end DELETE_ROW;
342
343 procedure ADD_LANGUAGE
344 is
345 begin
346 delete from HZ_ORIG_SYSTEMS_TL T
347 where not exists
348 (select NULL
349 from HZ_ORIG_SYSTEMS_B B
350 where B.ORIG_SYSTEM_ID = T.ORIG_SYSTEM_ID
351 );
352
353 update HZ_ORIG_SYSTEMS_TL T set (
354 ORIG_SYSTEM_NAME,
355 DESCRIPTION
356 ) = (select
357 B.ORIG_SYSTEM_NAME,
358 B.DESCRIPTION
359 from HZ_ORIG_SYSTEMS_TL B
360 where B.ORIG_SYSTEM_ID = T.ORIG_SYSTEM_ID
361 and B.LANGUAGE = T.SOURCE_LANG)
362 where (
363 T.ORIG_SYSTEM_ID,
364 T.LANGUAGE
365 ) in (select
366 SUBT.ORIG_SYSTEM_ID,
367 SUBT.LANGUAGE
368 from HZ_ORIG_SYSTEMS_TL SUBB, HZ_ORIG_SYSTEMS_TL SUBT
369 where SUBB.ORIG_SYSTEM_ID = SUBT.ORIG_SYSTEM_ID
370 and SUBB.LANGUAGE = SUBT.SOURCE_LANG
371 and (SUBB.ORIG_SYSTEM_NAME <> SUBT.ORIG_SYSTEM_NAME
372 or SUBB.DESCRIPTION <> SUBT.DESCRIPTION
373 or (SUBB.DESCRIPTION is null and SUBT.DESCRIPTION is not null)
374 or (SUBB.DESCRIPTION is not null and SUBT.DESCRIPTION is null)
375 ));
376
377 insert into HZ_ORIG_SYSTEMS_TL (
378 ORIG_SYSTEM_ID,
379 ORIG_SYSTEM_NAME,
380 DESCRIPTION,
381 CREATED_BY,
382 CREATION_DATE,
383 LAST_UPDATED_BY,
384 LAST_UPDATE_DATE,
385 LAST_UPDATE_LOGIN,
386 LANGUAGE,
387 SOURCE_LANG
388 ) select /*+ ORDERED */
389 B.ORIG_SYSTEM_ID,
390 B.ORIG_SYSTEM_NAME,
391 B.DESCRIPTION,
392 B.CREATED_BY,
393 B.CREATION_DATE,
394 B.LAST_UPDATED_BY,
395 B.LAST_UPDATE_DATE,
396 B.LAST_UPDATE_LOGIN,
397 L.LANGUAGE_CODE,
398 B.SOURCE_LANG
399 from HZ_ORIG_SYSTEMS_TL B, FND_LANGUAGES L
400 where L.INSTALLED_FLAG in ('I', 'B')
401 and B.LANGUAGE = userenv('LANG')
402 and not exists
403 (select NULL
404 from HZ_ORIG_SYSTEMS_TL T
405 where T.ORIG_SYSTEM_ID = B.ORIG_SYSTEM_ID
406 and T.LANGUAGE = L.LANGUAGE_CODE);
407 end ADD_LANGUAGE;
408
409 end HZ_ORIG_SYSTEMS_PKG;