1 PACKAGE BODY HZ_DUP_MERGE_PARTIES_PKG AS
2 /*$Header: ARHDQDMB.pls 120.4 2005/06/16 21:10:36 jhuang noship $ */
3
4 PROCEDURE Insert_Row(
5 p_DUP_BATCH_ID IN OUT NOCOPY NUMBER,
6 p_MERGE_FROM_ID IN OUT NOCOPY NUMBER,
7 p_MERGE_TO_ID IN OUT NOCOPY NUMBER,
8 p_CREATED_BY NUMBER,
9 p_CREATION_DATE DATE,
10 p_LAST_UPDATE_LOGIN NUMBER,
11 p_LAST_UPDATE_DATE DATE,
12 p_LAST_UPDATED_BY NUMBER)
13 IS
14
15 BEGIN
16
17 INSERT INTO HZ_DUP_MERGE_PARTIES(
18 DUP_BATCH_ID,
19 MERGE_FROM_ID,
20 MERGE_TO_ID,
21 CREATED_BY,
22 CREATION_DATE,
23 LAST_UPDATE_LOGIN,
24 LAST_UPDATE_DATE,
25 LAST_UPDATED_BY
26 )
27 VALUES (
28 p_DUP_BATCH_ID,
29 p_MERGE_FROM_ID,
30 p_MERGE_TO_ID,
31 hz_utility_v2pub.created_by,
32 hz_utility_v2pub.creation_date,
33 hz_utility_v2pub.last_update_login,
34 hz_utility_v2pub.last_update_date,
35 hz_utility_v2pub.last_updated_by
36 );
37
38 End Insert_Row;
39
40
41 PROCEDURE Delete_Row(p_DUP_batch_id NUMBER,
42 p_MERGE_FROM_ID NUMBER,
43 p_MERGE_TO_ID NUMBER) IS
44 BEGIN
45 DELETE FROM hz_DUP_MERGE_PARTIES
46 where DUP_batch_id = p_DUP_batch_id
47 AND MERGE_FROM_ID = p_MERGE_FROM_ID
48 AND MERGE_TO_ID = p_MERGE_TO_ID;
49 If (SQL%NOTFOUND) then
50 RAISE NO_DATA_FOUND;
51 End If;
52 END Delete_Row;
53
54 PROCEDURE Lock_Row(
55 p_DUP_BATCH_ID IN OUT NOCOPY NUMBER,
56 p_MERGE_FROM_ID IN OUT NOCOPY NUMBER,
57 p_MERGE_TO_ID IN OUT NOCOPY NUMBER,
58 p_CREATED_BY NUMBER,
59 p_CREATION_DATE DATE,
60 p_LAST_UPDATE_LOGIN NUMBER,
61 p_LAST_UPDATE_DATE DATE,
62 p_LAST_UPDATED_BY NUMBER
63 ) IS
64
65 CURSOR C IS
66 SELECT *
67 FROM hz_DUP_MERGE_PARTIES
68 WHERE DUP_batch_id = p_DUP_batch_id
69 AND MERGE_FROM_ID = p_MERGE_FROM_ID
70 AND MERGE_TO_ID = P_MERGE_TO_ID
71 FOR UPDATE OF DUP_batch_id, MERGE_FROM_ID , MERGE_TO_ID NOWAIT;
72 Recinfo C%ROWTYPE;
73 BEGIN
74 OPEN C;
75 FETCH C INTO Recinfo;
76 If (C%NOTFOUND) then
77 CLOSE C;
78 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
79 APP_EXCEPTION.RAISE_EXCEPTION;
80 End If;
81 CLOSE C;
82
83 if (
84 ( (Recinfo.DUP_BATCH_ID = p_DUP_BATCH_ID)
85 OR ( (Recinfo.DUP_BATCH_ID IS NULL)
86 AND (p_DUP_BATCH_ID IS NULL )))
87 AND ( (Recinfo.MERGE_FROM_ID = p_MERGE_FROM_ID)
88 OR ( (Recinfo.MERGE_FROM_ID IS NULL)
89 AND (p_MERGE_FROM_ID IS NULL )))
90 AND ( (Recinfo.MERGE_TO_ID = p_MERGE_TO_ID)
91 OR ( (Recinfo.MERGE_TO_ID IS NULL)
92 AND (p_MERGE_TO_ID IS NULL )))
93 AND ( (Recinfo.CREATED_BY = p_CREATED_BY )
94 OR ( (Recinfo.CREATED_BY IS NULL)
95 AND (p_CREATED_BY IS NULL )))
96 AND ( (Recinfo.CREATION_DATE = p_CREATION_DATE)
97 OR ( (Recinfo.CREATION_DATE IS NULL)
98 AND (p_CREATION_DATE IS NULL )))
99 AND ( (Recinfo.LAST_UPDATE_LOGIN= p_LAST_UPDATE_LOGIN)
100 OR ( (Recinfo.LAST_UPDATE_LOGIN IS NULL)
101 AND (p_LAST_UPDATE_LOGIN IS NULL )))
102 AND ( (Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE)
103 OR ( (Recinfo.LAST_UPDATE_DATE IS NULL)
104 AND (p_LAST_UPDATE_DATE IS NULL )))
105 AND ( (Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY)
106 OR ( (Recinfo.LAST_UPDATED_BY IS NULL)
107 AND (p_LAST_UPDATED_BY IS NULL )))
108 ) then
109 return;
110 else
111 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
112 APP_EXCEPTION.RAISE_EXCEPTION;
113 End If;
114 END Lock_Row;
115 END HZ_DUP_MERGE_PARTIES_PKG;