[Home] [Help]
PACKAGE BODY: APPS.OKC_CONTRACT_SEQ_PVT
Source
1 package body okc_contract_seq_pvt as
2 /* $Header: OKCCKSQB.pls 120.2 2006/08/25 06:40:11 npalepu noship $ */
3
4 l_debug VARCHAR2(1) := NVL(FND_PROFILE.VALUE('AFLOG_ENABLED'),'N');
5
6 --
7 -- Procedure to create Sequence Header details
8 --
9 PROCEDURE create_seq_header(
10 p_api_version IN NUMBER,
11 p_init_msg_list IN VARCHAR2 ,
12 x_return_status OUT NOCOPY VARCHAR2,
13 x_msg_count OUT NOCOPY NUMBER,
14 x_msg_data OUT NOCOPY VARCHAR2,
15 p_ksqv_rec IN ksqv_rec_type,
16 x_ksqv_rec OUT NOCOPY ksqv_rec_type) IS
17 BEGIN
18 --
19 -- Call Simple API
20 --
21 IF (l_debug = 'Y') THEN
22 okc_debug.set_indentation('create_seq_header');
23 okc_debug.log('100: Entering create_seq_header', 2);
24 END IF;
25 okc_ksq_pvt.insert_row(
26 p_api_version,
27 p_init_msg_list,
28 x_return_status,
29 x_msg_count,
30 x_msg_data,
31 p_ksqv_rec,
32 x_ksqv_rec);
33 IF (l_debug = 'Y') THEN
34 okc_debug.log('200: Exiting create_seq_header', 2);
35 okc_debug.reset_indentation;
36 END IF;
37 END create_seq_header;
38
39 PROCEDURE create_seq_header(
40 p_api_version IN NUMBER,
41 p_init_msg_list IN VARCHAR2 ,
42 x_return_status OUT NOCOPY VARCHAR2,
43 x_msg_count OUT NOCOPY NUMBER,
44 x_msg_data OUT NOCOPY VARCHAR2,
45 p_ksqv_tbl IN ksqv_tbl_type,
46 x_ksqv_tbl OUT NOCOPY ksqv_tbl_type) IS
47 BEGIN
48 IF (l_debug = 'Y') THEN
49 okc_debug.set_indentation('create_seq_header');
50 okc_debug.log('300: Entering create_seq_header', 2);
51 END IF;
52 okc_ksq_pvt.insert_row(
53 p_api_version,
54 p_init_msg_list,
55 x_return_status,
56 x_msg_count,
57 x_msg_data,
58 p_ksqv_tbl,
59 x_ksqv_tbl);
60 IF (l_debug = 'Y') THEN
61 okc_debug.log('400: Exiting create_seq_header', 2);
62 okc_debug.reset_indentation;
63 END IF;
64 END create_seq_header;
65
66 PROCEDURE update_seq_header(
67 p_api_version IN NUMBER,
68 p_init_msg_list IN VARCHAR2 ,
69 x_return_status OUT NOCOPY VARCHAR2,
70 x_msg_count OUT NOCOPY NUMBER,
71 x_msg_data OUT NOCOPY VARCHAR2,
72 p_ksqv_rec IN ksqv_rec_type,
73 x_ksqv_rec OUT NOCOPY ksqv_rec_type) IS
74 BEGIN
75 IF (l_debug = 'Y') THEN
76 okc_debug.set_indentation('update_seq_header');
77 okc_debug.log('500: Entering update_seq_header', 2);
78 END IF;
79 okc_ksq_pvt.update_row(
80 p_api_version,
81 p_init_msg_list,
82 x_return_status,
83 x_msg_count,
84 x_msg_data,
85 p_ksqv_rec,
86 x_ksqv_rec);
87 IF (l_debug = 'Y') THEN
88 okc_debug.log('600: Exiting update_seq_header', 2);
89 okc_debug.reset_indentation;
90 END IF;
91 END update_seq_header;
92
93 PROCEDURE update_seq_header(
94 p_api_version IN NUMBER,
95 p_init_msg_list IN VARCHAR2 ,
96 x_return_status OUT NOCOPY VARCHAR2,
97 x_msg_count OUT NOCOPY NUMBER,
98 x_msg_data OUT NOCOPY VARCHAR2,
99 p_ksqv_tbl IN ksqv_tbl_type,
100 x_ksqv_tbl OUT NOCOPY ksqv_tbl_type) IS
101 BEGIN
102 IF (l_debug = 'Y') THEN
103 okc_debug.set_indentation('update_seq_header');
104 okc_debug.log('700: Entering update_seq_header', 2);
105 END IF;
106 okc_ksq_pvt.update_row(
107 p_api_version,
108 p_init_msg_list,
109 x_return_status,
110 x_msg_count,
111 x_msg_data,
112 p_ksqv_tbl,
113 x_ksqv_tbl);
114 IF (l_debug = 'Y') THEN
115 okc_debug.log('800: Exiting update_seq_header', 2);
116 okc_debug.reset_indentation;
117 END IF;
118 END update_seq_header;
119
120 PROCEDURE delete_seq_header(
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_ksqv_rec IN ksqv_rec_type) IS
127 BEGIN
128 IF (l_debug = 'Y') THEN
129 okc_debug.set_indentation('delete_seq_header');
130 okc_debug.log('900: Entering delete_seq_header', 2);
131 END IF;
132 okc_ksq_pvt.delete_row(
133 p_api_version,
134 p_init_msg_list,
135 x_return_status,
136 x_msg_count,
137 x_msg_data,
138 p_ksqv_rec);
139 IF (l_debug = 'Y') THEN
140 okc_debug.log('1000: Exiting delete_seq_header', 2);
141 okc_debug.reset_indentation;
142 END IF;
143 END delete_seq_header;
144
145 PROCEDURE delete_seq_header(
146 p_api_version IN NUMBER,
147 p_init_msg_list IN VARCHAR2 ,
148 x_return_status OUT NOCOPY VARCHAR2,
149 x_msg_count OUT NOCOPY NUMBER,
150 x_msg_data OUT NOCOPY VARCHAR2,
151 p_ksqv_tbl IN ksqv_tbl_type) IS
152 BEGIN
153 IF (l_debug = 'Y') THEN
154 okc_debug.set_indentation('delete_seq_header');
155 okc_debug.log('1100: Entering delete_seq_header', 2);
156 END IF;
157 okc_ksq_pvt.delete_row(
158 p_api_version,
159 p_init_msg_list,
160 x_return_status,
161 x_msg_count,
162 x_msg_data,
163 p_ksqv_tbl);
164 IF (l_debug = 'Y') THEN
165 okc_debug.log('1200: Exiting delete_seq_header', 2);
166 okc_debug.reset_indentation;
167 END IF;
168 END delete_seq_header;
169
170 PROCEDURE lock_seq_header(
171 p_api_version IN NUMBER,
172 p_init_msg_list IN VARCHAR2 ,
173 x_return_status OUT NOCOPY VARCHAR2,
174 x_msg_count OUT NOCOPY NUMBER,
175 x_msg_data OUT NOCOPY VARCHAR2,
176 p_ksqv_rec IN ksqv_rec_type) IS
177 BEGIN
178 IF (l_debug = 'Y') THEN
179 okc_debug.set_indentation('lock_seq_header');
180 okc_debug.log('1300: Entering lock_seq_header', 2);
181 END IF;
182 okc_ksq_pvt.lock_row(
183 p_api_version,
184 p_init_msg_list,
185 x_return_status,
186 x_msg_count,
187 x_msg_data,
188 p_ksqv_rec);
189 IF (l_debug = 'Y') THEN
190 okc_debug.log('1400: Exiting lock_seq_header', 2);
191 okc_debug.reset_indentation;
192 END IF;
193 END lock_seq_header;
194
195 PROCEDURE lock_seq_header(
196 p_api_version IN NUMBER,
197 p_init_msg_list IN VARCHAR2 ,
198 x_return_status OUT NOCOPY VARCHAR2,
199 x_msg_count OUT NOCOPY NUMBER,
200 x_msg_data OUT NOCOPY VARCHAR2,
201 p_ksqv_tbl IN ksqv_tbl_type) IS
202 BEGIN
203 IF (l_debug = 'Y') THEN
204 okc_debug.set_indentation('lock_seq_header');
205 okc_debug.log('1500: Entering lock_seq_header', 2);
206 END IF;
207 okc_ksq_pvt.lock_row(
208 p_api_version,
209 p_init_msg_list,
210 x_return_status,
211 x_msg_count,
212 x_msg_data,
213 p_ksqv_tbl);
214 IF (l_debug = 'Y') THEN
215 okc_debug.log('1600: Exiting lock_seq_header', 2);
216 okc_debug.reset_indentation;
217 END IF;
218 END lock_seq_header;
219
220 PROCEDURE validate_seq_header(
221 p_api_version IN NUMBER,
222 p_init_msg_list IN VARCHAR2 ,
223 x_return_status OUT NOCOPY VARCHAR2,
224 x_msg_count OUT NOCOPY NUMBER,
225 x_msg_data OUT NOCOPY VARCHAR2,
226 p_ksqv_rec IN ksqv_rec_type) IS
227 BEGIN
228 IF (l_debug = 'Y') THEN
229 okc_debug.set_indentation('validate_seq_header');
230 okc_debug.log('1700: Entering validate_seq_header', 2);
231 END IF;
232 okc_ksq_pvt.validate_row(
233 p_api_version,
234 p_init_msg_list,
235 x_return_status,
236 x_msg_count,
237 x_msg_data,
238 p_ksqv_rec);
239 IF (l_debug = 'Y') THEN
240 okc_debug.log('1800: Exiting validate_seq_header', 2);
241 okc_debug.reset_indentation;
242 END IF;
243 END validate_seq_header;
244
245 PROCEDURE validate_seq_header(
246 p_api_version IN NUMBER,
247 p_init_msg_list IN VARCHAR2 ,
248 x_return_status OUT NOCOPY VARCHAR2,
249 x_msg_count OUT NOCOPY NUMBER,
250 x_msg_data OUT NOCOPY VARCHAR2,
251 p_ksqv_tbl IN ksqv_tbl_type) IS
252 BEGIN
253 IF (l_debug = 'Y') THEN
254 okc_debug.set_indentation('validate_seq_header');
255 okc_debug.log('1900: Entering validate_seq_header', 2);
256 END IF;
257 okc_ksq_pvt.validate_row(
258 p_api_version,
259 p_init_msg_list,
260 x_return_status,
261 x_msg_count,
262 x_msg_data,
263 p_ksqv_tbl);
264 IF (l_debug = 'Y') THEN
265 okc_debug.log('2000: Exiting validate_seq_header', 2);
266 okc_debug.reset_indentation;
267 END IF;
268 END validate_seq_header;
269
270 PROCEDURE create_seq_lines(
271 p_api_version IN NUMBER,
272 p_init_msg_list IN VARCHAR2 ,
273 x_return_status OUT NOCOPY VARCHAR2,
274 x_msg_count OUT NOCOPY NUMBER,
275 x_msg_data OUT NOCOPY VARCHAR2,
276 p_lsqv_rec IN lsqv_rec_type,
277 x_lsqv_rec OUT NOCOPY lsqv_rec_type) IS
278 --
279 l_lsqv_rec lsqv_rec_type := p_lsqv_rec;
280 l_seq number;
281 l_docseq_name fnd_document_sequences.name%TYPE;
282 l_doc_sequence_id fnd_document_sequences.doc_sequence_id%TYPE;
283 l_set_of_books_id okx_organization_defs_v.set_of_books_id%TYPE;
284 l_return_status VARCHAR2(1);
285 l_row_notfound Boolean;
286 --
287 -- AOL sequence need not be created if the prefix and the suffix
288 -- are already used bu some other detail. Use the same document
289 -- sequence id in this case.
290 --
291 cursor c1(p_line_code okc_k_seq_lines.line_code%TYPE,
292 p_prefix okc_k_seq_lines.contract_number_prefix%TYPE,
293 p_suffix okc_k_seq_lines.contract_Number_suffix%TYPE) is
294 select doc_sequence_id
295 from okc_k_seq_lines
296 where line_code = p_line_code
297 and ((contract_number_prefix = p_prefix)
298 or (contract_number_prefix is null
299 and p_prefix is null))
300 and ((contract_number_suffix = p_suffix)
301 or (contract_number_suffix is null
302 and p_suffix is null));
303 --
304 -- cursor to get the doc_sequence_id, used in the simple api
305 --
306 cursor c2 is
307 select doc_sequence_id
308 from fnd_document_sequences
309 where name = l_docseq_name;
310 --
311 -- cursor to get the set of books id
312 --
313 cursor c3(p_id IN NUMBER) is
314 select set_of_books_id
315 from okx_organization_defs_v
316 where id1= p_id
317 and organization_type = 'OPERATING_UNIT'
318 and information_type = 'Operating Unit Information';
319
320 --NPALEPU ADDED ON 22-AUG-2006 FOR BUG # 5470760
321 l_org_id NUMBER;
322 --NPALEPU ADDED ON 25-AUG-2006 FOR BUG # 5488217
323 CURSOR ORG_ID_CSR IS
324 SELECT ou.organization_id
325 FROM hr_operating_units ou
326 WHERE mo_global.check_access(ou.organization_id) = 'Y';
327 --END NPALEPU
328
329 BEGIN
330 IF (l_debug = 'Y') THEN
331 okc_debug.set_indentation('create_seq_lines');
332 okc_debug.log('2100: Entering create_seq_lines', 2);
333 END IF;
334 x_return_status := OKC_API.G_RET_STS_SUCCESS;
335 -- First check if the same prefix and suffix is already in use
336 Open c1(l_lsqv_rec.line_code,
337 l_lsqv_rec.contract_number_prefix,
338 l_lsqv_rec.contract_number_suffix);
339 Fetch c1 Into l_doc_sequence_id;
340 l_row_notfound := c1%NotFound;
341 Close c1;
342
343 If l_row_notfound Then
344 --
345 -- If doc sequence does not exist, do the AOL setup here first
346 -- First create the document sequence details.
347 -- Populate fnd_document_sequences table
348 --
349 select okc_k_seq_lines_s1.nextval into l_seq from dual;
350 l_docseq_name := Fnd_Profile.Value('OKC_DOC_SEQUENCE_NAME') ||
351 To_Char(l_seq);
352 l_return_status := Fnd_Seqnum.Define_Doc_Seq
353 (app_id => 510,
354 docseq_name => l_docseq_name,
355 docseq_type => 'A',
356 msg_flag => 'N',
357 init_value => l_lsqv_rec.start_seq_no,
358 p_startdate => sysdate);
359 If l_return_status <> FND_SEQNUM.SEQSUCC Then
360 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
361 RAISE G_EXCEPTION_HALT_VALIDATION;
362 End If;
363 -- Get the document sequence id just generated
364 Open c2;
365 Fetch c2 Into l_doc_sequence_id;
366 Close c2;
367 End If;
368 --
369 -- Next call simple api; however set the document sequence id first.
370 --
371 l_lsqv_rec.doc_sequence_id := l_doc_sequence_id;
372 --
373 okc_lsq_pvt.insert_row(
374 p_api_version,
375 p_init_msg_list,
376 l_return_status,
377 x_msg_count,
378 x_msg_data,
379 l_lsqv_rec,
380 x_lsqv_rec);
381 If l_return_status <> OKC_API.G_RET_STS_SUCCESS Then
382 x_return_status := l_return_status;
383 RAISE G_EXCEPTION_HALT_VALIDATION;
384 End If;
385 --
386 -- Continue with the AOL setup if not already done.
387 --
388 If l_row_notfound Then
389 --
390 -- Now create a document category.
391 -- Populate the fnd_doc_sequence_categories table.
392 --
393 Fnd_Seq_Categories_Pkg.Insert_Cat(
394 x_application_id => 510,
395 x_category_code => l_docseq_name,
396 x_category_name => l_docseq_name,
397 x_description => l_docseq_name,
398 x_table_name => 'OKC_K_HEADERS_B',
399 x_last_updated_by => x_lsqv_rec.last_updated_by,
400 x_created_by => x_lsqv_rec.created_by,
401 x_last_update_login => x_lsqv_rec.last_update_login);
402 --
403 -- Next create an intersection between category and sequence.
404 -- Get the set of books for the current Org. To do that we
405 -- will have to first set the org itself.
406 --
407
408 --npalepu modified the code for bug # 5470760
409 /*okc_context.set_okc_org_context;
410 Open c3(Sys_Context('OKC_CONTEXT', 'ORG_ID'));
411 Fetch c3 Into l_set_of_books_id;
412 Close c3; */
413 /*If operating_unit_id is not null use it, else if business_group_id is not null use it else use default org_id */
414 IF l_lsqv_rec.OPERATING_UNIT_ID IS NOT NULL THEN
415 l_org_id := l_lsqv_rec.OPERATING_UNIT_ID;
416 ELSIF l_lsqv_rec.BUSINESS_GROUP_ID IS NOT NULL THEN
417 l_org_id := l_lsqv_rec.BUSINESS_GROUP_ID;
418 --NPALEPU MODIFIED ON 25-AUG-2006 FOR BUG # 5488217
419 ELSIF MO_UTILS.GET_DEFAULT_ORG_ID IS NOT NULL THEN
420 l_org_id := MO_UTILS.GET_DEFAULT_ORG_ID;
421 ELSE
422 OPEN ORG_ID_CSR;
423 FETCH ORG_ID_CSR INTO l_org_id;
424 CLOSE ORG_ID_CSR;
425 END IF;
426
427 IF l_org_id IS NOT NULL THEN
428 OPEN c3(l_org_id);
429 FETCH c3 Into l_set_of_books_id;
430 CLOSE c3;
431 END IF;
432 --END NPALEPU
433
434 --
435 -- Populate the fnd_doc_doc_sequence_assignment table.
436 --
437 l_return_status := Fnd_Seqnum.Assign_Doc_Seq
438 (app_id => 510,
439 docseq_name => l_docseq_name,
440 cat_code => l_docseq_name,
441 sob_id => l_set_of_books_id,
442 met_code => 'A',
443 p_startdate => x_lsqv_rec.creation_date,
444 p_enddate => Null);
445 If l_return_status <> FND_SEQNUM.SEQSUCC Then
446 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
447 RAISE G_EXCEPTION_HALT_VALIDATION;
448 End If;
449 End If;
450 IF (l_debug = 'Y') THEN
451 okc_debug.log('2200: Exiting create_seq_lines', 2);
452 okc_debug.reset_indentation;
453 END IF;
454 EXCEPTION
455 WHEN G_EXCEPTION_HALT_VALIDATION THEN
456 IF (l_debug = 'Y') THEN
457 okc_debug.log('2300: Exiting create_seq_lines', 2);
458 okc_debug.reset_indentation;
459 END IF;
460 --npalepu added on 25-AUG-2006 for bug # 5488217
461 IF ORG_ID_CSR%ISOPEN THEN
462 CLOSE ORG_ID_CSR;
463 END IF;
464 --end npalepu
465 WHEN OTHERS THEN
466 OKC_API.set_message(p_app_name => g_app_name,
467 p_msg_name => g_unexpected_error,
468 p_token1 => g_sqlcode_token,
469 p_token1_value => sqlcode,
470 p_token2 => g_sqlerrm_token,
471 p_token2_value => sqlerrm);
472 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
473 IF (l_debug = 'Y') THEN
474 okc_debug.log('2400: Exiting create_seq_lines', 2);
475 okc_debug.reset_indentation;
476 END IF;
477 --npalepu added on 25-AUG-2006 for bug # 5488217
478 IF ORG_ID_CSR%ISOPEN THEN
479 CLOSE ORG_ID_CSR;
480 END IF;
481 --end npalepu
482 END create_seq_lines;
483
484 PROCEDURE create_seq_lines(
485 p_api_version IN NUMBER,
486 p_init_msg_list IN VARCHAR2 ,
487 x_return_status OUT NOCOPY VARCHAR2,
488 x_msg_count OUT NOCOPY NUMBER,
489 x_msg_data OUT NOCOPY VARCHAR2,
490 p_lsqv_tbl IN lsqv_tbl_type,
491 x_lsqv_tbl OUT NOCOPY lsqv_tbl_type) IS
492 i NUMBER := 0;
493 l_return_status VARCHAR2(1) := OKC_API.G_RET_STS_SUCCESS;
494 BEGIN
495 IF (l_debug = 'Y') THEN
496 okc_debug.set_indentation('create_seq_lines');
497 okc_debug.log('2500: Entering create_seq_lines', 2);
498 END IF;
499 x_return_status := OKC_API.G_RET_STS_SUCCESS;
500 IF (p_lsqv_tbl.COUNT > 0) THEN
501 i := p_lsqv_tbl.FIRST;
502 LOOP
503 create_seq_lines(
504 p_api_version,
505 p_init_msg_list,
506 l_return_status,
507 x_msg_count,
508 x_msg_data,
509 p_lsqv_tbl(i),
510 x_lsqv_tbl(i));
511 IF (l_return_status <> OKC_API.G_RET_STS_SUCCESS) THEN
512 IF (l_return_status = OKC_API.G_RET_STS_UNEXP_ERROR) THEN
513 x_return_status := l_return_status;
514 raise G_EXCEPTION_HALT_VALIDATION;
515 ELSE
516 x_return_status := l_return_status;
517 END IF;
518 END IF;
519 EXIT WHEN (i = p_lsqv_tbl.LAST);
520 i := p_lsqv_tbl.NEXT(i);
521 END LOOP;
522 END IF;
523 IF (l_debug = 'Y') THEN
524 okc_debug.log('2600: Exiting create_seq_lines', 2);
525 okc_debug.reset_indentation;
526 END IF;
527 EXCEPTION
528 WHEN G_EXCEPTION_HALT_VALIDATION THEN
529 IF (l_debug = 'Y') THEN
530 okc_debug.log('2700: Exiting create_seq_lines', 2);
531 okc_debug.reset_indentation;
532 END IF;
533 WHEN OTHERS THEN
534 OKC_API.set_message(p_app_name => g_app_name,
535 p_msg_name => g_unexpected_error,
536 p_token1 => g_sqlcode_token,
537 p_token1_value => sqlcode,
538 p_token2 => g_sqlerrm_token,
539 p_token2_value => sqlerrm);
540 x_return_status := OKC_API.G_RET_STS_UNEXP_ERROR;
541 IF (l_debug = 'Y') THEN
542 okc_debug.log('2800: Exiting create_seq_lines', 2);
543 okc_debug.reset_indentation;
544 END IF;
545 END create_seq_lines;
546
547 PROCEDURE update_seq_lines(
548 p_api_version IN NUMBER,
549 p_init_msg_list IN VARCHAR2 ,
550 x_return_status OUT NOCOPY VARCHAR2,
551 x_msg_count OUT NOCOPY NUMBER,
552 x_msg_data OUT NOCOPY VARCHAR2,
553 p_lsqv_rec IN lsqv_rec_type,
554 x_lsqv_rec OUT NOCOPY lsqv_rec_type) IS
555 BEGIN
556 IF (l_debug = 'Y') THEN
557 okc_debug.set_indentation('update_seq_lines');
558 okc_debug.log('2900: Entering update_seq_lines', 2);
559 END IF;
560 okc_lsq_pvt.update_row(
561 p_api_version,
562 p_init_msg_list,
563 x_return_status,
564 x_msg_count,
565 x_msg_data,
566 p_lsqv_rec,
567 x_lsqv_rec);
568 IF (l_debug = 'Y') THEN
569 okc_debug.log('3000: Exiting update_seq_lines', 2);
570 okc_debug.reset_indentation;
571 END IF;
572 END update_seq_lines;
573
574 PROCEDURE update_seq_lines(
575 p_api_version IN NUMBER,
576 p_init_msg_list IN VARCHAR2 ,
577 x_return_status OUT NOCOPY VARCHAR2,
578 x_msg_count OUT NOCOPY NUMBER,
579 x_msg_data OUT NOCOPY VARCHAR2,
580 p_lsqv_tbl IN lsqv_tbl_type,
581 x_lsqv_tbl OUT NOCOPY lsqv_tbl_type) IS
582 BEGIN
583 IF (l_debug = 'Y') THEN
584 okc_debug.set_indentation('update_seq_lines');
585 okc_debug.log('3100: Entering update_seq_lines', 2);
586 END IF;
587 okc_lsq_pvt.update_row(
588 p_api_version,
589 p_init_msg_list,
590 x_return_status,
591 x_msg_count,
592 x_msg_data,
593 p_lsqv_tbl,
594 x_lsqv_tbl);
595 IF (l_debug = 'Y') THEN
596 okc_debug.log('3200: Exiting update_seq_lines', 2);
597 okc_debug.reset_indentation;
598 END IF;
599 END update_seq_lines;
600
601 PROCEDURE delete_seq_lines(
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_lsqv_rec IN lsqv_rec_type) IS
608 BEGIN
609 IF (l_debug = 'Y') THEN
610 okc_debug.set_indentation('delete_seq_lines');
611 okc_debug.log('3300: Entering delete_seq_lines', 2);
612 END IF;
613 okc_lsq_pvt.delete_row(
614 p_api_version,
615 p_init_msg_list,
616 x_return_status,
617 x_msg_count,
618 x_msg_data,
619 p_lsqv_rec);
620 IF (l_debug = 'Y') THEN
621 okc_debug.log('3400: Exiting delete_seq_lines', 2);
622 okc_debug.reset_indentation;
623 END IF;
624 END delete_seq_lines;
625
626 PROCEDURE delete_seq_lines(
627 p_api_version IN NUMBER,
628 p_init_msg_list IN VARCHAR2 ,
629 x_return_status OUT NOCOPY VARCHAR2,
630 x_msg_count OUT NOCOPY NUMBER,
631 x_msg_data OUT NOCOPY VARCHAR2,
632 p_lsqv_tbl IN lsqv_tbl_type) IS
633 BEGIN
634 IF (l_debug = 'Y') THEN
635 okc_debug.set_indentation('delete_seq_lines');
636 okc_debug.log('3500: Entering delete_seq_lines', 2);
637 END IF;
638 okc_lsq_pvt.delete_row(
639 p_api_version,
640 p_init_msg_list,
641 x_return_status,
642 x_msg_count,
643 x_msg_data,
644 p_lsqv_tbl);
645 IF (l_debug = 'Y') THEN
646 okc_debug.log('3600: Exiting delete_seq_lines', 2);
647 okc_debug.reset_indentation;
648 END IF;
649 END delete_seq_lines;
650
651 PROCEDURE lock_seq_lines(
652 p_api_version IN NUMBER,
653 p_init_msg_list IN VARCHAR2 ,
654 x_return_status OUT NOCOPY VARCHAR2,
655 x_msg_count OUT NOCOPY NUMBER,
656 x_msg_data OUT NOCOPY VARCHAR2,
657 p_lsqv_rec IN lsqv_rec_type) IS
658 BEGIN
659 IF (l_debug = 'Y') THEN
660 okc_debug.set_indentation('lock_seq_lines');
661 okc_debug.log('3700: Entering lock_seq_lines', 2);
662 END IF;
663 okc_lsq_pvt.lock_row(
664 p_api_version,
665 p_init_msg_list,
666 x_return_status,
667 x_msg_count,
668 x_msg_data,
669 p_lsqv_rec);
670 IF (l_debug = 'Y') THEN
671 okc_debug.log('3800: Exiting lock_seq_lines', 2);
672 okc_debug.reset_indentation;
673 END IF;
674 END lock_seq_lines;
675
676 PROCEDURE lock_seq_lines(
677 p_api_version IN NUMBER,
678 p_init_msg_list IN VARCHAR2 ,
679 x_return_status OUT NOCOPY VARCHAR2,
680 x_msg_count OUT NOCOPY NUMBER,
681 x_msg_data OUT NOCOPY VARCHAR2,
682 p_lsqv_tbl IN lsqv_tbl_type) IS
683 BEGIN
684 IF (l_debug = 'Y') THEN
685 okc_debug.set_indentation('lock_seq_lines');
686 okc_debug.log('3900: Entering lock_seq_lines', 2);
687 END IF;
688 okc_lsq_pvt.lock_row(
689 p_api_version,
690 p_init_msg_list,
691 x_return_status,
692 x_msg_count,
693 x_msg_data,
694 p_lsqv_tbl);
695 IF (l_debug = 'Y') THEN
696 okc_debug.log('4000: Exiting lock_seq_lines', 2);
697 okc_debug.reset_indentation;
698 END IF;
699 END lock_seq_lines;
700
701 PROCEDURE validate_seq_lines(
702 p_api_version IN NUMBER,
703 p_init_msg_list IN VARCHAR2 ,
704 x_return_status OUT NOCOPY VARCHAR2,
705 x_msg_count OUT NOCOPY NUMBER,
706 x_msg_data OUT NOCOPY VARCHAR2,
707 p_lsqv_rec IN lsqv_rec_type) IS
708 BEGIN
709 IF (l_debug = 'Y') THEN
710 okc_debug.set_indentation('validate_seq_lines');
711 okc_debug.log('4100: Entering validate_seq_lines', 2);
712 END IF;
713 okc_lsq_pvt.validate_row(
714 p_api_version,
715 p_init_msg_list,
716 x_return_status,
717 x_msg_count,
718 x_msg_data,
719 p_lsqv_rec);
720 IF (l_debug = 'Y') THEN
721 okc_debug.log('4200: Exiting validate_seq_lines', 2);
722 okc_debug.reset_indentation;
723 END IF;
724 END validate_seq_lines;
725
726 PROCEDURE validate_seq_lines(
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_lsqv_tbl IN lsqv_tbl_type) IS
733 BEGIN
734 IF (l_debug = 'Y') THEN
735 okc_debug.set_indentation('validate_seq_lines');
736 okc_debug.log('4300: Entering validate_seq_lines', 2);
737 END IF;
738 okc_lsq_pvt.validate_row(
739 p_api_version,
740 p_init_msg_list,
741 x_return_status,
742 x_msg_count,
743 x_msg_data,
744 p_lsqv_tbl);
745 IF (l_debug = 'Y') THEN
746 okc_debug.log('4400: Exiting validate_seq_lines', 2);
747 okc_debug.reset_indentation;
748 END IF;
749 END validate_seq_lines;
750
751 --
752 -- Complex API to check whether or not the contract number
753 -- can be generated
754 --
755 PROCEDURE Is_K_Autogenerated(
756 p_scs_code Varchar2,
757 x_return_status OUT NOCOPY Varchar2) IS
758 BEGIN
759 IF (l_debug = 'Y') THEN
760 okc_debug.set_indentation('Is_K_Autogenerated');
761 okc_debug.log('4500: Entering Is_K_Autogenerated', 2);
762 END IF;
763 --
764 -- Call Simple API
765 --
766 okc_ksq_pvt.Is_K_Autogenerated(
767 p_scs_code,
768 x_return_status);
769 IF (l_debug = 'Y') THEN
770 okc_debug.log('4600: Exiting Is_K_Autogenerated', 2);
771 okc_debug.reset_indentation;
772 END IF;
773 END Is_K_Autogenerated;
774
775 --
776 -- Complex API to Get the Contract Number
777 --
778 PROCEDURE Get_K_Number(
779 p_scs_code IN VARCHAR2,
780 p_contract_number_modifier IN VARCHAR2,
781 x_contract_number OUT NOCOPY VARCHAR2,
782 x_return_status OUT NOCOPY VARCHAR2) IS
783 BEGIN
784 IF (l_debug = 'Y') THEN
785 okc_debug.set_indentation('Get_K_Number');
786 okc_debug.log('4700: Entering Get_K_Number', 2);
787 END IF;
788 --
789 -- Call Simple API
790 --
791 okc_ksq_pvt.Get_K_Number(
792 p_scs_code,
793 p_contract_number_modifier,
794 x_contract_number,
795 x_return_status);
796 IF (l_debug = 'Y') THEN
797 okc_debug.log('4800: Exiting Get_K_Number', 2);
798 okc_debug.reset_indentation;
799 END IF;
800 END Get_K_Number;
801
802 END OKC_CONTRACT_SEQ_PVT;