[Home] [Help]
PACKAGE BODY: APPS.OKC_STD_ARTICLE_PUB
Source
1 package body okc_std_article_pub as
2 /* $Header: OKCPSAEB.pls 120.0 2005/05/25 18:32:21 appldev noship $ */
3
4 l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
5
6 --migration procedures
7 --migrate std article
8 FUNCTION migrate_saev(p_saev_rec1 IN saev_rec_type,
9 p_saev_rec2 IN saev_rec_type)
10 RETURN saev_rec_type IS
11 l_saev_rec saev_rec_type;
12 BEGIN
13 l_saev_rec.id := p_saev_rec1.id;
14 l_saev_rec.object_version_number := p_saev_rec1.object_version_number;
15 l_saev_rec.created_by := p_saev_rec1.created_by;
16 l_saev_rec.creation_date := p_saev_rec1.creation_date;
17 l_saev_rec.last_updated_by := p_saev_rec1.last_updated_by;
18 l_saev_rec.last_update_date := p_saev_rec1.last_update_date;
19 l_saev_rec.last_update_login := p_saev_rec1.last_update_login;
20 l_saev_rec.sfwt_flag := p_saev_rec2.sfwt_flag;
21 l_saev_rec.name := p_saev_rec2.name;
22 l_saev_rec.sbt_code := p_saev_rec2.sbt_code;
23 l_saev_rec.attribute_category := p_saev_rec2.attribute_category;
24 l_saev_rec.attribute1 := p_saev_rec2.attribute1;
25 l_saev_rec.attribute2 := p_saev_rec2.attribute2;
26 l_saev_rec.attribute3 := p_saev_rec2.attribute3;
27 l_saev_rec.attribute4 := p_saev_rec2.attribute4;
28 l_saev_rec.attribute5 := p_saev_rec2.attribute5;
29 l_saev_rec.attribute6 := p_saev_rec2.attribute6;
30 l_saev_rec.attribute7 := p_saev_rec2.attribute7;
31 l_saev_rec.attribute8 := p_saev_rec2.attribute8;
32 l_saev_rec.attribute9 := p_saev_rec2.attribute9;
33 l_saev_rec.attribute10 := p_saev_rec2.attribute10;
34 l_saev_rec.attribute11 := p_saev_rec2.attribute11;
35 l_saev_rec.attribute12 := p_saev_rec2.attribute12;
36 l_saev_rec.attribute13 := p_saev_rec2.attribute13;
37 l_saev_rec.attribute14 := p_saev_rec2.attribute14;
38 l_saev_rec.attribute15 := p_saev_rec2.attribute15;
39 RETURN (l_saev_rec);
40 END migrate_saev;
41
42 --migrate std art classings
43 FUNCTION migrate_sacv(p_sacv_rec1 IN sacv_rec_type,
44 p_sacv_rec2 IN sacv_rec_type)
45 RETURN sacv_rec_type IS
46 l_sacv_rec sacv_rec_type;
47 BEGIN
48 l_sacv_rec.id := p_sacv_rec1.id;
49 l_sacv_rec.object_version_number := p_sacv_rec1.object_version_number;
50 l_sacv_rec.created_by := p_sacv_rec1.created_by;
51 l_sacv_rec.creation_date := p_sacv_rec1.creation_date;
52 l_sacv_rec.last_updated_by := p_sacv_rec1.last_updated_by;
53 l_sacv_rec.last_update_date := p_sacv_rec1.last_update_date;
54 l_sacv_rec.last_update_login := p_sacv_rec1.last_update_login;
55 l_sacv_rec.sat_code := p_sacv_rec2.sat_code;
56 l_sacv_rec.price_type := p_sacv_rec2.price_type;
57 l_sacv_rec.scs_code := p_sacv_rec2.scs_code;
58 RETURN (l_sacv_rec);
59 END migrate_sacv;
60
61 --migrate std art incmpts
62 FUNCTION migrate_saiv(p_saiv_rec1 IN saiv_rec_type,
63 p_saiv_rec2 IN saiv_rec_type)
64 RETURN saiv_rec_type IS
65 l_saiv_rec saiv_rec_type;
66 BEGIN
67 l_saiv_rec.object_version_number := p_saiv_rec1.object_version_number;
68 l_saiv_rec.created_by := p_saiv_rec1.created_by;
69 l_saiv_rec.creation_date := p_saiv_rec1.creation_date;
70 l_saiv_rec.last_updated_by := p_saiv_rec1.last_updated_by;
71 l_saiv_rec.last_update_date := p_saiv_rec1.last_update_date;
72 l_saiv_rec.last_update_login := p_saiv_rec1.last_update_login;
73 l_saiv_rec.sae_id := p_saiv_rec2.sae_id;
74 l_saiv_rec.sae_id_for := p_saiv_rec2.sae_id_for;
75 RETURN (l_saiv_rec);
76 END migrate_saiv;
77
78 --migrate std article version
79 FUNCTION migrate_savv(p_savv_rec1 IN savv_rec_type,
80 p_savv_rec2 IN savv_rec_type)
81 RETURN savv_rec_type IS
82 l_savv_rec savv_rec_type;
83 BEGIN
84 l_savv_rec.object_version_number := p_savv_rec1.object_version_number;
85 l_savv_rec.created_by := p_savv_rec1.created_by;
86 l_savv_rec.creation_date := p_savv_rec1.creation_date;
87 l_savv_rec.last_updated_by := p_savv_rec1.last_updated_by;
88 l_savv_rec.last_update_date := p_savv_rec1.last_update_date;
89 l_savv_rec.last_update_login := p_savv_rec1.last_update_login;
90 l_savv_rec.sfwt_flag := p_savv_rec2.sfwt_flag;
91 l_savv_rec.sae_id := p_savv_rec2.sae_id;
92 l_savv_rec.sav_release := p_savv_rec2.sav_release;
93 l_savv_rec.date_active := p_savv_rec2.date_active;
94 l_savv_rec.text := p_savv_rec2.text;
95 l_savv_rec.short_description := p_savv_rec2.short_description;
96 l_savv_rec.attribute_category := p_savv_rec2.attribute_category;
97 l_savv_rec.attribute1 := p_savv_rec2.attribute1;
98 l_savv_rec.attribute2 := p_savv_rec2.attribute2;
99 l_savv_rec.attribute3 := p_savv_rec2.attribute3;
100 l_savv_rec.attribute4 := p_savv_rec2.attribute4;
101 l_savv_rec.attribute5 := p_savv_rec2.attribute5;
102 l_savv_rec.attribute6 := p_savv_rec2.attribute6;
103 l_savv_rec.attribute7 := p_savv_rec2.attribute7;
104 l_savv_rec.attribute8 := p_savv_rec2.attribute8;
105 l_savv_rec.attribute9 := p_savv_rec2.attribute9;
106 l_savv_rec.attribute10 := p_savv_rec2.attribute10;
107 l_savv_rec.attribute11 := p_savv_rec2.attribute11;
108 l_savv_rec.attribute12 := p_savv_rec2.attribute12;
109 l_savv_rec.attribute13 := p_savv_rec2.attribute13;
110 l_savv_rec.attribute14 := p_savv_rec2.attribute14;
111 l_savv_rec.attribute15 := p_savv_rec2.attribute15;
112 RETURN (l_savv_rec);
113 END migrate_savv;
114
115
116 --migrate std art set mems
117 FUNCTION migrate_samv(p_samv_rec1 IN samv_rec_type,
118 p_samv_rec2 IN samv_rec_type)
119 RETURN samv_rec_type IS
120 l_samv_rec samv_rec_type;
121 BEGIN
122 l_samv_rec.object_version_number := p_samv_rec1.object_version_number;
123 l_samv_rec.created_by := p_samv_rec1.created_by;
124 l_samv_rec.creation_date := p_samv_rec1.creation_date;
125 l_samv_rec.last_updated_by := p_samv_rec1.last_updated_by;
126 l_samv_rec.last_update_date := p_samv_rec1.last_update_date;
127 l_samv_rec.last_update_login := p_samv_rec1.last_update_login;
128 l_samv_rec.sae_id := p_samv_rec2.sae_id;
129 l_samv_rec.sat_code := p_samv_rec2.sat_code;
130 RETURN (l_samv_rec);
131 END migrate_samv;
132 --Procedures pertaining to Setting up of a standard Article
133
134 PROCEDURE add_language IS
135 BEGIN
136 OKC_STD_ARTICLE_PVT.add_language;
137 END add_language;
138
139 --Procedures pertaining to Std Article Objects
140
141 PROCEDURE Create_std_article(
142 p_api_version IN NUMBER,
143 p_init_msg_list IN VARCHAR2 ,
144 x_return_status OUT NOCOPY VARCHAR2,
145 x_msg_count OUT NOCOPY NUMBER,
146 x_msg_data OUT NOCOPY VARCHAR2,
147 p_saev_rec IN saev_rec_type,
148 p_savv_tbl IN savv_tbl_type,
149 p_saiv_tbl IN saiv_tbl_type,
150 p_samv_tbl IN samv_tbl_type,
151 x_saev_rec OUT NOCOPY saev_rec_type,
152 x_savv_tbl OUT NOCOPY savv_tbl_type,
153 x_saiv_tbl OUT NOCOPY saiv_tbl_type,
154 x_samv_tbl OUT NOCOPY samv_tbl_type) IS
155 BEGIN
156 x_return_status := OKC_API.G_RET_STS_SUCCESS;
157 OKC_STD_ARTICLE_PVT.create_std_article(
158 p_api_version => p_api_version,
159 p_init_msg_list => p_init_msg_list,
160 x_return_status => x_return_status,
161 x_msg_count => x_msg_count,
162 x_msg_data => x_msg_data,
163 p_saev_rec => p_saev_rec,
164 p_savv_tbl => p_savv_tbl,
165 p_saiv_tbl => p_saiv_tbl,
166 p_samv_tbl => p_samv_tbl,
167 x_saev_rec => x_saev_rec,
168 x_savv_tbl => x_savv_tbl,
169 x_saiv_tbl => x_saiv_tbl,
170 x_samv_tbl => x_samv_tbl);
171
172 EXCEPTION
173 WHEN OTHERS THEN
174 OKC_API.set_message(p_app_name => g_app_name,
175 p_msg_name => g_unexpected_error,
176 p_token1 => g_sqlcode_token,
177 p_token1_value => sqlcode,
178 p_token2 => g_sqlerrm_token,
179 p_token2_value => sqlerrm);
180 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
181 END Create_std_article;
182
183
184
185 PROCEDURE Update_std_article(
186 p_api_version IN NUMBER,
187 p_init_msg_list IN VARCHAR2 ,
188 x_return_status OUT NOCOPY VARCHAR2,
189 x_msg_count OUT NOCOPY NUMBER,
190 x_msg_data OUT NOCOPY VARCHAR2,
191 p_saev_rec IN saev_rec_type,
192 p_savv_tbl IN savv_tbl_type,
193 p_saiv_tbl IN saiv_tbl_type,
194 p_samv_tbl IN samv_tbl_type,
195 x_saev_rec OUT NOCOPY saev_rec_type,
196 x_savv_tbl OUT NOCOPY savv_tbl_type,
197 x_saiv_tbl OUT NOCOPY saiv_tbl_type,
198 x_samv_tbl OUT NOCOPY samv_tbl_type) IS
199 BEGIN
200 x_return_status := OKC_API.G_RET_STS_SUCCESS;
201 OKC_STD_ARTICLE_PVT.update_std_article(
202 p_api_version => p_api_version,
203 p_init_msg_list => p_init_msg_list,
204 x_return_status => x_return_status,
205 x_msg_count => x_msg_count,
206 x_msg_data => x_msg_data,
207 p_saev_rec => p_saev_rec,
208 p_savv_tbl => p_savv_tbl,
209 p_saiv_tbl => p_saiv_tbl,
210 p_samv_tbl => p_samv_tbl,
211 x_saev_rec => x_saev_rec,
212 x_savv_tbl => x_savv_tbl,
213 x_saiv_tbl => x_saiv_tbl,
214 x_samv_tbl => x_samv_tbl);
215
216 EXCEPTION
217 WHEN OTHERS THEN
218 OKC_API.set_message(p_app_name => g_app_name,
219 p_msg_name => g_unexpected_error,
220 p_token1 => g_sqlcode_token,
221 p_token1_value => sqlcode,
222 p_token2 => g_sqlerrm_token,
223 p_token2_value => sqlerrm);
224 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
225 END Update_std_article;
226
227
228
229 PROCEDURE Validate_std_article(
230 p_api_version IN NUMBER,
231 p_init_msg_list IN VARCHAR2 ,
232 x_return_status OUT NOCOPY VARCHAR2,
233 x_msg_count OUT NOCOPY NUMBER,
234 x_msg_data OUT NOCOPY VARCHAR2,
235 p_saev_rec IN saev_rec_type,
236 p_savv_tbl IN savv_tbl_type,
237 p_saiv_tbl IN saiv_tbl_type,
238 p_samv_tbl IN samv_tbl_type) IS
239 BEGIN
240 x_return_status := OKC_API.G_RET_STS_SUCCESS;
241 OKC_STD_ARTICLE_PVT.validate_std_article(
242 p_api_version => p_api_version,
243 p_init_msg_list => p_init_msg_list,
244 x_return_status => x_return_status,
245 x_msg_count => x_msg_count,
246 x_msg_data => x_msg_data,
247 p_saev_rec => p_saev_rec,
248 p_savv_tbl => p_savv_tbl,
249 p_saiv_tbl => p_saiv_tbl,
250 p_samv_tbl => p_samv_tbl);
251
252 EXCEPTION
253 WHEN OTHERS THEN
254 OKC_API.set_message(p_app_name => g_app_name,
255 p_msg_name => g_unexpected_error,
256 p_token1 => g_sqlcode_token,
257 p_token1_value => sqlcode,
258 p_token2 => g_sqlerrm_token,
259 p_token2_value => sqlerrm);
260 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
261
262 END Validate_std_article;
263
264
265
266 PROCEDURE Create_std_article(
267 p_api_version IN NUMBER,
268 p_init_msg_list IN VARCHAR2 ,
269 x_return_status OUT NOCOPY VARCHAR2,
270 x_msg_count OUT NOCOPY NUMBER,
271 x_msg_data OUT NOCOPY VARCHAR2,
272 p_saev_rec IN saev_rec_type,
273 x_saev_rec OUT NOCOPY saev_rec_type) IS
274 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
275 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_STD_ARTICLE';
276 l_saev_rec saev_rec_type := p_saev_rec;
277 BEGIN
278 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
279 p_init_msg_list,
280 '_PUB',
281 x_return_status);
282 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
283 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
284 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
285 raise OKC_API.G_EXCEPTION_ERROR;
286 END IF;
287 -- Call user hook for BEFORE
288 g_saev_rec := l_saev_rec;
289 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
290 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
291 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
292 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
293 raise OKC_API.G_EXCEPTION_ERROR;
294 END IF;
295 l_saev_rec := migrate_saev(l_saev_rec, g_saev_rec);
296
297 OKC_STD_ARTICLE_PVT.create_std_article(
298 p_api_version => p_api_version,
299 p_init_msg_list => p_init_msg_list,
300 x_return_status => x_return_status,
301 x_msg_count => x_msg_count,
302 x_msg_data => x_msg_data,
303 p_saev_rec => l_saev_rec,
304 x_saev_rec => x_saev_rec);
305
306 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
307 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
308 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
309 raise OKC_API.G_EXCEPTION_ERROR;
310 END IF;
311
312 -- Call user hook for AFTER
313 g_saev_rec := x_saev_rec;
314 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
315 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
316 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
317 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
318 raise OKC_API.G_EXCEPTION_ERROR;
319 END IF;
320 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
321 EXCEPTION
322 WHEN OKC_API.G_EXCEPTION_ERROR THEN
323 x_return_status := OKC_API.HANDLE_EXCEPTIONS
324 (l_api_name,
325 G_PKG_NAME,
326 'OKC_API.G_RET_STS_ERROR',
327 x_msg_count,
328 x_msg_data,
329 '_PUB');
330 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
331 x_return_status := OKC_API.HANDLE_EXCEPTIONS
332 (l_api_name,
333 G_PKG_NAME,
334 'OKC_API.G_RET_STS_UNEXP_ERROR',
335 x_msg_count,
336 x_msg_data,
337 '_PUB');
338 WHEN OTHERS THEN
339 x_return_status := OKC_API.HANDLE_EXCEPTIONS
340 (l_api_name,
341 G_PKG_NAME,
342 'OTHERS',
343 x_msg_count,
344 x_msg_data,
345 '_PUB');
346 END Create_std_article;
347
348 PROCEDURE Create_std_article(
349 p_api_version IN NUMBER,
350 p_init_msg_list IN VARCHAR2 ,
351 x_return_status OUT NOCOPY VARCHAR2,
352 x_msg_count OUT NOCOPY NUMBER,
353 x_msg_data OUT NOCOPY VARCHAR2,
354 p_saev_tbl IN saev_tbl_type,
355 x_saev_tbl OUT NOCOPY saev_tbl_type) IS
356 i NUMBER := 0;
357 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
358
359 BEGIN
360 x_return_status := OKC_API.G_RET_STS_SUCCESS;
361 IF p_saev_tbl.COUNT > 0 THEN
362 i := p_saev_tbl.FIRST;
363 LOOP
364 create_std_article(
365 p_api_version => p_api_version,
366 p_init_msg_list => p_init_msg_list,
367 x_return_status => x_return_status,
368 x_msg_count => x_msg_count,
369 x_msg_data => x_msg_data,
370 p_saev_rec => p_saev_tbl(i),
371 x_saev_rec => x_saev_tbl(i));
372 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
373 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
374 x_return_status := l_return_status;
375 raise G_EXCEPTION_HALT_PROCESSING;
376 ELSE
377 x_return_status := l_return_status;
378 END IF;
379 END IF;
380 EXIT WHEN (i = p_saev_tbl.LAST);
381 i := p_saev_tbl.NEXT(i);
382 END LOOP;
383 END IF;
384 EXCEPTION
385 WHEN G_EXCEPTION_HALT_PROCESSING THEN
386 NULL;
387 WHEN OTHERS THEN
388 OKC_API.set_message(p_app_name => g_app_name,
389 p_msg_name => g_unexpected_error,
390 p_token1 => g_sqlcode_token,
391 p_token1_value => sqlcode,
392 p_token2 => g_sqlerrm_token,
393 p_token2_value => sqlerrm);
394 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
395 END Create_std_article;
396
397
398 PROCEDURE update_std_article(
399 p_api_version IN NUMBER,
400 p_init_msg_list IN VARCHAR2 ,
401 x_return_status OUT NOCOPY VARCHAR2,
402 x_msg_count OUT NOCOPY NUMBER,
403 x_msg_data OUT NOCOPY VARCHAR2,
404 p_saev_rec IN saev_rec_type,
405 x_saev_rec OUT NOCOPY saev_rec_type) IS
406 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
407 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_STD_ARTICLE';
408 l_saev_rec saev_rec_type := p_saev_rec;
409 BEGIN
410 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
411 p_init_msg_list,
412 '_PUB',
413 x_return_status);
414 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
415 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
416 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
417 raise OKC_API.G_EXCEPTION_ERROR;
418 END IF;
419 -- Call user hook for BEFORE
420 g_saev_rec := l_saev_rec;
421 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
422 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
423 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
424 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
425 raise OKC_API.G_EXCEPTION_ERROR;
426 END IF;
427 l_saev_rec := migrate_saev(l_saev_rec, g_saev_rec);
428
429 OKC_STD_ARTICLE_PVT.update_std_article(
430 p_api_version => p_api_version,
431 p_init_msg_list => p_init_msg_list,
432 x_return_status => x_return_status,
433 x_msg_count => x_msg_count,
434 x_msg_data => x_msg_data,
435 p_saev_rec => l_saev_rec,
436 x_saev_rec => x_saev_rec);
437
438 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
439 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
440 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
441 raise OKC_API.G_EXCEPTION_ERROR;
442 END IF;
443
444 -- Call user hook for AFTER
445 g_saev_rec := x_saev_rec;
446 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
447 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
448 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
449 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
450 raise OKC_API.G_EXCEPTION_ERROR;
451 END IF;
452 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
453 EXCEPTION
454 WHEN OKC_API.G_EXCEPTION_ERROR THEN
455 x_return_status := OKC_API.HANDLE_EXCEPTIONS
456 (l_api_name,
457 G_PKG_NAME,
458 'OKC_API.G_RET_STS_ERROR',
459 x_msg_count,
460 x_msg_data,
461 '_PUB');
462 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
463 x_return_status := OKC_API.HANDLE_EXCEPTIONS
464 (l_api_name,
465 G_PKG_NAME,
466 'OKC_API.G_RET_STS_UNEXP_ERROR',
467 x_msg_count,
468 x_msg_data,
469 '_PUB');
470 WHEN OTHERS THEN
471 x_return_status := OKC_API.HANDLE_EXCEPTIONS
472 (l_api_name,
473 G_PKG_NAME,
474 'OTHERS',
475 x_msg_count,
476 x_msg_data,
477 '_PUB');
478 END update_std_article;
479
480
481 PROCEDURE update_std_article(
482 p_api_version IN NUMBER,
483 p_init_msg_list IN VARCHAR2 ,
484 x_return_status OUT NOCOPY VARCHAR2,
485 x_msg_count OUT NOCOPY NUMBER,
486 x_msg_data OUT NOCOPY VARCHAR2,
487 p_saev_tbl IN saev_tbl_type,
488 x_saev_tbl OUT NOCOPY saev_tbl_type) IS
489 i NUMBER := 0;
490 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
491
492 BEGIN
493 x_return_status := OKC_API.G_RET_STS_SUCCESS;
494 IF p_saev_tbl.COUNT > 0 THEN
495 i := p_saev_tbl.FIRST;
496 LOOP
497 update_std_article(
498 p_api_version => p_api_version,
499 p_init_msg_list => p_init_msg_list,
500 x_return_status => l_return_status,
501 x_msg_count => x_msg_count,
502 x_msg_data => x_msg_data,
503 p_saev_rec => p_saev_tbl(i),
504 x_saev_rec => x_saev_tbl(i));
505 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
506 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
507 x_return_status := l_return_status;
508 raise G_EXCEPTION_HALT_PROCESSING;
509 ELSE
510 x_return_status := l_return_status;
511 END IF;
512 END IF;
513 EXIT WHEN (i = p_saev_tbl.LAST);
514 i := p_saev_tbl.NEXT(i);
515 END LOOP;
516 END IF;
517 EXCEPTION
518 WHEN G_EXCEPTION_HALT_PROCESSING THEN
519 NULL;
520 WHEN OTHERS THEN
521 OKC_API.set_message(p_app_name => g_app_name,
522 p_msg_name => g_unexpected_error,
523 p_token1 => g_sqlcode_token,
524 p_token1_value => sqlcode,
525 p_token2 => g_sqlerrm_token,
526 p_token2_value => sqlerrm);
527 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
528 END update_std_article;
529
530
531
532 PROCEDURE delete_std_article(
533 p_api_version IN NUMBER,
534 p_init_msg_list IN VARCHAR2 ,
535 x_return_status OUT NOCOPY VARCHAR2,
536 x_msg_count OUT NOCOPY NUMBER,
537 x_msg_data OUT NOCOPY VARCHAR2,
538 p_saev_rec IN saev_rec_type) IS
539 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
540 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_STD_ARTICLE';
541 l_saev_rec saev_rec_type := p_saev_rec;
542 BEGIN
543 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
544 p_init_msg_list,
545 '_PUB',
546 x_return_status);
547 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
548 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
549 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
550 raise OKC_API.G_EXCEPTION_ERROR;
551 END IF;
552 -- Call user hook for BEFORE
553 g_saev_rec := l_saev_rec;
554 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
555 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
556 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
557 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
558 raise OKC_API.G_EXCEPTION_ERROR;
559 END IF;
560 OKC_STD_ARTICLE_PVT.delete_std_article(
561 p_api_version => p_api_version,
562 p_init_msg_list => p_init_msg_list,
563 x_return_status => x_return_status,
564 x_msg_count => x_msg_count,
565 x_msg_data => x_msg_data,
566 p_saev_rec => l_saev_rec);
567
568 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
569 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
570 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
571 raise OKC_API.G_EXCEPTION_ERROR;
572 END IF;
573
574 -- Call user hook for AFTER
575 g_saev_rec := l_saev_rec;
576 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
577 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
578 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
579 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
580 raise OKC_API.G_EXCEPTION_ERROR;
581 END IF;
582 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
583 EXCEPTION
584 WHEN OKC_API.G_EXCEPTION_ERROR THEN
585 x_return_status := OKC_API.HANDLE_EXCEPTIONS
586 (l_api_name,
587 G_PKG_NAME,
588 'OKC_API.G_RET_STS_ERROR',
589 x_msg_count,
590 x_msg_data,
591 '_PUB');
592 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
593 x_return_status := OKC_API.HANDLE_EXCEPTIONS
594 (l_api_name,
595 G_PKG_NAME,
596 'OKC_API.G_RET_STS_UNEXP_ERROR',
597 x_msg_count,
598 x_msg_data,
599 '_PUB');
600 WHEN OTHERS THEN
601 x_return_status := OKC_API.HANDLE_EXCEPTIONS
602 (l_api_name,
603 G_PKG_NAME,
604 'OTHERS',
605 x_msg_count,
606 x_msg_data,
607 '_PUB');
608 END delete_std_article;
609
610 PROCEDURE delete_std_article(
611 p_api_version IN NUMBER,
612 p_init_msg_list IN VARCHAR2 ,
613 x_return_status OUT NOCOPY VARCHAR2,
614 x_msg_count OUT NOCOPY NUMBER,
615 x_msg_data OUT NOCOPY VARCHAR2,
616 p_saev_tbl IN saev_tbl_type) IS
617 i NUMBER := 0;
618 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
619
620 BEGIN
621 x_return_status := OKC_API.G_RET_STS_SUCCESS;
622 IF p_saev_tbl.COUNT > 0 THEN
623 i := p_saev_tbl.FIRST;
624 LOOP
625 delete_std_article(
626 p_api_version => p_api_version,
627 p_init_msg_list => p_init_msg_list,
628 x_return_status => l_return_status,
629 x_msg_count => x_msg_count,
630 x_msg_data => x_msg_data,
631 p_saev_rec => p_saev_tbl(i));
632 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
633 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
634 x_return_status := l_return_status;
635 raise G_EXCEPTION_HALT_PROCESSING;
636 ELSE
637 x_return_status := l_return_status;
638 END IF;
639 END IF;
640 EXIT WHEN (i = p_saev_tbl.LAST);
641 i := p_saev_tbl.NEXT(i);
642 END LOOP;
643 END IF;
644 EXCEPTION
645 WHEN G_EXCEPTION_HALT_PROCESSING THEN
646 NULL;
647 WHEN OTHERS THEN
648 OKC_API.set_message(p_app_name => g_app_name,
649 p_msg_name => g_unexpected_error,
650 p_token1 => g_sqlcode_token,
651 p_token1_value => sqlcode,
652 p_token2 => g_sqlerrm_token,
653 p_token2_value => sqlerrm);
654 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
655 END delete_std_article;
656
657
658 PROCEDURE validate_std_article(
659 p_api_version IN NUMBER,
660 p_init_msg_list IN VARCHAR2 ,
661 x_return_status OUT NOCOPY VARCHAR2,
662 x_msg_count OUT NOCOPY NUMBER,
663 x_msg_data OUT NOCOPY VARCHAR2,
664 p_saev_rec IN saev_rec_type) IS
665 BEGIN
666
667 OKC_STD_ARTICLE_PVT.validate_std_article(
668 p_api_version => p_api_version,
669 p_init_msg_list => p_init_msg_list,
670 x_return_status => x_return_status,
671 x_msg_count => x_msg_count,
672 x_msg_data => x_msg_data,
673 p_saev_rec => p_saev_rec);
674
675
676 END validate_std_article;
677
678 PROCEDURE validate_std_article(
679 p_api_version IN NUMBER,
680 p_init_msg_list IN VARCHAR2 ,
681 x_return_status OUT NOCOPY VARCHAR2,
682 x_msg_count OUT NOCOPY NUMBER,
683 x_msg_data OUT NOCOPY VARCHAR2,
684 p_saev_tbl IN saev_tbl_type) IS
685 i NUMBER := 0;
686 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
687
688 BEGIN
689 x_return_status := OKC_API.G_RET_STS_SUCCESS;
690 IF p_saev_tbl.COUNT > 0 THEN
691 i := p_saev_tbl.FIRST;
692 LOOP
693 validate_std_article(
694 p_api_version => p_api_version,
695 p_init_msg_list => p_init_msg_list,
696 x_return_status => l_return_status,
697 x_msg_count => x_msg_count,
698 x_msg_data => x_msg_data,
699 p_saev_rec => p_saev_tbl(i));
700 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
701 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
702 x_return_status := l_return_status;
703 raise G_EXCEPTION_HALT_PROCESSING;
704 ELSE
705 x_return_status := l_return_status;
706 END IF;
707 END IF;
708 EXIT WHEN (i = p_saev_tbl.LAST);
709 i := p_saev_tbl.NEXT(i);
710 END LOOP;
711 END IF;
712 EXCEPTION
713 WHEN G_EXCEPTION_HALT_PROCESSING THEN
714 NULL;
715 WHEN OTHERS THEN
716 OKC_API.set_message(p_app_name => g_app_name,
717 p_msg_name => g_unexpected_error,
718 p_token1 => g_sqlcode_token,
719 p_token1_value => sqlcode,
720 p_token2 => g_sqlerrm_token,
721 p_token2_value => sqlerrm);
722 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
723 END validate_std_article;
724
725
726 PROCEDURE lock_std_article(
727 p_api_version IN NUMBER,
728 p_init_msg_list IN VARCHAR2 ,
729 x_return_status OUT NOCOPY VARCHAR2,
730 x_msg_count OUT NOCOPY NUMBER,
731 x_msg_data OUT NOCOPY VARCHAR2,
732 p_saev_rec IN saev_rec_type) IS
733 BEGIN
734 OKC_STD_ARTICLE_PVT.lock_std_article(
735 p_api_version => p_api_version,
736 p_init_msg_list => p_init_msg_list,
737 x_return_status => x_return_status,
738 x_msg_count => x_msg_count,
739 x_msg_data => x_msg_data,
740 p_saev_rec => p_saev_rec);
741
742 END lock_std_article;
743
744
745 PROCEDURE lock_std_article(
746 p_api_version IN NUMBER,
747 p_init_msg_list IN VARCHAR2 ,
748 x_return_status OUT NOCOPY VARCHAR2,
749 x_msg_count OUT NOCOPY NUMBER,
750 x_msg_data OUT NOCOPY VARCHAR2,
751 p_saev_tbl IN saev_tbl_type) IS
752 i NUMBER := 0;
753 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
754
755 BEGIN
756 x_return_status := OKC_API.G_RET_STS_SUCCESS;
757 IF p_saev_tbl.COUNT > 0 THEN
758 i := p_saev_tbl.FIRST;
759 LOOP
760 lock_std_article(
761 p_api_version => p_api_version,
762 p_init_msg_list => p_init_msg_list,
763 x_return_status => l_return_status,
764 x_msg_count => x_msg_count,
765 x_msg_data => x_msg_data,
766 p_saev_rec => p_saev_tbl(i));
767 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
768 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
769 x_return_status := l_return_status;
770 raise G_EXCEPTION_HALT_PROCESSING;
771 ELSE
772 x_return_status := l_return_status;
773 END IF;
774 END IF;
775 EXIT WHEN (i = p_saev_tbl.LAST);
776 i := p_saev_tbl.NEXT(i);
777 END LOOP;
778 END IF;
779 EXCEPTION
780 WHEN G_EXCEPTION_HALT_PROCESSING THEN
781 NULL;
782 WHEN OTHERS THEN
783 OKC_API.set_message(p_app_name => g_app_name,
784 p_msg_name => g_unexpected_error,
785 p_token1 => g_sqlcode_token,
786 p_token1_value => sqlcode,
787 p_token2 => g_sqlerrm_token,
788 p_token2_value => sqlerrm);
789 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
790 END lock_std_article;
791
792
793 PROCEDURE validate_name(
794 p_api_version IN NUMBER,
795 p_init_msg_list IN VARCHAR2 ,
796 x_return_status OUT NOCOPY VARCHAR2,
797 x_msg_count OUT NOCOPY NUMBER,
798 x_msg_data OUT NOCOPY VARCHAR2,
799 p_saev_rec IN saev_rec_type) IS
800 BEGIN
801 OKC_STD_ARTICLE_PVT.Validate_Name(p_api_version => p_api_version,
802 p_init_msg_list => p_init_msg_list,
803 x_return_status => x_return_status,
804 x_msg_count => x_msg_count,
805 x_msg_data => x_msg_data,
806 p_saev_rec => p_saev_rec);
807
808 End Validate_name;
809
810 PROCEDURE validate_name(
811 p_api_version IN NUMBER,
812 p_init_msg_list IN VARCHAR2 ,
813 x_return_status OUT NOCOPY VARCHAR2,
814 x_msg_count OUT NOCOPY NUMBER,
815 x_msg_data OUT NOCOPY VARCHAR2,
816 p_saev_tbl IN saev_tbl_type) IS
817
818 i NUMBER := 0;
819 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
820
821 BEGIN
822 x_return_status := OKC_API.G_RET_STS_SUCCESS;
823 IF p_saev_tbl.COUNT > 0 THEN
824 i := p_saev_tbl.FIRST;
825 LOOP
826 Validate_Name(p_api_version => p_api_version,
827 p_init_msg_list => p_init_msg_list,
828 x_return_status => l_return_status,
829 x_msg_count => x_msg_count,
830 x_msg_data => x_msg_data,
831 p_saev_rec => p_saev_tbl(i));
832
833 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
834 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
835 x_return_status := l_return_status;
836 raise G_EXCEPTION_HALT_PROCESSING;
837 ELSE
838 x_return_status := l_return_status;
839 END IF;
840 END IF;
841 EXIT WHEN (i = p_saev_tbl.LAST);
842 i := p_saev_tbl.NEXT(i);
843 END LOOP;
844 END IF;
845 EXCEPTION
846 WHEN G_EXCEPTION_HALT_PROCESSING THEN
847 NULL;
848 WHEN OTHERS THEN
849 OKC_API.set_message(p_app_name => g_app_name,
850 p_msg_name => g_unexpected_error,
851 p_token1 => g_sqlcode_token,
852 p_token1_value => sqlcode,
853 p_token2 => g_sqlerrm_token,
854 p_token2_value => sqlerrm);
855 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
856 End Validate_name;
857
858 PROCEDURE validate_no_k_attached(
859 p_saev_rec IN saev_rec_type,
860 x_return_status OUT NOCOPY VARCHAR2) IS
861 BEGIN
862 OKC_STD_ARTICLE_PVT.Validate_no_k_attached(
863 x_return_status => x_return_status,
864 p_saev_rec => p_saev_rec);
865
866 End Validate_no_k_attached;
867
868 PROCEDURE validate_no_k_attached(
869 p_saev_tbl IN saev_tbl_type,
870 x_return_status OUT NOCOPY VARCHAR2) IS
871
872 i NUMBER := 0;
873 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
874
875 BEGIN
876 x_return_status := OKC_API.G_RET_STS_SUCCESS;
877 IF p_saev_tbl.COUNT > 0 THEN
878 i := p_saev_tbl.FIRST;
879 LOOP
880 Validate_no_k_attached(
881 x_return_status => l_return_status,
882 p_saev_rec => p_saev_tbl(i));
883
884 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
885 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
886 x_return_status := l_return_status;
887 raise G_EXCEPTION_HALT_PROCESSING;
888 ELSE
889 x_return_status := l_return_status;
890 END IF;
891 END IF;
892 EXIT WHEN (i = p_saev_tbl.LAST);
893 i := p_saev_tbl.NEXT(i);
894 END LOOP;
895 END IF;
896 EXCEPTION
897 WHEN G_EXCEPTION_HALT_PROCESSING THEN
898 NULL;
899 WHEN OTHERS THEN
900 OKC_API.set_message(p_app_name => g_app_name,
901 p_msg_name => g_unexpected_error,
902 p_token1 => g_sqlcode_token,
903 p_token1_value => sqlcode,
904 p_token2 => g_sqlerrm_token,
905 p_token2_value => sqlerrm);
906 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
907
908 End Validate_no_k_attached;
909
910 PROCEDURE Create_std_art_version(
911 p_api_version IN NUMBER,
912 p_init_msg_list IN VARCHAR2 ,
913 x_return_status OUT NOCOPY VARCHAR2,
914 x_msg_count OUT NOCOPY NUMBER,
915 x_msg_data OUT NOCOPY VARCHAR2,
916 p_savv_rec IN savv_rec_type,
917 x_savv_rec OUT NOCOPY savv_rec_type) IS
918 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
919 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_STD_ART_VERSION';
920 l_savv_rec savv_rec_type := p_savv_rec;
921 BEGIN
922 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
923 p_init_msg_list,
924 '_PUB',
925 x_return_status);
926 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
927 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
928 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
929 raise OKC_API.G_EXCEPTION_ERROR;
930 END IF;
931 -- Call user hook for BEFORE
932 g_savv_rec := l_savv_rec;
933 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
934 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
935 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
936 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
937 raise OKC_API.G_EXCEPTION_ERROR;
938 END IF;
939 l_savv_rec := migrate_savv(l_savv_rec, g_savv_rec);
940
941 OKC_STD_ARTICLE_PVT.create_std_art_version(
942 p_api_version => p_api_version,
943 p_init_msg_list => p_init_msg_list,
944 x_return_status => x_return_status,
945 x_msg_count => x_msg_count,
946 x_msg_data => x_msg_data,
947 p_savv_rec => l_savv_rec,
948 x_savv_rec => x_savv_rec);
949
950 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
951 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
952 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
953 raise OKC_API.G_EXCEPTION_ERROR;
954 END IF;
955
956 -- Call user hook for AFTER
957 g_savv_rec := x_savv_rec;
958 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
959 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
960 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
961 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
962 raise OKC_API.G_EXCEPTION_ERROR;
963 END IF;
964 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
965 EXCEPTION
966 WHEN OKC_API.G_EXCEPTION_ERROR THEN
967 x_return_status := OKC_API.HANDLE_EXCEPTIONS
968 (l_api_name,
969 G_PKG_NAME,
970 'OKC_API.G_RET_STS_ERROR',
971 x_msg_count,
972 x_msg_data,
973 '_PUB');
974 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
975 x_return_status := OKC_API.HANDLE_EXCEPTIONS
976 (l_api_name,
977 G_PKG_NAME,
978 'OKC_API.G_RET_STS_UNEXP_ERROR',
979 x_msg_count,
980 x_msg_data,
981 '_PUB');
982 WHEN OTHERS THEN
983 x_return_status := OKC_API.HANDLE_EXCEPTIONS
984 (l_api_name,
985 G_PKG_NAME,
986 'OTHERS',
987 x_msg_count,
988 x_msg_data,
989 '_PUB');
990 END Create_std_art_version;
991
992
993 PROCEDURE Create_std_art_version(
994 p_api_version IN NUMBER,
995 p_init_msg_list IN VARCHAR2 ,
996 x_return_status OUT NOCOPY VARCHAR2,
997 x_msg_count OUT NOCOPY NUMBER,
998 x_msg_data OUT NOCOPY VARCHAR2,
999 p_savv_tbl IN savv_tbl_type,
1000 x_savv_tbl OUT NOCOPY savv_tbl_type) IS
1001 i NUMBER := 0;
1002 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1003
1004 BEGIN
1005 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1006 IF p_savv_tbl.COUNT > 0 THEN
1007 i := p_savv_tbl.FIRST;
1008 LOOP
1009 create_std_art_version(
1010 p_api_version => p_api_version,
1011 p_init_msg_list => p_init_msg_list,
1012 x_return_status => l_return_status,
1013 x_msg_count => x_msg_count,
1014 x_msg_data => x_msg_data,
1015 p_savv_rec => p_savv_tbl(i),
1016 x_savv_rec => x_savv_tbl(i));
1017 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1018 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1019 x_return_status := l_return_status;
1020 raise G_EXCEPTION_HALT_PROCESSING;
1021 ELSE
1022 x_return_status := l_return_status;
1023 END IF;
1024 END IF;
1025 EXIT WHEN (i = p_savv_tbl.LAST);
1026 i := p_savv_tbl.NEXT(i);
1027 END LOOP;
1028 END IF;
1029 EXCEPTION
1030 WHEN G_EXCEPTION_HALT_PROCESSING THEN
1031 NULL;
1032 WHEN OTHERS THEN
1033 OKC_API.set_message(p_app_name => g_app_name,
1034 p_msg_name => g_unexpected_error,
1035 p_token1 => g_sqlcode_token,
1036 p_token1_value => sqlcode,
1037 p_token2 => g_sqlerrm_token,
1038 p_token2_value => sqlerrm);
1039 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1040 END Create_std_art_version;
1041
1042
1043
1044 PROCEDURE update_std_art_version(
1045 p_api_version IN NUMBER,
1046 p_init_msg_list IN VARCHAR2 ,
1047 x_return_status OUT NOCOPY VARCHAR2,
1048 x_msg_count OUT NOCOPY NUMBER,
1049 x_msg_data OUT NOCOPY VARCHAR2,
1050 p_savv_rec IN savv_rec_type,
1051 x_savv_rec OUT NOCOPY savv_rec_type) IS
1052 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1053 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_STD_ART_VERSION';
1054 l_savv_rec savv_rec_type := p_savv_rec;
1055 BEGIN
1056 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1057 p_init_msg_list,
1058 '_PUB',
1059 x_return_status);
1060 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1061 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1062 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1063 raise OKC_API.G_EXCEPTION_ERROR;
1064 END IF;
1065 -- Call user hook for BEFORE
1066 g_savv_rec := l_savv_rec;
1067 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1068 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1069 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1070 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1071 raise OKC_API.G_EXCEPTION_ERROR;
1072 END IF;
1073 l_savv_rec := migrate_savv(l_savv_rec, g_savv_rec);
1074
1075 OKC_STD_ARTICLE_PVT.update_std_art_version(
1076 p_api_version => p_api_version,
1077 p_init_msg_list => p_init_msg_list,
1078 x_return_status => x_return_status,
1079 x_msg_count => x_msg_count,
1080 x_msg_data => x_msg_data,
1081 p_savv_rec => l_savv_rec,
1082 x_savv_rec => x_savv_rec);
1083
1084 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1085 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1086 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1087 raise OKC_API.G_EXCEPTION_ERROR;
1088 END IF;
1089
1090 -- Call user hook for AFTER
1091 g_savv_rec := x_savv_rec;
1092 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1093 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1094 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1095 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1096 raise OKC_API.G_EXCEPTION_ERROR;
1097 END IF;
1098 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1099 EXCEPTION
1100 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1101 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1102 (l_api_name,
1103 G_PKG_NAME,
1104 'OKC_API.G_RET_STS_ERROR',
1105 x_msg_count,
1106 x_msg_data,
1107 '_PUB');
1108 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1109 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1110 (l_api_name,
1111 G_PKG_NAME,
1112 'OKC_API.G_RET_STS_UNEXP_ERROR',
1113 x_msg_count,
1114 x_msg_data,
1115 '_PUB');
1116 WHEN OTHERS THEN
1117 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1118 (l_api_name,
1119 G_PKG_NAME,
1120 'OTHERS',
1121 x_msg_count,
1122 x_msg_data,
1123 '_PUB');
1124 END update_std_art_version;
1125
1126 PROCEDURE update_std_art_version(
1127 p_api_version IN NUMBER,
1128 p_init_msg_list IN VARCHAR2 ,
1129 x_return_status OUT NOCOPY VARCHAR2,
1130 x_msg_count OUT NOCOPY NUMBER,
1131 x_msg_data OUT NOCOPY VARCHAR2,
1132 p_savv_tbl IN savv_tbl_type,
1133 x_savv_tbl OUT NOCOPY savv_tbl_type) IS
1134 i NUMBER := 0;
1135 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1136
1137 BEGIN
1138 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1139 IF p_savv_tbl.COUNT > 0 THEN
1140 i := p_savv_tbl.FIRST;
1141 LOOP
1142 update_std_art_version(
1143 p_api_version => p_api_version,
1144 p_init_msg_list => p_init_msg_list,
1145 x_return_status => l_return_status,
1146 x_msg_count => x_msg_count,
1147 x_msg_data => x_msg_data,
1148 p_savv_rec => p_savv_tbl(i),
1149 x_savv_rec => x_savv_tbl(i));
1150 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1151 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1152 x_return_status := l_return_status;
1153 raise G_EXCEPTION_HALT_PROCESSING;
1154 ELSE
1155 x_return_status := l_return_status;
1156 END IF;
1157 END IF;
1158 EXIT WHEN (i = p_savv_tbl.LAST);
1159 i := p_savv_tbl.NEXT(i);
1160 END LOOP;
1161 END IF;
1162 EXCEPTION
1163 WHEN G_EXCEPTION_HALT_PROCESSING THEN
1164 NULL;
1165 WHEN OTHERS THEN
1166 OKC_API.set_message(p_app_name => g_app_name,
1167 p_msg_name => g_unexpected_error,
1168 p_token1 => g_sqlcode_token,
1169 p_token1_value => sqlcode,
1170 p_token2 => g_sqlerrm_token,
1171 p_token2_value => sqlerrm);
1172 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1173 END update_std_art_version;
1174
1175
1176 PROCEDURE lock_std_art_version(
1177 p_api_version IN NUMBER,
1178 p_init_msg_list IN VARCHAR2 ,
1179 x_return_status OUT NOCOPY VARCHAR2,
1180 x_msg_count OUT NOCOPY NUMBER,
1181 x_msg_data OUT NOCOPY VARCHAR2,
1182 p_savv_rec IN savv_rec_type) IS
1183 BEGIN
1184 OKC_STD_ARTICLE_PVT.lock_std_art_version(
1185 p_api_version => p_api_version,
1186 p_init_msg_list => p_init_msg_list,
1187 x_return_status => x_return_status,
1188 x_msg_count => x_msg_count,
1189 x_msg_data => x_msg_data,
1190 p_savv_rec => p_savv_rec);
1191
1192 END lock_std_art_version;
1193
1194 PROCEDURE lock_std_art_version(
1195 p_api_version IN NUMBER,
1196 p_init_msg_list IN VARCHAR2 ,
1197 x_return_status OUT NOCOPY VARCHAR2,
1198 x_msg_count OUT NOCOPY NUMBER,
1199 x_msg_data OUT NOCOPY VARCHAR2,
1200 p_savv_tbl IN savv_tbl_type) IS
1201 i NUMBER := 0;
1202 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1203
1204 BEGIN
1205 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1206 IF p_savv_tbl.COUNT > 0 THEN
1207 i := p_savv_tbl.FIRST;
1208 LOOP
1209 lock_std_art_version(
1210 p_api_version => p_api_version,
1211 p_init_msg_list => p_init_msg_list,
1212 x_return_status => l_return_status,
1213 x_msg_count => x_msg_count,
1214 x_msg_data => x_msg_data,
1215 p_savv_rec => p_savv_tbl(i));
1216 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1217 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1218 x_return_status := l_return_status;
1219 raise G_EXCEPTION_HALT_PROCESSING;
1220 ELSE
1221 x_return_status := l_return_status;
1222 END IF;
1223 END IF;
1224 EXIT WHEN (i = p_savv_tbl.LAST);
1225 i := p_savv_tbl.NEXT(i);
1226 END LOOP;
1227 END IF;
1228 EXCEPTION
1229 WHEN G_EXCEPTION_HALT_PROCESSING THEN
1230 NULL;
1231 WHEN OTHERS THEN
1232 OKC_API.set_message(p_app_name => g_app_name,
1233 p_msg_name => g_unexpected_error,
1234 p_token1 => g_sqlcode_token,
1235 p_token1_value => sqlcode,
1236 p_token2 => g_sqlerrm_token,
1237 p_token2_value => sqlerrm);
1238 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1239 END lock_std_art_version;
1240
1241 PROCEDURE delete_std_art_version(
1242 p_api_version IN NUMBER,
1243 p_init_msg_list IN VARCHAR2 ,
1244 x_return_status OUT NOCOPY VARCHAR2,
1245 x_msg_count OUT NOCOPY NUMBER,
1246 x_msg_data OUT NOCOPY VARCHAR2,
1247 p_savv_rec IN savv_rec_type) IS
1248 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1249 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_STD_ART_VERSION';
1250 l_savv_rec savv_rec_type := p_savv_rec;
1251 BEGIN
1252 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1253 p_init_msg_list,
1254 '_PUB',
1255 x_return_status);
1256 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1257 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1258 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1259 raise OKC_API.G_EXCEPTION_ERROR;
1260 END IF;
1261 -- Call user hook for BEFORE
1262 g_savv_rec := l_savv_rec;
1263 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1264 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1265 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1266 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1267 raise OKC_API.G_EXCEPTION_ERROR;
1268 END IF;
1269 l_savv_rec := migrate_savv(l_savv_rec, g_savv_rec);
1270
1271 OKC_STD_ARTICLE_PVT.delete_std_art_version(
1272 p_api_version => p_api_version,
1273 p_init_msg_list => p_init_msg_list,
1274 x_return_status => x_return_status,
1275 x_msg_count => x_msg_count,
1276 x_msg_data => x_msg_data,
1277 p_savv_rec => l_savv_rec);
1278
1279 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1280 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1281 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1282 raise OKC_API.G_EXCEPTION_ERROR;
1283 END IF;
1284
1285 -- Call user hook for AFTER
1286 g_savv_rec := l_savv_rec;
1287 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1288 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1289 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1290 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1291 raise OKC_API.G_EXCEPTION_ERROR;
1292 END IF;
1293 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1294 EXCEPTION
1295 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1296 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1297 (l_api_name,
1298 G_PKG_NAME,
1299 'OKC_API.G_RET_STS_ERROR',
1300 x_msg_count,
1301 x_msg_data,
1302 '_PUB');
1303 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1304 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1305 (l_api_name,
1306 G_PKG_NAME,
1307 'OKC_API.G_RET_STS_UNEXP_ERROR',
1308 x_msg_count,
1309 x_msg_data,
1310 '_PUB');
1311 WHEN OTHERS THEN
1312 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1313 (l_api_name,
1314 G_PKG_NAME,
1315 'OTHERS',
1316 x_msg_count,
1317 x_msg_data,
1318 '_PUB');
1319 END delete_std_art_version;
1320
1321 PROCEDURE delete_std_art_version(
1322 p_api_version IN NUMBER,
1323 p_init_msg_list IN VARCHAR2 ,
1324 x_return_status OUT NOCOPY VARCHAR2,
1325 x_msg_count OUT NOCOPY NUMBER,
1326 x_msg_data OUT NOCOPY VARCHAR2,
1327 p_savv_tbl IN savv_tbl_type) IS
1328 i NUMBER := 0;
1329 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1330
1331 BEGIN
1332 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1333 IF p_savv_tbl.COUNT > 0 THEN
1334 i := p_savv_tbl.FIRST;
1335 LOOP
1336 delete_std_art_version(
1337 p_api_version => p_api_version,
1338 p_init_msg_list => p_init_msg_list,
1339 x_return_status => l_return_status,
1340 x_msg_count => x_msg_count,
1341 x_msg_data => x_msg_data,
1342 p_savv_rec => p_savv_tbl(i));
1343 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1344 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1345 x_return_status := l_return_status;
1346 raise G_EXCEPTION_HALT_PROCESSING;
1347 ELSE
1348 x_return_status := l_return_status;
1349 END IF;
1350 END IF;
1351 EXIT WHEN (i = p_savv_tbl.LAST);
1352 i := p_savv_tbl.NEXT(i);
1353 END LOOP;
1354 END IF;
1355 EXCEPTION
1356 WHEN G_EXCEPTION_HALT_PROCESSING THEN
1357 NULL;
1358 WHEN OTHERS THEN
1359 OKC_API.set_message(p_app_name => g_app_name,
1360 p_msg_name => g_unexpected_error,
1361 p_token1 => g_sqlcode_token,
1362 p_token1_value => sqlcode,
1363 p_token2 => g_sqlerrm_token,
1364 p_token2_value => sqlerrm);
1365 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1366 END delete_std_art_version;
1367
1368 PROCEDURE validate_std_art_version(
1369 p_api_version IN NUMBER,
1370 p_init_msg_list IN VARCHAR2 ,
1371 x_return_status OUT NOCOPY VARCHAR2,
1372 x_msg_count OUT NOCOPY NUMBER,
1373 x_msg_data OUT NOCOPY VARCHAR2,
1374 p_savv_rec IN savv_rec_type) IS
1375 BEGIN
1376
1377 OKC_STD_ARTICLE_PVT.validate_std_art_version(
1378 p_api_version => p_api_version,
1379 p_init_msg_list => p_init_msg_list,
1380 x_return_status => x_return_status,
1381 x_msg_count => x_msg_count,
1382 x_msg_data => x_msg_data,
1383 p_savv_rec => p_savv_rec);
1384
1385
1386 END validate_std_art_version;
1387
1388 PROCEDURE validate_std_art_version(
1389 p_api_version IN NUMBER,
1390 p_init_msg_list IN VARCHAR2 ,
1391 x_return_status OUT NOCOPY VARCHAR2,
1392 x_msg_count OUT NOCOPY NUMBER,
1393 x_msg_data OUT NOCOPY VARCHAR2,
1394 p_savv_tbl IN savv_tbl_type) IS
1395 i NUMBER := 0;
1396 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1397
1398 BEGIN
1399 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1400 IF p_savv_tbl.COUNT > 0 THEN
1401 i := p_savv_tbl.FIRST;
1402 LOOP
1403 validate_std_art_version(
1404 p_api_version => p_api_version,
1405 p_init_msg_list => p_init_msg_list,
1406 x_return_status => l_return_status,
1407 x_msg_count => x_msg_count,
1408 x_msg_data => x_msg_data,
1409 p_savv_rec => p_savv_tbl(i));
1410 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1411 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1412 x_return_status := l_return_status;
1413 raise G_EXCEPTION_HALT_PROCESSING;
1414 ELSE
1415 x_return_status := l_return_status;
1416 END IF;
1417 END IF;
1418 EXIT WHEN (i = p_savv_tbl.LAST);
1419 i := p_savv_tbl.NEXT(i);
1420 END LOOP;
1421 END IF;
1422 EXCEPTION
1423 WHEN G_EXCEPTION_HALT_PROCESSING THEN
1424 NULL;
1425 WHEN OTHERS THEN
1426 OKC_API.set_message(p_app_name => g_app_name,
1427 p_msg_name => g_unexpected_error,
1428 p_token1 => g_sqlcode_token,
1429 p_token1_value => sqlcode,
1430 p_token2 => g_sqlerrm_token,
1431 p_token2_value => sqlerrm);
1432 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1433 END validate_std_art_version;
1434
1435 PROCEDURE validate_sav_release(
1436 p_api_version IN NUMBER,
1437 p_init_msg_list IN VARCHAR2 ,
1438 x_return_status OUT NOCOPY VARCHAR2,
1439 x_msg_count OUT NOCOPY NUMBER,
1440 x_msg_data OUT NOCOPY VARCHAR2,
1441 p_savv_rec IN savv_rec_type) IS
1442 BEGIN
1443 OKC_STD_ARTICLE_PVT.Validate_sav_release(p_api_version => p_api_version,
1444 p_init_msg_list => p_init_msg_list,
1445 x_return_status => x_return_status,
1446 x_msg_count => x_msg_count,
1447 x_msg_data => x_msg_data,
1448 p_savv_rec => p_savv_rec);
1449
1450 End Validate_sav_release;
1451
1452 PROCEDURE validate_sav_release(
1453 p_api_version IN NUMBER,
1454 p_init_msg_list IN VARCHAR2 ,
1455 x_return_status OUT NOCOPY VARCHAR2,
1456 x_msg_count OUT NOCOPY NUMBER,
1457 x_msg_data OUT NOCOPY VARCHAR2,
1458 p_savv_tbl IN savv_tbl_type) IS
1459
1460 i NUMBER := 0;
1461 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1462
1463 BEGIN
1464 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1465 IF p_savv_tbl.COUNT > 0 THEN
1466 i := p_savv_tbl.FIRST;
1467 LOOP
1468 Validate_sav_release(p_api_version => p_api_version,
1469 p_init_msg_list => p_init_msg_list,
1470 x_return_status => l_return_status,
1471 x_msg_count => x_msg_count,
1472 x_msg_data => x_msg_data,
1473 p_savv_rec => p_savv_tbl(i));
1474
1475 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1476 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1477 x_return_status := l_return_status;
1478 raise G_EXCEPTION_HALT_PROCESSING;
1479 ELSE
1480 x_return_status := l_return_status;
1481 END IF;
1482 END IF;
1483 EXIT WHEN (i = p_savv_tbl.LAST);
1484 i := p_savv_tbl.NEXT(i);
1485 END LOOP;
1486 END IF;
1487 EXCEPTION
1488 WHEN G_EXCEPTION_HALT_PROCESSING THEN
1489 NULL;
1490 WHEN OTHERS THEN
1491 OKC_API.set_message(p_app_name => g_app_name,
1492 p_msg_name => g_unexpected_error,
1493 p_token1 => g_sqlcode_token,
1494 p_token1_value => sqlcode,
1495 p_token2 => g_sqlerrm_token,
1496 p_token2_value => sqlerrm);
1497 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1498 End Validate_sav_release;
1499
1500
1501 PROCEDURE validate_date_active(
1502 p_api_version IN NUMBER,
1503 p_init_msg_list IN VARCHAR2 ,
1504 x_return_status OUT NOCOPY VARCHAR2,
1505 x_msg_count OUT NOCOPY NUMBER,
1506 x_msg_data OUT NOCOPY VARCHAR2,
1507 p_savv_rec IN savv_rec_type) IS
1508 BEGIN
1509 OKC_STD_ARTICLE_PVT.Validate_date_active(p_api_version => p_api_version,
1510 p_init_msg_list => p_init_msg_list,
1511 x_return_status => x_return_status,
1512 x_msg_count => x_msg_count,
1513 x_msg_data => x_msg_data,
1514 p_savv_rec => p_savv_rec);
1515
1516 End Validate_date_active;
1517
1518 PROCEDURE validate_date_active(
1519 p_api_version IN NUMBER,
1520 p_init_msg_list IN VARCHAR2 ,
1521 x_return_status OUT NOCOPY VARCHAR2,
1522 x_msg_count OUT NOCOPY NUMBER,
1523 x_msg_data OUT NOCOPY VARCHAR2,
1524 p_savv_tbl IN savv_tbl_type) IS
1525
1526 i NUMBER := 0;
1527 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1528
1529 BEGIN
1530 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1531 IF p_savv_tbl.COUNT > 0 THEN
1532 i := p_savv_tbl.FIRST;
1533 LOOP
1534 Validate_date_active(p_api_version => p_api_version,
1535 p_init_msg_list => p_init_msg_list,
1536 x_return_status => l_return_status,
1537 x_msg_count => x_msg_count,
1538 x_msg_data => x_msg_data,
1539 p_savv_rec => p_savv_tbl(i));
1540
1541 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1542 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1543 x_return_status := l_return_status;
1544 raise G_EXCEPTION_HALT_PROCESSING;
1545 ELSE
1546 x_return_status := l_return_status;
1547 END IF;
1548 END IF;
1549 EXIT WHEN (i = p_savv_tbl.LAST);
1550 i := p_savv_tbl.NEXT(i);
1551 END LOOP;
1552 END IF;
1553 EXCEPTION
1554 WHEN G_EXCEPTION_HALT_PROCESSING THEN
1555 NULL;
1556 WHEN OTHERS THEN
1557 OKC_API.set_message(p_app_name => g_app_name,
1558 p_msg_name => g_unexpected_error,
1559 p_token1 => g_sqlcode_token,
1560 p_token1_value => sqlcode,
1561 p_token2 => g_sqlerrm_token,
1562 p_token2_value => sqlerrm);
1563 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1564 End Validate_date_active;
1565
1566
1567 PROCEDURE validate_updatable(
1568 p_api_version IN NUMBER,
1569 p_init_msg_list IN VARCHAR2 ,
1570 x_return_status OUT NOCOPY VARCHAR2,
1571 x_msg_count OUT NOCOPY NUMBER,
1572 x_msg_data OUT NOCOPY VARCHAR2,
1573 p_savv_rec IN savv_rec_type) IS
1574 BEGIN
1575 OKC_STD_ARTICLE_PVT.Validate_updatable(p_api_version => p_api_version,
1576 p_init_msg_list => p_init_msg_list,
1577 x_return_status => x_return_status,
1578 x_msg_count => x_msg_count,
1579 x_msg_data => x_msg_data,
1580 p_savv_rec => p_savv_rec);
1581
1582 End Validate_Updatable;
1583
1584 PROCEDURE validate_Updatable(
1585 p_api_version IN NUMBER,
1586 p_init_msg_list IN VARCHAR2 ,
1587 x_return_status OUT NOCOPY VARCHAR2,
1588 x_msg_count OUT NOCOPY NUMBER,
1589 x_msg_data OUT NOCOPY VARCHAR2,
1590 p_savv_tbl IN savv_tbl_type) IS
1591
1592 i NUMBER := 0;
1593 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1594
1595 BEGIN
1596 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1597 IF p_savv_tbl.COUNT > 0 THEN
1598 i := p_savv_tbl.FIRST;
1599 LOOP
1600 Validate_Updatable(p_api_version => p_api_version,
1601 p_init_msg_list => p_init_msg_list,
1602 x_return_status => l_return_status,
1603 x_msg_count => x_msg_count,
1604 x_msg_data => x_msg_data,
1605 p_savv_rec => p_savv_tbl(i));
1606
1607 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1608 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1609 x_return_status := l_return_status;
1610 raise G_EXCEPTION_HALT_PROCESSING;
1611 ELSE
1612 x_return_status := l_return_status;
1613 END IF;
1614 END IF;
1615 EXIT WHEN (i = p_savv_tbl.LAST);
1616 i := p_savv_tbl.NEXT(i);
1617 END LOOP;
1618 END IF;
1619 EXCEPTION
1620 WHEN G_EXCEPTION_HALT_PROCESSING THEN
1621 NULL;
1622 WHEN OTHERS THEN
1623 OKC_API.set_message(p_app_name => g_app_name,
1624 p_msg_name => g_unexpected_error,
1625 p_token1 => g_sqlcode_token,
1626 p_token1_value => sqlcode,
1627 p_token2 => g_sqlerrm_token,
1628 p_token2_value => sqlerrm);
1629 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1630
1631 End Validate_Updatable;
1632
1633 PROCEDURE validate_no_k_attached(
1634 p_savv_rec IN savv_rec_type,
1635 x_return_status OUT NOCOPY VARCHAR2) IS
1636 BEGIN
1637 OKC_STD_ARTICLE_PVT.Validate_no_k_attached(
1638 x_return_status => x_return_status,
1639 p_savv_rec => p_savv_rec);
1640
1641 End Validate_no_k_attached;
1642
1643 PROCEDURE validate_no_k_attached(
1644 p_savv_tbl IN savv_tbl_type,
1645 x_return_status OUT NOCOPY VARCHAR2) IS
1646
1647 i NUMBER := 0;
1648 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1649
1650 BEGIN
1651 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1652 IF p_savv_tbl.COUNT > 0 THEN
1653 i := p_savv_tbl.FIRST;
1654 LOOP
1655 Validate_no_k_attached(
1656 x_return_status => l_return_status,
1657 p_savv_rec => p_savv_tbl(i));
1658
1659 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1660 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1661 x_return_status := l_return_status;
1662 raise G_EXCEPTION_HALT_PROCESSING;
1663 ELSE
1664 x_return_status := l_return_status;
1665 END IF;
1666 END IF;
1667 EXIT WHEN (i = p_savv_tbl.LAST);
1668 i := p_savv_tbl.NEXT(i);
1669 END LOOP;
1670 END IF;
1671 EXCEPTION
1672 WHEN G_EXCEPTION_HALT_PROCESSING THEN
1673 NULL;
1674 WHEN OTHERS THEN
1675 OKC_API.set_message(p_app_name => g_app_name,
1676 p_msg_name => g_unexpected_error,
1677 p_token1 => g_sqlcode_token,
1678 p_token1_value => sqlcode,
1679 p_token2 => g_sqlerrm_token,
1680 p_token2_value => sqlerrm);
1681 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1682
1683 End Validate_no_k_attached;
1684
1685 PROCEDURE validate_latest(
1686 p_savv_rec IN savv_rec_type,
1687 x_return_status OUT NOCOPY VARCHAR2) IS
1688 BEGIN
1689 OKC_STD_ARTICLE_PVT.Validate_latest(
1690 x_return_status => x_return_status,
1691 p_savv_rec => p_savv_rec);
1692
1693 End Validate_latest;
1694
1695 PROCEDURE validate_latest(
1696 p_savv_tbl IN savv_tbl_type,
1697 x_return_status OUT NOCOPY VARCHAR2) IS
1698
1699 i NUMBER := 0;
1700 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1701
1702 BEGIN
1703 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1704 IF p_savv_tbl.COUNT > 0 THEN
1705 i := p_savv_tbl.FIRST;
1706 LOOP
1707 Validate_latest(
1708 x_return_status => l_return_status,
1709 p_savv_rec => p_savv_tbl(i));
1710
1711 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1712 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1713 x_return_status := l_return_status;
1714 raise G_EXCEPTION_HALT_PROCESSING;
1715 ELSE
1716 x_return_status := l_return_status;
1717 END IF;
1718 END IF;
1719 EXIT WHEN (i = p_savv_tbl.LAST);
1720 i := p_savv_tbl.NEXT(i);
1721 END LOOP;
1722 END IF;
1723 EXCEPTION
1724 WHEN G_EXCEPTION_HALT_PROCESSING THEN
1725 NULL;
1726 WHEN OTHERS THEN
1727 OKC_API.set_message(p_app_name => g_app_name,
1728 p_msg_name => g_unexpected_error,
1729 p_token1 => g_sqlcode_token,
1730 p_token1_value => sqlcode,
1731 p_token2 => g_sqlerrm_token,
1732 p_token2_value => sqlerrm);
1733 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1734
1735 End Validate_latest;
1736
1737 /*
1738 PROCEDURE validate_short_description(
1739 p_api_version IN NUMBER,
1740 p_init_msg_list IN VARCHAR2 ,
1741 x_return_status OUT NOCOPY VARCHAR2,
1742 x_msg_count OUT NOCOPY NUMBER,
1743 x_msg_data OUT NOCOPY VARCHAR2,
1744 p_savv_rec IN savv_rec_type) IS
1745 BEGIN
1746 OKC_STD_ARTICLE_PVT.Validate_short_description(p_api_version => p_api_version,
1747 p_init_msg_list => p_init_msg_list,
1748 x_return_status => x_return_status,
1749 x_msg_count => x_msg_count,
1750 x_msg_data => x_msg_data,
1751 p_savv_rec => p_savv_rec);
1752
1753 End Validate_short_description;
1754
1755 PROCEDURE validate_short_description(
1756 p_api_version IN NUMBER,
1757 p_init_msg_list IN VARCHAR2 ,
1758 x_return_status OUT NOCOPY VARCHAR2,
1759 x_msg_count OUT NOCOPY NUMBER,
1760 x_msg_data OUT NOCOPY VARCHAR2,
1761 p_savv_tbl IN savv_tbl_type) IS
1762
1763 i NUMBER := 0;
1764 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1765
1766 BEGIN
1767 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1768 IF p_savv_tbl.COUNT > 0 THEN
1769 i := p_savv_tbl.FIRST;
1770 LOOP
1771 Validate_short_description(p_api_version => p_api_version,
1772 p_init_msg_list => p_init_msg_list,
1773 x_return_status => l_return_status,
1774 x_msg_count => x_msg_count,
1775 x_msg_data => x_msg_data,
1776 p_savv_rec => p_savv_tbl(i));
1777
1778 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1779 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1780 x_return_status := l_return_status;
1781 raise G_EXCEPTION_HALT_PROCESSING;
1782 ELSE
1783 x_return_status := l_return_status;
1784 END IF;
1785 END IF;
1786 EXIT WHEN (i = p_savv_tbl.LAST);
1787 i := p_savv_tbl.NEXT(i);
1788 END LOOP;
1789 END IF;
1790 EXCEPTION
1791 WHEN G_EXCEPTION_HALT_PROCESSING THEN
1792 NULL;
1793 WHEN OTHERS THEN
1794 OKC_API.set_message(p_app_name => g_app_name,
1795 p_msg_name => g_unexpected_error,
1796 p_token1 => g_sqlcode_token,
1797 p_token1_value => sqlcode,
1798 p_token2 => g_sqlerrm_token,
1799 p_token2_value => sqlerrm);
1800 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1801 End Validate_short_description;
1802 */
1803
1804 PROCEDURE Create_std_art_incmpt(
1805 p_api_version IN NUMBER,
1806 p_init_msg_list IN VARCHAR2 ,
1807 x_return_status OUT NOCOPY VARCHAR2,
1808 x_msg_count OUT NOCOPY NUMBER,
1809 x_msg_data OUT NOCOPY VARCHAR2,
1810 p_saiv_rec IN saiv_rec_type,
1811 x_saiv_rec OUT NOCOPY saiv_rec_type) IS
1812 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1813 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_STD_ART_INCMPT';
1814 l_saiv_rec saiv_rec_type := p_saiv_rec;
1815 BEGIN
1816 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1817 p_init_msg_list,
1818 '_PUB',
1819 x_return_status);
1820 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1821 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1822 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1823 raise OKC_API.G_EXCEPTION_ERROR;
1824 END IF;
1825 -- Call user hook for BEFORE
1826 g_saiv_rec := l_saiv_rec;
1827 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1828 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1829 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1830 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1831 raise OKC_API.G_EXCEPTION_ERROR;
1832 END IF;
1833 l_saiv_rec := migrate_saiv(l_saiv_rec, g_saiv_rec);
1834
1835 OKC_STD_ARTICLE_PVT.create_std_art_incmpt(
1836 p_api_version => p_api_version,
1837 p_init_msg_list => p_init_msg_list,
1838 x_return_status => x_return_status,
1839 x_msg_count => x_msg_count,
1840 x_msg_data => x_msg_data,
1841 p_saiv_rec => l_saiv_rec,
1842 x_saiv_rec => x_saiv_rec);
1843
1844 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1845 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1846 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1847 raise OKC_API.G_EXCEPTION_ERROR;
1848 END IF;
1849
1850 -- Call user hook for AFTER
1851 g_saiv_rec := x_saiv_rec;
1852 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1853 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1854 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1855 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1856 raise OKC_API.G_EXCEPTION_ERROR;
1857 END IF;
1858 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1859 EXCEPTION
1860 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1861 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1862 (l_api_name,
1863 G_PKG_NAME,
1864 'OKC_API.G_RET_STS_ERROR',
1865 x_msg_count,
1866 x_msg_data,
1867 '_PUB');
1868 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
1869 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1870 (l_api_name,
1871 G_PKG_NAME,
1872 'OKC_API.G_RET_STS_UNEXP_ERROR',
1873 x_msg_count,
1874 x_msg_data,
1875 '_PUB');
1876 WHEN OTHERS THEN
1877 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1878 (l_api_name,
1879 G_PKG_NAME,
1880 'OTHERS',
1881 x_msg_count,
1882 x_msg_data,
1883 '_PUB');
1884 END Create_std_art_incmpt;
1885
1886
1887 PROCEDURE Create_std_art_incmpt(
1888 p_api_version IN NUMBER,
1889 p_init_msg_list IN VARCHAR2 ,
1890 x_return_status OUT NOCOPY VARCHAR2,
1891 x_msg_count OUT NOCOPY NUMBER,
1892 x_msg_data OUT NOCOPY VARCHAR2,
1893 p_saiv_tbl IN saiv_tbl_type,
1894 x_saiv_tbl OUT NOCOPY saiv_tbl_type) IS
1895 i NUMBER := 0;
1896 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1897
1898 BEGIN
1899 x_return_status := OKC_API.G_RET_STS_SUCCESS;
1900 IF p_saiv_tbl.COUNT > 0 THEN
1901 i := p_saiv_tbl.FIRST;
1902 LOOP
1903 create_std_art_incmpt(
1904 p_api_version => p_api_version,
1905 p_init_msg_list => p_init_msg_list,
1906 x_return_status => l_return_status,
1907 x_msg_count => x_msg_count,
1908 x_msg_data => x_msg_data,
1909 p_saiv_rec => p_saiv_tbl(i),
1910 x_saiv_rec => x_saiv_tbl(i));
1911 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
1912 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1913 x_return_status := l_return_status;
1914 raise G_EXCEPTION_HALT_PROCESSING;
1915 ELSE
1916 x_return_status := l_return_status;
1917 END IF;
1918 END IF;
1919 EXIT WHEN (i = p_saiv_tbl.LAST);
1920 i := p_saiv_tbl.NEXT(i);
1921 END LOOP;
1922 END IF;
1923 EXCEPTION
1924 WHEN G_EXCEPTION_HALT_PROCESSING THEN
1925 NULL;
1926 WHEN OTHERS THEN
1927 OKC_API.set_message(p_app_name => g_app_name,
1928 p_msg_name => g_unexpected_error,
1929 p_token1 => g_sqlcode_token,
1930 p_token1_value => sqlcode,
1931 p_token2 => g_sqlerrm_token,
1932 p_token2_value => sqlerrm);
1933 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
1934 END Create_std_art_incmpt;
1935
1936 PROCEDURE update_std_art_incmpt(
1937 p_api_version IN NUMBER,
1938 p_init_msg_list IN VARCHAR2 ,
1939 x_return_status OUT NOCOPY VARCHAR2,
1940 x_msg_count OUT NOCOPY NUMBER,
1941 x_msg_data OUT NOCOPY VARCHAR2,
1942 p_saiv_rec IN saiv_rec_type,
1943 x_saiv_rec OUT NOCOPY saiv_rec_type) IS
1944 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
1945 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_STD_ART_INCMPT';
1946 l_saiv_rec saiv_rec_type := p_saiv_rec;
1947 BEGIN
1948 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
1949 p_init_msg_list,
1950 '_PUB',
1951 x_return_status);
1952 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1953 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1954 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
1955 raise OKC_API.G_EXCEPTION_ERROR;
1956 END IF;
1957 -- Call user hook for BEFORE
1958 g_saiv_rec := l_saiv_rec;
1959 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
1960 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1961 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1962 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1963 raise OKC_API.G_EXCEPTION_ERROR;
1964 END IF;
1965 l_saiv_rec := migrate_saiv(l_saiv_rec, g_saiv_rec);
1966
1967 OKC_STD_ARTICLE_PVT.update_std_art_incmpt(
1968 p_api_version => p_api_version,
1969 p_init_msg_list => p_init_msg_list,
1970 x_return_status => x_return_status,
1971 x_msg_count => x_msg_count,
1972 x_msg_data => x_msg_data,
1973 p_saiv_rec => l_saiv_rec,
1974 x_saiv_rec => x_saiv_rec);
1975
1976 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1977 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1978 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1979 raise OKC_API.G_EXCEPTION_ERROR;
1980 END IF;
1981
1982 -- Call user hook for AFTER
1983 g_saiv_rec := x_saiv_rec;
1984 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
1985 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
1986 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
1987 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
1988 raise OKC_API.G_EXCEPTION_ERROR;
1989 END IF;
1990 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
1991 EXCEPTION
1992 WHEN OKC_API.G_EXCEPTION_ERROR THEN
1993 x_return_status := OKC_API.HANDLE_EXCEPTIONS
1994 (l_api_name,
1995 G_PKG_NAME,
1996 'OKC_API.G_RET_STS_ERROR',
1997 x_msg_count,
1998 x_msg_data,
1999 '_PUB');
2000 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2001 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2002 (l_api_name,
2003 G_PKG_NAME,
2004 'OKC_API.G_RET_STS_UNEXP_ERROR',
2005 x_msg_count,
2006 x_msg_data,
2007 '_PUB');
2008 WHEN OTHERS THEN
2009 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2010 (l_api_name,
2011 G_PKG_NAME,
2012 'OTHERS',
2013 x_msg_count,
2014 x_msg_data,
2015 '_PUB');
2016 END update_std_art_incmpt;
2017
2018 PROCEDURE update_std_art_incmpt(
2019 p_api_version IN NUMBER,
2020 p_init_msg_list IN VARCHAR2 ,
2021 x_return_status OUT NOCOPY VARCHAR2,
2022 x_msg_count OUT NOCOPY NUMBER,
2023 x_msg_data OUT NOCOPY VARCHAR2,
2024 p_saiv_tbl IN saiv_tbl_type,
2025 x_saiv_tbl OUT NOCOPY saiv_tbl_type) IS
2026 i NUMBER := 0;
2027 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2028
2029 BEGIN
2030 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2031 IF p_saiv_tbl.COUNT > 0 THEN
2032 i := p_saiv_tbl.FIRST;
2033 LOOP
2034 update_std_art_incmpt(
2035 p_api_version => p_api_version,
2036 p_init_msg_list => p_init_msg_list,
2037 x_return_status => l_return_status,
2038 x_msg_count => x_msg_count,
2039 x_msg_data => x_msg_data,
2040 p_saiv_rec => p_saiv_tbl(i),
2041 x_saiv_rec => x_saiv_tbl(i));
2042 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2043 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2044 x_return_status := l_return_status;
2045 raise G_EXCEPTION_HALT_PROCESSING;
2046 ELSE
2047 x_return_status := l_return_status;
2048 END IF;
2049 END IF;
2050 EXIT WHEN (i = p_saiv_tbl.LAST);
2051 i := p_saiv_tbl.NEXT(i);
2052 END LOOP;
2053 END IF;
2054 EXCEPTION
2055 WHEN G_EXCEPTION_HALT_PROCESSING THEN
2056 NULL;
2057 WHEN OTHERS THEN
2058 OKC_API.set_message(p_app_name => g_app_name,
2059 p_msg_name => g_unexpected_error,
2060 p_token1 => g_sqlcode_token,
2061 p_token1_value => sqlcode,
2062 p_token2 => g_sqlerrm_token,
2063 p_token2_value => sqlerrm);
2064 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2065 END update_std_art_incmpt;
2066
2067 PROCEDURE lock_std_art_incmpt(
2068 p_api_version IN NUMBER,
2069 p_init_msg_list IN VARCHAR2 ,
2070 x_return_status OUT NOCOPY VARCHAR2,
2071 x_msg_count OUT NOCOPY NUMBER,
2072 x_msg_data OUT NOCOPY VARCHAR2,
2073 p_saiv_rec IN saiv_rec_type) IS
2074 BEGIN
2075 OKC_STD_ARTICLE_PVT.lock_std_art_incmpt(
2076 p_api_version => p_api_version,
2077 p_init_msg_list => p_init_msg_list,
2078 x_return_status => x_return_status,
2079 x_msg_count => x_msg_count,
2080 x_msg_data => x_msg_data,
2081 p_saiv_rec => p_saiv_rec);
2082
2083 END lock_std_art_incmpt;
2084
2085 PROCEDURE lock_std_art_incmpt(
2086 p_api_version IN NUMBER,
2087 p_init_msg_list IN VARCHAR2 ,
2088 x_return_status OUT NOCOPY VARCHAR2,
2089 x_msg_count OUT NOCOPY NUMBER,
2090 x_msg_data OUT NOCOPY VARCHAR2,
2091 p_saiv_tbl IN saiv_tbl_type) IS
2092 i NUMBER := 0;
2093 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2094
2095 BEGIN
2096 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2097 IF p_saiv_tbl.COUNT > 0 THEN
2098 i := p_saiv_tbl.FIRST;
2099 LOOP
2100 lock_std_art_incmpt(
2101 p_api_version => p_api_version,
2102 p_init_msg_list => p_init_msg_list,
2103 x_return_status => l_return_status,
2104 x_msg_count => x_msg_count,
2105 x_msg_data => x_msg_data,
2106 p_saiv_rec => p_saiv_tbl(i));
2107 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2108 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2109 x_return_status := l_return_status;
2110 raise G_EXCEPTION_HALT_PROCESSING;
2111 ELSE
2112 x_return_status := l_return_status;
2113 END IF;
2114 END IF;
2115 EXIT WHEN (i = p_saiv_tbl.LAST);
2116 i := p_saiv_tbl.NEXT(i);
2117 END LOOP;
2118 END IF;
2119 EXCEPTION
2120 WHEN G_EXCEPTION_HALT_PROCESSING THEN
2121 NULL;
2122 WHEN OTHERS THEN
2123 OKC_API.set_message(p_app_name => g_app_name,
2124 p_msg_name => g_unexpected_error,
2125 p_token1 => g_sqlcode_token,
2126 p_token1_value => sqlcode,
2127 p_token2 => g_sqlerrm_token,
2128 p_token2_value => sqlerrm);
2129 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2130 END lock_std_art_incmpt;
2131
2132 PROCEDURE delete_std_art_incmpt(
2133 p_api_version IN NUMBER,
2134 p_init_msg_list IN VARCHAR2 ,
2135 x_return_status OUT NOCOPY VARCHAR2,
2136 x_msg_count OUT NOCOPY NUMBER,
2137 x_msg_data OUT NOCOPY VARCHAR2,
2138 p_saiv_rec IN saiv_rec_type) IS
2139 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2140 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_STD_ART_INCMPT';
2141 l_saiv_rec saiv_rec_type := p_saiv_rec;
2142 BEGIN
2143 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2144 p_init_msg_list,
2145 '_PUB',
2146 x_return_status);
2147 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2148 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2149 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2150 raise OKC_API.G_EXCEPTION_ERROR;
2151 END IF;
2152 -- Call user hook for BEFORE
2153 g_saiv_rec := l_saiv_rec;
2154 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
2155 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2156 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2157 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2158 raise OKC_API.G_EXCEPTION_ERROR;
2159 END IF;
2160 l_saiv_rec := migrate_saiv(l_saiv_rec, g_saiv_rec);
2161
2162 OKC_STD_ARTICLE_PVT.delete_std_art_incmpt(
2163 p_api_version => p_api_version,
2164 p_init_msg_list => p_init_msg_list,
2165 x_return_status => x_return_status,
2166 x_msg_count => x_msg_count,
2167 x_msg_data => x_msg_data,
2168 p_saiv_rec => l_saiv_rec);
2169
2170 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2171 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2172 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2173 raise OKC_API.G_EXCEPTION_ERROR;
2174 END IF;
2175
2176 -- Call user hook for AFTER
2177 g_saiv_rec := l_saiv_rec;
2178 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
2179 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2180 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2181 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2182 raise OKC_API.G_EXCEPTION_ERROR;
2183 END IF;
2184 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2185 EXCEPTION
2186 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2187 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2188 (l_api_name,
2189 G_PKG_NAME,
2190 'OKC_API.G_RET_STS_ERROR',
2191 x_msg_count,
2192 x_msg_data,
2193 '_PUB');
2194 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2195 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2196 (l_api_name,
2197 G_PKG_NAME,
2198 'OKC_API.G_RET_STS_UNEXP_ERROR',
2199 x_msg_count,
2200 x_msg_data,
2201 '_PUB');
2202 WHEN OTHERS THEN
2203 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2204 (l_api_name,
2205 G_PKG_NAME,
2206 'OTHERS',
2207 x_msg_count,
2208 x_msg_data,
2209 '_PUB');
2210 END delete_std_art_incmpt;
2211
2212 PROCEDURE delete_std_art_incmpt(
2213 p_api_version IN NUMBER,
2214 p_init_msg_list IN VARCHAR2 ,
2215 x_return_status OUT NOCOPY VARCHAR2,
2216 x_msg_count OUT NOCOPY NUMBER,
2217 x_msg_data OUT NOCOPY VARCHAR2,
2218 p_saiv_tbl IN saiv_tbl_type) IS
2219 i NUMBER := 0;
2220 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2221
2222 BEGIN
2223 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2224 IF p_saiv_tbl.COUNT > 0 THEN
2225 i := p_saiv_tbl.FIRST;
2226 LOOP
2227 delete_std_art_incmpt(
2228 p_api_version => p_api_version,
2229 p_init_msg_list => p_init_msg_list,
2230 x_return_status => l_return_status,
2231 x_msg_count => x_msg_count,
2232 x_msg_data => x_msg_data,
2233 p_saiv_rec => p_saiv_tbl(i));
2234 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2235 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2236 x_return_status := l_return_status;
2237 raise G_EXCEPTION_HALT_PROCESSING;
2238 ELSE
2239 x_return_status := l_return_status;
2240 END IF;
2241 END IF;
2242 EXIT WHEN (i = p_saiv_tbl.LAST);
2243 i := p_saiv_tbl.NEXT(i);
2244 END LOOP;
2245 END IF;
2246 EXCEPTION
2247 WHEN G_EXCEPTION_HALT_PROCESSING THEN
2248 NULL;
2249 WHEN OTHERS THEN
2250 OKC_API.set_message(p_app_name => g_app_name,
2251 p_msg_name => g_unexpected_error,
2252 p_token1 => g_sqlcode_token,
2253 p_token1_value => sqlcode,
2254 p_token2 => g_sqlerrm_token,
2255 p_token2_value => sqlerrm);
2256 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2257 END delete_std_art_incmpt;
2258
2259 PROCEDURE validate_std_art_incmpt(
2260 p_api_version IN NUMBER,
2261 p_init_msg_list IN VARCHAR2 ,
2262 x_return_status OUT NOCOPY VARCHAR2,
2263 x_msg_count OUT NOCOPY NUMBER,
2264 x_msg_data OUT NOCOPY VARCHAR2,
2265 p_saiv_rec IN saiv_rec_type) IS
2266 BEGIN
2267
2268 OKC_STD_ARTICLE_PVT.validate_std_art_incmpt(
2269 p_api_version => p_api_version,
2270 p_init_msg_list => p_init_msg_list,
2271 x_return_status => x_return_status,
2272 x_msg_count => x_msg_count,
2273 x_msg_data => x_msg_data,
2274 p_saiv_rec => p_saiv_rec);
2275
2276 END validate_std_art_incmpt;
2277
2278
2279 PROCEDURE validate_std_art_incmpt(
2280 p_api_version IN NUMBER,
2281 p_init_msg_list IN VARCHAR2 ,
2282 x_return_status OUT NOCOPY VARCHAR2,
2283 x_msg_count OUT NOCOPY NUMBER,
2284 x_msg_data OUT NOCOPY VARCHAR2,
2285 p_saiv_tbl IN saiv_tbl_type) IS
2286 i NUMBER := 0;
2287 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2288
2289 BEGIN
2290 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2291 IF p_saiv_tbl.COUNT > 0 THEN
2292 i := p_saiv_tbl.FIRST;
2293 LOOP
2294 validate_std_art_incmpt(
2295 p_api_version => p_api_version,
2296 p_init_msg_list => p_init_msg_list,
2297 x_return_status => l_return_status,
2298 x_msg_count => x_msg_count,
2299 x_msg_data => x_msg_data,
2300 p_saiv_rec => p_saiv_tbl(i));
2301 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2302 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2303 x_return_status := l_return_status;
2304 raise G_EXCEPTION_HALT_PROCESSING;
2305 ELSE
2306 x_return_status := l_return_status;
2307 END IF;
2308 END IF;
2309 EXIT WHEN (i = p_saiv_tbl.LAST);
2310 i := p_saiv_tbl.NEXT(i);
2311 END LOOP;
2312 END IF;
2313 EXCEPTION
2314 WHEN G_EXCEPTION_HALT_PROCESSING THEN
2315 NULL;
2316 WHEN OTHERS THEN
2317 OKC_API.set_message(p_app_name => g_app_name,
2318 p_msg_name => g_unexpected_error,
2319 p_token1 => g_sqlcode_token,
2320 p_token1_value => sqlcode,
2321 p_token2 => g_sqlerrm_token,
2322 p_token2_value => sqlerrm);
2323 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2324 END validate_std_art_incmpt;
2325
2326
2327 PROCEDURE validate_unique(
2328 p_api_version IN NUMBER,
2329 p_init_msg_list IN VARCHAR2 ,
2330 x_return_status OUT NOCOPY VARCHAR2,
2331 x_msg_count OUT NOCOPY NUMBER,
2332 x_msg_data OUT NOCOPY VARCHAR2,
2333 p_saiv_rec IN saiv_rec_type) IS
2334 BEGIN
2335 OKC_STD_ARTICLE_PVT.Validate_Unique(p_api_version => p_api_version,
2336 p_init_msg_list => p_init_msg_list,
2337 x_return_status => x_return_status,
2338 x_msg_count => x_msg_count,
2339 x_msg_data => x_msg_data,
2340 p_saiv_rec => p_saiv_rec);
2341
2342 End Validate_unique;
2343
2344 PROCEDURE validate_unique(
2345 p_api_version IN NUMBER,
2346 p_init_msg_list IN VARCHAR2 ,
2347 x_return_status OUT NOCOPY VARCHAR2,
2348 x_msg_count OUT NOCOPY NUMBER,
2349 x_msg_data OUT NOCOPY VARCHAR2,
2350 p_saiv_tbl IN saiv_tbl_type) IS
2351
2352 i NUMBER := 0;
2353 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2354
2355 BEGIN
2356 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2357 IF p_saiv_tbl.COUNT > 0 THEN
2358 i := p_saiv_tbl.FIRST;
2359 LOOP
2360 Validate_unique(p_api_version => p_api_version,
2361 p_init_msg_list => p_init_msg_list,
2362 x_return_status => l_return_status,
2363 x_msg_count => x_msg_count,
2364 x_msg_data => x_msg_data,
2365 p_saiv_rec => p_saiv_tbl(i));
2366
2367 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2368 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2369 x_return_status := l_return_status;
2370 raise G_EXCEPTION_HALT_PROCESSING;
2371 ELSE
2372 x_return_status := l_return_status;
2373 END IF;
2374 END IF;
2375 EXIT WHEN (i = p_saiv_tbl.LAST);
2376 i := p_saiv_tbl.NEXT(i);
2377 END LOOP;
2378 END IF;
2379 EXCEPTION
2380 WHEN G_EXCEPTION_HALT_PROCESSING THEN
2381 NULL;
2382 WHEN OTHERS THEN
2383 OKC_API.set_message(p_app_name => g_app_name,
2384 p_msg_name => g_unexpected_error,
2385 p_token1 => g_sqlcode_token,
2386 p_token1_value => sqlcode,
2387 p_token2 => g_sqlerrm_token,
2388 p_token2_value => sqlerrm);
2389 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2390 End Validate_unique;
2391
2392
2393 PROCEDURE create_std_art_classing(
2394 p_api_version IN NUMBER,
2395 p_init_msg_list IN VARCHAR2 ,
2396 x_return_status OUT NOCOPY VARCHAR2,
2397 x_msg_count OUT NOCOPY NUMBER,
2398 x_msg_data OUT NOCOPY VARCHAR2,
2399 p_sacv_rec IN sacv_rec_type,
2400 x_sacv_rec OUT NOCOPY sacv_rec_type) IS
2401 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2402 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_STD_ART_CLASSING';
2403 l_sacv_rec sacv_rec_type := p_sacv_rec;
2404 BEGIN
2405 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2406 p_init_msg_list,
2407 '_PUB',
2408 x_return_status);
2409 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2410 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2411 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2412 raise OKC_API.G_EXCEPTION_ERROR;
2413 END IF;
2414 -- Call user hook for BEFORE
2415 g_sacv_rec := l_sacv_rec;
2416 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
2417 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2418 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2419 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2420 raise OKC_API.G_EXCEPTION_ERROR;
2421 END IF;
2422 l_sacv_rec := migrate_sacv(l_sacv_rec, g_sacv_rec);
2423
2424 OKC_STD_ARTICLE_PVT.create_std_art_classing(
2425 p_api_version => p_api_version,
2426 p_init_msg_list => p_init_msg_list,
2427 x_return_status => x_return_status,
2428 x_msg_count => x_msg_count,
2429 x_msg_data => x_msg_data,
2430 p_sacv_rec => l_sacv_rec,
2431 x_sacv_rec => x_sacv_rec);
2432
2433 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2434 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2435 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2436 raise OKC_API.G_EXCEPTION_ERROR;
2437 END IF;
2438
2439 -- Call user hook for AFTER
2440 g_sacv_rec := x_sacv_rec;
2441 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
2442 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2443 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2444 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2445 raise OKC_API.G_EXCEPTION_ERROR;
2446 END IF;
2447 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2448 EXCEPTION
2449 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2450 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2451 (l_api_name,
2452 G_PKG_NAME,
2453 'OKC_API.G_RET_STS_ERROR',
2454 x_msg_count,
2455 x_msg_data,
2456 '_PUB');
2457 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2458 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2459 (l_api_name,
2460 G_PKG_NAME,
2461 'OKC_API.G_RET_STS_UNEXP_ERROR',
2462 x_msg_count,
2463 x_msg_data,
2464 '_PUB');
2465 WHEN OTHERS THEN
2466 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2467 (l_api_name,
2468 G_PKG_NAME,
2469 'OTHERS',
2470 x_msg_count,
2471 x_msg_data,
2472 '_PUB');
2473 END create_std_art_classing;
2474
2475 PROCEDURE create_std_art_classing(
2476 p_api_version IN NUMBER,
2477 p_init_msg_list IN VARCHAR2 ,
2478 x_return_status OUT NOCOPY VARCHAR2,
2479 x_msg_count OUT NOCOPY NUMBER,
2480 x_msg_data OUT NOCOPY VARCHAR2,
2481 p_sacv_tbl IN sacv_tbl_type,
2482 x_sacv_tbl OUT NOCOPY sacv_tbl_type) IS
2483 i NUMBER := 0;
2484 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2485
2486 BEGIN
2487 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2488 IF p_sacv_tbl.COUNT > 0 THEN
2489 i := p_sacv_tbl.FIRST;
2490 LOOP
2491 create_std_art_classing(
2492 p_api_version => p_api_version,
2493 p_init_msg_list => p_init_msg_list,
2494 x_return_status => l_return_status,
2495 x_msg_count => x_msg_count,
2496 x_msg_data => x_msg_data,
2497 p_sacv_rec => p_sacv_tbl(i),
2498 x_sacv_rec => x_sacv_tbl(i));
2499 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2500 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2501 x_return_status := l_return_status;
2502 raise G_EXCEPTION_HALT_PROCESSING;
2503 ELSE
2504 x_return_status := l_return_status;
2505 END IF;
2506 END IF;
2507 EXIT WHEN (i = p_sacv_tbl.LAST);
2508 i := p_sacv_tbl.NEXT(i);
2509 END LOOP;
2510 END IF;
2511 EXCEPTION
2512 WHEN G_EXCEPTION_HALT_PROCESSING THEN
2513 NULL;
2514 WHEN OTHERS THEN
2515 OKC_API.set_message(p_app_name => g_app_name,
2516 p_msg_name => g_unexpected_error,
2517 p_token1 => g_sqlcode_token,
2518 p_token1_value => sqlcode,
2519 p_token2 => g_sqlerrm_token,
2520 p_token2_value => sqlerrm);
2521 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2522 END create_std_art_classing;
2523
2524 PROCEDURE update_std_art_classing(
2525 p_api_version IN NUMBER,
2526 p_init_msg_list IN VARCHAR2 ,
2527 x_return_status OUT NOCOPY VARCHAR2,
2528 x_msg_count OUT NOCOPY NUMBER,
2529 x_msg_data OUT NOCOPY VARCHAR2,
2530 p_sacv_rec IN sacv_rec_type,
2531 x_sacv_rec OUT NOCOPY sacv_rec_type) IS
2532 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2533 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_STD_ART_CLASSING';
2534 l_sacv_rec sacv_rec_type := p_sacv_rec;
2535 BEGIN
2536 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2537 p_init_msg_list,
2538 '_PUB',
2539 x_return_status);
2540 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2541 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2542 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2543 raise OKC_API.G_EXCEPTION_ERROR;
2544 END IF;
2545 -- Call user hook for BEFORE
2546 g_sacv_rec := l_sacv_rec;
2547 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
2548 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2549 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2550 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2551 raise OKC_API.G_EXCEPTION_ERROR;
2552 END IF;
2553 l_sacv_rec := migrate_sacv(l_sacv_rec, g_sacv_rec);
2554
2555 OKC_STD_ARTICLE_PVT.update_std_art_classing(
2556 p_api_version => p_api_version,
2557 p_init_msg_list => p_init_msg_list,
2558 x_return_status => x_return_status,
2559 x_msg_count => x_msg_count,
2560 x_msg_data => x_msg_data,
2561 p_sacv_rec => l_sacv_rec,
2562 x_sacv_rec => x_sacv_rec);
2563
2564 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2565 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2566 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2567 raise OKC_API.G_EXCEPTION_ERROR;
2568 END IF;
2569
2570 -- Call user hook for AFTER
2571 g_sacv_rec := x_sacv_rec;
2572 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
2573 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2574 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2575 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2576 raise OKC_API.G_EXCEPTION_ERROR;
2577 END IF;
2578 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2579 EXCEPTION
2580 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2581 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2582 (l_api_name,
2583 G_PKG_NAME,
2584 'OKC_API.G_RET_STS_ERROR',
2585 x_msg_count,
2586 x_msg_data,
2587 '_PUB');
2588 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2589 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2590 (l_api_name,
2591 G_PKG_NAME,
2592 'OKC_API.G_RET_STS_UNEXP_ERROR',
2593 x_msg_count,
2594 x_msg_data,
2595 '_PUB');
2596 WHEN OTHERS THEN
2597 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2598 (l_api_name,
2599 G_PKG_NAME,
2600 'OTHERS',
2601 x_msg_count,
2602 x_msg_data,
2603 '_PUB');
2604 END update_std_art_classing;
2605
2606
2607
2608 PROCEDURE update_std_art_classing(
2609 p_api_version IN NUMBER,
2610 p_init_msg_list IN VARCHAR2 ,
2611 x_return_status OUT NOCOPY VARCHAR2,
2612 x_msg_count OUT NOCOPY NUMBER,
2613 x_msg_data OUT NOCOPY VARCHAR2,
2614 p_sacv_tbl IN sacv_tbl_type,
2615 x_sacv_tbl OUT NOCOPY sacv_tbl_type) IS
2616 i NUMBER := 0;
2617 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2618
2619 BEGIN
2620 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2621 IF p_sacv_tbl.COUNT > 0 THEN
2622 i := p_sacv_tbl.FIRST;
2623 LOOP
2624 update_std_art_classing(
2625 p_api_version => p_api_version,
2626 p_init_msg_list => p_init_msg_list,
2627 x_return_status => l_return_status,
2628 x_msg_count => x_msg_count,
2629 x_msg_data => x_msg_data,
2630 p_sacv_rec => p_sacv_tbl(i),
2631 x_sacv_rec => x_sacv_tbl(i));
2632 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2633 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2634 x_return_status := l_return_status;
2635 raise G_EXCEPTION_HALT_PROCESSING;
2636 ELSE
2637 x_return_status := l_return_status;
2638 END IF;
2639 END IF;
2640 EXIT WHEN (i = p_sacv_tbl.LAST);
2641 i := p_sacv_tbl.NEXT(i);
2642 END LOOP;
2643 END IF;
2644 EXCEPTION
2645 WHEN G_EXCEPTION_HALT_PROCESSING THEN
2646 NULL;
2647 WHEN OTHERS THEN
2648 OKC_API.set_message(p_app_name => g_app_name,
2649 p_msg_name => g_unexpected_error,
2650 p_token1 => g_sqlcode_token,
2651 p_token1_value => sqlcode,
2652 p_token2 => g_sqlerrm_token,
2653 p_token2_value => sqlerrm);
2654 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2655 END update_std_art_classing;
2656
2657
2658 PROCEDURE lock_std_art_classing(
2659 p_api_version IN NUMBER,
2660 p_init_msg_list IN VARCHAR2 ,
2661 x_return_status OUT NOCOPY VARCHAR2,
2662 x_msg_count OUT NOCOPY NUMBER,
2663 x_msg_data OUT NOCOPY VARCHAR2,
2664 p_sacv_rec IN sacv_rec_type) IS
2665 BEGIN
2666 OKC_STD_ARTICLE_PVT.lock_std_art_classing(
2667 p_api_version => p_api_version,
2668 p_init_msg_list => p_init_msg_list,
2669 x_return_status => x_return_status,
2670 x_msg_count => x_msg_count,
2671 x_msg_data => x_msg_data,
2672 p_sacv_rec => p_sacv_rec);
2673
2674 END lock_std_art_classing;
2675
2676 PROCEDURE lock_std_art_classing(
2677 p_api_version IN NUMBER,
2678 p_init_msg_list IN VARCHAR2 ,
2679 x_return_status OUT NOCOPY VARCHAR2,
2680 x_msg_count OUT NOCOPY NUMBER,
2681 x_msg_data OUT NOCOPY VARCHAR2,
2682 p_sacv_tbl IN sacv_tbl_type)IS
2683 i NUMBER := 0;
2684 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2685
2686 BEGIN
2687 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2688 IF p_sacv_tbl.COUNT > 0 THEN
2689 i := p_sacv_tbl.FIRST;
2690 LOOP
2691 lock_std_art_classing(
2692 p_api_version => p_api_version,
2693 p_init_msg_list => p_init_msg_list,
2694 x_return_status => l_return_status,
2695 x_msg_count => x_msg_count,
2696 x_msg_data => x_msg_data,
2697 p_sacv_rec => p_sacv_tbl(i));
2698 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2699 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2700 x_return_status := l_return_status;
2701 raise G_EXCEPTION_HALT_PROCESSING;
2702 ELSE
2703 x_return_status := l_return_status;
2704 END IF;
2705 END IF;
2706 EXIT WHEN (i = p_sacv_tbl.LAST);
2707 i := p_sacv_tbl.NEXT(i);
2708 END LOOP;
2709 END IF;
2710 EXCEPTION
2711 WHEN G_EXCEPTION_HALT_PROCESSING THEN
2712 NULL;
2713 WHEN OTHERS THEN
2714 OKC_API.set_message(p_app_name => g_app_name,
2715 p_msg_name => g_unexpected_error,
2716 p_token1 => g_sqlcode_token,
2717 p_token1_value => sqlcode,
2718 p_token2 => g_sqlerrm_token,
2719 p_token2_value => sqlerrm);
2720 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2721 END lock_std_art_classing;
2722
2723
2724 PROCEDURE delete_std_art_classing(
2725 p_api_version IN NUMBER,
2726 p_init_msg_list IN VARCHAR2 ,
2727 x_return_status OUT NOCOPY VARCHAR2,
2728 x_msg_count OUT NOCOPY NUMBER,
2729 x_msg_data OUT NOCOPY VARCHAR2,
2730 p_sacv_rec IN sacv_rec_type) IS
2731 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2732 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_STD_ART_CLASSING';
2733 l_sacv_rec sacv_rec_type := p_sacv_rec;
2734 BEGIN
2735 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
2736 p_init_msg_list,
2737 '_PUB',
2738 x_return_status);
2739 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2740 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2741 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
2742 raise OKC_API.G_EXCEPTION_ERROR;
2743 END IF;
2744 -- Call user hook for BEFORE
2745 g_sacv_rec := l_sacv_rec;
2746 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
2747 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2748 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2749 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2750 raise OKC_API.G_EXCEPTION_ERROR;
2751 END IF;
2752 l_sacv_rec := migrate_sacv(l_sacv_rec, g_sacv_rec);
2753
2754 OKC_STD_ARTICLE_PVT.delete_std_art_classing(
2755 p_api_version => p_api_version,
2756 p_init_msg_list => p_init_msg_list,
2757 x_return_status => x_return_status,
2758 x_msg_count => x_msg_count,
2759 x_msg_data => x_msg_data,
2760 p_sacv_rec => l_sacv_rec);
2761
2762 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2763 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2764 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2765 raise OKC_API.G_EXCEPTION_ERROR;
2766 END IF;
2767
2768 -- Call user hook for AFTER
2769 g_sacv_rec := l_sacv_rec;
2770 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
2771 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2772 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
2773 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
2774 raise OKC_API.G_EXCEPTION_ERROR;
2775 END IF;
2776 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
2777 EXCEPTION
2778 WHEN OKC_API.G_EXCEPTION_ERROR THEN
2779 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2780 (l_api_name,
2781 G_PKG_NAME,
2782 'OKC_API.G_RET_STS_ERROR',
2783 x_msg_count,
2784 x_msg_data,
2785 '_PUB');
2786 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
2787 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2788 (l_api_name,
2789 G_PKG_NAME,
2790 'OKC_API.G_RET_STS_UNEXP_ERROR',
2791 x_msg_count,
2792 x_msg_data,
2793 '_PUB');
2794 WHEN OTHERS THEN
2795 x_return_status := OKC_API.HANDLE_EXCEPTIONS
2796 (l_api_name,
2797 G_PKG_NAME,
2798 'OTHERS',
2799 x_msg_count,
2800 x_msg_data,
2801 '_PUB');
2802 END delete_std_art_classing;
2803
2804 PROCEDURE delete_std_art_classing(
2805 p_api_version IN NUMBER,
2806 p_init_msg_list IN VARCHAR2 ,
2807 x_return_status OUT NOCOPY VARCHAR2,
2808 x_msg_count OUT NOCOPY NUMBER,
2809 x_msg_data OUT NOCOPY VARCHAR2,
2810 p_sacv_tbl IN sacv_tbl_type) IS
2811 i NUMBER := 0;
2812 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2813
2814 BEGIN
2815 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2816 IF p_sacv_tbl.COUNT > 0 THEN
2817 i := p_sacv_tbl.FIRST;
2818 LOOP
2819 delete_std_art_classing(
2820 p_api_version => p_api_version,
2821 p_init_msg_list => p_init_msg_list,
2822 x_return_status => l_return_status,
2823 x_msg_count => x_msg_count,
2824 x_msg_data => x_msg_data,
2825 p_sacv_rec => p_sacv_tbl(i));
2826 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2827 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2828 x_return_status := l_return_status;
2829 raise G_EXCEPTION_HALT_PROCESSING;
2830 ELSE
2831 x_return_status := l_return_status;
2832 END IF;
2833 END IF;
2834 EXIT WHEN (i = p_sacv_tbl.LAST);
2835 i := p_sacv_tbl.NEXT(i);
2836 END LOOP;
2837 END IF;
2838 EXCEPTION
2839 WHEN G_EXCEPTION_HALT_PROCESSING THEN
2840 NULL;
2841 WHEN OTHERS THEN
2842 OKC_API.set_message(p_app_name => g_app_name,
2843 p_msg_name => g_unexpected_error,
2844 p_token1 => g_sqlcode_token,
2845 p_token1_value => sqlcode,
2846 p_token2 => g_sqlerrm_token,
2847 p_token2_value => sqlerrm);
2848 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2849 END delete_std_art_classing;
2850
2851
2852 PROCEDURE validate_std_art_classing(
2853 p_api_version IN NUMBER,
2854 p_init_msg_list IN VARCHAR2 ,
2855 x_return_status OUT NOCOPY VARCHAR2,
2856 x_msg_count OUT NOCOPY NUMBER,
2857 x_msg_data OUT NOCOPY VARCHAR2,
2858 p_sacv_rec IN sacv_rec_type) IS
2859 BEGIN
2860 OKC_STD_ARTICLE_PVT.validate_std_art_classing(
2861 p_api_version => p_api_version,
2862 p_init_msg_list => p_init_msg_list,
2863 x_return_status => x_return_status,
2864 x_msg_count => x_msg_count,
2865 x_msg_data => x_msg_data,
2866 p_sacv_rec => p_sacv_rec);
2867
2868 END validate_std_art_classing;
2869
2870
2871 PROCEDURE validate_std_art_classing(
2872 p_api_version IN NUMBER,
2873 p_init_msg_list IN VARCHAR2 ,
2874 x_return_status OUT NOCOPY VARCHAR2,
2875 x_msg_count OUT NOCOPY NUMBER,
2876 x_msg_data OUT NOCOPY VARCHAR2,
2877 p_sacv_tbl IN sacv_tbl_type) IS
2878 i NUMBER := 0;
2879 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2880
2881 BEGIN
2882 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2883 IF p_sacv_tbl.COUNT > 0 THEN
2884 i := p_sacv_tbl.FIRST;
2885 LOOP
2886 validate_std_art_classing(
2887 p_api_version => p_api_version,
2888 p_init_msg_list => p_init_msg_list,
2889 x_return_status => l_return_status,
2890 x_msg_count => x_msg_count,
2891 x_msg_data => x_msg_data,
2892 p_sacv_rec => p_sacv_tbl(i));
2893 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2894 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2895 x_return_status := l_return_status;
2896 raise G_EXCEPTION_HALT_PROCESSING;
2897 ELSE
2898 x_return_status := l_return_status;
2899 END IF;
2900 END IF;
2901 EXIT WHEN (i = p_sacv_tbl.LAST);
2902 i := p_sacv_tbl.NEXT(i);
2903 END LOOP;
2904 END IF;
2905 EXCEPTION
2906 WHEN G_EXCEPTION_HALT_PROCESSING THEN
2907 NULL;
2908 WHEN OTHERS THEN
2909 OKC_API.set_message(p_app_name => g_app_name,
2910 p_msg_name => g_unexpected_error,
2911 p_token1 => g_sqlcode_token,
2912 p_token1_value => sqlcode,
2913 p_token2 => g_sqlerrm_token,
2914 p_token2_value => sqlerrm);
2915 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2916 END validate_std_art_classing;
2917
2918 PROCEDURE validate_price_type(
2919 p_api_version IN NUMBER,
2920 p_init_msg_list IN VARCHAR2 ,
2921 x_return_status OUT NOCOPY VARCHAR2,
2922 x_msg_count OUT NOCOPY NUMBER,
2923 x_msg_data OUT NOCOPY VARCHAR2,
2924 p_sacv_rec IN sacv_rec_type) IS
2925 BEGIN
2926 OKC_STD_ARTICLE_PVT.Validate_price_type(p_api_version => p_api_version,
2927 p_init_msg_list => p_init_msg_list,
2928 x_return_status => x_return_status,
2929 x_msg_count => x_msg_count,
2930 x_msg_data => x_msg_data,
2931 p_sacv_rec => p_sacv_rec);
2932
2933 End Validate_price_type;
2934
2935 PROCEDURE validate_price_type(
2936 p_api_version IN NUMBER,
2937 p_init_msg_list IN VARCHAR2 ,
2938 x_return_status OUT NOCOPY VARCHAR2,
2939 x_msg_count OUT NOCOPY NUMBER,
2940 x_msg_data OUT NOCOPY VARCHAR2,
2941 p_sacv_tbl IN sacv_tbl_type) IS
2942
2943 i NUMBER := 0;
2944 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
2945
2946 BEGIN
2947 x_return_status := OKC_API.G_RET_STS_SUCCESS;
2948 IF p_sacv_tbl.COUNT > 0 THEN
2949 i := p_sacv_tbl.FIRST;
2950 LOOP
2951 Validate_price_type(p_api_version => p_api_version,
2952 p_init_msg_list => p_init_msg_list,
2953 x_return_status => l_return_status,
2954 x_msg_count => x_msg_count,
2955 x_msg_data => x_msg_data,
2956 p_sacv_rec => p_sacv_tbl(i));
2957
2958 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
2959 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
2960 x_return_status := l_return_status;
2961 raise G_EXCEPTION_HALT_PROCESSING;
2962 ELSE
2963 x_return_status := l_return_status;
2964 END IF;
2965 END IF;
2966 EXIT WHEN (i = p_sacv_tbl.LAST);
2967 i := p_sacv_tbl.NEXT(i);
2968 END LOOP;
2969 END IF;
2970 EXCEPTION
2971 WHEN G_EXCEPTION_HALT_PROCESSING THEN
2972 NULL;
2973 WHEN OTHERS THEN
2974 OKC_API.set_message(p_app_name => g_app_name,
2975 p_msg_name => g_unexpected_error,
2976 p_token1 => g_sqlcode_token,
2977 p_token1_value => sqlcode,
2978 p_token2 => g_sqlerrm_token,
2979 p_token2_value => sqlerrm);
2980 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
2981 End Validate_price_type;
2982
2983 PROCEDURE validate_scs_code(
2984 p_api_version IN NUMBER,
2985 p_init_msg_list IN VARCHAR2 ,
2986 x_return_status OUT NOCOPY VARCHAR2,
2987 x_msg_count OUT NOCOPY NUMBER,
2988 x_msg_data OUT NOCOPY VARCHAR2,
2989 p_sacv_rec IN sacv_rec_type) IS
2990 BEGIN
2991 OKC_STD_ARTICLE_PVT.Validate_scs_code(p_api_version => p_api_version,
2992 p_init_msg_list => p_init_msg_list,
2993 x_return_status => x_return_status,
2994 x_msg_count => x_msg_count,
2995 x_msg_data => x_msg_data,
2996 p_sacv_rec => p_sacv_rec);
2997
2998 End Validate_scs_code;
2999
3000 PROCEDURE validate_scs_code(
3001 p_api_version IN NUMBER,
3002 p_init_msg_list IN VARCHAR2 ,
3003 x_return_status OUT NOCOPY VARCHAR2,
3004 x_msg_count OUT NOCOPY NUMBER,
3005 x_msg_data OUT NOCOPY VARCHAR2,
3006 p_sacv_tbl IN sacv_tbl_type) IS
3007
3008 i NUMBER := 0;
3009 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3010
3011 BEGIN
3012 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3013 IF p_sacv_tbl.COUNT > 0 THEN
3014 i := p_sacv_tbl.FIRST;
3015 LOOP
3016 Validate_scs_code(p_api_version => p_api_version,
3017 p_init_msg_list => p_init_msg_list,
3018 x_return_status => l_return_status,
3019 x_msg_count => x_msg_count,
3020 x_msg_data => x_msg_data,
3021 p_sacv_rec => p_sacv_tbl(i));
3022
3023 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3024 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3025 x_return_status := l_return_status;
3026 raise G_EXCEPTION_HALT_PROCESSING;
3027 ELSE
3028 x_return_status := l_return_status;
3029 END IF;
3030 END IF;
3031 EXIT WHEN (i = p_sacv_tbl.LAST);
3032 i := p_sacv_tbl.NEXT(i);
3033 END LOOP;
3034 END IF;
3035 EXCEPTION
3036 WHEN G_EXCEPTION_HALT_PROCESSING THEN
3037 NULL;
3038 WHEN OTHERS THEN
3039 OKC_API.set_message(p_app_name => g_app_name,
3040 p_msg_name => g_unexpected_error,
3041 p_token1 => g_sqlcode_token,
3042 p_token1_value => sqlcode,
3043 p_token2 => g_sqlerrm_token,
3044 p_token2_value => sqlerrm);
3045 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3046 End Validate_scs_code;
3047
3048 PROCEDURE create_std_art_set_mem(
3049 p_api_version IN NUMBER,
3050 p_init_msg_list IN VARCHAR2 ,
3051 x_return_status OUT NOCOPY VARCHAR2,
3052 x_msg_count OUT NOCOPY NUMBER,
3053 x_msg_data OUT NOCOPY VARCHAR2,
3054 p_samv_rec IN samv_rec_type,
3055 x_samv_rec OUT NOCOPY samv_rec_type) IS
3056 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3057 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_STD_ART_SET_MEM';
3058 l_samv_rec samv_rec_type := p_samv_rec;
3059 BEGIN
3060 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3061 p_init_msg_list,
3062 '_PUB',
3063 x_return_status);
3064 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3065 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3066 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3067 raise OKC_API.G_EXCEPTION_ERROR;
3068 END IF;
3069 -- Call user hook for BEFORE
3070 g_samv_rec := l_samv_rec;
3071 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
3072 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3073 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3074 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3075 raise OKC_API.G_EXCEPTION_ERROR;
3076 END IF;
3077 l_samv_rec := migrate_samv(l_samv_rec, g_samv_rec);
3078
3079 OKC_STD_ARTICLE_PVT.create_std_art_set_mem(
3080 p_api_version => p_api_version,
3081 p_init_msg_list => p_init_msg_list,
3082 x_return_status => x_return_status,
3083 x_msg_count => x_msg_count,
3084 x_msg_data => x_msg_data,
3085 p_samv_rec => l_samv_rec,
3086 x_samv_rec => x_samv_rec);
3087
3088 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3089 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3090 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3091 raise OKC_API.G_EXCEPTION_ERROR;
3092 END IF;
3093
3094 -- Call user hook for AFTER
3095 g_samv_rec := x_samv_rec;
3096 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
3097 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3098 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3099 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3100 raise OKC_API.G_EXCEPTION_ERROR;
3101 END IF;
3102 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3103 EXCEPTION
3104 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3105 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3106 (l_api_name,
3107 G_PKG_NAME,
3108 'OKC_API.G_RET_STS_ERROR',
3109 x_msg_count,
3110 x_msg_data,
3111 '_PUB');
3112 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3113 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3114 (l_api_name,
3115 G_PKG_NAME,
3116 'OKC_API.G_RET_STS_UNEXP_ERROR',
3117 x_msg_count,
3118 x_msg_data,
3119 '_PUB');
3120 WHEN OTHERS THEN
3121 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3122 (l_api_name,
3123 G_PKG_NAME,
3124 'OTHERS',
3125 x_msg_count,
3126 x_msg_data,
3127 '_PUB');
3128 END create_std_art_set_mem;
3129
3130
3131 PROCEDURE create_std_art_set_mem(
3132 p_api_version IN NUMBER,
3133 p_init_msg_list IN VARCHAR2 ,
3134 x_return_status OUT NOCOPY VARCHAR2,
3135 x_msg_count OUT NOCOPY NUMBER,
3136 x_msg_data OUT NOCOPY VARCHAR2,
3137 p_samv_tbl IN samv_tbl_type,
3138 x_samv_tbl OUT NOCOPY samv_tbl_type) IS
3139 i NUMBER := 0;
3140 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3141
3142 BEGIN
3143 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3144 IF p_samv_tbl.COUNT > 0 THEN
3145 i := p_samv_tbl.FIRST;
3146 LOOP
3147 create_std_art_set_mem(
3148 p_api_version => p_api_version,
3149 p_init_msg_list => p_init_msg_list,
3150 x_return_status => l_return_status,
3151 x_msg_count => x_msg_count,
3152 x_msg_data => x_msg_data,
3153 p_samv_rec => p_samv_tbl(i),
3154 x_samv_rec => x_samv_tbl(i));
3155 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3156 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3157 x_return_status := l_return_status;
3158 raise G_EXCEPTION_HALT_PROCESSING;
3159 ELSE
3160 x_return_status := l_return_status;
3161 END IF;
3162 END IF;
3163 EXIT WHEN (i = p_samv_tbl.LAST);
3164 i := p_samv_tbl.NEXT(i);
3165 END LOOP;
3166 END IF;
3167 EXCEPTION
3168 WHEN G_EXCEPTION_HALT_PROCESSING THEN
3169 NULL;
3170 WHEN OTHERS THEN
3171 OKC_API.set_message(p_app_name => g_app_name,
3172 p_msg_name => g_unexpected_error,
3173 p_token1 => g_sqlcode_token,
3174 p_token1_value => sqlcode,
3175 p_token2 => g_sqlerrm_token,
3176 p_token2_value => sqlerrm);
3177 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3178 END create_std_art_set_mem;
3179
3180 PROCEDURE update_std_art_set_mem(
3181 p_api_version IN NUMBER,
3182 p_init_msg_list IN VARCHAR2 ,
3183 x_return_status OUT NOCOPY VARCHAR2,
3184 x_msg_count OUT NOCOPY NUMBER,
3185 x_msg_data OUT NOCOPY VARCHAR2,
3186 p_samv_rec IN samv_rec_type,
3187 x_samv_rec OUT NOCOPY samv_rec_type) IS
3188 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3189 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_STD_ART_SET_MEM';
3190 l_samv_rec samv_rec_type := p_samv_rec;
3191 BEGIN
3192 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3193 p_init_msg_list,
3194 '_PUB',
3195 x_return_status);
3196 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3197 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3198 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3199 raise OKC_API.G_EXCEPTION_ERROR;
3200 END IF;
3201 -- Call user hook for BEFORE
3202 g_samv_rec := l_samv_rec;
3203 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
3204 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3205 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3206 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3207 raise OKC_API.G_EXCEPTION_ERROR;
3208 END IF;
3209 l_samv_rec := migrate_samv(l_samv_rec, g_samv_rec);
3210
3211 OKC_STD_ARTICLE_PVT.update_std_art_set_mem(
3212 p_api_version => p_api_version,
3213 p_init_msg_list => p_init_msg_list,
3214 x_return_status => x_return_status,
3215 x_msg_count => x_msg_count,
3216 x_msg_data => x_msg_data,
3217 p_samv_rec => l_samv_rec,
3218 x_samv_rec => x_samv_rec);
3219
3220 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3221 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3222 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3223 raise OKC_API.G_EXCEPTION_ERROR;
3224 END IF;
3225
3226 -- Call user hook for AFTER
3227 g_samv_rec := x_samv_rec;
3228 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
3229 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3230 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3231 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3232 raise OKC_API.G_EXCEPTION_ERROR;
3233 END IF;
3234 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3235 EXCEPTION
3236 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3237 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3238 (l_api_name,
3239 G_PKG_NAME,
3240 'OKC_API.G_RET_STS_ERROR',
3241 x_msg_count,
3242 x_msg_data,
3243 '_PUB');
3244 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3245 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3246 (l_api_name,
3247 G_PKG_NAME,
3248 'OKC_API.G_RET_STS_UNEXP_ERROR',
3249 x_msg_count,
3250 x_msg_data,
3251 '_PUB');
3252 WHEN OTHERS THEN
3253 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3254 (l_api_name,
3255 G_PKG_NAME,
3256 'OTHERS',
3257 x_msg_count,
3258 x_msg_data,
3259 '_PUB');
3260 END update_std_art_set_mem;
3261
3262 PROCEDURE update_std_art_set_mem(
3263 p_api_version IN NUMBER,
3264 p_init_msg_list IN VARCHAR2 ,
3265 x_return_status OUT NOCOPY VARCHAR2,
3266 x_msg_count OUT NOCOPY NUMBER,
3267 x_msg_data OUT NOCOPY VARCHAR2,
3268 p_samv_tbl IN samv_tbl_type,
3269 x_samv_tbl OUT NOCOPY samv_tbl_type) IS
3270 i NUMBER := 0;
3271 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3272
3273 BEGIN
3274 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3275 IF p_samv_tbl.COUNT > 0 THEN
3276 i := p_samv_tbl.FIRST;
3277 LOOP
3278 update_std_art_set_mem(
3279 p_api_version => p_api_version,
3280 p_init_msg_list => p_init_msg_list,
3281 x_return_status => l_return_status,
3282 x_msg_count => x_msg_count,
3283 x_msg_data => x_msg_data,
3284 p_samv_rec => p_samv_tbl(i),
3285 x_samv_rec => x_samv_tbl(i));
3286 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3287 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3288 x_return_status := l_return_status;
3289 raise G_EXCEPTION_HALT_PROCESSING;
3290 ELSE
3291 x_return_status := l_return_status;
3292 END IF;
3293 END IF;
3294 EXIT WHEN (i = p_samv_tbl.LAST);
3295 i := p_samv_tbl.NEXT(i);
3296 END LOOP;
3297 END IF;
3298 EXCEPTION
3299 WHEN G_EXCEPTION_HALT_PROCESSING THEN
3300 NULL;
3301 WHEN OTHERS THEN
3302 OKC_API.set_message(p_app_name => g_app_name,
3303 p_msg_name => g_unexpected_error,
3304 p_token1 => g_sqlcode_token,
3305 p_token1_value => sqlcode,
3306 p_token2 => g_sqlerrm_token,
3307 p_token2_value => sqlerrm);
3308 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3309 END update_std_art_set_mem;
3310
3311 PROCEDURE lock_std_art_set_mem(
3312 p_api_version IN NUMBER,
3313 p_init_msg_list IN VARCHAR2 ,
3314 x_return_status OUT NOCOPY VARCHAR2,
3315 x_msg_count OUT NOCOPY NUMBER,
3316 x_msg_data OUT NOCOPY VARCHAR2,
3317 p_samv_rec IN samv_rec_type) IS
3318 BEGIN
3319 OKC_STD_ARTICLE_PVT.lock_std_art_set_mem(
3320 p_api_version => p_api_version,
3321 p_init_msg_list => p_init_msg_list,
3322 x_return_status => x_return_status,
3323 x_msg_count => x_msg_count,
3324 x_msg_data => x_msg_data,
3325 p_samv_rec => p_samv_rec);
3326
3327 END lock_std_art_set_mem;
3328
3329 PROCEDURE lock_std_art_set_mem(
3330 p_api_version IN NUMBER,
3331 p_init_msg_list IN VARCHAR2 ,
3332 x_return_status OUT NOCOPY VARCHAR2,
3333 x_msg_count OUT NOCOPY NUMBER,
3334 x_msg_data OUT NOCOPY VARCHAR2,
3335 p_samv_tbl IN samv_tbl_type) IS
3336 i NUMBER := 0;
3337 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3338
3339 BEGIN
3340 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3341 IF p_samv_tbl.COUNT > 0 THEN
3342 i := p_samv_tbl.FIRST;
3343 LOOP
3344 lock_std_art_set_mem(
3345 p_api_version => p_api_version,
3346 p_init_msg_list => p_init_msg_list,
3347 x_return_status => l_return_status,
3348 x_msg_count => x_msg_count,
3349 x_msg_data => x_msg_data,
3350 p_samv_rec => p_samv_tbl(i));
3351 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3352 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3353 x_return_status := l_return_status;
3354 raise G_EXCEPTION_HALT_PROCESSING;
3355 ELSE
3356 x_return_status := l_return_status;
3357 END IF;
3358 END IF;
3359 EXIT WHEN (i = p_samv_tbl.LAST);
3360 i := p_samv_tbl.NEXT(i);
3361 END LOOP;
3362 END IF;
3363 EXCEPTION
3364 WHEN G_EXCEPTION_HALT_PROCESSING THEN
3365 NULL;
3366 WHEN OTHERS THEN
3367 OKC_API.set_message(p_app_name => g_app_name,
3368 p_msg_name => g_unexpected_error,
3369 p_token1 => g_sqlcode_token,
3370 p_token1_value => sqlcode,
3371 p_token2 => g_sqlerrm_token,
3372 p_token2_value => sqlerrm);
3373 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3374 END lock_std_art_set_mem;
3375
3376
3377 PROCEDURE delete_std_art_set_mem(
3378 p_api_version IN NUMBER,
3379 p_init_msg_list IN VARCHAR2 ,
3380 x_return_status OUT NOCOPY VARCHAR2,
3381 x_msg_count OUT NOCOPY NUMBER,
3382 x_msg_data OUT NOCOPY VARCHAR2,
3383 p_samv_rec IN samv_rec_type) IS
3384 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3385 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_STD_ART_SET_MEM';
3386 l_samv_rec samv_rec_type := p_samv_rec;
3387 BEGIN
3388 l_return_status := OKC_API.START_ACTIVITY(l_api_name,
3389 p_init_msg_list,
3390 '_PUB',
3391 x_return_status);
3392 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3393 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3394 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
3395 raise OKC_API.G_EXCEPTION_ERROR;
3396 END IF;
3397 -- Call user hook for BEFORE
3398 g_samv_rec := l_samv_rec;
3399 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'B');
3400 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3401 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3402 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3403 raise OKC_API.G_EXCEPTION_ERROR;
3404 END IF;
3405 l_samv_rec := migrate_samv(l_samv_rec, g_samv_rec);
3406
3407 OKC_STD_ARTICLE_PVT.delete_std_art_set_mem(
3408 p_api_version => p_api_version,
3409 p_init_msg_list => p_init_msg_list,
3410 x_return_status => x_return_status,
3411 x_msg_count => x_msg_count,
3412 x_msg_data => x_msg_data,
3413 p_samv_rec => l_samv_rec);
3414
3415 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3416 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3417 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3418 raise OKC_API.G_EXCEPTION_ERROR;
3419 END IF;
3420
3421 -- Call user hook for AFTER
3422 g_samv_rec := l_samv_rec;
3423 okc_util.call_user_hook(x_return_status, g_pkg_name, l_api_name, 'A');
3424 IF (x_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3425 raise OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
3426 ELSIF (x_return_status = OKC_API.G_RET_STS_ERROR) THEN
3427 raise OKC_API.G_EXCEPTION_ERROR;
3428 END IF;
3429 OKC_API.END_ACTIVITY(x_msg_count, x_msg_data);
3430 EXCEPTION
3431 WHEN OKC_API.G_EXCEPTION_ERROR THEN
3432 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3433 (l_api_name,
3434 G_PKG_NAME,
3435 'OKC_API.G_RET_STS_ERROR',
3436 x_msg_count,
3437 x_msg_data,
3438 '_PUB');
3439 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
3440 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3441 (l_api_name,
3442 G_PKG_NAME,
3443 'OKC_API.G_RET_STS_UNEXP_ERROR',
3444 x_msg_count,
3445 x_msg_data,
3446 '_PUB');
3447 WHEN OTHERS THEN
3448 x_return_status := OKC_API.HANDLE_EXCEPTIONS
3449 (l_api_name,
3450 G_PKG_NAME,
3451 'OTHERS',
3452 x_msg_count,
3453 x_msg_data,
3454 '_PUB');
3455 END delete_std_art_set_mem;
3456
3457 PROCEDURE delete_std_art_set_mem(
3458 p_api_version IN NUMBER,
3459 p_init_msg_list IN VARCHAR2 ,
3460 x_return_status OUT NOCOPY VARCHAR2,
3461 x_msg_count OUT NOCOPY NUMBER,
3462 x_msg_data OUT NOCOPY VARCHAR2,
3463 p_samv_tbl IN samv_tbl_type) IS
3464 i NUMBER := 0;
3465 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3466
3467 BEGIN
3468 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3469 IF p_samv_tbl.COUNT > 0 THEN
3470 i := p_samv_tbl.FIRST;
3471 LOOP
3472 delete_std_art_set_mem(
3473 p_api_version => p_api_version,
3474 p_init_msg_list => p_init_msg_list,
3475 x_return_status => l_return_status,
3476 x_msg_count => x_msg_count,
3477 x_msg_data => x_msg_data,
3478 p_samv_rec => p_samv_tbl(i));
3479 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3480 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3481 x_return_status := l_return_status;
3482 raise G_EXCEPTION_HALT_PROCESSING;
3483 ELSE
3484 x_return_status := l_return_status;
3485 END IF;
3486 END IF;
3487 EXIT WHEN (i = p_samv_tbl.LAST);
3488 i := p_samv_tbl.NEXT(i);
3489 END LOOP;
3490 END IF;
3491 EXCEPTION
3492 WHEN G_EXCEPTION_HALT_PROCESSING THEN
3493 NULL;
3494 WHEN OTHERS THEN
3495 OKC_API.set_message(p_app_name => g_app_name,
3496 p_msg_name => g_unexpected_error,
3497 p_token1 => g_sqlcode_token,
3498 p_token1_value => sqlcode,
3499 p_token2 => g_sqlerrm_token,
3500 p_token2_value => sqlerrm);
3501 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3502 END delete_std_art_set_mem;
3503
3504
3505 PROCEDURE validate_std_art_set_mem(
3506 p_api_version IN NUMBER,
3507 p_init_msg_list IN VARCHAR2 ,
3508 x_return_status OUT NOCOPY VARCHAR2,
3509 x_msg_count OUT NOCOPY NUMBER,
3510 x_msg_data OUT NOCOPY VARCHAR2,
3511 p_samv_rec IN samv_rec_type) IS
3512 BEGIN
3513
3514 OKC_STD_ARTICLE_PVT.validate_std_art_set_mem(
3515 p_api_version => p_api_version,
3516 p_init_msg_list => p_init_msg_list,
3517 x_return_status => x_return_status,
3518 x_msg_count => x_msg_count,
3519 x_msg_data => x_msg_data,
3520 p_samv_rec => p_samv_rec);
3521
3522 END validate_std_art_set_mem;
3523
3524 PROCEDURE validate_std_art_set_mem(
3525 p_api_version IN NUMBER,
3526 p_init_msg_list IN VARCHAR2 ,
3527 x_return_status OUT NOCOPY VARCHAR2,
3528 x_msg_count OUT NOCOPY NUMBER,
3529 x_msg_data OUT NOCOPY VARCHAR2,
3530 p_samv_tbl IN samv_tbl_type) IS
3531 i NUMBER := 0;
3532 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3533
3534 BEGIN
3535 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3536 IF p_samv_tbl.COUNT > 0 THEN
3537 i := p_samv_tbl.FIRST;
3538 LOOP
3539 validate_std_art_set_mem(
3540 p_api_version => p_api_version,
3541 p_init_msg_list => p_init_msg_list,
3542 x_return_status => l_return_status,
3543 x_msg_count => x_msg_count,
3544 x_msg_data => x_msg_data,
3545 p_samv_rec => p_samv_tbl(i));
3546 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3547 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3548 x_return_status := l_return_status;
3549 raise G_EXCEPTION_HALT_PROCESSING;
3550 ELSE
3551 x_return_status := l_return_status;
3552 END IF;
3553 END IF;
3554 EXIT WHEN (i = p_samv_tbl.LAST);
3555 i := p_samv_tbl.NEXT(i);
3556 END LOOP;
3557 END IF;
3558 EXCEPTION
3559 WHEN G_EXCEPTION_HALT_PROCESSING THEN
3560 NULL;
3561 WHEN OTHERS THEN
3562 OKC_API.set_message(p_app_name => g_app_name,
3563 p_msg_name => g_unexpected_error,
3564 p_token1 => g_sqlcode_token,
3565 p_token1_value => sqlcode,
3566 p_token2 => g_sqlerrm_token,
3567 p_token2_value => sqlerrm);
3568 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3569 END validate_std_art_set_mem;
3570
3571 PROCEDURE validate_unique(
3572 p_api_version IN NUMBER,
3573 p_init_msg_list IN VARCHAR2 ,
3574 x_return_status OUT NOCOPY VARCHAR2,
3575 x_msg_count OUT NOCOPY NUMBER,
3576 x_msg_data OUT NOCOPY VARCHAR2,
3577 p_samv_rec IN samv_rec_type) IS
3578 BEGIN
3579 OKC_STD_ARTICLE_PVT.Validate_Unique(p_api_version => p_api_version,
3580 p_init_msg_list => p_init_msg_list,
3581 x_return_status => x_return_status,
3582 x_msg_count => x_msg_count,
3583 x_msg_data => x_msg_data,
3584 p_samv_rec => p_samv_rec);
3585
3586 End Validate_unique;
3587
3588 PROCEDURE validate_unique(
3589 p_api_version IN NUMBER,
3590 p_init_msg_list IN VARCHAR2 ,
3591 x_return_status OUT NOCOPY VARCHAR2,
3592 x_msg_count OUT NOCOPY NUMBER,
3593 x_msg_data OUT NOCOPY VARCHAR2,
3594 p_samv_tbl IN samv_tbl_type) IS
3595
3596 i NUMBER := 0;
3597 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
3598
3599 BEGIN
3600 x_return_status := OKC_API.G_RET_STS_SUCCESS;
3601 IF p_samv_tbl.COUNT > 0 THEN
3602 i := p_samv_tbl.FIRST;
3603 LOOP
3604 Validate_unique(p_api_version => p_api_version,
3605 p_init_msg_list => p_init_msg_list,
3606 x_return_status => l_return_status,
3607 x_msg_count => x_msg_count,
3608 x_msg_data => x_msg_data,
3609 p_samv_rec => p_samv_tbl(i));
3610
3611 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
3612 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
3613 x_return_status := l_return_status;
3614 raise G_EXCEPTION_HALT_PROCESSING;
3615 ELSE
3616 x_return_status := l_return_status;
3617 END IF;
3618 END IF;
3619 EXIT WHEN (i = p_samv_tbl.LAST);
3620 i := p_samv_tbl.NEXT(i);
3621 END LOOP;
3622 END IF;
3623 EXCEPTION
3624 WHEN G_EXCEPTION_HALT_PROCESSING THEN
3625 NULL;
3626 WHEN OTHERS THEN
3627 OKC_API.set_message(p_app_name => g_app_name,
3628 p_msg_name => g_unexpected_error,
3629 p_token1 => g_sqlcode_token,
3630 p_token1_value => sqlcode,
3631 p_token2 => g_sqlerrm_token,
3632 p_token2_value => sqlerrm);
3633 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
3634 End Validate_unique;
3635
3636 -- BUG 3188215 - KOL: BACKWARD COMPATIBILITY CHANGES
3637 -- modified the function to call the new api function
3638 -- art_used_in_contracts
3639 FUNCTION used_in_contracts
3640 (
3641 p_sav_sae_id IN okc_k_articles_b.sav_sae_id%TYPE,
3642 p_sav_sav_release IN okc_k_articles_b.sav_sav_release%TYPE
3643 )
3644 RETURN VARCHAR2 IS
3645
3646 BEGIN
3647
3648 RETURN okc_std_article_pvt.art_used_in_contracts(p_sav_sae_id,p_sav_sav_release);
3649
3650 END used_in_contracts;
3651
3652 FUNCTION empclob
3653 RETURN CLOB IS
3654
3655 BEGIN
3656 RETURN okc_std_article_pvt.empclob;
3657
3658 END empclob;
3659
3660 FUNCTION latest_release
3661 (
3662 p_sav_sae_id IN okc_k_articles_b.sav_sae_id%TYPE
3663 )
3664 RETURN VARCHAR2 IS
3665
3666 BEGIN
3667
3668 RETURN okc_std_article_pvt.latest_release(p_sav_sae_id);
3669
3670 END latest_release;
3671
3672 --BUG 3188215 - KOL: BACKWARD COMPATIBILITY CHANGES
3673 -- modified the function to call the new api function
3674 -- latest_art_release
3675 FUNCTION latest_release
3676 (
3677 p_sav_sae_id IN okc_k_articles_b.sav_sae_id%TYPE,
3678 p_article_version_number IN okc_article_versions.article_version_number%TYPE
3679 )
3680 RETURN VARCHAR2 IS
3681
3682 BEGIN
3683
3684 RETURN okc_std_article_pvt.latest_art_release(p_sav_sae_id,p_article_version_number);
3685
3686 END latest_release;
3687
3688 -- BUG 3188215 - KOL: BACKWARD COMPATIBILITY CHANGES
3689 -- modified the function to call the new api function
3690 -- latest_or_future_art_release
3691 FUNCTION latest_or_future_release
3692 (
3693 p_sav_sae_id IN okc_k_articles_b.sav_sae_id%TYPE,
3694 p_article_version_number IN okc_article_versions.article_version_number%TYPE,
3695 p_date_active IN okc_article_versions.start_date%TYPE
3696 )
3697 RETURN VARCHAR2 IS
3698
3699 BEGIN
3700
3701 RETURN okc_std_article_pvt.latest_or_future_art_release(p_sav_sae_id,p_article_version_number,p_date_active);
3702
3703 END latest_or_future_release;
3704
3705
3706 END okc_std_article_pub;