[Home] [Help]
PACKAGE BODY: APPS.OKL_SUPP_INVOICE_DTLS_PVT
Source
1 package body OKL_SUPP_INVOICE_DTLS_PVT as
2 /* $Header: OKLCSIDB.pls 120.3 2005/10/30 04:04:21 appldev noship $ */
3
4 /*
5 * sjalasut: aug 18, 04 added constants used in raising business event. BEGIN
6 */
7 G_WF_EVT_ASSET_SUP_INV_CRTD CONSTANT VARCHAR2(65) := 'oracle.apps.okl.la.lease_contract.asset_supplier_invoice_created';
8 G_WF_EVT_ASSET_SUP_INV_UPTD CONSTANT VARCHAR2(65) := 'oracle.apps.okl.la.lease_contract.asset_supplier_invoice_updated';
9 G_WF_ITM_CONTRACT_ID CONSTANT VARCHAR2(30) := 'CONTRACT_ID';
10 G_WF_ITM_ASSET_ID CONSTANT VARCHAR2(30) := 'ASSET_ID';
11 G_WF_ITM_PARTY_ID CONSTANT VARCHAR2(15) := 'PARTY_ID';
12 G_WF_ITM_CONTRACT_PROCESS CONSTANT VARCHAR2(30) := 'CONTRACT_PROCESS';
13 /*
14 * sjalasut: aug 18, 04 added constants used in raising business event. END
15 */
16 -------------------------------------------------------------------------------
17 -- PROCEDURE raise_business_event
18 -------------------------------------------------------------------------------
19 -- Start of comments
20 --
21 -- Procedure Name : raise_business_event
22 -- Description : This procedure is a wrapper that raises a business event
23 -- : when ever supplier invoice is created or updated.
24 -- Business Rules :
25 -- Parameters : p_chr_id,p_asset_id,p_vendor_id,p_event_name along with other api params
26 -- Version : 1.0
27 -- History : 30-AUG-2004 SJALASUT created
28 -- End of comments
29
30 PROCEDURE raise_business_event(p_api_version IN NUMBER,
31 p_init_msg_list IN VARCHAR2,
32 p_chr_id IN okc_k_headers_b.id%TYPE,
33 p_asset_id IN okc_k_lines_b.id%TYPE,
34 p_vendor_id IN po_vendors.vendor_id%TYPE,
35 p_event_name IN VARCHAR2,
36 x_return_status OUT NOCOPY VARCHAR2,
37 x_msg_count OUT NOCOPY NUMBER,
38 x_msg_data OUT NOCOPY VARCHAR2
39 ) IS
40 l_parameter_list wf_parameter_list_t;
41 l_contract_process VARCHAR2(20);
42 BEGIN
43 x_return_status := OKL_API.G_RET_STS_SUCCESS;
44
45 -- wrapper API to get contract process. this API determines in which status the
46 -- contract in question is.
47 l_contract_process := okl_lla_util_pvt.get_contract_process(p_chr_id => p_chr_id);
48 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_ID, p_chr_id, l_parameter_list);
49 wf_event.AddParameterToList(G_WF_ITM_ASSET_ID, p_asset_id, l_parameter_list);
50 wf_event.AddParameterToList(G_WF_ITM_PARTY_ID, p_vendor_id, l_parameter_list);
51 wf_event.AddParameterToList(G_WF_ITM_CONTRACT_PROCESS, l_contract_process, l_parameter_list);
52
53 OKL_WF_PVT.raise_event(p_api_version => p_api_version,
54 p_init_msg_list => p_init_msg_list,
55 x_return_status => x_return_status,
56 x_msg_count => x_msg_count,
57 x_msg_data => x_msg_data,
58 p_event_name => p_event_name,
59 p_parameters => l_parameter_list);
60 EXCEPTION
61 WHEN OTHERS THEN
62 x_return_status := OKL_API.G_RET_STS_UNEXP_ERROR;
63 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
64 END raise_business_event;
65
66 /*
67 * sjalasut: aug 18, 04 added procedure to call private wrapper that raises the business event. END
68 */
69
70
71 PROCEDURE Create_sup_inv_dtls(
72 p_api_version IN NUMBER,
73 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
74 x_return_status OUT NOCOPY VARCHAR2,
75 x_msg_count OUT NOCOPY NUMBER,
76 x_msg_data OUT NOCOPY VARCHAR2,
77 p_sidv_rec IN sidv_rec_type,
78 x_sidv_rec OUT NOCOPY sidv_rec_type)
79 IS
80 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_SUP_INV_DTLS';
81 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
82 /*
83 * sjalasut aug 18, 04: added cursor to derive the dnz_chr_id from the dnz_cle_id
84 * to pass the parameters to the business event. BEGIN
85 */
86 CURSOR get_chr_id (p_cle_id okc_k_lines_b.id%TYPE) IS
87 SELECT dnz_chr_id, cle_id
88 FROM okc_k_lines_b
89 WHERE id = p_cle_id;
90
91 --vthiruva Fix Bug#4047076 27-Dec-04
92 --Added cursor to fetch the vendor id to pass to business events
93 CURSOR get_vendor_id(p_chr_id okc_k_headers_b.id%TYPE,
94 p_cle_id okc_k_lines_b.id%TYPE) IS
95 SELECT object1_id1 vendor_id
96 FROM okc_k_party_roles_b
97 WHERE dnz_chr_id = p_chr_id
98 AND cle_id = p_cle_id
99 AND rle_code = 'OKL_VENDOR';
100
101 l_chr_id okc_k_headers_b.id%TYPE;
102 l_cle_id okc_k_lines_b.id%TYPE;
103 l_vendor_id po_vendors.vendor_id%TYPE;
104 /*
105 * sjalasut aug 18, 04: added cursor to derive the dnz_chr_id from the dnz_cle_id
106 * to pass the parameters to the business event. END
107 */
108
109 BEGIN
110 -- Call start_activity to create savepoint, check compatibility
111 -- and initialize message list
112 l_return_status := OKC_API.START_ACTIVITY (l_api_name
113 ,p_init_msg_list
114 ,'_PVT'
115 ,x_return_status);
116 -- Check if activity started successfully
117 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
118 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
119 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
120 RAISE OKC_API.G_EXCEPTION_ERROR;
121 END IF;
122 -- evaluate conditions, build outcomes for true conditions and
123 -- put them on outcome queue
124 OKL_SID_PVT.insert_row(p_api_version,
125 p_init_msg_list,
126 x_return_status,
127 x_msg_count,
128 x_msg_data,
129 p_sidv_rec,
130 x_sidv_rec);
131 /*
132 * sjalasut: aug 18, 04 added code to enable business event. BEGIN
133 * raise the event only when the contract in context is a LEASE contract
134 */
135 OPEN get_chr_id(p_sidv_rec.cle_id);
136 FETCH get_chr_id INTO l_chr_id,l_cle_id;
137 CLOSE get_chr_id;
138
139 --vthiruva Fix Bug#4047076..27-Dec-04
140 --added code to fetch vendor id
141 OPEN get_vendor_id(l_chr_id,p_sidv_rec.cle_id);
142 FETCH get_vendor_id INTO l_vendor_id;
143 CLOSE get_vendor_id;
144
145 IF(OKL_LLA_UTIL_PVT.is_lease_contract(l_chr_id)= OKL_API.G_TRUE)THEN
146 raise_business_event(p_api_version => p_api_version,
147 p_init_msg_list => p_init_msg_list,
148 p_chr_id => l_chr_id,
149 p_asset_id => l_cle_id,
150 p_vendor_id => l_vendor_id,
151 p_event_name => G_WF_EVT_ASSET_SUP_INV_CRTD,
152 x_return_status => x_return_status,
153 x_msg_count => x_msg_count,
154 x_msg_data => x_msg_data
155 );
156 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
157 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
158 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
159 RAISE OKL_API.G_EXCEPTION_ERROR;
160 END IF;
161 END IF;
162 /*
163 * sjalasut: aug 18, 04 added code to enable business event. END
164 */
165
166 OKC_API.END_ACTIVITY (x_msg_count
167 ,x_msg_data );
168 EXCEPTION
169 WHEN OKC_API.G_EXCEPTION_ERROR THEN
170 x_return_status := OKC_API.HANDLE_EXCEPTIONS
171 (l_api_name,
172 G_PKG_NAME,
173 'OKC_API.G_RET_STS_ERROR',
174 x_msg_count,
175 x_msg_data,
176 '_PVT');
177 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
178 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
179 (l_api_name,
180 G_PKG_NAME,
181 'OKC_API.G_RET_STS_UNEXP_ERROR',
182 x_msg_count,
183 x_msg_data,
184 '_PVT');
185 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
186 (l_api_name,
187 G_PKG_NAME,
188 'OTHERS',
189 x_msg_count,
190 x_msg_data,
191 '_PVT');
192 END Create_sup_inv_dtls;
193
194 PROCEDURE Create_sup_inv_dtls(
195 p_api_version IN NUMBER,
196 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
197 x_return_status OUT NOCOPY VARCHAR2,
198 x_msg_count OUT NOCOPY NUMBER,
199 x_msg_data OUT NOCOPY VARCHAR2,
200 p_sidv_tbl IN sidv_tbl_type,
201 x_sidv_tbl OUT NOCOPY sidv_tbl_type)
202 IS
203 l_api_name CONSTANT VARCHAR2(30) := 'CREATE_SUP_INV_DTLS';
204 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
205 BEGIN
206 -- Call start_activity to create savepoint, check compatibility
207 -- and initialize message list
208 l_return_status := OKC_API.START_ACTIVITY (l_api_name
209 ,p_init_msg_list
210 ,'_PVT'
211 , x_return_status);
212 -- Check if activity started successfully
213 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
214 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
215 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
216 RAISE OKC_API.G_EXCEPTION_ERROR;
217 END IF;
218 -- evaluate conditions, build outcomes for true conditions and
219 -- put them on outcome queue
220 OKL_SID_PVT.insert_row(p_api_version,
221 p_init_msg_list,
222 x_return_status,
223 x_msg_count,
224 x_msg_data,
225 p_sidv_tbl,
226 x_sidv_tbl);
227 OKC_API.END_ACTIVITY (x_msg_count
228 ,x_msg_data );
229
230 EXCEPTION
231 WHEN OKC_API.G_EXCEPTION_ERROR THEN
232 x_return_status := OKC_API.HANDLE_EXCEPTIONS
233 (l_api_name,
234 G_PKG_NAME,
235 'OKC_API.G_RET_STS_ERROR',
236 x_msg_count,
237 x_msg_data,
238 '_PVT');
239 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
240 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
241 (l_api_name,
242 G_PKG_NAME,
243 'OKC_API.G_RET_STS_UNEXP_ERROR',
244 x_msg_count,
245 x_msg_data,
246 '_PVT');
247 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
248 ( l_api_name,
249 G_PKG_NAME,
250 'OTHERS',
251 x_msg_count,
252 x_msg_data,
253 '_PVT');
254 END Create_sup_inv_dtls;
255
256 PROCEDURE lock_sup_inv_dtls(
257 p_api_version IN NUMBER,
258 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
259 x_return_status OUT NOCOPY VARCHAR2,
260 x_msg_count OUT NOCOPY NUMBER,
261 x_msg_data OUT NOCOPY VARCHAR2,
262 p_sidv_rec IN sidv_rec_type)
263 IS
264 l_api_name CONSTANT VARCHAR2(30) := 'LOCK_SUP_INV_DTLS';
265 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
266 BEGIN
267 -- Call start_activity to create savepoint, check compatibility
268 -- and initialize message list
269 l_return_status := OKC_API.START_ACTIVITY (l_api_name
270 ,p_init_msg_list
271 ,'_PVT'
272 ,x_return_status);
273 -- Check if activity started successfully
274 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
275 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
276 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
277 RAISE OKC_API.G_EXCEPTION_ERROR;
278 END IF;
279 -- evaluate conditions, build outcomes for true conditions and
280 -- put them on outcome queue
281 OKL_SID_PVT.lock_row(p_api_version,
282 p_init_msg_list,
283 x_return_status,
284 x_msg_count,
285 x_msg_data,
286 p_sidv_rec);
287 OKC_API.END_ACTIVITY (x_msg_count
288 ,x_msg_data );
289 EXCEPTION
290 WHEN OKC_API.G_EXCEPTION_ERROR THEN
291 x_return_status := OKC_API.HANDLE_EXCEPTIONS
292 (l_api_name,
293 G_PKG_NAME,
294 'OKC_API.G_RET_STS_ERROR',
295 x_msg_count,
296 x_msg_data,
297 '_PVT');
298 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
299 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
300 (l_api_name,
301 G_PKG_NAME,
302 'OKC_API.G_RET_STS_UNEXP_ERROR',
303 x_msg_count,
304 x_msg_data,
305 '_PVT');
306 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
307 (l_api_name,
308 G_PKG_NAME,
309 'OTHERS',
310 x_msg_count,
311 x_msg_data,
312 '_PVT');
313 END lock_sup_inv_dtls;
314
315 PROCEDURE lock_sup_inv_dtls(
316 p_api_version IN NUMBER,
317 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
318 x_return_status OUT NOCOPY VARCHAR2,
319 x_msg_count OUT NOCOPY NUMBER,
320 x_msg_data OUT NOCOPY VARCHAR2,
321 p_sidv_tbl IN sidv_tbl_type)
322 IS
323 l_api_name CONSTANT VARCHAR2(30) := 'LOCK_SUP_INV_DTLS';
324 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
325 BEGIN
326 -- Call start_activity to create savepoint, check compatibility
327 -- and initialize message list
328 l_return_status := OKC_API.START_ACTIVITY (l_api_name
329 ,p_init_msg_list
330 ,'_PVT'
331 ,x_return_status);
332 -- Check if activity started successfully
333 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
334 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
335 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
336 RAISE OKC_API.G_EXCEPTION_ERROR;
337 END IF;
338 -- evaluate conditions, build outcomes for true conditions and
339 -- put them on outcome queue
340 OKL_SID_PVT.lock_row(p_api_version,
341 p_init_msg_list,
342 x_return_status,
343 x_msg_count,
344 x_msg_data,
345 p_sidv_tbl);
346 OKC_API.END_ACTIVITY (x_msg_count
347 ,x_msg_data );
348 EXCEPTION
349 WHEN OKC_API.G_EXCEPTION_ERROR THEN
350 x_return_status := OKC_API.HANDLE_EXCEPTIONS
351 (l_api_name,
352 G_PKG_NAME,
353 'OKC_API.G_RET_STS_ERROR',
354 x_msg_count,
355 x_msg_data,
356 '_PVT');
357 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
358 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
359 (l_api_name,
360 G_PKG_NAME,
361 'OKC_API.G_RET_STS_UNEXP_ERROR',
362 x_msg_count,
363 x_msg_data,
364 '_PVT');
365 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
366 (l_api_name,
367 G_PKG_NAME,
368 'OTHERS',
369 x_msg_count,
370 x_msg_data,
371 '_PVT');
372 END lock_sup_inv_dtls;
373
374 PROCEDURE update_sup_inv_dtls(
375 p_api_version IN NUMBER,
376 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
377 x_return_status OUT NOCOPY VARCHAR2,
378 x_msg_count OUT NOCOPY NUMBER,
379 x_msg_data OUT NOCOPY VARCHAR2,
380 p_sidv_rec IN sidv_rec_type,
381 x_sidv_rec OUT NOCOPY sidv_rec_type)
382 IS
383 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_SUP_INV_DTLS';
384 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
385 /*
386 * sjalasut aug 18, 04: added cursor to derive the dnz_chr_id from the dnz_cle_id
387 * to pass the parameters to the business event. BEGIN
388 */
389 CURSOR get_chr_id (p_cle_id okc_k_lines_b.id%TYPE) IS
390 SELECT a.dnz_chr_id, a.cle_id, b.cle_id
391 FROM okc_k_lines_b a,
392 okl_supp_invoice_dtls b
393 WHERE a.id = b.cle_id
394 AND b.id = p_cle_id;
395
396 --vthiruva Fix Bug#4047076..27-Dec-04
397 --Added cursor to fetch the vendor id to pass to business events
398 CURSOR get_vendor_id(p_chr_id okc_k_headers_b.id%TYPE,
399 p_cle_id okc_k_lines_b.id%TYPE) IS
400 SELECT object1_id1 vendor_id
401 FROM okc_k_party_roles_b
402 WHERE dnz_chr_id = p_chr_id
403 AND cle_id = p_cle_id
404 AND rle_code = 'OKL_VENDOR';
405
406 l_chr_id okc_k_headers_b.id%TYPE;
407 l_cle_id okc_k_lines_b.id%TYPE;
408 l_supp_inv_ln_id okc_k_lines_b.id%TYPE;
409 l_vendor_id po_vendors.vendor_id%TYPE;
410 /*
411 * sjalasut aug 18, 04: added cursor to derive the dnz_chr_id from the dnz_cle_id
412 * to pass the parameters to the business event. END
413 */
414
415 BEGIN
416 -- Call start_activity to create savepoint, check compatibility
417 -- and initialize message list
418 l_return_status := OKC_API.START_ACTIVITY (l_api_name
419 ,p_init_msg_list
420 ,'_PVT'
421 ,x_return_status);
422 -- Check if activity started successfully
423 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
424 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
425 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
426 RAISE OKC_API.G_EXCEPTION_ERROR;
427 END IF;
428 -- evaluate conditions, build outcomes for true conditions and
429 -- put them on outcome queue
430 OKL_SID_PVT.update_row(p_api_version,
431 p_init_msg_list,
432 x_return_status,
433 x_msg_count,
434 x_msg_data,
435 p_sidv_rec,
436 x_sidv_rec);
437 /*
438 * sjalasut: aug 18, 04 added code to enable business event. BEGIN
439 * raise the event only is the contract in context is a LEASE contract
440 */
441 OPEN get_chr_id(p_sidv_rec.id);
442 FETCH get_chr_id INTO l_chr_id,l_cle_id,l_supp_inv_ln_id;
443 CLOSE get_chr_id;
444
445 --vthiruva Fix Bug#4047076..27-Dec-04
446 --added code to fetch vendor id
447 OPEN get_vendor_id(l_chr_id,l_supp_inv_ln_id);
448 FETCH get_vendor_id INTO l_vendor_id;
449 CLOSE get_vendor_id;
450
451 IF(OKL_LLA_UTIL_PVT.is_lease_contract(l_chr_id)= OKL_API.G_TRUE)THEN
452 raise_business_event(p_api_version => p_api_version,
453 p_init_msg_list => p_init_msg_list,
454 p_chr_id => l_chr_id,
455 p_asset_id => l_cle_id,
456 p_vendor_id => l_vendor_id,
457 p_event_name => G_WF_EVT_ASSET_SUP_INV_UPTD,
458 x_return_status => x_return_status,
459 x_msg_count => x_msg_count,
460 x_msg_data => x_msg_data
461 );
462 IF (x_return_status = OKL_API.G_RET_STS_UNEXP_ERROR) THEN
463 RAISE OKL_API.G_EXCEPTION_UNEXPECTED_ERROR;
464 ELSIF (x_return_status = OKL_API.G_RET_STS_ERROR) THEN
465 RAISE OKL_API.G_EXCEPTION_ERROR;
466 END IF;
467 END IF;
468 /*
469 * sjalasut: aug 18, 04 added code to enable business event. END
470 */
471
472 OKC_API.END_ACTIVITY (x_msg_count
473 ,x_msg_data );
474 EXCEPTION
475 WHEN OKC_API.G_EXCEPTION_ERROR THEN
476 x_return_status := OKC_API.HANDLE_EXCEPTIONS
477 (l_api_name,
478 G_PKG_NAME,
479 'OKC_API.G_RET_STS_ERROR',
480 x_msg_count,
481 x_msg_data,
482 '_PVT');
483 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
484 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
485 (l_api_name,
486 G_PKG_NAME,
487 'OKC_API.G_RET_STS_UNEXP_ERROR',
488 x_msg_count,
489 x_msg_data,
490 '_PVT');
491 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
492 (l_api_name,
493 G_PKG_NAME,
494 'OTHERS',
495 x_msg_count,
496 x_msg_data,
497 '_PVT');
498 END update_sup_inv_dtls;
499
500 PROCEDURE update_sup_inv_dtls(
501 p_api_version IN NUMBER,
502 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
503 x_return_status OUT NOCOPY VARCHAR2,
504 x_msg_count OUT NOCOPY NUMBER,
505 x_msg_data OUT NOCOPY VARCHAR2,
506 p_sidv_tbl IN sidv_tbl_type,
507 x_sidv_tbl OUT NOCOPY sidv_tbl_type)
508 IS
509 l_api_name CONSTANT VARCHAR2(30) := 'UPDATE_SUP_INV_DTLS';
510 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
511
512 BEGIN
513 -- Call start_activity to create savepoint, check compatibility
514 -- and initialize message list
515 l_return_status := OKC_API.START_ACTIVITY (l_api_name
516 ,p_init_msg_list
517 ,'_PVT'
518 ,x_return_status);
519 -- Check if activity started successfully
520 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
521 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
522 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
523 RAISE OKC_API.G_EXCEPTION_ERROR;
524 END IF;
525 -- evaluate conditions, build outcomes for true conditions and
526 -- put them on outcome queue
527 OKL_SID_PVT.update_row(p_api_version,
528 p_init_msg_list,
529 x_return_status,
530 x_msg_count,
531 x_msg_data,
532 p_sidv_tbl,
533 x_sidv_tbl);
534 OKC_API.END_ACTIVITY (x_msg_count
535 ,x_msg_data );
536 EXCEPTION
537 WHEN OKC_API.G_EXCEPTION_ERROR THEN
538 x_return_status := OKC_API.HANDLE_EXCEPTIONS
539 (l_api_name,
540 G_PKG_NAME,
541 'OKC_API.G_RET_STS_ERROR',
542 x_msg_count,
543 x_msg_data,
544 '_PVT');
545 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
546 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
547 (l_api_name,
548 G_PKG_NAME,
549 'OKC_API.G_RET_STS_UNEXP_ERROR',
550 x_msg_count,
551 x_msg_data,
552 '_PVT');
553 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
554 (l_api_name,
555 G_PKG_NAME,
556 'OTHERS',
557 x_msg_count,
558 x_msg_data,
559 '_PVT');
560 END update_sup_inv_dtls;
561
562 PROCEDURE delete_sup_inv_dtls(
563 p_api_version IN NUMBER,
564 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
565 x_return_status OUT NOCOPY VARCHAR2,
566 x_msg_count OUT NOCOPY NUMBER,
567 x_msg_data OUT NOCOPY VARCHAR2,
568 p_sidv_rec IN sidv_rec_type)
569 IS
570 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_SUP_INV_DTLS';
571 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
572 BEGIN
573 -- Call start_activity to create savepoint, check compatibility
574 -- and initialize message list
575 l_return_status := OKC_API.START_ACTIVITY (l_api_name
576 ,p_init_msg_list
577 ,'_PVT'
578 ,x_return_status);
579 -- Check if activity started successfully
580 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
581 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
582 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
583 RAISE OKC_API.G_EXCEPTION_ERROR;
584 END IF;
585 -- evaluate conditions, build outcomes for true conditions and
586 -- put them on outcome queue
587 OKL_SID_PVT.delete_row(p_api_version,
588 p_init_msg_list,
589 x_return_status,
590 x_msg_count,
591 x_msg_data,
592 p_sidv_rec);
593 OKC_API.END_ACTIVITY (x_msg_count
594 ,x_msg_data );
595 EXCEPTION
596 WHEN OKC_API.G_EXCEPTION_ERROR THEN
597 x_return_status := OKC_API.HANDLE_EXCEPTIONS
598 (l_api_name,
599 G_PKG_NAME,
600 'OKC_API.G_RET_STS_ERROR',
601 x_msg_count,
602 x_msg_data,
603 '_PVT');
604 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
605 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
606 (l_api_name,
607 G_PKG_NAME,
608 'OKC_API.G_RET_STS_UNEXP_ERROR',
609 x_msg_count,
610 x_msg_data,
611 '_PVT');
612 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
613 (l_api_name,
614 G_PKG_NAME,
615 'OTHERS',
616 x_msg_count,
617 x_msg_data,
618 '_PVT');
619 END delete_sup_inv_dtls;
620
621 PROCEDURE delete_sup_inv_dtls(
622 p_api_version IN NUMBER,
623 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
624 x_return_status OUT NOCOPY VARCHAR2,
625 x_msg_count OUT NOCOPY NUMBER,
626 x_msg_data OUT NOCOPY VARCHAR2,
627 p_sidv_tbl IN sidv_tbl_type)
628 IS
629 l_api_name CONSTANT VARCHAR2(30) := 'DELETE_SUP_INV_DTLS';
630 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
631 BEGIN
632 -- Call start_activity to create savepoint, check compatibility
633 -- and initialize message list
634 l_return_status := OKC_API.START_ACTIVITY (l_api_name
635 ,p_init_msg_list
636 ,'_PVT'
637 ,x_return_status);
638 -- Check if activity started successfully
639 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
640 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
641 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
642 RAISE OKC_API.G_EXCEPTION_ERROR;
643 END IF;
644 -- evaluate conditions, build outcomes for true conditions and
645 -- put them on outcome queue
646 OKL_SID_PVT.delete_row(p_api_version,
647 p_init_msg_list,
648 x_return_status,
649 x_msg_count,
650 x_msg_data,
651 p_sidv_tbl);
652 OKC_API.END_ACTIVITY (x_msg_count
653 ,x_msg_data );
654 EXCEPTION
655 WHEN OKC_API.G_EXCEPTION_ERROR THEN
656 x_return_status := OKC_API.HANDLE_EXCEPTIONS
657 (l_api_name,
658 G_PKG_NAME,
659 'OKC_API.G_RET_STS_ERROR',
660 x_msg_count,
661 x_msg_data,
662 '_PVT');
663 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
664 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
665 (l_api_name,
666 G_PKG_NAME,
667 'OKC_API.G_RET_STS_UNEXP_ERROR',
668 x_msg_count,
669 x_msg_data,
670 '_PVT');
671 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
672 (l_api_name,
673 G_PKG_NAME,
674 'OTHERS',
675 x_msg_count,
676 x_msg_data,
677 '_PVT');
678 END delete_sup_inv_dtls;
679
680 PROCEDURE validate_sup_inv_dtls(
681 p_api_version IN NUMBER,
682 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
683 x_return_status OUT NOCOPY VARCHAR2,
684 x_msg_count OUT NOCOPY NUMBER,
685 x_msg_data OUT NOCOPY VARCHAR2,
686 p_sidv_rec IN sidv_rec_type)
687 IS
688 l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_SUP_INV_DTLS';
689 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
690 BEGIN
691 -- Call start_activity to create savepoint, check compatibility
692 -- and initialize message list
693 l_return_status := OKC_API.START_ACTIVITY (l_api_name
694 ,p_init_msg_list
695 ,'_PVT'
696 ,x_return_status);
697 -- Check if activity started successfully
698 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
699 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
700 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
701 RAISE OKC_API.G_EXCEPTION_ERROR;
702 END IF;
703 -- evaluate conditions, build outcomes for true conditions and
704 -- put them on outcome queue
705 OKL_SID_PVT.validate_row(p_api_version,
706 p_init_msg_list,
707 x_return_status,
708 x_msg_count,
709 x_msg_data,
710 p_sidv_rec);
711 OKC_API.END_ACTIVITY (x_msg_count
712 ,x_msg_data );
713 EXCEPTION
714 WHEN OKC_API.G_EXCEPTION_ERROR THEN
715 x_return_status := OKC_API.HANDLE_EXCEPTIONS
716 (l_api_name,
717 G_PKG_NAME,
718 'OKC_API.G_RET_STS_ERROR',
719 x_msg_count,
720 x_msg_data,
721 '_PVT');
722 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
723 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
724 (l_api_name,
725 G_PKG_NAME,
726 'OKC_API.G_RET_STS_UNEXP_ERROR',
727 x_msg_count,
728 x_msg_data,
729 '_PVT');
730 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
731 (l_api_name,
732 G_PKG_NAME,
733 'OTHERS',
734 x_msg_count,
735 x_msg_data,
736 '_PVT');
737 END validate_sup_inv_dtls;
738
739 PROCEDURE validate_sup_inv_dtls(
740 p_api_version IN NUMBER,
741 p_init_msg_list IN VARCHAR2 DEFAULT OKC_API.G_FALSE,
742 x_return_status OUT NOCOPY VARCHAR2,
743 x_msg_count OUT NOCOPY NUMBER,
744 x_msg_data OUT NOCOPY VARCHAR2,
745 p_sidv_tbl IN sidv_tbl_type)
746 IS
747 l_api_name CONSTANT VARCHAR2(30) := 'VALIDATE_SUP_INV_DTLS';
748 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
749 BEGIN
750 -- Call start_activity to create savepoint, check compatibility
751 -- and initialize message list
752 l_return_status := OKC_API.START_ACTIVITY (l_api_name
753 ,p_init_msg_list
754 ,'_PVT'
755 ,x_return_status);
756 -- Check if activity started successfully
757 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
758 RAISE OKC_API.G_EXCEPTION_UNEXPECTED_ERROR;
759 ELSIF (l_return_status = OKC_API.G_RET_STS_ERROR) THEN
760 RAISE OKC_API.G_EXCEPTION_ERROR;
761 END IF;
762 -- evaluate conditions, build outcomes for true conditions and
763 -- put them on outcome queue
764 OKL_SID_PVT.validate_row(p_api_version,
765 p_init_msg_list,
766 x_return_status,
767 x_msg_count,
768 x_msg_data,
769 p_sidv_tbl);
770 OKC_API.END_ACTIVITY (x_msg_count
771 ,x_msg_data );
772 EXCEPTION
773 WHEN OKC_API.G_EXCEPTION_ERROR THEN
774 x_return_status := OKC_API.HANDLE_EXCEPTIONS
775 (l_api_name,
776 G_PKG_NAME,
777 'OKC_API.G_RET_STS_ERROR',
778 x_msg_count,
779 x_msg_data,
780 '_PVT');
781 WHEN OKC_API.G_EXCEPTION_UNEXPECTED_ERROR THEN
782 x_return_status :=OKC_API.HANDLE_EXCEPTIONS
783 (l_api_name,
784 G_PKG_NAME,
785 'OKC_API.G_RET_STS_UNEXP_ERROR',
786 x_msg_count,
787 x_msg_data,
788 '_PVT');
789 WHEN OTHERS THEN x_return_status :=OKC_API.HANDLE_EXCEPTIONS
790 (l_api_name,
791 G_PKG_NAME,
792 'OTHERS',
793 x_msg_count,
794 x_msg_data,
795 '_PVT');
796 END validate_sup_inv_dtls;
797
798 END OKL_SUPP_INVOICE_DTLS_PVT;