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