[Home] [Help]
PACKAGE BODY: APPS.IBC_ASSOCIATION_TYPES_PKG
Source
1 PACKAGE BODY Ibc_Association_Types_Pkg AS
2 /* $Header: ibctatyb.pls 120.3 2006/06/22 09:21:46 sharma ship $*/
3
4 -- Purpose: Table Handler for IBC_ASSOCIATION_TYPES table.
5
6 -- MODIFICATION HISTORY
7 -- Person Date Comments
8 -- --------- ------ ------------------------------------------
9 -- Sri Rangarajan 01/06/2002 Created Package
10 -- shitij.vatsa 11/04/2002 Updated for FND_API.G_MISS_XXX
11 -- Siva Devaki 12/01/2003 Added Overloaded procedures for OA UI
12 -- Siva Devaki 06/24/2005 NOCOPY changes made to fix#4399469
13 -- SHARMA 07/04/2005 Modified LOAD_ROW, TRANSLATE_ROW and created
14 -- LOAD_SEED_ROW for R12 LCT standards bug 4411674
15
16 PROCEDURE insert_row (
17 p_association_type_code IN VARCHAR2
18 ,p_search_page IN VARCHAR2
19 ,p_object_version_number IN NUMBER
20 ,p_call_back_pkg IN VARCHAR2
21 ,p_association_type_name IN VARCHAR2
22 ,p_description IN VARCHAR2
23 ,p_creation_date IN DATE --DEFAULT NULL
24 ,p_created_by IN NUMBER --DEFAULT NULL
25 ,p_last_update_date IN DATE --DEFAULT NULL
26 ,p_last_updated_by IN NUMBER --DEFAULT NULL
27 ,p_last_update_login IN NUMBER --DEFAULT NULL
28 ,x_rowid OUT NOCOPY VARCHAR2
29 ) IS
30 CURSOR c IS SELECT ROWID FROM ibc_association_types_b
31 WHERE association_type_code = p_association_type_code
32 ;
33 BEGIN
34 INSERT INTO ibc_association_types_b (
35 association_type_code
36 ,search_page
37 ,object_version_number
38 ,call_back_pkg
39 ,creation_date
40 ,created_by
41 ,last_update_date
42 ,last_updated_by
43 ,last_update_login
44 ) VALUES (
45 p_association_type_code
46 ,DECODE(p_search_page,FND_API.G_MISS_CHAR,NULL,p_search_page)
47 ,DECODE(p_object_version_number,FND_API.G_MISS_NUM,1,NULL,1,p_object_version_number)
48 ,DECODE(p_call_back_pkg,FND_API.G_MISS_CHAR,NULL,p_call_back_pkg)
49 ,DECODE(p_creation_date,FND_API.G_MISS_DATE,SYSDATE,NULL,SYSDATE,p_creation_date)
50 ,DECODE(p_created_by,FND_API.G_MISS_NUM,FND_GLOBAL.user_id,NULL,FND_GLOBAL.user_id,p_created_by)
51 ,DECODE(p_last_update_date,FND_API.G_MISS_DATE,SYSDATE,NULL,SYSDATE,p_last_update_date)
52 ,DECODE(p_last_updated_by,FND_API.G_MISS_NUM,FND_GLOBAL.user_id,NULL,FND_GLOBAL.user_id,p_last_updated_by)
53 ,DECODE(p_last_update_login,FND_API.G_MISS_NUM,FND_GLOBAL.login_id,NULL,FND_GLOBAL.user_id,p_last_update_login)
54 );
55
56 INSERT INTO ibc_association_types_tl (
57 association_type_code
58 ,association_type_name
59 ,description
60 ,creation_date
61 ,created_by
62 ,last_update_date
63 ,last_updated_by
64 ,last_update_login
65 ,language
66 ,source_lang
67 ) SELECT
68 p_association_type_code
69 ,DECODE(p_association_type_name,FND_API.G_MISS_CHAR,NULL,p_association_type_name)
70 ,DECODE(p_description,FND_API.G_MISS_CHAR,NULL,p_description)
71 ,DECODE(p_creation_date,FND_API.G_MISS_DATE,SYSDATE,NULL,SYSDATE,p_creation_date)
72 ,DECODE(p_created_by,FND_API.G_MISS_NUM,FND_GLOBAL.user_id,NULL,FND_GLOBAL.user_id,p_created_by)
73 ,DECODE(p_last_update_date,FND_API.G_MISS_DATE,SYSDATE,NULL,SYSDATE,p_last_update_date)
74 ,DECODE(p_last_updated_by,FND_API.G_MISS_NUM,FND_GLOBAL.user_id,NULL,FND_GLOBAL.user_id,p_last_updated_by)
75 ,DECODE(p_last_update_login,FND_API.G_MISS_NUM,FND_GLOBAL.login_id,NULL,FND_GLOBAL.user_id,p_last_update_login)
76 ,l.language_code
77 ,USERENV('lang')
78 FROM fnd_languages l
79 WHERE l.installed_flag IN ('I', 'B')
80 AND NOT EXISTS
81 (SELECT NULL
82 FROM ibc_association_types_tl t
83 WHERE t.association_type_code = p_association_type_code
84 AND t.LANGUAGE = l.language_code);
85
86 OPEN c;
87 FETCH c INTO x_rowid;
88 IF (c%NOTFOUND) THEN
89 CLOSE c;
90 RAISE NO_DATA_FOUND;
91 END IF;
92 CLOSE c;
93
94 END insert_row;
95
96 PROCEDURE lock_row (
97 p_association_type_code IN VARCHAR2,
98 p_search_page IN VARCHAR2,
99 p_object_version_number IN NUMBER,
100 p_association_type_name IN VARCHAR2,
101 p_description IN VARCHAR2
102 ) IS
103 CURSOR c IS SELECT
104 search_page,
105 object_version_number
106 FROM ibc_association_types_b
107 WHERE association_type_code = p_association_type_code
108 FOR UPDATE OF association_type_code NOWAIT;
109 recinfo c%ROWTYPE;
110
111 CURSOR c1 IS SELECT
112 association_type_name,
113 description,
114 DECODE(LANGUAGE, USERENV('LANG'), 'Y', 'N') baselang
115 FROM ibc_association_types_tl
116 WHERE association_type_code = p_association_type_code
117 AND USERENV('lang') IN (LANGUAGE, source_lang)
118 FOR UPDATE OF association_type_code NOWAIT;
119 BEGIN
120 OPEN c;
121 FETCH c INTO recinfo;
122 IF (c%NOTFOUND) THEN
123 CLOSE c;
124 fnd_message.set_name('fnd', 'form_record_deleted');
125 app_exception.raise_exception;
126 END IF;
127 CLOSE c;
128 IF ( (recinfo.search_page = p_search_page)
129 AND (recinfo.object_version_number = p_object_version_number)
130
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.association_type_name = p_association_type_name)
141 AND ((tlinfo.description = p_description)
142 OR ((tlinfo.description IS NULL) AND (p_description IS NULL)))
143 ) THEN
144 NULL;
145 ELSE
146 fnd_message.set_name('fnd', 'form_record_changed');
147 app_exception.raise_exception;
148 END IF;
149 END IF;
150 END LOOP;
151 RETURN;
152 END lock_row;
153
154 PROCEDURE update_row (
155 p_association_type_code IN VARCHAR2
156 ,p_association_type_name IN VARCHAR2 --DEFAULT NULL
157 ,p_call_back_pkg IN VARCHAR2
158 ,p_description IN VARCHAR2 --DEFAULT NULL
159 ,p_last_updated_by IN NUMBER --DEFAULT NULL
160 ,p_last_update_date IN DATE --DEFAULT NULL
161 ,p_last_update_login IN NUMBER --DEFAULT NULL
162 ,p_object_version_number IN NUMBER --DEFAULT NULL
163 ,p_search_page IN VARCHAR2 --DEFAULT NULL
164 )
165 IS
166 BEGIN
167 UPDATE ibc_association_types_b SET
168 search_page = DECODE(p_search_page,FND_API.G_MISS_CHAR,NULL,NULL,search_page,p_search_page)
169 ,object_version_number = NVL(object_version_number,0) + 1
170 ,call_back_pkg = DECODE(p_call_back_pkg,FND_API.G_MISS_CHAR,NULL,NULL,call_back_pkg,p_call_back_pkg)
171 ,last_update_date = DECODE(p_last_update_date,FND_API.G_MISS_DATE,SYSDATE,NULL,SYSDATE,p_last_update_date)
172 ,last_updated_by = DECODE(p_last_updated_by,FND_API.G_MISS_NUM,FND_GLOBAL.user_id,NULL,FND_GLOBAL.user_id,p_last_updated_by)
173 ,last_update_login = DECODE(p_last_update_login,FND_API.G_MISS_NUM,FND_GLOBAL.login_id,NULL,FND_GLOBAL.user_id,p_last_update_login)
174 WHERE association_type_code = p_association_type_code
175 AND object_version_number = DECODE(p_object_version_number,
176 FND_API.g_miss_num,
177 object_version_number,
178 NULL,
179 object_version_number,
180 p_object_version_number);
181
182 IF (SQL%NOTFOUND) THEN
183 RAISE NO_DATA_FOUND;
184 END IF;
185
186 UPDATE ibc_association_types_tl SET
187 association_type_name = DECODE(p_association_type_name,FND_API.G_MISS_CHAR,NULL,NULL,association_type_name,p_association_type_name)
188 ,description = DECODE(p_description,FND_API.G_MISS_CHAR,NULL,NULL,description,p_description)
189 ,last_update_date = DECODE(p_last_update_date,FND_API.G_MISS_DATE,SYSDATE,NULL,SYSDATE,p_last_update_date)
190 ,last_updated_by = DECODE(p_last_updated_by,FND_API.G_MISS_NUM,FND_GLOBAL.user_id,NULL,FND_GLOBAL.user_id,p_last_updated_by)
191 ,last_update_login = DECODE(p_last_update_login,FND_API.G_MISS_NUM,FND_GLOBAL.login_id,NULL,FND_GLOBAL.user_id,p_last_update_login)
192 ,source_lang = USERENV('LANG')
193 WHERE association_type_code = p_association_type_code
194 AND USERENV('LANG') IN (LANGUAGE, source_lang);
195
196 IF (SQL%NOTFOUND) THEN
197 RAISE NO_DATA_FOUND;
198 END IF;
199 END update_row;
200
201 PROCEDURE delete_row (
202 p_association_type_code IN VARCHAR2
203 ) IS
204 BEGIN
205 DELETE FROM ibc_association_types_tl
206 WHERE association_type_code = p_association_type_code;
207
208 IF (SQL%NOTFOUND) THEN
209 RAISE NO_DATA_FOUND;
210 END IF;
211
212 DELETE FROM ibc_association_types_b
213 WHERE association_type_code = p_association_type_code;
214
215 IF (SQL%NOTFOUND) THEN
216 RAISE NO_DATA_FOUND;
217 END IF;
218 END delete_row;
219
220 PROCEDURE add_language
221 IS
222 BEGIN
223 DELETE FROM ibc_association_types_tl t
224 WHERE NOT EXISTS
225 (SELECT NULL
226 FROM ibc_association_types_b b
227 WHERE b.association_type_code = t.association_type_code
228 );
229
230 UPDATE ibc_association_types_tl t SET (
231 association_type_name,
232 description
233 ) = (SELECT
234 b.association_type_name,
235 b.description
236 FROM ibc_association_types_tl b
237 WHERE b.association_type_code = t.association_type_code
238 AND b.LANGUAGE = t.source_lang)
239 WHERE (
240 t.association_type_code,
241 t.LANGUAGE
242 ) IN (SELECT
243 subt.association_type_code,
244 subt.LANGUAGE
245 FROM ibc_association_types_tl subb, ibc_association_types_tl subt
246 WHERE subb.association_type_code = subt.association_type_code
247 AND subb.LANGUAGE = subt.source_lang
248 AND (subb.association_type_name <> subt.association_type_name
249 OR subb.description <> subt.description
250 OR (subb.description IS NULL AND subt.description IS NOT NULL)
251 OR (subb.description IS NOT NULL AND subt.description IS NULL)
252 ));
253
254 INSERT INTO ibc_association_types_tl (
255 association_type_code,
256 association_type_name,
257 description,
258 created_by,
259 creation_date,
260 last_updated_by,
261 last_update_date,
262 last_update_login,
263 LANGUAGE,
264 source_lang
265 ) SELECT /*+ ordered */
266 b.association_type_code,
267 b.association_type_name,
268 b.description,
269 b.created_by,
270 b.creation_date,
271 b.last_updated_by,
272 b.last_update_date,
273 b.last_update_login,
274 l.language_code,
275 b.source_lang
276 FROM ibc_association_types_tl b, fnd_languages l
277 WHERE l.installed_flag IN ('I', 'B')
278 AND b.LANGUAGE = USERENV('LANG')
279 AND NOT EXISTS
280 (SELECT NULL
281 FROM ibc_association_types_tl t
282 WHERE t.association_type_code = b.association_type_code
283 AND t.LANGUAGE = l.language_code);
284 END add_language;
285
286 PROCEDURE LOAD_SEED_ROW (
287 p_upload_mode IN VARCHAR2
288 ,p_association_type_code IN VARCHAR2
289 ,p_association_type_name IN VARCHAR2
290 ,p_call_back_pkg IN VARCHAR2
291 ,p_description IN VARCHAR2
292 ,p_search_page IN VARCHAR2
293 ,p_owner IN VARCHAR2
294 ,p_last_update_date IN VARCHAR2
295 ) IS
296 BEGIN
297 IF ( p_UPLOAD_MODE = 'NLS') THEN
298 IBC_ASSOCIATION_TYPES_PKG.TRANSLATE_ROW (
299 p_upload_mode => p_upload_mode,
300 p_association_type_code => p_association_type_code,
301 p_association_type_name => p_association_type_name,
302 p_description => p_description,
303 p_owner => p_owner,
304 p_last_update_date => p_last_update_date);
305 ELSE
306 IBC_ASSOCIATION_TYPES_PKG.LOAD_ROW(
307 p_upload_mode => p_upload_mode,
308 p_association_type_code => p_association_type_code,
309 p_association_type_name => p_association_type_name,
310 p_call_back_pkg => p_call_back_pkg,
311 p_description => p_description,
312 p_search_page => p_search_page,
313 p_owner => p_owner,
314 p_last_update_date => p_last_update_date );
315 END IF;
316 END;
317
318 PROCEDURE LOAD_ROW (
319 p_UPLOAD_MODE IN VARCHAR2,
320 p_ASSOCIATION_TYPE_CODE IN VARCHAR2,
321 p_ASSOCIATION_TYPE_NAME IN VARCHAR2,
322 p_CALL_BACK_PKG IN VARCHAR2,
323 p_DESCRIPTION IN VARCHAR2,
324 p_SEARCH_PAGE IN VARCHAR2,
325 p_OWNER IN VARCHAR2,
326 p_LAST_UPDATE_DATE IN VARCHAR2) IS
327 BEGIN
328 DECLARE
329 l_user_id NUMBER := 0;
330 l_row_id VARCHAR2(64);
331 l_last_update_date DATE;
332
333 db_user_id NUMBER := 0;
334 db_last_update_date DATE;
335
336 BEGIN
337 --get last updated by user id
338 l_user_id := FND_LOAD_UTIL.OWNER_ID(p_OWNER);
339
340 --translate data type VARCHAR2 to DATE for last_update_date
341 l_last_update_date := nvl(TO_DATE(p_last_update_date, 'YYYY/MM/DD'),SYSDATE);
342
343 -- get updatedby and update_date values if existing in db
344 SELECT LAST_UPDATED_BY, LAST_UPDATE_DATE INTO db_user_id, db_last_update_date
345 FROM ibc_association_types_b
346 WHERE association_type_code = p_association_type_code;
347
348 IF (FND_LOAD_UTIL.UPLOAD_TEST(l_user_id, l_last_update_date,
349 db_user_id, db_last_update_date, p_upload_mode )) THEN
350
351 Ibc_Association_Types_Pkg.UPDATE_ROW (
352 p_association_type_code => NVL(p_association_type_code,FND_API.G_MISS_CHAR)
353 ,p_association_type_name => NVL(p_association_type_name,FND_API.G_MISS_CHAR)
354 ,p_call_back_pkg => NVL(p_call_back_pkg,FND_API.G_MISS_CHAR)
355 ,p_description => NVL(p_description,FND_API.G_MISS_CHAR)
356 ,p_search_page => NVL(p_search_page,FND_API.G_MISS_CHAR)
357 ,p_last_updated_by => l_user_id
358 ,p_last_update_date => l_last_update_date
359 ,p_last_update_login => 0
360 ,p_object_version_number => NULL
361 );
362 END IF;
363 EXCEPTION
364 WHEN NO_DATA_FOUND THEN
365 DECLARE
366 lx_rowid VARCHAR2(240);
367 BEGIN
368 Ibc_Association_Types_Pkg.INSERT_ROW (
369 x_rowid => lx_rowid,
370 p_ASSOCIATION_TYPE_CODE => p_ASSOCIATION_TYPE_CODE,
371 p_ASSOCIATION_TYPE_NAME => p_ASSOCIATION_TYPE_NAME,
372 p_CALL_BACK_PKG => p_CALL_BACK_PKG,
373 p_DESCRIPTION => p_DESCRIPTION,
374 p_SEARCH_PAGE => p_SEARCH_PAGE,
375 p_CREATION_DATE => l_last_update_date,
376 p_CREATED_BY => l_user_id,
377 p_LAST_UPDATE_DATE => l_last_update_date,
378 p_LAST_UPDATED_BY => l_user_id,
379 p_LAST_UPDATE_LOGIN => 0,
380 p_OBJECT_VERSION_NUMBER => 1);
381 END;
382
383 END;
384 END LOAD_ROW;
385
386 PROCEDURE TRANSLATE_ROW (
387 p_UPLOAD_MODE IN VARCHAR2,
388 p_ASSOCIATION_TYPE_CODE IN VARCHAR2,
389 p_ASSOCIATION_TYPE_NAME IN VARCHAR2,
390 p_DESCRIPTION IN VARCHAR2,
391 p_OWNER IN VARCHAR2,
392 p_LAST_UPDATE_DATE IN VARCHAR2) IS
393
394 l_user_id NUMBER := 0;
395 l_row_id VARCHAR2(64);
396 l_last_update_date DATE;
397
398 db_user_id NUMBER := 0;
399 db_last_update_date DATE;
400
401
402 BEGIN
403 --get last updated by user id
404 l_user_id := FND_LOAD_UTIL.OWNER_ID(p_OWNER);
405
406 --translate data type VARCHAR2 to DATE for last_update_date
407 l_last_update_date := nvl(TO_DATE(p_last_update_date, 'YYYY/MM/DD'),SYSDATE);
408
409 -- get updatedby and update_date values if existing in db
410 SELECT LAST_UPDATED_BY, LAST_UPDATE_DATE INTO db_user_id, db_last_update_date
411 FROM ibc_association_types_tl
412 WHERE association_type_code = p_association_type_code
413 AND USERENV('LANG') IN (LANGUAGE, source_lang);
414
415 IF (FND_LOAD_UTIL.UPLOAD_TEST(l_user_id, l_last_update_date,
416 db_user_id, db_last_update_date, p_upload_mode )) THEN
417
418 -- Only update rows which have not been altered by user
419 UPDATE ibc_association_types_tl t SET
420 association_type_name = p_association_type_name,
421 description = p_description,
422 source_lang = USERENV('LANG'),
423 last_update_date = l_last_update_date,
424 last_updated_by = l_user_id,
425 last_update_login = 0
426 WHERE Association_type_code = p_association_type_code
427 AND USERENV('LANG') IN (LANGUAGE, source_lang);
428
429 END IF;
430 END TRANSLATE_ROW;
431
432
433 procedure INSERT_ROW (
434 X_ROWID in out NOCOPY VARCHAR2,
435 X_ASSOCIATION_TYPE_CODE in VARCHAR2,
436 X_CALL_BACK_PKG in VARCHAR2,
437 X_SEARCH_PAGE in VARCHAR2,
438 X_OBJECT_VERSION_NUMBER in NUMBER,
439 X_ASSOCIATION_TYPE_NAME in VARCHAR2,
440 X_DESCRIPTION in VARCHAR2,
441 X_CREATION_DATE in DATE,
442 X_CREATED_BY in NUMBER,
443 X_LAST_UPDATE_DATE in DATE,
444 X_LAST_UPDATED_BY in NUMBER,
445 X_LAST_UPDATE_LOGIN in NUMBER,
446 X_SECURITY_GROUP_ID in NUMBER
447 ) IS
448 cursor C is select ROWID from IBC_ASSOCIATION_TYPES_B
449 where ASSOCIATION_TYPE_CODE = X_ASSOCIATION_TYPE_CODE
450 ;
451 begin
452 insert into IBC_ASSOCIATION_TYPES_B (
453 ASSOCIATION_TYPE_CODE,
454 CALL_BACK_PKG,
455 SEARCH_PAGE,
456 OBJECT_VERSION_NUMBER,
457 CREATION_DATE,
458 CREATED_BY,
459 LAST_UPDATE_DATE,
460 LAST_UPDATED_BY,
461 LAST_UPDATE_LOGIN,
462 SECURITY_GROUP_ID
463 ) values (
464 X_ASSOCIATION_TYPE_CODE,
465 X_CALL_BACK_PKG,
466 X_SEARCH_PAGE,
467 X_OBJECT_VERSION_NUMBER,
468 X_CREATION_DATE,
469 X_CREATED_BY,
470 X_LAST_UPDATE_DATE,
471 X_LAST_UPDATED_BY,
472 X_LAST_UPDATE_LOGIN,
473 X_SECURITY_GROUP_ID
474 );
475
476 insert into IBC_ASSOCIATION_TYPES_TL (
477 ASSOCIATION_TYPE_CODE,
478 ASSOCIATION_TYPE_NAME,
479 DESCRIPTION,
480 CREATED_BY,
481 CREATION_DATE,
482 LAST_UPDATED_BY,
483 LAST_UPDATE_DATE,
484 LAST_UPDATE_LOGIN,
485 LANGUAGE,
486 SOURCE_LANG,
487 SECURITY_GROUP_ID
488 ) select
489 X_ASSOCIATION_TYPE_CODE,
490 X_ASSOCIATION_TYPE_NAME,
491 X_DESCRIPTION,
492 X_CREATED_BY,
493 X_CREATION_DATE,
494 X_LAST_UPDATED_BY,
495 X_LAST_UPDATE_DATE,
496 X_LAST_UPDATE_LOGIN,
497 L.LANGUAGE_CODE,
498 userenv('LANG'),
499 X_SECURITY_GROUP_ID
500 from FND_LANGUAGES L
501 where L.INSTALLED_FLAG in ('I', 'B')
502 and not exists
503 (select NULL
504 from IBC_ASSOCIATION_TYPES_TL T
505 where T.ASSOCIATION_TYPE_CODE = X_ASSOCIATION_TYPE_CODE
506 and T.LANGUAGE = L.LANGUAGE_CODE);
507
508 open c;
509 fetch c into X_ROWID;
510 if (c%notfound) then
511 close c;
512 raise no_data_found;
513 end if;
514 close c;
515
516 end INSERT_ROW;
517
518 procedure LOCK_ROW (
519 X_ASSOCIATION_TYPE_CODE in VARCHAR2,
520 X_CALL_BACK_PKG in VARCHAR2,
521 X_SEARCH_PAGE in VARCHAR2,
522 X_OBJECT_VERSION_NUMBER in NUMBER,
523 X_ASSOCIATION_TYPE_NAME in VARCHAR2,
524 X_DESCRIPTION in VARCHAR2,
525 X_SECURITY_GROUP_ID in NUMBER
526 ) is
527 cursor c is select
528 CALL_BACK_PKG,
529 SEARCH_PAGE,
530 OBJECT_VERSION_NUMBER
531 from IBC_ASSOCIATION_TYPES_B
532 where ASSOCIATION_TYPE_CODE = X_ASSOCIATION_TYPE_CODE
533 for update of ASSOCIATION_TYPE_CODE nowait;
534 recinfo c%rowtype;
535
536 cursor c1 is select
537 ASSOCIATION_TYPE_NAME,
538 DESCRIPTION,
539 decode(LANGUAGE, userenv('LANG'), 'Y', 'N') BASELANG
540 from IBC_ASSOCIATION_TYPES_TL
541 where ASSOCIATION_TYPE_CODE = X_ASSOCIATION_TYPE_CODE
542 and userenv('LANG') in (LANGUAGE, SOURCE_LANG)
543 for update of ASSOCIATION_TYPE_CODE nowait;
544 begin
545 open c;
546 fetch c into recinfo;
547 if (c%notfound) then
548 close c;
549 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
550 app_exception.raise_exception;
551 end if;
552 close c;
553 if ( ((recinfo.CALL_BACK_PKG = X_CALL_BACK_PKG)
554 OR ((recinfo.CALL_BACK_PKG is null) AND (X_CALL_BACK_PKG is null)))
555 AND ((recinfo.SEARCH_PAGE = X_SEARCH_PAGE)
556 OR ((recinfo.SEARCH_PAGE is null) AND (X_SEARCH_PAGE is null)))
557 AND (recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
558 ) then
559 null;
560 else
561 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
562 app_exception.raise_exception;
563 end if;
564
565 for tlinfo in c1 loop
566 if (tlinfo.BASELANG = 'Y') then
567 if ( (tlinfo.ASSOCIATION_TYPE_NAME = X_ASSOCIATION_TYPE_NAME)
568 AND ((tlinfo.DESCRIPTION = X_DESCRIPTION)
569 OR ((tlinfo.DESCRIPTION is null) AND (X_DESCRIPTION is null)))
570 ) then
571 null;
572 else
573 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
574 app_exception.raise_exception;
575 end if;
576 end if;
577 end loop;
578 return;
579 end LOCK_ROW;
580
581 procedure UPDATE_ROW (
582 X_ASSOCIATION_TYPE_CODE in VARCHAR2,
583 X_CALL_BACK_PKG in VARCHAR2,
584 X_SEARCH_PAGE in VARCHAR2,
585 X_OBJECT_VERSION_NUMBER in NUMBER,
586 X_ASSOCIATION_TYPE_NAME in VARCHAR2,
587 X_DESCRIPTION in VARCHAR2,
588 X_LAST_UPDATE_DATE in DATE,
589 X_LAST_UPDATED_BY in NUMBER,
590 X_LAST_UPDATE_LOGIN in NUMBER,
591 X_SECURITY_GROUP_ID in NUMBER
592 ) is
593 begin
594 update IBC_ASSOCIATION_TYPES_B set
595 CALL_BACK_PKG = X_CALL_BACK_PKG,
596 SEARCH_PAGE = X_SEARCH_PAGE,
597 OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER,
598 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
599 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
600 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
601 SECURITY_GROUP_ID = X_SECURITY_GROUP_ID
602 where ASSOCIATION_TYPE_CODE = X_ASSOCIATION_TYPE_CODE;
603
604 if (sql%notfound) then
605 raise no_data_found;
606 end if;
607
608 update IBC_ASSOCIATION_TYPES_TL set
609 ASSOCIATION_TYPE_NAME = X_ASSOCIATION_TYPE_NAME,
610 DESCRIPTION = X_DESCRIPTION,
611 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
612 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
613 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN,
614 SOURCE_LANG = userenv('LANG'),
615 SECURITY_GROUP_ID = X_SECURITY_GROUP_ID
616 where ASSOCIATION_TYPE_CODE = X_ASSOCIATION_TYPE_CODE
617 and userenv('LANG') in (LANGUAGE, SOURCE_LANG);
618
619 if (sql%notfound) then
620 raise no_data_found;
621 end if;
622 end UPDATE_ROW;
623
624 procedure DELETE_ROW (
625 X_ASSOCIATION_TYPE_CODE in VARCHAR2
626 ) is
627 begin
628 delete from IBC_ASSOCIATION_TYPES_TL
629 where ASSOCIATION_TYPE_CODE = X_ASSOCIATION_TYPE_CODE;
630
631 if (sql%notfound) then
632 raise no_data_found;
633 end if;
634
635 delete from IBC_ASSOCIATION_TYPES_B
636 where ASSOCIATION_TYPE_CODE = X_ASSOCIATION_TYPE_CODE;
637
638 if (sql%notfound) then
639 raise no_data_found;
640 end if;
641 end DELETE_ROW;
642
643
644
645 END Ibc_Association_Types_Pkg;