DBA Data[Home] [Help]

PACKAGE BODY: APPS.HZ_DUP_SET_PARTIES_PKG

Source


1 PACKAGE BODY HZ_DUP_SET_PARTIES_PKG AS
2 /*$Header: ARHDQDPB.pls 120.5 2005/07/08 04:37:45 rchanamo noship $ */
3 
4 PROCEDURE Insert_Row(
5                       p_DUP_PARTY_ID         IN OUT NOCOPY       NUMBER,
6                       p_DUP_SET_ID           IN OUT NOCOPY       NUMBER,
7                       p_merge_flag                        VARCHAR2,
8                       p_not_dup                           VARCHAR2,
9                       p_SCORE                             NUMBER,
10                       p_MERGE_SEQ_ID                      NUMBER,
11                       p_MERGE_BATCH_ID                    NUMBER,
12                       p_MERGE_BATCH_NAME                  VARCHAR2,
13                       p_CREATED_BY                        NUMBER,
14                       p_CREATION_DATE                     DATE,
15                       p_LAST_UPDATE_LOGIN                 NUMBER,
16                       p_LAST_UPDATE_DATE                  DATE,
17                       p_LAST_UPDATED_BY                   NUMBER)
18   IS
19   CURSOR c_dup_batch IS SELECT DUP_BATCH_ID
20   FROM HZ_DUP_SETS WHERE DUP_SET_ID = p_dup_set_id;
21   l_dup_set_batch_id NUMBER(15);
22 
23   BEGIN
24    --Start of Bug No: 4244529
25    OPEN  c_dup_batch;
26    FETCH c_dup_batch INTO l_dup_set_batch_id;
27    IF(c_dup_batch%NOTFOUND)THEN
28     --Raise the error.
29     FND_MESSAGE.SET_NAME('AR', 'HZ_DUP_SET_NOT_FOUND');
30     APP_EXCEPTION.RAISE_EXCEPTION;
31    END IF;
32    CLOSE c_dup_batch;
33    --End of Bug No: 4244529
34    INSERT INTO HZ_DUP_SET_PARTIES(
35                 DUP_PARTY_ID,
36                 DUP_SET_ID,
37                 MERGE_FLAG,
38                 NOT_DUP,
39                 SCORE,
40                 MERGE_SEQ_ID ,
41                 MERGE_BATCH_ID,
42                 MERGE_BATCH_NAME ,
43                 CREATED_BY,
44                 CREATION_DATE,
45                 LAST_UPDATE_LOGIN,
46                 LAST_UPDATE_DATE,
47                 LAST_UPDATED_BY,
48 		DUP_SET_BATCH_ID --Bug No: 4244529
49                )
50                VALUES (
51                 p_DUP_PARTY_ID,
52                 p_DUP_SET_ID,
53                 decode(p_MERGE_FLAG,          FND_API.G_MISS_CHAR, NULL,
54                                               p_MERGE_FLAG),
55                 decode(p_NOT_DUP,             FND_API.G_MISS_CHAR, NULL,
56                                               p_NOT_DUP),
57                 decode(p_SCORE,               FND_API.G_MISS_NUM, NULL,
58                                               p_SCORE),
59                 decode(p_MERGE_SEQ_ID,        FND_API.G_MISS_NUM, NULL,
60                                               p_MERGE_SEQ_ID),
61                 decode(p_MERGE_BATCH_ID,      FND_API.G_MISS_NUM, NULL,
62                                               p_MERGE_BATCH_ID),
63                 decode(p_MERGE_BATCH_NAME,    FND_API.G_MISS_CHAR, NULL,
64                                               p_MERGE_BATCH_NAME),
65                 hz_utility_v2pub.created_by,
66                 hz_utility_v2pub.creation_date,
67                 hz_utility_v2pub.last_update_login,
68                 hz_utility_v2pub.last_update_date,
69                 hz_utility_v2pub.last_updated_by,
70 		l_dup_set_batch_id --Bug No: 4244529
71               );
72 
73 End Insert_Row;
74 
75 PROCEDURE Update_Row(
76                       p_DUP_PARTY_ID                      NUMBER,
77                       p_DUP_SET_ID                        NUMBER,
78                       p_merge_flag                        VARCHAR2,
79                       p_NOT_DUP                           VARCHAR2,
80                       p_SCORE                             NUMBER,
81                       p_MERGE_SEQ_ID                      NUMBER,
82                       p_MERGE_BATCH_ID                    NUMBER,
83                       p_MERGE_BATCH_NAME                  VARCHAR2,
84                       p_CREATED_BY                        NUMBER,
85                       p_CREATION_DATE                     DATE,
86                       p_LAST_UPDATE_LOGIN                 NUMBER,
87                       p_LAST_UPDATE_DATE                  DATE,
88                       p_LAST_UPDATED_BY                   NUMBER)
89     IS
90    BEGIN
91    UPDATE HZ_DUP_SET_PARTIES
92    SET
93    MERGE_FLAG =          decode(p_MERGE_FLAG,          FND_API.G_MISS_CHAR, MERGE_FLAG,
94                                                        p_MERGE_FLAG),
95    NOT_DUP =             decode(p_NOT_DUP,             FND_API.G_MISS_CHAR, NOT_DUP,
96                                                        p_NOT_DUP),
97    SCORE =               decode(p_SCORE,               FND_API.G_MISS_NUM, SCORE,
98                                                        p_SCORE),
99    MERGE_SEQ_ID =        decode(p_MERGE_SEQ_ID ,       FND_API.G_MISS_NUM, MERGE_SEQ_ID,
100                                                        p_MERGE_SEQ_ID),
101    MERGE_BATCH_ID =      decode(p_MERGE_BATCH_ID,      FND_API.G_MISS_NUM, MERGE_BATCH_ID,
102                                                        p_MERGE_BATCH_ID),
103    MERGE_BATCH_NAME =    decode(p_MERGE_BATCH_NAME,    FND_API.G_MISS_CHAR, MERGE_BATCH_NAME,
104                                                        p_MERGE_BATCH_NAME),
105    created_by =          created_by,
106    creation_date=        creation_date,
107     last_update_login=    hz_utility_v2pub.last_update_login,
108    last_update_date=     hz_utility_v2pub.last_update_date,
109    last_updated_by=      hz_utility_v2pub.last_updated_by
110    where DUP_PARTY_ID  = p_DUP_PARTY_ID
111    and  DUP_SET_ID = p_DUP_SET_ID;
112 
113     If (SQL%NOTFOUND) then
114         RAISE NO_DATA_FOUND;
115     End If;
116  END Update_Row;
117 
118 PROCEDURE Delete_Row(p_DUP_PARTY_ID    NUMBER, p_DUP_SET_ID    NUMBER) IS
119 BEGIN
120    DELETE FROM hz_dup_set_parties
121    where DUP_PARTY_ID  = p_DUP_PARTY_ID
122    and  DUP_SET_ID = p_DUP_SET_ID;
123 
124    If (SQL%NOTFOUND) then
125        RAISE NO_DATA_FOUND;
126    End If;
127 
128  END Delete_Row;
129 
130 PROCEDURE Lock_Row(
131                       p_DUP_PARTY_ID         IN OUT NOCOPY       NUMBER,
132                       p_DUP_SET_ID           IN OUT NOCOPY        NUMBER,
133                       p_MERGE_FLAG                        VARCHAR2,
134                       p_NOT_DUP                           VARCHAR2,
135                       p_SCORE                             NUMBER,
136                       p_MERGE_SEQ_ID                      NUMBER,
137                       p_MERGE_BATCH_ID                    NUMBER,
138                       p_MERGE_BATCH_NAME                  VARCHAR2,
139                       p_CREATED_BY                        NUMBER,
140                       p_CREATION_DATE                     DATE,
141                       p_LAST_UPDATE_LOGIN                 NUMBER,
142                       p_LAST_UPDATE_DATE                  DATE,
143                       p_LAST_UPDATED_BY                   NUMBER)
144   IS
145  CURSOR C IS
146  SELECT *
147  FROM hz_dup_set_parties
148   where DUP_PARTY_ID  = p_DUP_PARTY_ID
149    and  DUP_SET_ID = p_DUP_SET_ID
150  FOR UPDATE OF dup_party_id , dup_set_id NOWAIT;
151  Recinfo C%ROWTYPE;
152  BEGIN
153     OPEN C;
154     FETCH C INTO Recinfo;
155     If (C%NOTFOUND) then
156         CLOSE C;
157         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
158         APP_EXCEPTION.RAISE_EXCEPTION;
159     End If;
160     CLOSE C;
161 
162     if (
163            (Recinfo.DUP_PARTY_ID = p_DUP_PARTY_ID)
164      AND   (Recinfo.DUP_SET_ID = p_DUP_SET_ID)
165      AND   (   (Recinfo.SCORE = p_SCORE)
166            OR (      (Recinfo.SCORE IS NULL)
167                 AND  (p_SCORE IS NULL )))
168      AND   (   (Recinfo.MERGE_FLAG = p_MERGE_FLAG)
169            OR (      (Recinfo.MERGE_FLAG IS NULL)
170                 AND  (p_MERGE_FLAG IS NULL )))
171      AND   (   (Recinfo.NOT_DUP = p_NOT_DUP)
172            OR (      (Recinfo.NOT_DUP IS NULL)
173                 AND  (p_NOT_DUP IS NULL )))
174      AND   (   (Recinfo.MERGE_SEQ_ID = p_MERGE_SEQ_ID)
175            OR (      (Recinfo.MERGE_SEQ_ID IS NULL)
176                 AND  (p_MERGE_SEQ_ID IS NULL )))
177      AND   (   (Recinfo.MERGE_BATCH_ID = p_MERGE_BATCH_ID)
178            OR (      (Recinfo.MERGE_BATCH_ID IS NULL)
179                 AND  (p_MERGE_BATCH_ID IS NULL )))
180     AND   (   (Recinfo.MERGE_BATCH_NAME = p_MERGE_BATCH_NAME)
181            OR (      (Recinfo.MERGE_BATCH_NAME IS NULL)
182                 AND  (p_MERGE_BATCH_NAME IS NULL )))
183     AND    (     (Recinfo.CREATED_BY = p_CREATED_BY )
184              OR (     (Recinfo.CREATED_BY IS NULL)
185                  AND (p_CREATED_BY IS NULL )))
186     AND    (     (Recinfo.CREATION_DATE = p_CREATION_DATE)
187              OR (     (Recinfo.CREATION_DATE IS NULL)
188                  AND (p_CREATION_DATE  IS NULL )))
189     AND    (     (Recinfo.LAST_UPDATE_LOGIN= p_LAST_UPDATE_LOGIN)
190              OR (     (Recinfo.LAST_UPDATE_LOGIN  IS NULL)
191                  AND (p_LAST_UPDATE_LOGIN  IS NULL )))
192     AND (    ( Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE)
193             OR (    ( Recinfo.LAST_UPDATE_DATE IS NULL )
194                 AND (  p_LAST_UPDATE_DATE IS NULL )))
195     AND    (      (Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY)
196              OR (     (Recinfo.LAST_UPDATED_BY   IS NULL)
197                   AND (p_LAST_UPDATED_BY   IS NULL )))
198       ) then
199        return;
200    else
201        FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
202        APP_EXCEPTION.RAISE_EXCEPTION;
203    End If;
204 END Lock_Row;
205 END HZ_DUP_SET_PARTIES_PKG;