DBA Data[Home] [Help]

PACKAGE BODY: APPS.HZ_DSS_SCHEME_FUNCTIONS_PKG

Source


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