[Home] [Help]
PACKAGE BODY: APPS.OKC_OPER_INST_PVT
Source
1 PACKAGE BODY OKC_OPER_INST_PVT AS
2 /* $Header: OKCCCOPB.pls 120.0 2005/05/25 23:06:44 appldev noship $ */
3
4 l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
5
6 ---------------------------------------------------------------------------
7 -- GLOBAL VARIABLES
8 ---------------------------------------------------------------------------
9 /*
10 G_APP_NAME CONSTANT VARCHAR2(3) := OKC_API.G_APP_NAME;
11 G_NO_PARENT_RECORD CONSTANT VARCHAR2(200) := 'OKC_NO_PARENT_RECORD';
12 G_UNEXPECTED_ERROR CONSTANT VARCHAR2(200) := 'OKC_CONTRACTS_UNEXPECTED_ERROR';
13 G_PARENT_TABLE_TOKEN CONSTANT VARCHAR2(200) := OKC_API.G_PARENT_TABLE_TOKEN;
14 G_CHILD_TABLE_TOKEN CONSTANT VARCHAR2(200) := OKC_API.G_CHILD_TABLE_TOKEN;
15 G_SQLERRM_TOKEN CONSTANT VARCHAR2(200) := 'SQLerrm';
16 G_SQLCODE_TOKEN CONSTANT VARCHAR2(200) := 'SQLcode';
17 G_REQUIRED_VALUE CONSTANT VARCHAR2(200) := OKC_API.G_REQUIRED_VALUE;
18 G_INVALID_VALUE CONSTANT VARCHAR2(200) := OKC_API.G_INVALID_VALUE;
19 G_COL_NAME_TOKEN CONSTANT VARCHAR2(200) := OKC_API.G_COL_NAME_TOKEN;
20 G_TABLE_TOKEN CONSTANT VARCHAR2(200) := OKC_API.G_CHILD_TABLE_TOKEN;
21 G_EXCEPTION_HALT_VALIDATION exception;
22 NO_CONTRACT_FOUND exception;
23 G_NO_UPDATE_ALLOWED_EXCEPTION exception;
24 G_NO_UPDATE_ALLOWED CONSTANT VARCHAR2(200) := 'OKC_NO_UPDATE_ALLOWED';
25 G_EXCEPTION_HALT_PROCESS exception;
26 */
27 ---------------------------------------------------------------------------
28
29 PROCEDURE Create_Class_Operation (
30 p_api_version IN NUMBER,
31 p_init_msg_list IN VARCHAR2 ,
32 x_return_status OUT NOCOPY VARCHAR2,
33 x_msg_count OUT NOCOPY NUMBER,
34 x_msg_data OUT NOCOPY VARCHAR2,
35 p_copv_rec IN OKC_COP_PVT.copv_rec_type,
36 x_copv_rec OUT NOCOPY OKC_COP_PVT.copv_rec_type) IS
37
38 l_copv_rec OKC_COP_PVT.copv_rec_type := p_copv_rec;
39 BEGIN
40 -- initialize return status
41 x_return_status := OKC_API.G_RET_STS_SUCCESS;
42
43 OKC_COP_PVT.Insert_Row(
44 p_api_version => p_api_version,
45 p_init_msg_list => p_init_msg_list,
46 x_return_status => x_return_status,
47 x_msg_count => x_msg_count,
48 x_msg_data => x_msg_data,
49 p_copv_rec => l_copv_rec,
50 x_copv_rec => x_copv_rec);
51
52 END Create_Class_Operation;
53
54 PROCEDURE Create_Class_Operation (
55 p_api_version IN NUMBER,
56 p_init_msg_list IN VARCHAR2 ,
57 x_return_status OUT NOCOPY VARCHAR2,
58 x_msg_count OUT NOCOPY NUMBER,
59 x_msg_data OUT NOCOPY VARCHAR2,
60 p_copv_tbl IN OKC_COP_PVT.copv_tbl_type,
61 x_copv_tbl OUT NOCOPY OKC_COP_PVT.copv_tbl_type) IS
62
63 BEGIN
64
65 OKC_COP_PVT.Insert_Row(
66 p_api_version => p_api_version,
67 p_init_msg_list => p_init_msg_list,
68 x_return_status => x_return_status,
69 x_msg_count => x_msg_count,
70 x_msg_data => x_msg_data,
71 p_copv_tbl => p_copv_tbl,
72 x_copv_tbl => x_copv_tbl);
73
74 END Create_Class_Operation;
75
76 PROCEDURE Update_Class_Operation (
77 p_api_version IN NUMBER,
78 p_init_msg_list IN VARCHAR2 ,
79 x_return_status OUT NOCOPY VARCHAR2,
80 x_msg_count OUT NOCOPY NUMBER,
81 x_msg_data OUT NOCOPY VARCHAR2,
82 p_copv_rec IN OKC_COP_PVT.copv_rec_type,
83 x_copv_rec OUT NOCOPY OKC_COP_PVT.copv_rec_type) IS
84
85 BEGIN
86
87 OKC_COP_PVT.Update_Row(
88 p_api_version => p_api_version,
89 p_init_msg_list => p_init_msg_list,
90 x_return_status => x_return_status,
91 x_msg_count => x_msg_count,
92 x_msg_data => x_msg_data,
93 p_copv_rec => p_copv_rec,
94 x_copv_rec => x_copv_rec);
95
96 END Update_Class_Operation;
97
98 PROCEDURE Update_Class_Operation (
99 p_api_version IN NUMBER,
100 p_init_msg_list IN VARCHAR2 ,
101 x_return_status OUT NOCOPY VARCHAR2,
102 x_msg_count OUT NOCOPY NUMBER,
103 x_msg_data OUT NOCOPY VARCHAR2,
104 p_copv_tbl IN OKC_COP_PVT.copv_tbl_type,
105 x_copv_tbl OUT NOCOPY OKC_COP_PVT.copv_tbl_type) IS
106
107 BEGIN
108
109 OKC_COP_PVT.Update_Row(
110 p_api_version => p_api_version,
111 p_init_msg_list => p_init_msg_list,
112 x_return_status => x_return_status,
113 x_msg_count => x_msg_count,
114 x_msg_data => x_msg_data,
115 p_copv_tbl => p_copv_tbl,
116 x_copv_tbl => x_copv_tbl);
117
118 END Update_Class_Operation;
119
120 PROCEDURE Delete_Class_Operation (
121 p_api_version IN NUMBER,
122 p_init_msg_list IN VARCHAR2 ,
123 x_return_status OUT NOCOPY VARCHAR2,
124 x_msg_count OUT NOCOPY NUMBER,
125 x_msg_data OUT NOCOPY VARCHAR2,
126 p_copv_rec IN OKC_COP_PVT.copv_rec_type) IS
127
128 BEGIN
129 OKC_COP_PVT.Delete_Row(
130 p_api_version => p_api_version,
131 p_init_msg_list => p_init_msg_list,
132 x_return_status => x_return_status,
133 x_msg_count => x_msg_count,
134 x_msg_data => x_msg_data,
135 p_copv_rec => p_copv_rec);
136
137 END Delete_Class_Operation;
138
139 PROCEDURE Delete_Class_Operation (
140 p_api_version IN NUMBER,
141 p_init_msg_list IN VARCHAR2 ,
142 x_return_status OUT NOCOPY VARCHAR2,
143 x_msg_count OUT NOCOPY NUMBER,
144 x_msg_data OUT NOCOPY VARCHAR2,
145 p_copv_tbl IN OKC_COP_PVT.copv_tbl_type) IS
146
147 BEGIN
148
149 OKC_COP_PVT.Delete_Row(
150 p_api_version => p_api_version,
151 p_init_msg_list => p_init_msg_list,
152 x_return_status => x_return_status,
153 x_msg_count => x_msg_count,
154 x_msg_data => x_msg_data,
155 p_copv_tbl => p_copv_tbl);
156
157 END Delete_Class_Operation;
158
159 PROCEDURE Lock_Class_Operation (
160 p_api_version IN NUMBER,
161 p_init_msg_list IN VARCHAR2 ,
162 x_return_status OUT NOCOPY VARCHAR2,
163 x_msg_count OUT NOCOPY NUMBER,
164 x_msg_data OUT NOCOPY VARCHAR2,
165 p_copv_rec IN OKC_COP_PVT.copv_rec_type) IS
166
167 BEGIN
168
169 OKC_COP_PVT.Lock_Row(
170 p_api_version => p_api_version,
171 p_init_msg_list => p_init_msg_list,
172 x_return_status => x_return_status,
173 x_msg_count => x_msg_count,
174 x_msg_data => x_msg_data,
175 p_copv_rec => p_copv_rec);
176
177 END Lock_Class_Operation;
178
179 PROCEDURE Lock_Class_Operation(
180 p_api_version IN NUMBER,
181 p_init_msg_list IN VARCHAR2 ,
182 x_return_status OUT NOCOPY VARCHAR2,
183 x_msg_count OUT NOCOPY NUMBER,
184 x_msg_data OUT NOCOPY VARCHAR2,
185 p_copv_tbl IN OKC_COP_PVT.copv_tbl_type) IS
186
187 BEGIN
188
189 OKC_COP_PVT.Lock_Row(
190 p_api_version => p_api_version,
191 p_init_msg_list => p_init_msg_list,
192 x_return_status => x_return_status,
193 x_msg_count => x_msg_count,
194 x_msg_data => x_msg_data,
195 p_copv_tbl => p_copv_tbl);
196
197 END Lock_Class_Operation;
198
199 PROCEDURE Validate_Class_Operation (
200 p_api_version IN NUMBER,
201 p_init_msg_list IN VARCHAR2 ,
202 x_return_status OUT NOCOPY VARCHAR2,
203 x_msg_count OUT NOCOPY NUMBER,
204 x_msg_data OUT NOCOPY VARCHAR2,
205 p_copv_rec IN OKC_COP_PVT.copv_rec_type) IS
206
207 BEGIN
208
209 OKC_COP_PVT.Validate_Row(
210 p_api_version => p_api_version,
211 p_init_msg_list => p_init_msg_list,
212 x_return_status => x_return_status,
213 x_msg_count => x_msg_count,
214 x_msg_data => x_msg_data,
215 p_copv_rec => p_copv_rec);
216
217 END Validate_Class_Operation;
218
219 PROCEDURE Validate_Class_Operation (
220 p_api_version IN NUMBER,
221 p_init_msg_list IN VARCHAR2 ,
222 x_return_status OUT NOCOPY VARCHAR2,
223 x_msg_count OUT NOCOPY NUMBER,
224 x_msg_data OUT NOCOPY VARCHAR2,
225 p_copv_tbl IN OKC_COP_PVT.copv_tbl_type) IS
226
227 BEGIN
228
229 OKC_COP_PVT.Validate_Row(
230 p_api_version => p_api_version,
231 p_init_msg_list => p_init_msg_list,
232 x_return_status => x_return_status,
233 x_msg_count => x_msg_count,
234 x_msg_data => x_msg_data,
235 p_copv_tbl => p_copv_tbl);
236
237 END Validate_Class_Operation;
238
239 PROCEDURE Create_Operation_Instance (
240 p_api_version IN NUMBER,
241 p_init_msg_list IN VARCHAR2 ,
242 x_return_status OUT NOCOPY VARCHAR2,
243 x_msg_count OUT NOCOPY NUMBER,
244 x_msg_data OUT NOCOPY VARCHAR2,
245 p_oiev_rec IN OKC_OIE_PVT.oiev_rec_type,
246 x_oiev_rec OUT NOCOPY OKC_OIE_PVT.oiev_rec_type) IS
247
248 l_oiev_rec OKC_OIE_PVT.oiev_rec_type := p_oiev_rec;
249 BEGIN
250 -- initialize return status
251 x_return_status := OKC_API.G_RET_STS_SUCCESS;
252
253 OKC_OIE_PVT.Insert_Row(
254 p_api_version => p_api_version,
255 p_init_msg_list => p_init_msg_list,
256 x_return_status => x_return_status,
257 x_msg_count => x_msg_count,
258 x_msg_data => x_msg_data,
259 p_oiev_rec => l_oiev_rec,
260 x_oiev_rec => x_oiev_rec);
261
262 END Create_Operation_Instance;
263
264 PROCEDURE Create_Operation_Instance (
265 p_api_version IN NUMBER,
266 p_init_msg_list IN VARCHAR2 ,
267 x_return_status OUT NOCOPY VARCHAR2,
268 x_msg_count OUT NOCOPY NUMBER,
269 x_msg_data OUT NOCOPY VARCHAR2,
270 p_oiev_tbl IN OKC_OIE_PVT.oiev_tbl_type,
271 x_oiev_tbl OUT NOCOPY OKC_OIE_PVT.oiev_tbl_type) IS
272
273 BEGIN
274
275 OKC_OIE_PVT.Insert_Row(
276 p_api_version => p_api_version,
277 p_init_msg_list => p_init_msg_list,
278 x_return_status => x_return_status,
279 x_msg_count => x_msg_count,
280 x_msg_data => x_msg_data,
281 p_oiev_tbl => p_oiev_tbl,
282 x_oiev_tbl => x_oiev_tbl);
283
284 END Create_Operation_Instance;
285
286 PROCEDURE Update_Operation_Instance (
287 p_api_version IN NUMBER,
288 p_init_msg_list IN VARCHAR2 ,
289 x_return_status OUT NOCOPY VARCHAR2,
290 x_msg_count OUT NOCOPY NUMBER,
291 x_msg_data OUT NOCOPY VARCHAR2,
292 p_oiev_rec IN OKC_OIE_PVT.oiev_rec_type,
293 x_oiev_rec OUT NOCOPY OKC_OIE_PVT.oiev_rec_type) IS
294
295 BEGIN
296
297 OKC_OIE_PVT.Update_Row(
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_oiev_rec => p_oiev_rec,
304 x_oiev_rec => x_oiev_rec);
305
306 END Update_Operation_Instance;
307
308 PROCEDURE Update_Operation_Instance (
309 p_api_version IN NUMBER,
310 p_init_msg_list IN VARCHAR2 ,
311 x_return_status OUT NOCOPY VARCHAR2,
312 x_msg_count OUT NOCOPY NUMBER,
313 x_msg_data OUT NOCOPY VARCHAR2,
314 p_oiev_tbl IN OKC_OIE_PVT.oiev_tbl_type,
315 x_oiev_tbl OUT NOCOPY OKC_OIE_PVT.oiev_tbl_type) IS
316
317 BEGIN
318
319 OKC_OIE_PVT.Update_Row(
320 p_api_version => p_api_version,
321 p_init_msg_list => p_init_msg_list,
322 x_return_status => x_return_status,
323 x_msg_count => x_msg_count,
324 x_msg_data => x_msg_data,
325 p_oiev_tbl => p_oiev_tbl,
326 x_oiev_tbl => x_oiev_tbl);
327
328 END Update_Operation_Instance;
329
330 PROCEDURE Delete_Operation_Instance (
331 p_api_version IN NUMBER,
332 p_init_msg_list IN VARCHAR2 ,
333 x_return_status OUT NOCOPY VARCHAR2,
334 x_msg_count OUT NOCOPY NUMBER,
335 x_msg_data OUT NOCOPY VARCHAR2,
336 p_oiev_rec IN OKC_OIE_PVT.oiev_rec_type) IS
337
338 l_olev_tbl OKC_OPER_INST_PUB.olev_tbl_type;
339 l_mrdv_tbl OKC_MRD_PVT.mrdv_tbl_type;
340 i NUMBER := 0;
341 j NUMBER := 0;
342
343 Cursor ole_csr Is
344 SELECT id
345 FROM okc_operation_lines
346 WHERE oie_id = p_oiev_rec.id;
347
348 Cursor ole1_csr Is
349 SELECT id
350 FROM okc_masschange_req_dtls
351 WHERE oie_id = p_oiev_rec.id;
352 BEGIN
353 x_return_status := OKC_API.G_RET_STS_SUCCESS;
354 --
355 -- Delete all children (operation lines) before deleting instance
356 --
357 FOR ole_rec IN ole_csr
358 LOOP
359 i := i + 1;
360 l_olev_tbl(i).ID := ole_rec.ID;
361 END LOOP;
362
363 If (i > 0) Then
364 OKC_OPER_INST_PUB.Delete_Operation_Line (
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_olev_tbl => l_olev_tbl);
371 End if;
372
373
374 --
375 -- Delete all children (masschange) before deleting instance
376 --
377
378 If (x_return_status = OKC_API.G_RET_STS_SUCCESS) Then
379 FOR oie_rec IN ole1_csr
380 LOOP
381 j := j + 1;
382 l_mrdv_tbl(j).ID := oie_rec.ID;
383 END LOOP;
384
385 If (j > 0) Then
386 -- call procedure in complex API
387
388 OKC_OPER_INST_PUB.Delete_Masschange_Dtls (
389 p_api_version => p_api_version,
390 p_init_msg_list => p_init_msg_list,
391 x_return_status => x_return_status,
392 x_msg_count => x_msg_count,
393 x_msg_data => x_msg_data,
394 p_mrdv_tbl => l_mrdv_tbl);
395 End if;
396 End If;
397
398
399 If (x_return_status = OKC_API.G_RET_STS_SUCCESS) Then
400 OKC_OIE_PVT.Delete_Row(
401 p_api_version => p_api_version,
402 p_init_msg_list => p_init_msg_list,
403 x_return_status => x_return_status,
404 x_msg_count => x_msg_count,
405 x_msg_data => x_msg_data,
406 p_oiev_rec => p_oiev_rec);
407 End If;
408 END Delete_Operation_Instance;
409
410 PROCEDURE Delete_Operation_Instance (
411 p_api_version IN NUMBER,
412 p_init_msg_list IN VARCHAR2 ,
413 x_return_status OUT NOCOPY VARCHAR2,
414 x_msg_count OUT NOCOPY NUMBER,
415 x_msg_data OUT NOCOPY VARCHAR2,
416 p_oiev_tbl IN OKC_OIE_PVT.oiev_tbl_type) IS
417
418 BEGIN
419
420 OKC_OIE_PVT.Delete_Row(
421 p_api_version => p_api_version,
422 p_init_msg_list => p_init_msg_list,
423 x_return_status => x_return_status,
424 x_msg_count => x_msg_count,
425 x_msg_data => x_msg_data,
426 p_oiev_tbl => p_oiev_tbl);
427
428 END Delete_Operation_Instance;
429
430 PROCEDURE Lock_Operation_Instance (
431 p_api_version IN NUMBER,
432 p_init_msg_list IN VARCHAR2 ,
433 x_return_status OUT NOCOPY VARCHAR2,
434 x_msg_count OUT NOCOPY NUMBER,
435 x_msg_data OUT NOCOPY VARCHAR2,
436 p_oiev_rec IN OKC_OIE_PVT.oiev_rec_type) IS
437
438 BEGIN
439
440 OKC_OIE_PVT.Lock_Row(
441 p_api_version => p_api_version,
442 p_init_msg_list => p_init_msg_list,
443 x_return_status => x_return_status,
444 x_msg_count => x_msg_count,
445 x_msg_data => x_msg_data,
446 p_oiev_rec => p_oiev_rec);
447
448 END Lock_Operation_Instance;
449
450 PROCEDURE Lock_Operation_Instance(
451 p_api_version IN NUMBER,
452 p_init_msg_list IN VARCHAR2 ,
453 x_return_status OUT NOCOPY VARCHAR2,
454 x_msg_count OUT NOCOPY NUMBER,
455 x_msg_data OUT NOCOPY VARCHAR2,
456 p_oiev_tbl IN OKC_OIE_PVT.oiev_tbl_type) IS
457
458 BEGIN
459
460 OKC_OIE_PVT.Lock_Row(
461 p_api_version => p_api_version,
462 p_init_msg_list => p_init_msg_list,
463 x_return_status => x_return_status,
464 x_msg_count => x_msg_count,
465 x_msg_data => x_msg_data,
466 p_oiev_tbl => p_oiev_tbl);
467
468 END Lock_Operation_Instance;
469
470 PROCEDURE Validate_Operation_Instance (
471 p_api_version IN NUMBER,
472 p_init_msg_list IN VARCHAR2 ,
473 x_return_status OUT NOCOPY VARCHAR2,
474 x_msg_count OUT NOCOPY NUMBER,
475 x_msg_data OUT NOCOPY VARCHAR2,
476 p_oiev_rec IN OKC_OIE_PVT.oiev_rec_type) IS
477
478 BEGIN
479
480 OKC_OIE_PVT.Validate_Row(
481 p_api_version => p_api_version,
482 p_init_msg_list => p_init_msg_list,
483 x_return_status => x_return_status,
484 x_msg_count => x_msg_count,
485 x_msg_data => x_msg_data,
486 p_oiev_rec => p_oiev_rec);
487
488 END Validate_Operation_Instance;
489
490 PROCEDURE Validate_Operation_Instance (
491 p_api_version IN NUMBER,
492 p_init_msg_list IN VARCHAR2 ,
493 x_return_status OUT NOCOPY VARCHAR2,
494 x_msg_count OUT NOCOPY NUMBER,
495 x_msg_data OUT NOCOPY VARCHAR2,
496 p_oiev_tbl IN OKC_OIE_PVT.oiev_tbl_type) IS
497
498 BEGIN
499
500 OKC_OIE_PVT.Validate_Row(
501 p_api_version => p_api_version,
502 p_init_msg_list => p_init_msg_list,
503 x_return_status => x_return_status,
504 x_msg_count => x_msg_count,
505 x_msg_data => x_msg_data,
506 p_oiev_tbl => p_oiev_tbl);
507
508 END Validate_Operation_Instance;
509
510 PROCEDURE Create_Operation_Line (
511 p_api_version IN NUMBER,
512 p_init_msg_list IN VARCHAR2 ,
513 x_return_status OUT NOCOPY VARCHAR2,
514 x_msg_count OUT NOCOPY NUMBER,
515 x_msg_data OUT NOCOPY VARCHAR2,
516 p_olev_rec IN OKC_OLE_PVT.olev_rec_type,
517 x_olev_rec OUT NOCOPY OKC_OLE_PVT.olev_rec_type) IS
518
519 l_olev_rec OKC_OLE_PVT.olev_rec_type := p_olev_rec;
520 BEGIN
521 -- initialize return status
522 x_return_status := OKC_API.G_RET_STS_SUCCESS;
523
524 OKC_OLE_PVT.Insert_Row(
525 p_api_version => p_api_version,
526 p_init_msg_list => p_init_msg_list,
527 x_return_status => x_return_status,
528 x_msg_count => x_msg_count,
529 x_msg_data => x_msg_data,
530 p_olev_rec => l_olev_rec,
531 x_olev_rec => x_olev_rec);
532
533 END Create_Operation_Line;
534
535 PROCEDURE Create_Operation_Line (
536 p_api_version IN NUMBER,
537 p_init_msg_list IN VARCHAR2 ,
538 x_return_status OUT NOCOPY VARCHAR2,
539 x_msg_count OUT NOCOPY NUMBER,
540 x_msg_data OUT NOCOPY VARCHAR2,
541 p_olev_tbl IN OKC_OLE_PVT.olev_tbl_type,
542 x_olev_tbl OUT NOCOPY OKC_OLE_PVT.olev_tbl_type) IS
543
544 BEGIN
545
546 OKC_OLE_PVT.Insert_Row(
547 p_api_version => p_api_version,
548 p_init_msg_list => p_init_msg_list,
549 x_return_status => x_return_status,
550 x_msg_count => x_msg_count,
551 x_msg_data => x_msg_data,
552 p_olev_tbl => p_olev_tbl,
553 x_olev_tbl => x_olev_tbl);
554
555 END Create_Operation_Line;
556
557 PROCEDURE Update_Operation_Line (
558 p_api_version IN NUMBER,
559 p_init_msg_list IN VARCHAR2 ,
560 x_return_status OUT NOCOPY VARCHAR2,
561 x_msg_count OUT NOCOPY NUMBER,
562 x_msg_data OUT NOCOPY VARCHAR2,
563 p_olev_rec IN OKC_OLE_PVT.olev_rec_type,
564 x_olev_rec OUT NOCOPY OKC_OLE_PVT.olev_rec_type) IS
565
566 BEGIN
567
568 OKC_OLE_PVT.Update_Row(
569 p_api_version => p_api_version,
570 p_init_msg_list => p_init_msg_list,
571 x_return_status => x_return_status,
572 x_msg_count => x_msg_count,
573 x_msg_data => x_msg_data,
574 p_olev_rec => p_olev_rec,
575 x_olev_rec => x_olev_rec);
576
577 END Update_Operation_Line;
578
579 PROCEDURE Update_Operation_Line (
580 p_api_version IN NUMBER,
581 p_init_msg_list IN VARCHAR2 ,
582 x_return_status OUT NOCOPY VARCHAR2,
583 x_msg_count OUT NOCOPY NUMBER,
584 x_msg_data OUT NOCOPY VARCHAR2,
585 p_olev_tbl IN OKC_OLE_PVT.olev_tbl_type,
586 x_olev_tbl OUT NOCOPY OKC_OLE_PVT.olev_tbl_type) IS
587
588 BEGIN
589
590 OKC_OLE_PVT.Update_Row(
591 p_api_version => p_api_version,
592 p_init_msg_list => p_init_msg_list,
593 x_return_status => x_return_status,
594 x_msg_count => x_msg_count,
595 x_msg_data => x_msg_data,
596 p_olev_tbl => p_olev_tbl,
597 x_olev_tbl => x_olev_tbl);
598
599 END Update_Operation_Line;
600
601 PROCEDURE Delete_Operation_Line (
602 p_api_version IN NUMBER,
603 p_init_msg_list IN VARCHAR2 ,
604 x_return_status OUT NOCOPY VARCHAR2,
605 x_msg_count OUT NOCOPY NUMBER,
606 x_msg_data OUT NOCOPY VARCHAR2,
607 p_olev_rec IN OKC_OLE_PVT.olev_rec_type) IS
608
609 l_mrdv_tbl OKC_MRD_PVT.mrdv_tbl_type;
610 j NUMBER := 0;
611
612 Cursor ole_csr Is
613 SELECT object_chr_id, subject_chr_id, object_cle_id, subject_cle_id
614 FROM okc_operation_lines
615 WHERE id = p_olev_rec.ID
616 AND active_yn = 'Y';
617
618 Cursor ole1_csr Is
619 SELECT id
620 FROM okc_masschange_req_dtls
621 WHERE ole_id = p_olev_rec.ID;
622
623 BEGIN
624 --
625 -- clear renewal links before deleting operation line entry
626 -- If object line id is null, clear header's date_renewed
627 -- If object line id is not null, clear line's date_renewed
628 --
629 FOR ole_rec IN ole_csr
630 LOOP
631 If (ole_rec.object_cle_id is not null) Then
632 UPDATE okc_k_lines_b
633 SET date_renewed = null
634 WHERE id = ole_rec.object_cle_id;
635 Elsif (ole_rec.object_chr_id is not null AND
636 ole_rec.subject_cle_id is null) Then
637 UPDATE okc_k_headers_b
638 SET date_renewed = null
639 WHERE id = ole_rec.object_chr_id;
640 End If;
641 END LOOP;
642
643 x_return_status := OKC_API.G_RET_STS_SUCCESS;
644
645 --
646 -- Delete all children (masschange) before deleting operation line
647 --
648
649 FOR oie_rec IN ole1_csr
650 LOOP
651 j := j + 1;
652 l_mrdv_tbl(j).ID := oie_rec.ID;
653 END LOOP;
654
655 If (j > 0) Then
656 -- call procedure in complex API
657
658 OKC_OPER_INST_PUB.Delete_Masschange_Dtls (
659 p_api_version => p_api_version,
660 p_init_msg_list => p_init_msg_list,
661 x_return_status => x_return_status,
662 x_msg_count => x_msg_count,
663 x_msg_data => x_msg_data,
664 p_mrdv_tbl => l_mrdv_tbl);
665 End if;
666
667 If (x_return_status = OKC_API.G_RET_STS_SUCCESS) Then
668
669 OKC_OLE_PVT.Delete_Row(
670 p_api_version => p_api_version,
671 p_init_msg_list => p_init_msg_list,
672 x_return_status => x_return_status,
673 x_msg_count => x_msg_count,
674 x_msg_data => x_msg_data,
675 p_olev_rec => p_olev_rec);
676 End If;
677 END Delete_Operation_Line;
678
679 PROCEDURE Delete_Operation_Line (
680 p_api_version IN NUMBER,
681 p_init_msg_list IN VARCHAR2 ,
682 x_return_status OUT NOCOPY VARCHAR2,
683 x_msg_count OUT NOCOPY NUMBER,
684 x_msg_data OUT NOCOPY VARCHAR2,
685 p_olev_tbl IN OKC_OLE_PVT.olev_tbl_type) IS
686
687 BEGIN
688
689 OKC_OLE_PVT.Delete_Row(
690 p_api_version => p_api_version,
691 p_init_msg_list => p_init_msg_list,
692 x_return_status => x_return_status,
693 x_msg_count => x_msg_count,
694 x_msg_data => x_msg_data,
695 p_olev_tbl => p_olev_tbl);
696
697 END Delete_Operation_Line;
698
699 PROCEDURE Lock_Operation_Line (
700 p_api_version IN NUMBER,
701 p_init_msg_list IN VARCHAR2 ,
702 x_return_status OUT NOCOPY VARCHAR2,
703 x_msg_count OUT NOCOPY NUMBER,
704 x_msg_data OUT NOCOPY VARCHAR2,
705 p_olev_rec IN OKC_OLE_PVT.olev_rec_type) IS
706
707 BEGIN
708
709 OKC_OLE_PVT.Lock_Row(
710 p_api_version => p_api_version,
711 p_init_msg_list => p_init_msg_list,
712 x_return_status => x_return_status,
713 x_msg_count => x_msg_count,
714 x_msg_data => x_msg_data,
715 p_olev_rec => p_olev_rec);
716
717 END Lock_Operation_Line;
718
719 PROCEDURE Lock_Operation_Line(
720 p_api_version IN NUMBER,
721 p_init_msg_list IN VARCHAR2 ,
722 x_return_status OUT NOCOPY VARCHAR2,
723 x_msg_count OUT NOCOPY NUMBER,
724 x_msg_data OUT NOCOPY VARCHAR2,
725 p_olev_tbl IN OKC_OLE_PVT.olev_tbl_type) IS
726
727 BEGIN
728
729 OKC_OLE_PVT.Lock_Row(
730 p_api_version => p_api_version,
731 p_init_msg_list => p_init_msg_list,
732 x_return_status => x_return_status,
733 x_msg_count => x_msg_count,
734 x_msg_data => x_msg_data,
735 p_olev_tbl => p_olev_tbl);
736
737 END Lock_Operation_Line;
738
739 PROCEDURE Validate_Operation_Line (
740 p_api_version IN NUMBER,
741 p_init_msg_list IN VARCHAR2 ,
742 x_return_status OUT NOCOPY VARCHAR2,
743 x_msg_count OUT NOCOPY NUMBER,
744 x_msg_data OUT NOCOPY VARCHAR2,
745 p_olev_rec IN OKC_OLE_PVT.olev_rec_type) IS
746
747 BEGIN
748
749 OKC_OLE_PVT.Validate_Row(
750 p_api_version => p_api_version,
751 p_init_msg_list => p_init_msg_list,
752 x_return_status => x_return_status,
753 x_msg_count => x_msg_count,
754 x_msg_data => x_msg_data,
755 p_olev_rec => p_olev_rec);
756
757 END Validate_Operation_Line;
758
759 PROCEDURE Validate_Operation_Line (
760 p_api_version IN NUMBER,
761 p_init_msg_list IN VARCHAR2 ,
762 x_return_status OUT NOCOPY VARCHAR2,
763 x_msg_count OUT NOCOPY NUMBER,
764 x_msg_data OUT NOCOPY VARCHAR2,
765 p_olev_tbl IN OKC_OLE_PVT.olev_tbl_type) IS
766
767 BEGIN
768
769 OKC_OLE_PVT.Validate_Row(
770 p_api_version => p_api_version,
771 p_init_msg_list => p_init_msg_list,
772 x_return_status => x_return_status,
773 x_msg_count => x_msg_count,
774 x_msg_data => x_msg_data,
775 p_olev_tbl => p_olev_tbl);
776
777 END Validate_Operation_Line;
778
779 PROCEDURE Create_Masschange_Dtls (
780 p_api_version IN NUMBER,
781 p_init_msg_list IN VARCHAR2 ,
782 x_return_status OUT NOCOPY VARCHAR2,
783 x_msg_count OUT NOCOPY NUMBER,
784 x_msg_data OUT NOCOPY VARCHAR2,
785 p_mrdv_rec IN OKC_MRD_PVT.mrdv_rec_type,
786 x_mrdv_rec OUT NOCOPY OKC_MRD_PVT.mrdv_rec_type) IS
787
788 l_mrdv_rec OKC_MRD_PVT.mrdv_rec_type := p_mrdv_rec;
789 BEGIN
790 -- initialize return status
791 x_return_status := OKC_API.G_RET_STS_SUCCESS;
792
793 OKC_MRD_PVT.Insert_Row(
794 p_api_version => p_api_version,
795 p_init_msg_list => p_init_msg_list,
796 x_return_status => x_return_status,
797 x_msg_count => x_msg_count,
798 x_msg_data => x_msg_data,
799 p_mrdv_rec => l_mrdv_rec,
800 x_mrdv_rec => x_mrdv_rec);
801
802 END Create_Masschange_Dtls;
803
804 PROCEDURE Create_Masschange_Dtls (
805 p_api_version IN NUMBER,
806 p_init_msg_list IN VARCHAR2 ,
807 x_return_status OUT NOCOPY VARCHAR2,
808 x_msg_count OUT NOCOPY NUMBER,
809 x_msg_data OUT NOCOPY VARCHAR2,
810 p_mrdv_tbl IN OKC_MRD_PVT.mrdv_tbl_type,
811 x_mrdv_tbl OUT NOCOPY OKC_MRD_PVT.mrdv_tbl_type) IS
812
813 BEGIN
814
815 OKC_MRD_PVT.Insert_Row(
816 p_api_version => p_api_version,
817 p_init_msg_list => p_init_msg_list,
818 x_return_status => x_return_status,
819 x_msg_count => x_msg_count,
820 x_msg_data => x_msg_data,
821 p_mrdv_tbl => p_mrdv_tbl,
822 x_mrdv_tbl => x_mrdv_tbl);
823
824 END Create_Masschange_Dtls;
825
826 PROCEDURE Update_Masschange_Dtls (
827 p_api_version IN NUMBER,
828 p_init_msg_list IN VARCHAR2 ,
829 x_return_status OUT NOCOPY VARCHAR2,
830 x_msg_count OUT NOCOPY NUMBER,
831 x_msg_data OUT NOCOPY VARCHAR2,
832 p_mrdv_rec IN OKC_MRD_PVT.mrdv_rec_type,
833 x_mrdv_rec OUT NOCOPY OKC_MRD_PVT.mrdv_rec_type) IS
834
835 BEGIN
836
837 OKC_MRD_PVT.Update_Row(
838 p_api_version => p_api_version,
839 p_init_msg_list => p_init_msg_list,
840 x_return_status => x_return_status,
841 x_msg_count => x_msg_count,
842 x_msg_data => x_msg_data,
843 p_mrdv_rec => p_mrdv_rec,
844 x_mrdv_rec => x_mrdv_rec);
845
846 END Update_Masschange_Dtls;
847
848 PROCEDURE Update_Masschange_Dtls (
849 p_api_version IN NUMBER,
850 p_init_msg_list IN VARCHAR2 ,
851 x_return_status OUT NOCOPY VARCHAR2,
852 x_msg_count OUT NOCOPY NUMBER,
853 x_msg_data OUT NOCOPY VARCHAR2,
854 p_mrdv_tbl IN OKC_MRD_PVT.mrdv_tbl_type,
855 x_mrdv_tbl OUT NOCOPY OKC_MRD_PVT.mrdv_tbl_type) IS
856
857 BEGIN
858
859 OKC_MRD_PVT.Update_Row(
860 p_api_version => p_api_version,
861 p_init_msg_list => p_init_msg_list,
862 x_return_status => x_return_status,
863 x_msg_count => x_msg_count,
864 x_msg_data => x_msg_data,
865 p_mrdv_tbl => p_mrdv_tbl,
866 x_mrdv_tbl => x_mrdv_tbl);
867
868 END Update_Masschange_Dtls;
869
870 PROCEDURE Delete_Masschange_Dtls (
871 p_api_version IN NUMBER,
872 p_init_msg_list IN VARCHAR2 ,
873 x_return_status OUT NOCOPY VARCHAR2,
874 x_msg_count OUT NOCOPY NUMBER,
875 x_msg_data OUT NOCOPY VARCHAR2,
876 p_mrdv_rec IN OKC_MRD_PVT.mrdv_rec_type) IS
877
878 BEGIN
879 OKC_MRD_PVT.Delete_Row(
880 p_api_version => p_api_version,
881 p_init_msg_list => p_init_msg_list,
882 x_return_status => x_return_status,
883 x_msg_count => x_msg_count,
884 x_msg_data => x_msg_data,
885 p_mrdv_rec => p_mrdv_rec);
886
887 END Delete_Masschange_Dtls;
888
889 PROCEDURE Delete_Masschange_Dtls (
890 p_api_version IN NUMBER,
891 p_init_msg_list IN VARCHAR2 ,
892 x_return_status OUT NOCOPY VARCHAR2,
893 x_msg_count OUT NOCOPY NUMBER,
894 x_msg_data OUT NOCOPY VARCHAR2,
895 p_mrdv_tbl IN OKC_MRD_PVT.mrdv_tbl_type) IS
896
897 BEGIN
898
899 OKC_MRD_PVT.Delete_Row(
900 p_api_version => p_api_version,
901 p_init_msg_list => p_init_msg_list,
902 x_return_status => x_return_status,
903 x_msg_count => x_msg_count,
904 x_msg_data => x_msg_data,
905 p_mrdv_tbl => p_mrdv_tbl);
906
907 END Delete_Masschange_Dtls;
908
909 PROCEDURE Lock_Masschange_Dtls (
910 p_api_version IN NUMBER,
911 p_init_msg_list IN VARCHAR2 ,
912 x_return_status OUT NOCOPY VARCHAR2,
913 x_msg_count OUT NOCOPY NUMBER,
914 x_msg_data OUT NOCOPY VARCHAR2,
915 p_mrdv_rec IN OKC_MRD_PVT.mrdv_rec_type) IS
916
917 BEGIN
918
919 OKC_MRD_PVT.Lock_Row(
920 p_api_version => p_api_version,
921 p_init_msg_list => p_init_msg_list,
922 x_return_status => x_return_status,
923 x_msg_count => x_msg_count,
924 x_msg_data => x_msg_data,
925 p_mrdv_rec => p_mrdv_rec);
926
927 END Lock_Masschange_Dtls;
928
929 PROCEDURE Lock_Masschange_Dtls (
930 p_api_version IN NUMBER,
931 p_init_msg_list IN VARCHAR2 ,
932 x_return_status OUT NOCOPY VARCHAR2,
933 x_msg_count OUT NOCOPY NUMBER,
934 x_msg_data OUT NOCOPY VARCHAR2,
935 p_mrdv_tbl IN OKC_MRD_PVT.mrdv_tbl_type) IS
936
937 BEGIN
938
939 OKC_MRD_PVT.Lock_Row(
940 p_api_version => p_api_version,
941 p_init_msg_list => p_init_msg_list,
942 x_return_status => x_return_status,
943 x_msg_count => x_msg_count,
944 x_msg_data => x_msg_data,
945 p_mrdv_tbl => p_mrdv_tbl);
946
947 END Lock_Masschange_Dtls;
948
949 PROCEDURE Validate_Masschange_Dtls (
950 p_api_version IN NUMBER,
951 p_init_msg_list IN VARCHAR2 ,
952 x_return_status OUT NOCOPY VARCHAR2,
953 x_msg_count OUT NOCOPY NUMBER,
954 x_msg_data OUT NOCOPY VARCHAR2,
955 p_mrdv_rec IN OKC_MRD_PVT.mrdv_rec_type) IS
956
957 BEGIN
958
959 OKC_MRD_PVT.Validate_Row(
960 p_api_version => p_api_version,
961 p_init_msg_list => p_init_msg_list,
962 x_return_status => x_return_status,
963 x_msg_count => x_msg_count,
964 x_msg_data => x_msg_data,
965 p_mrdv_rec => p_mrdv_rec);
966
967 END Validate_Masschange_Dtls;
968
969 PROCEDURE Validate_Masschange_Dtls (
970 p_api_version IN NUMBER,
971 p_init_msg_list IN VARCHAR2 ,
972 x_return_status OUT NOCOPY VARCHAR2,
973 x_msg_count OUT NOCOPY NUMBER,
974 x_msg_data OUT NOCOPY VARCHAR2,
975 p_mrdv_tbl IN OKC_MRD_PVT.mrdv_tbl_type) IS
976
977 BEGIN
978
979 OKC_MRD_PVT.Validate_Row(
980 p_api_version => p_api_version,
981 p_init_msg_list => p_init_msg_list,
982 x_return_status => x_return_status,
983 x_msg_count => x_msg_count,
984 x_msg_data => x_msg_data,
985 p_mrdv_tbl => p_mrdv_tbl);
986
987 END Validate_Masschange_Dtls;
988 END OKC_OPER_INST_PVT;