[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;