DBA Data[Home] [Help]

PACKAGE BODY: APPS.HZ_DUP_SETS_PKG

Source


1 PACKAGE BODY HZ_DUP_SETS_PKG AS
2 /*$Header: ARHDQDSB.pls 120.3 2005/06/16 21:10:48 jhuang ship $ */
3 
4 PROCEDURE Insert_Row(
5                       px_DUP_SET_ID              IN OUT   NOCOPY NUMBER,
6 	                  p_DUP_BATCH_ID                      NUMBER,
7                       p_WINNER_PARTY_ID                   NUMBER,
8                       p_STATUS                            VARCHAR2,
9                       p_ASSIGNED_TO_USER_ID               NUMBER,
10                       p_MERGE_TYPE                        VARCHAR2,
11                       p_OBJECT_VERSION_NUMBER             NUMBER,
12                       p_CREATED_BY                        NUMBER,
13                       p_CREATION_DATE                     DATE,
14                       p_LAST_UPDATE_LOGIN                 NUMBER,
15                       p_LAST_UPDATE_DATE                  DATE,
16                       p_LAST_UPDATED_BY                   NUMBER)
17   IS
18   CURSOR C2 IS SELECT  HZ_MERGE_BATCH_S.nextval FROM sys.dual;
19  BEGIN
20 
21     IF ( px_DUP_SET_ID IS NULL) OR (px_DUP_SET_ID = FND_API.G_MISS_NUM) THEN
22         OPEN C2;
23         FETCH C2 INTO px_DUP_SET_ID;
24         CLOSE C2;
25     END IF;
26 
27    INSERT INTO HZ_DUP_SETS(
28                 DUP_SET_ID,
29                 DUP_BATCH_ID,
30                 WINNER_PARTY_ID,
31                 STATUS,
32                 ASSIGNED_TO_USER_ID,
33                 MERGE_TYPE,
34                 OBJECT_VERSION_NUMBER,
35                 CREATED_BY,
36                 CREATION_DATE,
37                 LAST_UPDATE_LOGIN,
38                 LAST_UPDATE_DATE,
39                 LAST_UPDATED_BY
40                )
41                VALUES (
42                 px_DUP_SET_ID,
43                 decode(p_DUP_BATCH_ID,  FND_API.G_MISS_NUM, NULL,
44                                         p_DUP_BATCH_ID),
45                 decode(p_WINNER_PARTY_ID,FND_API.G_MISS_NUM, NULL,
46                                          p_WINNER_PARTY_ID),
47                 decode(p_STATUS,FND_API.G_MISS_CHAR, NULL,
48                                          p_STATUS),
49                 decode(p_ASSIGNED_TO_USER_ID,FND_API.G_MISS_NUM, NULL,
50                                          p_ASSIGNED_TO_USER_ID),
51                 decode(p_MERGE_TYPE,FND_API.G_MISS_CHAR, NULL,
52                                          p_MERGE_TYPE),
53                 decode(p_OBJECT_VERSION_NUMBER,FND_API.G_MISS_NUM, NULL,
54                                          p_OBJECT_VERSION_NUMBER),
55                 hz_utility_v2pub.created_by,
56                 hz_utility_v2pub.creation_date,
57                 hz_utility_v2pub.last_update_login,
58                 hz_utility_v2pub.last_update_date,
59                 hz_utility_v2pub.last_updated_by
60               );
61 
62 End Insert_Row;
63 
64 PROCEDURE Update_Row(
65                       p_DUP_SET_ID                       NUMBER,
66 	                  p_DUP_BATCH_ID                     NUMBER,
67                       p_WINNER_PARTY_ID                  NUMBER,
68                       p_CREATED_BY                       NUMBER,
69                       p_CREATION_DATE                    DATE,
70                       p_LAST_UPDATE_LOGIN                NUMBER,
71                       p_LAST_UPDATE_DATE                 DATE,
72                       p_LAST_UPDATED_BY                  NUMBER)
73     IS
74    BEGIN
75    UPDATE HZ_DUP_SETS
76    SET
77    DUP_BATCH_ID=            decode(p_DUP_BATCH_ID,  FND_API.G_MISS_NUM, NULL,
78                                           p_DUP_BATCH_ID),
79    WINNER_PARTY_ID =        decode(p_WINNER_PARTY_ID,FND_API.G_MISS_NUM, NULL,
80                                            p_WINNER_PARTY_ID),
81    created_by =          created_by,
82    creation_date=        creation_date,
83    last_update_login=    hz_utility_v2pub.last_update_login,
84    last_update_date=     hz_utility_v2pub.last_update_date,
85    last_updated_by=      hz_utility_v2pub.last_updated_by
86    where DUP_SET_ID  = p_DUP_SET_ID;
87 
88     If (SQL%NOTFOUND) then
89         RAISE NO_DATA_FOUND;
90     End If;
91  END Update_Row;
92 
93 PROCEDURE Delete_Row(p_DUP_SET_ID NUMBER) IS
94 BEGIN
95    DELETE FROM HZ_DUP_SETS
96    where DUP_SET_ID = p_DUP_SET_ID ;
97 
98    If (SQL%NOTFOUND) then
99        RAISE NO_DATA_FOUND;
100    End If;
101  END Delete_Row;
102 
103 PROCEDURE Lock_Row(
104                       p_DUP_SET_ID              IN OUT    NOCOPY NUMBER,
105 	                  p_DUP_BATCH_ID                      NUMBER,
106                       p_WINNER_PARTY_ID                   NUMBER,
107                       p_CREATED_BY                        NUMBER,
108                       p_CREATION_DATE                     DATE,
109                       p_LAST_UPDATE_LOGIN                 NUMBER,
110                       p_LAST_UPDATE_DATE                  DATE,
111                       p_LAST_UPDATED_BY                   NUMBER)
112   IS
113  CURSOR C IS
114  SELECT *
115  FROM hz_DUP_SETS
116  where DUP_SET_ID = p_DUP_SET_ID
117  FOR UPDATE OF DUP_SET_ID NOWAIT;
118 
119  Recinfo C%ROWTYPE;
120  BEGIN
121     OPEN C;
122     FETCH C INTO Recinfo;
123     If (C%NOTFOUND) then
124         CLOSE C;
125         FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
126         APP_EXCEPTION.RAISE_EXCEPTION;
127     End If;
128     CLOSE C;
129 
130    if (
131           (   (Recinfo.DUP_SET_ID = p_DUP_SET_ID)
132            OR (     (Recinfo.DUP_SET_ID IS NULL)
133                 AND  (p_DUP_SET_ID IS NULL )))
134     AND   (   (Recinfo.DUP_BATCH_ID = p_DUP_BATCH_ID)
135            OR (      (Recinfo.DUP_BATCH_ID IS NULL)
136                 AND  (p_DUP_BATCH_ID IS NULL )))
137     AND   (   (Recinfo.WINNER_PARTY_ID = p_WINNER_PARTY_ID)
138           OR (      (Recinfo.WINNER_PARTY_ID IS NULL)
139                 AND  (p_WINNER_PARTY_ID IS NULL )))
140     AND    (     (Recinfo.CREATED_BY = p_CREATED_BY )
141              OR (     (Recinfo.CREATED_BY IS NULL)
142                  AND (p_CREATED_BY IS NULL )))
143     AND    (     (Recinfo.CREATION_DATE = p_CREATION_DATE)
144              OR (     (Recinfo.CREATION_DATE IS NULL)
145                  AND (p_CREATION_DATE  IS NULL )))
146     AND    (     (Recinfo.LAST_UPDATE_LOGIN= p_LAST_UPDATE_LOGIN)
147              OR (     (Recinfo.LAST_UPDATE_LOGIN  IS NULL)
148                  AND (p_LAST_UPDATE_LOGIN  IS NULL )))
149     AND    (     (Recinfo.LAST_UPDATE_DATE = p_LAST_UPDATE_DATE)
150              OR (     (Recinfo.LAST_UPDATE_DATE   IS NULL)
151                  AND (p_LAST_UPDATE_DATE  IS NULL )))
152     AND    (      (Recinfo.LAST_UPDATED_BY = p_LAST_UPDATED_BY)
153              OR (     (Recinfo.LAST_UPDATED_BY   IS NULL)
154                   AND (p_LAST_UPDATED_BY   IS NULL )))
155       ) then
156        return;
157    else
158        FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
159        APP_EXCEPTION.RAISE_EXCEPTION;
160    End If;
161 END Lock_Row;
162 END HZ_DUP_SETS_PKG;