[Home] [Help]
PACKAGE BODY: APPS.HZ_DSS_SECURED_ENTITIES_PKG
Source
1 PACKAGE BODY HZ_DSS_SECURED_ENTITIES_PKG AS
2 /* $Header: ARHPDSNB.pls 115.1 2002/09/30 06:27:03 cvijayan noship $ */
3
4 PROCEDURE Insert_Row (
5 x_rowid IN OUT NOCOPY VARCHAR2,
6 x_dss_group_code IN VARCHAR2,
7 x_entity_id IN NUMBER,
8 x_status IN VARCHAR2,
9 x_dss_instance_set_id IN NUMBER,
10 x_object_version_number IN NUMBER
11 ) IS
12
13 l_success VARCHAR2(1) := 'N';
14
15 BEGIN
16
17 WHILE l_success = 'N' LOOP
18 BEGIN
19 INSERT INTO HZ_DSS_SECURED_ENTITIES (
20 dss_group_code,
21 entity_id,
22 status,
23 dss_instance_set_id,
24 last_update_date,
25 last_updated_by,
26 creation_date,
27 created_by,
28 last_update_login,
29 object_version_number
30 )
31 VALUES (
32 DECODE(x_dss_group_code,
33 FND_API.G_MISS_CHAR, NULL, x_dss_group_code),
34 DECODE(x_entity_id,
35 FND_API.G_MISS_NUM, NULL,
36 x_entity_id),
37 DECODE(x_status,
38 FND_API.G_MISS_CHAR, 'A',
39 NULL, 'A',
40 x_status),
41 DECODE(x_dss_instance_set_id,
42 FND_API.G_MISS_NUM, NULL,
43 x_dss_instance_set_id),
44 hz_utility_v2pub.last_update_date,
45 hz_utility_v2pub.last_updated_by,
46 hz_utility_v2pub.creation_date,
47 hz_utility_v2pub.created_by,
48 hz_utility_v2pub.last_update_login,
49 DECODE(x_object_version_number,
50 FND_API.G_MISS_NUM, NULL,
51 x_object_version_number)
52 ) RETURNING
53 rowid
54 INTO
55 x_rowid;
56
57 l_success := 'Y';
58
59
60 END;
61 END LOOP;
62
63 END Insert_Row;
64
65 PROCEDURE Update_Row (
66 x_rowid IN OUT NOCOPY VARCHAR2,
67 -- x_dss_group_code IN VARCHAR2,
68 -- x_entity_id IN NUMBER,
69 x_status IN VARCHAR2,
70 x_dss_instance_set_id IN NUMBER,
71 x_object_version_number IN NUMBER
72
73 ) IS
74 BEGIN
75
76 UPDATE HZ_DSS_SECURED_ENTITIES
77 SET
78 status =
79 DECODE(x_status,
80 NULL, status,
81 FND_API.G_MISS_CHAR, NULL,
82 x_status),
83 /*
84 dss_instance_set_id =
85 DECODE(x_dss_instance_set_id,
86 NULL, dss_instance_set_id,
87 FND_API.G_MISS_NUM, NULL,
88 x_dss_instance_set_id),
89 */
90 last_update_date = hz_utility_v2pub.last_update_date,
91 last_updated_by = hz_utility_v2pub.last_updated_by,
92 creation_date = creation_date,
93 created_by = created_by,
94 last_update_login = hz_utility_v2pub.last_update_login,
95 object_version_number =
96 DECODE(x_object_version_number,
97 NULL, object_version_number,
98 FND_API.G_MISS_NUM, NULL,
99 x_object_version_number)
100 WHERE rowid = x_rowid;
101
102 IF ( SQL%NOTFOUND ) THEN
103 RAISE NO_DATA_FOUND;
104 END IF;
105
106 END Update_Row;
107
108 PROCEDURE Lock_Row (
109 x_rowid IN OUT NOCOPY VARCHAR2,
110 x_dss_group_code IN VARCHAR2,
111 x_entity_id IN NUMBER,
112 x_status IN VARCHAR2,
113 x_dss_instance_set_id IN NUMBER,
114 x_last_update_date IN DATE,
115 x_last_updated_by IN NUMBER,
116 x_creation_date IN DATE,
117 x_created_by IN NUMBER,
118 x_last_update_login IN NUMBER,
119 x_object_version_number IN NUMBER
120 ) IS
121
122 CURSOR c IS
123 SELECT * FROM HZ_DSS_SECURED_entities
124 WHERE rowid = x_rowid
125 FOR UPDATE NOWAIT;
126 Recinfo c%ROWTYPE;
127
128 BEGIN
129
130 OPEN c;
131 FETCH c INTO Recinfo;
132 IF ( c%NOTFOUND ) THEN
133 CLOSE c;
134 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
135 APP_EXCEPTION.RAISE_EXCEPTION;
136 END IF;
137 CLOSE C;
138
139 IF (
140 ( ( Recinfo.dss_group_code = x_dss_group_code )
141 OR ( ( Recinfo.dss_group_code IS NULL )
142 AND ( x_dss_group_code IS NULL ) ) )
143 AND ( ( Recinfo.entity_id = x_entity_id )
144 OR ( ( Recinfo.entity_id IS NULL )
145 AND ( x_entity_id IS NULL ) ) )
146 AND ( ( Recinfo.status = x_status )
147 OR ( ( Recinfo.status IS NULL )
148 AND ( x_status IS NULL ) ) )
149 AND ( ( Recinfo.dss_instance_set_id = x_dss_instance_set_id )
150 OR ( ( Recinfo.dss_instance_set_id IS NULL )
151 AND ( x_dss_instance_set_id IS NULL ) ) )
152 AND ( ( Recinfo.last_update_date = x_last_update_date )
153 OR ( ( Recinfo.last_update_date IS NULL )
154 AND ( x_last_update_date IS NULL ) ) )
155 AND ( ( Recinfo.last_updated_by = x_last_updated_by )
156 OR ( ( Recinfo.last_updated_by IS NULL )
157 AND ( x_last_updated_by IS NULL ) ) )
158 AND ( ( Recinfo.creation_date = x_creation_date )
159 OR ( ( Recinfo.creation_date IS NULL )
160 AND ( x_creation_date IS NULL ) ) )
161 AND ( ( Recinfo.created_by = x_created_by )
162 OR ( ( Recinfo.created_by IS NULL )
163 AND ( x_created_by IS NULL ) ) )
164 AND ( ( Recinfo.last_update_login = x_last_update_login )
165 OR ( ( Recinfo.last_update_login IS NULL )
166 AND ( x_last_update_login IS NULL ) ) )
167 AND ( ( Recinfo.object_version_number = x_object_version_number )
168 OR ( ( Recinfo.object_version_number IS NULL )
169 AND ( x_object_version_number IS NULL ) ) )
170 ) THEN
171 RETURN;
172 ELSE
173 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
174 APP_EXCEPTION.RAISE_EXCEPTION;
175 END IF;
176
177 END Lock_Row;
178
179 PROCEDURE Select_Row (
180 x_dss_group_code IN VARCHAR2,
181 x_entity_id IN NUMBER,
182 x_status OUT NOCOPY VARCHAR2,
183 x_dss_instance_set_id OUT NOCOPY NUMBER,
184 x_object_version_number OUT NOCOPY NUMBER
185 ) IS
186 BEGIN
187
188 SELECT
189 NVL(status, FND_API.G_MISS_CHAR),
190 NVL(dss_instance_set_id, FND_API.G_MISS_NUM)
191 INTO
192 x_status,
193 x_dss_instance_set_id
194 FROM HZ_DSS_SECURED_ENTITIES
195 WHERE dss_group_code = x_dss_group_code
196 AND entity_id = x_entity_id ;
197
198 EXCEPTION
199 WHEN NO_DATA_FOUND THEN
200 FND_MESSAGE.SET_NAME('AR', 'HZ_API_NO_RECORD');
201 FND_MESSAGE.SET_TOKEN('RECORD', 'dss_secured_entity');
202 FND_MESSAGE.SET_TOKEN('VALUE', x_dss_group_code);
203 FND_MSG_PUB.ADD;
204 RAISE FND_API.G_EXC_ERROR;
205
206 END Select_Row;
207
208 PROCEDURE Delete_Row (
209 x_dss_group_code IN VARCHAR2,
210 x_entity_id IN NUMBER
211 ) IS
212 BEGIN
213
214 DELETE FROM HZ_DSS_SECURED_ENTITIES
215 WHERE dss_group_code = x_dss_group_code
216 AND entity_id = x_entity_id ;
217
218 IF ( SQL%NOTFOUND ) THEN
219 RAISE NO_DATA_FOUND;
220 END IF;
221
222 END Delete_Row;
223
224 END HZ_DSS_SECURED_ENTITIES_PKG;