[Home] [Help]
PACKAGE BODY: APPS.HZ_MERGE_DICTIONARY_PKG
Source
1 PACKAGE BODY HZ_MERGE_DICTIONARY_PKG as
2 /* $Header: ARHMDTBB.pls 120.10 2006/04/26 09:37:26 vsegu noship $ */
3 -- Start of Comments
4 -- Package name : HZ_MERGE_DICTIONARY_PKG
5 -- Purpose :
6 -- History :
7 -- NOTE :
8 -- End of Comments
9
10 G_PKG_NAME CONSTANT VARCHAR2(30):= 'HZ_MERGE_DICTIONARY_PKG';
11 G_FILE_NAME CONSTANT VARCHAR2(12) := 'arhtdtbb.pls';
12 ----------------------------------
13 --Declaration of private procedures and functions
14 ----------------------------------
15 PROCEDURE Validate_Parent_Entity(
16 p_parent_entity IN VARCHAR2,
17 p_owner IN VARCHAR2,
18 p_error_text OUT NOCOPY VARCHAR2,
19 p_return_status OUT NOCOPY VARCHAR2)
20 IS
21 l_owner1 VARCHAR2(255);
22 l_temp VARCHAR2(255);
23 l_bool BOOLEAN;
24
25 CURSOR c_table IS
26 SELECT 'Exists'
27 FROM sys.ALL_OBJECTS
28 WHERE OBJECT_NAME = p_parent_entity
29 -- AND OWNER = l_owner1
30 AND (OBJECT_TYPE = 'TABLE' OR OBJECT_TYPE = 'VIEW')
31 and rownum = 1;
32
33 CURSOR c_bulk IS
34 SELECT BULK_FLAG, PK_COLUMN_NAME
35 FROM HZ_MERGE_DICTIONARY
36 WHERE ENTITY_NAME = p_parent_entity;
37
38 l_exist VARCHAR2(10);
39
40 l_bulk_flag VARCHAR2(1);
41 l_par_pkcol VARCHAR2(255);
42 l_status VARCHAR2(255);
43
44 BEGIN
45 l_bool := fnd_installation.GET_APP_INFO(p_owner,l_status,l_temp,l_owner1);
46 IF p_parent_entity IS NULL THEN
47 p_return_status := 'N';
48 p_error_text := 'HZ_INVALID_PARENTITY_NAME';
49 RETURN ;
50 END IF;
51
52 OPEN c_bulk;
53 FETCH c_bulk INTO l_bulk_flag, l_par_pkcol;
54 IF c_bulk%NOTFOUND OR (l_bulk_flag IS NOT NULL AND l_bulk_flag = 'Y')
55 OR (upper(l_par_pkcol) = 'ROWID') THEN
56 CLOSE c_bulk;
57 p_error_text := 'HZ_INVALID_PARENTITY';
58 p_return_status := 'N';
59 RETURN ;
60 END IF;
61 CLOSE c_bulk;
62
63
64 IF FND_PROFILE.VALUE('USER_ID') = '1' THEN
65 RETURN;
66 END IF;
67
68
69 OPEN c_table;
70 FETCH c_table INTO l_exist;
71 IF c_table%NOTFOUND THEN
72 p_error_text := 'HZ_INVALID_PARENTITY_NAME';
73 p_return_status := 'N';
74 RETURN ;
75 end if;
76
77
78 /* Successful */
79 p_return_status := 'Y';
80
81 end Validate_Parent_Entity;
82
83 PROCEDURE Validate_Primary_Key(
84 p_primary_key IN VARCHAR2,
85 p_owner IN VARCHAR2,
86 p_entity_name IN VARCHAR2,
87 p_error_message OUT NOCOPY VARCHAR2,
88 p_return_status OUT NOCOPY VARCHAR2) IS
89 l_exist VARCHAR2(10);
90 l_status VARCHAR2(255);
91 l_owner1 VARCHAR2(255);
92 l_temp VARCHAR2(255);
93 l_bool BOOLEAN;
94
95 CURSOR c_table_col IS
96 SELECT 'Exists'
97 FROM sys.ALL_TAB_COLUMNS
98 WHERE TABLE_NAME = p_entity_name
99 AND COLUMN_NAME = p_primary_key
100 --and owner = l_owner1;
101 and rownum = 1;
102
103
104 BEGIN
105 l_bool := fnd_installation.GET_APP_INFO(p_owner,l_status,l_temp,l_owner1);
106 IF p_primary_key IS NULL OR FND_PROFILE.VALUE('USER_ID') = '1'
107 OR p_primary_key = 'ROWID' THEN
108 p_error_message := 'HZ_INVALID_PK_COLUMN';
109 p_return_status := 'N';
110 RETURN;
111 END IF;
112 /*
113 IF p_primary_key IS NULL THEN
114 p_error_message := 'HZ_INVALID_PK_COLUMN';
115 p_return_status := 'N';
116 RETURN;
117 end if;
118 */
119
120 OPEN c_table_col;
121 FETCH c_table_col INTO l_exist;
122 IF c_table_col%NOTFOUND THEN
123 p_error_message := 'HZ_INVALID_PK_COLUMN';
124 p_return_status := 'N';
125 RETURN;
126 end if;
127 CLOSE c_table_col;
128
129 /* Successful */
130 p_return_status := 'Y';
131
132 end Validate_Primary_Key;
133
134 PROCEDURE Validate_Foreign_Key(
135 p_foreign_key IN VARCHAR2,
136 p_owner IN VARCHAR2,
137 p_entity_name IN VARCHAR2,
138 p_error_message OUT NOCOPY VARCHAR2,
139 p_return_status OUT NOCOPY VARCHAR2) IS
140 l_exist VARCHAR2(10);
141 l_status VARCHAR2(255);
142 l_owner1 VARCHAR2(255);
143 l_temp VARCHAR2(255);
144 l_bool BOOLEAN;
145 CURSOR c_table_col IS
146 SELECT 'Exists'
147 FROM sys.ALL_TAB_COLUMNS
148 WHERE TABLE_NAME = p_entity_name
149 AND COLUMN_NAME = p_foreign_key
150 --and owner = l_owner1;
151 and rownum = 1;
152
153 BEGIN
154 /*
155 IF p_foreign_key IS NULL OR FND_PROFILE.VALUE('USER_ID') = '1' THEN
156 RETURN;
157 END IF;
158 */
159 l_bool := fnd_installation.GET_APP_INFO(p_owner,l_status,l_temp,l_owner1);
160 IF p_entity_name IS NULL THEN
161 p_error_message := 'HZ_INVALID_ENTITY_NAME';
162 p_return_status := 'N';
163 RETURN;
164 end if;
165
166 OPEN c_table_col;
167 FETCH c_table_col INTO l_exist;
168 IF c_table_col%NOTFOUND THEN
169 p_error_message := 'HZ_INVALID_FK_COLUMN';
170 p_return_status := 'N';
171 RETURN;
172 end if;
173 CLOSE c_table_col;
174
175 /* Successful */
176 p_return_status := 'Y';
177
178 end Validate_Foreign_Key;
179
180 PROCEDURE Validate_Entity(
181 p_entity_name IN VARCHAR2,
182 p_owner IN VARCHAR2,
183 p_error_message OUT NOCOPY VARCHAR2,
184 p_return_status OUT NOCOPY VARCHAR2) IS
185 l_exist VARCHAR2(10);
186 l_status VARCHAR2(255);
187 l_owner1 VARCHAR2(255);
188 l_temp VARCHAR2(255);
189 l_bool BOOLEAN;
190 CURSOR c_table IS
191 SELECT 'Exists'
192 FROM sys.ALL_OBJECTS
193 WHERE OBJECT_NAME = p_entity_name
194 AND (OBJECT_TYPE = 'TABLE' OR OBJECT_TYPE = 'VIEW')
195 and rownum = 1;
196 --and owner = l_owner1;
197
198 BEGIN
199 /*
200 IF p_entity_name IS NULL OR FND_PROFILE.VALUE('USER_ID') = '1' THEN
201 RETURN;
202 END IF;
203 */
204 l_bool := fnd_installation.GET_APP_INFO(p_owner,l_status,l_temp,l_owner1);
205 OPEN c_table;
206 FETCH c_table INTO l_exist;
207 IF c_table%NOTFOUND THEN
208 p_error_message := 'HZ_INVALID_ENTITY_NAME';
209 p_return_status := 'N';
210 RETURN;
211 end if;
212 /* Successful */
213 p_return_status := 'Y';
214
215 end Validate_Entity;
216
217 PROCEDURE Insert_Row(
218 px_MERGE_DICT_ID IN OUT NOCOPY NUMBER,
219 p_RULE_SET_NAME VARCHAR2,
220 p_ENTITY_NAME VARCHAR2,
221 p_PARENT_ENTITY_NAME VARCHAR2,
222 p_PK_COLUMN_NAME VARCHAR2,
223 p_FK_COLUMN_NAME VARCHAR2,
224 p_DESC_COLUMN_NAME VARCHAR2,
225 p_PROCEDURE_TYPE VARCHAR2,
226 p_PROCEDURE_NAME VARCHAR2,
227 p_JOIN_CLAUSE VARCHAR2,
228 p_DICT_APPLICATION_ID NUMBER,
229 p_DESCRIPTION VARCHAR2,
230 px_SEQUENCE_NO IN OUT NOCOPY NUMBER,
231 p_BULK_FLAG VARCHAR2,
232 p_BATCH_MERGE_FLAG VARCHAR2, --4634891
233 p_VALIDATE_PURGE_FLAG VARCHAR2, --5125968
234 p_CREATED_BY NUMBER,
235 p_CREATION_DATE DATE,
236 p_LAST_UPDATE_LOGIN NUMBER,
237 p_LAST_UPDATE_DATE DATE,
238 p_LAST_UPDATED_BY NUMBER)
239
240 IS
241 CURSOR C1(cp_md_id NUMBER) IS
242 SELECT MERGE_DICT_ID FROM HZ_MERGE_DICTIONARY WHERE MERGE_DICT_ID=cp_md_id;
243
244 CURSOR C2 IS SELECT HZ_MERGE_DICTIONARY_S.nextval FROM sys.dual;
245
246 CURSOR C3 IS SELECT 10*(1+trunc(nvl(max(SEQUENCE_NO), 0)/10))
247 FROM HZ_MERGE_DICTIONARY
248 WHERE PARENT_ENTITY_NAME = p_PARENT_ENTITY_NAME;
249
250 l_temp NUMBER;
251 BEGIN
252 If (px_MERGE_DICT_ID IS NULL) OR (px_MERGE_DICT_ID = FND_API.G_MISS_NUM) then
253
254
255 LOOP
256 OPEN C2;
257 FETCH C2 INTO px_MERGE_DICT_ID;
258 CLOSE C2;
259
260 OPEN C1(px_MERGE_DICT_ID);
261 FETCH C1 INTO l_temp;
262 EXIT WHEN C1%NOTFOUND;
263 CLOSE C1;
264 END LOOP;
265 CLOSE C1;
266
267 End If;
268
269 If (px_SEQUENCE_NO IS NULL) OR (px_SEQUENCE_NO = FND_API.G_MISS_NUM) then
270 if p_PARENT_ENTITY_NAME IS NOT NULL then
271 OPEN C3;
272 FETCH C3 INTO px_SEQUENCE_NO;
273 CLOSE C3;
274
275 else
276 px_SEQUENCE_NO := 1;
277 End if;
278 End If;
279 INSERT INTO HZ_MERGE_DICTIONARY(
280 MERGE_DICT_ID,
281 RULE_SET_NAME,
282 ENTITY_NAME,
283 PARENT_ENTITY_NAME,
284 PK_COLUMN_NAME,
285 FK_COLUMN_NAME,
286 DESC_COLUMN_NAME,
287 PROCEDURE_TYPE,
288 PROCEDURE_NAME,
289 JOIN_CLAUSE,
290 DICT_APPLICATION_ID,
291 DESCRIPTION,
292 SEQUENCE_NO,
293 BULK_FLAG,
294 BATCH_MERGE_FLAG, --4634891
295 VALIDATE_PURGE_FLAG, --5125968
296 CREATED_BY,
297 CREATION_DATE,
298 LAST_UPDATE_LOGIN,
299 LAST_UPDATE_DATE,
300 LAST_UPDATED_BY
301 ) VALUES (
302 px_MERGE_DICT_ID,
303 decode( p_RULE_SET_NAME, FND_API.G_MISS_CHAR, NULL, p_RULE_SET_NAME),
304 decode( p_ENTITY_NAME, FND_API.G_MISS_CHAR, NULL, p_ENTITY_NAME),
305 decode( p_PARENT_ENTITY_NAME, FND_API.G_MISS_CHAR, NULL, p_PARENT_ENTITY_NAME),
306 decode( p_PK_COLUMN_NAME, FND_API.G_MISS_CHAR, NULL, p_PK_COLUMN_NAME),
307 decode( p_FK_COLUMN_NAME, FND_API.G_MISS_CHAR, NULL, p_FK_COLUMN_NAME),
308 decode( p_DESC_COLUMN_NAME, FND_API.G_MISS_CHAR, NULL, p_DESC_COLUMN_NAME),
309 decode( p_PROCEDURE_TYPE, FND_API.G_MISS_CHAR, NULL, p_PROCEDURE_TYPE),
310 decode( p_PROCEDURE_NAME, FND_API.G_MISS_CHAR, NULL, p_PROCEDURE_NAME),
311 decode( p_JOIN_CLAUSE, FND_API.G_MISS_CHAR, NULL, p_JOIN_CLAUSE),
312 decode( p_DICT_APPLICATION_ID, FND_API.G_MISS_NUM, NULL, p_DICT_APPLICATION_ID),
313 decode( p_DESCRIPTION, FND_API.G_MISS_CHAR, NULL, p_DESCRIPTION),
314 px_SEQUENCE_NO,
315 decode( p_BULK_FLAG, FND_API.G_MISS_CHAR, NULL, p_BULK_FLAG),
316 decode( p_BATCH_MERGE_FLAG, FND_API.G_MISS_CHAR, NULL, p_BATCH_MERGE_FLAG), --4634891
317 decode( p_VALIDATE_PURGE_FLAG, FND_API.G_MISS_CHAR, NULL, p_VALIDATE_PURGE_FLAG), --5125968
318 decode( p_CREATED_BY, FND_API.G_MISS_NUM, NULL, p_CREATED_BY),
319 decode( p_CREATION_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_CREATION_DATE),
320 decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATE_LOGIN),
321 decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, TO_DATE(NULL), p_LAST_UPDATE_DATE),
322 decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, NULL, p_LAST_UPDATED_BY));
323 End Insert_Row;
324
325 PROCEDURE Update_Row(
326 p_MERGE_DICT_ID NUMBER,
327 p_RULE_SET_NAME VARCHAR2,
328 p_ENTITY_NAME VARCHAR2,
329 p_PARENT_ENTITY_NAME VARCHAR2,
330 p_PK_COLUMN_NAME VARCHAR2,
331 p_FK_COLUMN_NAME VARCHAR2,
332 p_DESC_COLUMN_NAME VARCHAR2,
333 p_PROCEDURE_TYPE VARCHAR2,
334 p_PROCEDURE_NAME VARCHAR2,
335 p_JOIN_CLAUSE VARCHAR2,
336 p_DICT_APPLICATION_ID NUMBER,
337 p_DESCRIPTION VARCHAR2,
338 px_SEQUENCE_NO IN OUT NOCOPY NUMBER,
339 p_BULK_FLAG IN VARCHAR2,
340 p_BATCH_MERGE_FLAG IN VARCHAR2, --4634891
341 p_VALIDATE_PURGE_FLAG IN VARCHAR2, --5125968
342 p_CREATED_BY NUMBER,
343 p_CREATION_DATE DATE,
344 p_LAST_UPDATE_LOGIN NUMBER,
345 p_LAST_UPDATE_DATE DATE,
346 p_LAST_UPDATED_BY NUMBER)
347
348 IS
349 CURSOR C1 IS
350 SELECT nvl(PARENT_ENTITY_NAME, 'NONAME')
351 FROM HZ_MERGE_DICTIONARY
352 WHERE MERGE_DICT_ID = p_MERGE_DICT_ID;
353
354 CURSOR C3 IS SELECT 10*(1+trunc(nvl(max(SEQUENCE_NO), 0)/10))
355 FROM HZ_MERGE_DICTIONARY
356 WHERE PARENT_ENTITY_NAME = p_PARENT_ENTITY_NAME;
357
358 l_old_parent_ent_name HZ_MERGE_DICTIONARY.PARENT_ENTITY_NAME%TYPE;
359 BEGIN
360 OPEN C1;
361 FETCH C1 INTO l_old_parent_ent_name;
362 CLOSE C1;
363
364 IF l_old_parent_ent_name<> nvl(p_PARENT_ENTITY_NAME, 'NONAME') THEN
365 OPEN C3;
366 FETCH C3 INTO px_sequence_no;
367 CLOSE C3;
368 END IF;
369
370 Update HZ_MERGE_DICTIONARY
371 SET
372 RULE_SET_NAME = decode( p_RULE_SET_NAME, FND_API.G_MISS_CHAR, RULE_SET_NAME, p_RULE_SET_NAME),
373 ENTITY_NAME = decode( p_ENTITY_NAME, FND_API.G_MISS_CHAR, ENTITY_NAME, p_ENTITY_NAME),
374 PARENT_ENTITY_NAME = decode( p_PARENT_ENTITY_NAME, FND_API.G_MISS_CHAR, PARENT_ENTITY_NAME, p_PARENT_ENTITY_NAME),
375 PK_COLUMN_NAME = decode( p_PK_COLUMN_NAME, FND_API.G_MISS_CHAR, PK_COLUMN_NAME, p_PK_COLUMN_NAME),
376 FK_COLUMN_NAME = decode( p_FK_COLUMN_NAME, FND_API.G_MISS_CHAR, FK_COLUMN_NAME, p_FK_COLUMN_NAME),
377 DESC_COLUMN_NAME = decode( p_DESC_COLUMN_NAME, FND_API.G_MISS_CHAR, DESC_COLUMN_NAME, p_DESC_COLUMN_NAME),
378 PROCEDURE_TYPE = decode( p_PROCEDURE_TYPE, FND_API.G_MISS_CHAR, PROCEDURE_TYPE, p_PROCEDURE_TYPE),
382 DESCRIPTION = decode( p_DESCRIPTION, FND_API.G_MISS_CHAR, DESCRIPTION, p_DESCRIPTION),
379 PROCEDURE_NAME = decode( p_PROCEDURE_NAME, FND_API.G_MISS_CHAR, PROCEDURE_NAME, p_PROCEDURE_NAME),
380 JOIN_CLAUSE = decode( p_JOIN_CLAUSE, FND_API.G_MISS_CHAR, JOIN_CLAUSE, p_JOIN_CLAUSE),
381 DICT_APPLICATION_ID = decode( p_DICT_APPLICATION_ID, FND_API.G_MISS_NUM, DICT_APPLICATION_ID, p_DICT_APPLICATION_ID),
383 SEQUENCE_NO = decode( px_SEQUENCE_NO, FND_API.G_MISS_NUM, SEQUENCE_NO, px_SEQUENCE_NO),
384 BULK_FLAG = decode( p_BULK_FLAG, FND_API.G_MISS_CHAR, BULK_FLAG, p_BULK_FLAG),
385 BATCH_MERGE_FLAG = decode( p_BATCH_MERGE_FLAG, FND_API.G_MISS_CHAR, BATCH_MERGE_FLAG, p_BATCH_MERGE_FLAG), -- 4634891
386 VALIDATE_PURGE_FLAG = decode( p_VALIDATE_PURGE_FLAG, FND_API.G_MISS_CHAR, VALIDATE_PURGE_FLAG, p_VALIDATE_PURGE_FLAG), --5125968
387 -- Bug 3032780
388 /*
389 CREATED_BY = decode( p_CREATED_BY, FND_API.G_MISS_NUM, CREATED_BY, p_CREATED_BY),
390 CREATION_DATE = decode( p_CREATION_DATE, FND_API.G_MISS_DATE, CREATION_DATE, p_CREATION_DATE),
391 */
392 LAST_UPDATE_LOGIN = decode( p_LAST_UPDATE_LOGIN, FND_API.G_MISS_NUM, LAST_UPDATE_LOGIN, p_LAST_UPDATE_LOGIN),
393 LAST_UPDATE_DATE = decode( p_LAST_UPDATE_DATE, FND_API.G_MISS_DATE, LAST_UPDATE_DATE, p_LAST_UPDATE_DATE),
394 LAST_UPDATED_BY = decode( p_LAST_UPDATED_BY, FND_API.G_MISS_NUM, LAST_UPDATED_BY, p_LAST_UPDATED_BY)
395 where MERGE_DICT_ID = p_MERGE_DICT_ID;
396
397 If (SQL%NOTFOUND) then
398 RAISE NO_DATA_FOUND;
399 End If;
400 END Update_Row;
401
402 PROCEDURE Delete_Row(
403 p_MERGE_DICT_ID NUMBER)
404 IS
405 BEGIN
406
407 BEGIN
408 DELETE FROM HZ_MERGE_DICTIONARY hmd
409 where parent_entity_name in ( select entity_name
410 from HZ_MERGE_DICTIONARY hmd1
411 where hmd1.merge_dict_id=p_MERGE_DICT_ID);
412 EXCEPTION
413 WHEN NO_DATA_FOUND THEN
414 NULL;
415 END;
416
417 DELETE FROM HZ_MERGE_DICTIONARY
418 WHERE MERGE_DICT_ID = p_MERGE_DICT_ID;
419
420
421 If (SQL%NOTFOUND) then
422 RAISE NO_DATA_FOUND;
423 End If;
424 END Delete_Row;
425
426 PROCEDURE Lock_Row(
427 p_MERGE_DICT_ID NUMBER,
428 p_RULE_SET_NAME VARCHAR2,
429 p_ENTITY_NAME VARCHAR2,
430 p_PARENT_ENTITY_NAME VARCHAR2,
431 p_PK_COLUMN_NAME VARCHAR2,
432 p_FK_COLUMN_NAME VARCHAR2,
433 p_DESC_COLUMN_NAME VARCHAR2,
434 p_PROCEDURE_TYPE VARCHAR2,
435 p_PROCEDURE_NAME VARCHAR2,
436 p_JOIN_CLAUSE VARCHAR2,
437 p_DICT_APPLICATION_ID NUMBER,
438 p_DESCRIPTION VARCHAR2,
439 p_SEQUENCE_NO NUMBER,
440 p_BULK_FLAG VARCHAR2,
441 p_BATCH_MERGE_FLAG VARCHAR2, --4634891
442 p_VALIDATE_PURGE_FLAG VARCHAR2, --5125968
443 p_CREATED_BY NUMBER,
444 p_CREATION_DATE DATE,
445 p_LAST_UPDATE_LOGIN NUMBER,
446 p_LAST_UPDATE_DATE DATE,
447 p_LAST_UPDATED_BY NUMBER)
448
449 IS
450 CURSOR C IS
451 SELECT *
452 FROM HZ_MERGE_DICTIONARY
453 WHERE MERGE_DICT_ID = p_MERGE_DICT_ID
454 FOR UPDATE of MERGE_DICT_ID NOWAIT;
455 Recinfo C%ROWTYPE;
456 BEGIN
457 OPEN C;
458 FETCH C INTO Recinfo;
459 If (C%NOTFOUND) then
460 CLOSE C;
461 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
462 APP_EXCEPTION.RAISE_EXCEPTION;
463 End If;
464 CLOSE C;
465 if (
466 ( Recinfo.MERGE_DICT_ID = p_MERGE_DICT_ID)
467 AND ( ( Recinfo.RULE_SET_NAME = p_RULE_SET_NAME)
468 OR ( ( Recinfo.RULE_SET_NAME IS NULL )
469 AND ( p_RULE_SET_NAME IS NULL )))
470 AND ( ( Recinfo.ENTITY_NAME = p_ENTITY_NAME)
471 OR ( ( Recinfo.ENTITY_NAME IS NULL )
472 AND ( p_ENTITY_NAME IS NULL )))
473 AND ( ( Recinfo.PARENT_ENTITY_NAME = p_PARENT_ENTITY_NAME)
474 OR ( ( Recinfo.PARENT_ENTITY_NAME IS NULL )
475 AND ( p_PARENT_ENTITY_NAME IS NULL )))
476 AND ( ( Recinfo.PK_COLUMN_NAME = p_PK_COLUMN_NAME)
477 OR ( ( Recinfo.PK_COLUMN_NAME IS NULL )
478 AND ( p_PK_COLUMN_NAME IS NULL )))
479 AND ( ( Recinfo.FK_COLUMN_NAME = p_FK_COLUMN_NAME)
480 OR ( ( Recinfo.FK_COLUMN_NAME IS NULL )
481 AND ( p_FK_COLUMN_NAME IS NULL )))
482 AND ( ( Recinfo.DESC_COLUMN_NAME = p_DESC_COLUMN_NAME)
483 OR ( ( Recinfo.DESC_COLUMN_NAME IS NULL )
484 AND ( p_DESC_COLUMN_NAME IS NULL )))
485 AND ( ( Recinfo.PROCEDURE_TYPE = p_PROCEDURE_TYPE)
486 OR ( ( Recinfo.PROCEDURE_TYPE IS NULL )
487 AND ( p_PROCEDURE_TYPE IS NULL )))
488 AND ( ( Recinfo.PROCEDURE_NAME = p_PROCEDURE_NAME)
489 OR ( ( Recinfo.PROCEDURE_NAME IS NULL )
490 AND ( p_PROCEDURE_NAME IS NULL )))
491 AND ( ( Recinfo.JOIN_CLAUSE = p_JOIN_CLAUSE)
492 OR ( ( Recinfo.JOIN_CLAUSE IS NULL )
493 AND ( p_JOIN_CLAUSE IS NULL )))
494 AND ( ( Recinfo.DICT_APPLICATION_ID = p_DICT_APPLICATION_ID)
495 OR ( ( Recinfo.DICT_APPLICATION_ID IS NULL )
496 AND ( p_DICT_APPLICATION_ID IS NULL )))
497 AND ( ( Recinfo.DESCRIPTION = p_DESCRIPTION)
498 OR ( ( Recinfo.DESCRIPTION IS NULL )
499 AND ( p_DESCRIPTION IS NULL )))
500 AND ( ( Recinfo.SEQUENCE_NO = p_SEQUENCE_NO)
501 OR ( ( Recinfo.SEQUENCE_NO IS NULL )
505 AND ( p_BULK_FLAG IS NULL )))
502 AND ( p_SEQUENCE_NO IS NULL )))
503 AND ( ( Recinfo.BULK_FLAG = p_BULK_FLAG)
504 OR ( ( Recinfo.BULK_FLAG IS NULL )
506 AND ( ( Recinfo.BATCH_MERGE_FLAG = p_BATCH_MERGE_FLAG) --4634891
507 OR ( ( Recinfo.BATCH_MERGE_FLAG IS NULL )
508 AND ( p_BATCH_MERGE_FLAG IS NULL )))
509 AND ( ( Recinfo.VALIDATE_PURGE_FLAG = p_VALIDATE_PURGE_FLAG) --5125968
510 OR ( ( Recinfo.VALIDATE_PURGE_FLAG IS NULL )
511 AND ( p_VALIDATE_PURGE_FLAG IS NULL )))
512 AND ( ( Recinfo.CREATED_BY = p_CREATED_BY)
513 OR ( ( Recinfo.CREATED_BY IS NULL )
514 AND ( p_CREATED_BY IS NULL )))
515 AND ( ( Recinfo.CREATION_DATE = p_CREATION_DATE)
516 OR ( ( Recinfo.CREATION_DATE IS NULL )
517 AND ( p_CREATION_DATE IS NULL )))
518 AND ( ( Recinfo.LAST_UPDATE_LOGIN = p_LAST_UPDATE_LOGIN)
519 OR ( ( Recinfo.LAST_UPDATE_LOGIN IS NULL )
520 AND ( p_LAST_UPDATE_LOGIN IS NULL )))
521 AND ( ( Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE)
522 OR ( ( Recinfo.LAST_UPDATE_DATE IS NULL )
523 AND ( p_LAST_UPDATE_DATE IS NULL )))
524 AND ( ( Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY)
525 OR ( ( Recinfo.LAST_UPDATED_BY IS NULL )
526 AND ( p_LAST_UPDATED_BY IS NULL )))
527 ) then
528 return;
529 else
530 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
531 APP_EXCEPTION.RAISE_EXCEPTION;
532 End If;
533 END Lock_Row;
534
535 End HZ_MERGE_DICTIONARY_PKG;