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