[Home] [Help]
PACKAGE BODY: APPS.ASO_CONTRACT_TERMS_INT
Source
1 PACKAGE BODY ASO_Contract_Terms_INT AS
2 /* $Header: asoiktcb.pls 120.1 2005/06/29 12:33:32 appldev ship $ */
3 -- Start of Comments
4 -- Package name : ASO_Contract_Terms_INT
5 -- Purpose :
6 -- History :
7 -- 10-29-2002 hyang - created
8 -- NOTE :
9 -- End of Comments
10
11 g_pkg_name CONSTANT VARCHAR2 (30) := 'ASO_Contract_Terms_INT';
12 g_file_name CONSTANT VARCHAR2 (12) := 'asoiktcb.pls';
13
14 G_ITEMS_CODE CONSTANT VARCHAR2(30) := 'OKC$S_ITEMS';
15 G_ITEM_CATEGORIES_CODE CONSTANT VARCHAR2(30) := 'OKC$S_ITEM_CATEGORIES';
16 G_PA_NUMBER_CODE CONSTANT VARCHAR2(30) := 'OKC$S_PA_NUMBER';
17 G_PA_NAME_CODE CONSTANT VARCHAR2(30) := 'OKC$S_PA_NAME';
18 G_QUOTE_NUMBER_CODE CONSTANT VARCHAR2(30) := 'OKC$S_QUOTE_NUMBER';
19 G_CUSTOMER_NAME_CODE CONSTANT VARCHAR2(30) := 'OKC$S_CUSTOMER_NAME';
20 G_CUSTOMER_NUMBER_CODE CONSTANT VARCHAR2(30) := 'OKC$S_CUSTOMER_NUMBER';
21 G_CUST_PO_NUMBER_CODE CONSTANT VARCHAR2(30) := 'OKC$S_CUST_PO_NUMBER';
22 G_VERSION_NUMBER_CODE CONSTANT VARCHAR2(30) := 'OKC$S_VERSION_NUMBER';
23 G_CUST_CONTACT_NAME_CODE CONSTANT VARCHAR2(30) := 'OKC$S_CUST_CONTACT_NAME';
24 G_SALESREP_NAME_CODE CONSTANT VARCHAR2(30) := 'OKC$S_SALESREP_NAME';
25 G_CURRENCY_CODE_CODE CONSTANT VARCHAR2(30) := 'OKC$S_CURRENCY_CODE';
26 G_FREIGHT_TERMS_CODE CONSTANT VARCHAR2(30) := 'OKC$S_FREIGHT_TERMS';
27 G_SHIPPING_METHOD_CODE CONSTANT VARCHAR2(30) := 'OKC$S_SHIPPING_METHOD';
28 G_PAYMENT_TERM_CODE CONSTANT VARCHAR2(30) := 'OKC$S_PAYMENT_TERM';
29 G_SUPPLIER_NAME_CODE CONSTANT VARCHAR2(30) := 'OKC$S_SUPPLIER_NAME';
30 G_CURRENCY_NAME_CODE CONSTANT VARCHAR2(30) := 'OKC$S_CURRENCY_NAME';
31 G_CURRENCY_SYMBOL_CODE CONSTANT VARCHAR2(30) := 'OKC$S_CURRENCY_SYMBOL';
32
33
34 PROCEDURE Get_Article_Variable_Values (
35 p_api_version IN NUMBER,
36 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
37 x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
38 x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
39 x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
40 p_doc_id IN NUMBER,
41 p_sys_var_value_tbl IN OUT NOCOPY /* file.sql.39 change */ OKC_TERMS_UTIL_GRP.sys_var_value_tbl_type
42 ) IS
43
44 l_api_version NUMBER := 1.0;
45 l_api_name VARCHAR2 (50) := 'Get_Line_Variable_Values';
46 l_index BINARY_INTEGER;
47
48 l_contract_id NUMBER;
49 l_quote_number NUMBER;
50 l_cust_party_id NUMBER;
51 l_cust_account_id NUMBER;
52 l_cust_po_number VARCHAR2 (50);
53 l_quote_version NUMBER;
54 l_party_id NUMBER;
55 l_resource_id NUMBER;
56 l_currency_code VARCHAR2 (15);
57 l_freight_terms_code VARCHAR2 (30);
58 l_ship_method_code VARCHAR2 (30);
59 l_payment_term_id NUMBER;
60 l_org_id NUMBER;
61
62 CURSOR c_qte_header_variables
63 IS
64 SELECT quote.contract_id, quote.quote_number, quote.cust_party_id, quote.cust_account_id,
65 quote.quote_version, quote.party_id, quote.resource_id,
66 quote.currency_code, quote.org_id
67 FROM aso_quote_headers_all quote
68 WHERE quote.quote_header_id = p_doc_id;
69
70 CURSOR c_qte_payments_variable
71 IS
72 SELECT payments.cust_po_number, payments.payment_term_id
73 FROM aso_quote_headers_all quote, aso_payments payments
74 WHERE quote.quote_header_id = payments.quote_header_id
75 AND payments.quote_line_id IS NULL
76 AND quote.quote_header_id = p_doc_id;
77
78 CURSOR c_qte_shipments_variables
79 IS
80 SELECT shipments.freight_terms_code, shipments.ship_method_code
81 FROM aso_quote_headers_all quote, aso_shipments shipments
82 WHERE quote.quote_header_id = shipments.quote_header_id
83 AND shipments.quote_line_id IS NULL
84 AND quote.quote_header_id = p_doc_id;
85
86 BEGIN
87
88 -- Standard call to check for call compatibility.
89 IF NOT fnd_api.compatible_api_call (
90 l_api_version,
91 p_api_version,
92 l_api_name,
93 g_pkg_name
94 )
95 THEN
96 RAISE fnd_api.g_exc_unexpected_error;
97 END IF;
98
99 -- Initialize message list if p_init_msg_list is set to TRUE.
100 IF fnd_api.to_boolean (
101 p_init_msg_list
102 )
103 THEN
104 fnd_msg_pub.initialize;
105 END IF;
106
107 -- Initialize API return status to SUCCESS
108 x_return_status := fnd_api.g_ret_sts_success;
109
110 --
111 -- API body
112 --
113 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
114 aso_debug_pub.ADD (
115 'Get_Line_Variable_Values Begin',
116 1,
117 'Y'
118 );
119 aso_debug_pub.ADD (
120 'Get_Line_Variable_Values: P_API_VERSION '|| p_api_version,
121 1,
122 'Y'
123 );
124 aso_debug_pub.ADD (
125 'Get_Line_Variable_Values: P_INIT_MSG_LIST '|| p_init_msg_list,
126 1,
127 'Y'
128 );
129 aso_debug_pub.ADD (
130 'Get_Line_Variable_Values: p_doc_id '|| p_doc_id,
131 1,
132 'Y'
133 );
134 END IF;
135
136 OPEN c_qte_header_variables ;
137 FETCH c_qte_header_variables INTO
138 l_contract_id,
139 l_quote_number,
140 l_cust_party_id,
141 l_cust_account_id,
142 l_quote_version,
143 l_party_id,
144 l_resource_id,
145 l_currency_code,
146 l_org_id;
147 CLOSE c_qte_header_variables;
148
149 OPEN c_qte_payments_variable ;
150 FETCH c_qte_payments_variable INTO
151 l_cust_po_number,
152 l_payment_term_id;
153 CLOSE c_qte_payments_variable;
154
155 OPEN c_qte_shipments_variables ;
156 FETCH c_qte_shipments_variables INTO
157 l_freight_terms_code,
158 l_ship_method_code;
159 CLOSE c_qte_shipments_variables;
160
161 l_index := p_sys_var_value_tbl.FIRST;
162
163 WHILE l_index IS NOT NULL
164 LOOP
165
166 IF p_sys_var_value_tbl(l_index).Variable_code = G_PA_NUMBER_CODE
167 AND l_contract_id IS NOT NULL
168 THEN
169
170 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
171 aso_debug_pub.add(
172 'Get_Line_Variable_Values assigning PA_NUMBER: ' || l_contract_id,
173 1,
174 'Y');
175 END IF;
176 p_sys_var_value_tbl(l_index).Variable_value_id := TO_CHAR(l_contract_id);
177
178 ELSIF p_sys_var_value_tbl(l_index).Variable_code = G_PA_NAME_CODE
179 AND l_contract_id IS NOT NULL
180 THEN
181
182 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
183 aso_debug_pub.add(
184 'Get_Line_Variable_Values assigning PA_NAME: ' || l_contract_id,
185 1,
186 'Y');
187 END IF;
188 p_sys_var_value_tbl(l_index).Variable_value_id := TO_CHAR(l_contract_id);
189
190 ELSIF p_sys_var_value_tbl(l_index).Variable_code = G_QUOTE_NUMBER_CODE
191 AND l_quote_number IS NOT NULL
192 THEN
193
194 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
195 aso_debug_pub.add(
196 'Get_Line_Variable_Values assigning QUOTE_NUMBER: ' || l_quote_number,
197 1,
198 'Y');
199 END IF;
200 p_sys_var_value_tbl(l_index).Variable_value_id := TO_CHAR(l_quote_number);
201
202 ELSIF p_sys_var_value_tbl(l_index).Variable_code = G_CUSTOMER_NAME_CODE
203 AND l_cust_party_id IS NOT NULL
204 THEN
205
206 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
207 aso_debug_pub.add(
208 'Get_Line_Variable_Values assigning CUSTOMER_NAME: ' || l_cust_party_id,
209 1,
210 'Y');
211 END IF;
212 p_sys_var_value_tbl(l_index).Variable_value_id := TO_CHAR(l_cust_party_id);
213
214 ELSIF p_sys_var_value_tbl(l_index).Variable_code = G_CUSTOMER_NUMBER_CODE
215 AND l_cust_account_id IS NOT NULL
216 THEN
217
218 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
219 aso_debug_pub.add(
220 'Get_Line_Variable_Values assigning CUSTOMER_NUMBER: ' || l_cust_account_id,
221 1,
222 'Y');
223 END IF;
224 p_sys_var_value_tbl(l_index).Variable_value_id := TO_CHAR(l_cust_account_id);
225
226 ELSIF p_sys_var_value_tbl(l_index).Variable_code = G_CUST_PO_NUMBER_CODE
227 AND l_cust_po_number IS NOT NULL
228 THEN
229
230 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
231 aso_debug_pub.add(
232 'Get_Line_Variable_Values assigning CUST_PO_NUMBER: ' || l_cust_po_number,
233 1,
234 'Y');
235 END IF;
236 p_sys_var_value_tbl(l_index).Variable_value_id := l_cust_po_number;
237
238 ELSIF p_sys_var_value_tbl(l_index).Variable_code = G_VERSION_NUMBER_CODE
239 AND l_quote_version IS NOT NULL
240 THEN
241
242 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
243 aso_debug_pub.add(
244 'Get_Line_Variable_Values assigning VERSION_NUMBER: ' || l_quote_version,
245 1,
246 'Y');
247 END IF;
248 p_sys_var_value_tbl(l_index).Variable_value_id := TO_CHAR(l_quote_version);
249
250 ELSIF p_sys_var_value_tbl(l_index).Variable_code = G_CUST_CONTACT_NAME_CODE
251 AND l_party_id IS NOT NULL
252 THEN
253
254 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
255 aso_debug_pub.add(
256 'Get_Line_Variable_Values assigning CUST_CONTACT_NAME: ' || l_party_id,
257 1,
258 'Y');
259 END IF;
260 p_sys_var_value_tbl(l_index).Variable_value_id := TO_CHAR(l_party_id);
261
262 ELSIF p_sys_var_value_tbl(l_index).Variable_code = G_SALESREP_NAME_CODE
263 AND l_resource_id IS NOT NULL
264 THEN
265
266 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
267 aso_debug_pub.add(
268 'Get_Line_Variable_Values assigning SALESREP_NAME: ' || l_resource_id,
269 1,
270 'Y');
271 END IF;
272 p_sys_var_value_tbl(l_index).Variable_value_id := TO_CHAR(l_resource_id);
273
274 ELSIF p_sys_var_value_tbl(l_index).Variable_code = G_CURRENCY_CODE_CODE
275 AND l_currency_code IS NOT NULL
276 THEN
277
278 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
279 aso_debug_pub.add(
280 'Get_Line_Variable_Values assigning CURRENCY_CODE: ' || l_currency_code,
281 1,
282 'Y');
283 END IF;
284 p_sys_var_value_tbl(l_index).Variable_value_id := l_currency_code;
285
286 ELSIF p_sys_var_value_tbl(l_index).Variable_code = G_FREIGHT_TERMS_CODE
287 AND l_freight_terms_code IS NOT NULL
288 THEN
289
290 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
291 aso_debug_pub.add(
292 'Get_Line_Variable_Values assigning FREIGHT_TERMS: ' || l_freight_terms_code,
293 1,
294 'Y');
295 END IF;
296 p_sys_var_value_tbl(l_index).Variable_value_id := l_freight_terms_code;
297
298 ELSIF p_sys_var_value_tbl(l_index).Variable_code = G_SHIPPING_METHOD_CODE
299 AND l_ship_method_code IS NOT NULL
300 THEN
301
302 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
303 aso_debug_pub.add(
304 'Get_Line_Variable_Values assigning SHIPPING_METHOD: ' || l_ship_method_code,
305 1,
306 'Y');
307 END IF;
308 p_sys_var_value_tbl(l_index).Variable_value_id := l_ship_method_code;
309
310 ELSIF p_sys_var_value_tbl(l_index).Variable_code = G_PAYMENT_TERM_CODE
311 AND l_payment_term_id IS NOT NULL
312 THEN
313
314 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
315 aso_debug_pub.add(
316 'Get_Line_Variable_Values assigning PAYMENT_TERM: ' || l_payment_term_id,
317 1,
318 'Y');
319 END IF;
320 p_sys_var_value_tbl(l_index).Variable_value_id := TO_CHAR(l_payment_term_id);
321
322 ELSIF p_sys_var_value_tbl(l_index).Variable_code = G_SUPPLIER_NAME_CODE
323 AND l_org_id IS NOT NULL
324 THEN
325
326 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
327 aso_debug_pub.add(
328 'Get_Line_Variable_Values assigning SUPPLIER_NAME: ' || l_org_id,
329 1,
330 'Y');
331 END IF;
332 p_sys_var_value_tbl(l_index).Variable_value_id := TO_CHAR(l_org_id);
333
334 ELSIF p_sys_var_value_tbl(l_index).Variable_code = G_CURRENCY_NAME_CODE
335 AND l_currency_code IS NOT NULL
336 THEN
337
338 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
339 aso_debug_pub.add(
340 'Get_Line_Variable_Values assigning CURRENCY_NAME: ' || l_currency_code,
341 1,
342 'Y');
343 END IF;
344 p_sys_var_value_tbl(l_index).Variable_value_id := l_currency_code;
345
346 ELSIF p_sys_var_value_tbl(l_index).Variable_code = G_CURRENCY_SYMBOL_CODE
347 AND l_currency_code IS NOT NULL
348 THEN
349
350 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
351 aso_debug_pub.add(
352 'Get_Line_Variable_Values assigning CURRENCY_SYMBOL: ' || l_currency_code,
353 1,
354 'Y');
355 END IF;
356 p_sys_var_value_tbl(l_index).Variable_value_id := l_currency_code;
357
358 END IF;
359
360 l_index := p_sys_var_value_tbl.next(l_index);
361 END LOOP;
362
363 --
364 -- End of API body.
365 --
366
367 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
368 aso_debug_pub.add(
369 'Get_Line_Variable_Values End ',
370 1,
371 'Y');
372 END IF;
373
374 -- Standard call to get message count and if count is 1, get message info.
375 fnd_msg_pub.count_and_get (
376 p_count => x_msg_count,
377 p_data => x_msg_data
378 );
379
380 END Get_Article_Variable_Values;
381
382 PROCEDURE Get_Line_Variable_Values (
383 p_api_version IN NUMBER,
384 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
385 x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
386 x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
387 x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
388 p_doc_id IN NUMBER,
389 p_variables_tbl IN OKC_TERMS_UTIL_GRP.sys_var_value_tbl_type,
390 x_line_var_value_tbl OUT NOCOPY /* file.sql.39 change */ OKC_TERMS_UTIL_GRP.item_dtl_tbl
391 ) IS
392
393 l_api_version NUMBER := 1.0;
394 l_api_name VARCHAR2 (50) := 'Get_Line_Variable_Values';
398
395 l_index BINARY_INTEGER;
396 TYPE l_table_type is table of varchar2(2000);
397 l_table l_table_type;
399 BEGIN
400
401 -- Standard call to check for call compatibility.
402 IF NOT fnd_api.compatible_api_call (
403 l_api_version,
404 p_api_version,
405 l_api_name,
406 g_pkg_name
407 )
408 THEN
409 RAISE fnd_api.g_exc_unexpected_error;
410 END IF;
411
412 -- Initialize message list if p_init_msg_list is set to TRUE.
413 IF fnd_api.to_boolean (
414 p_init_msg_list
415 )
416 THEN
417 fnd_msg_pub.initialize;
418 END IF;
419
420 -- Initialize API return status to SUCCESS
421 x_return_status := fnd_api.g_ret_sts_success;
422
423 --
424 -- API body
425 --
426 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
427 aso_debug_pub.ADD (
428 'Get_Line_Variable_Values Begin',
429 1,
430 'Y'
431 );
432 aso_debug_pub.ADD (
433 'Get_Line_Variable_Values: P_API_VERSION '|| p_api_version,
434 1,
435 'Y'
436 );
437 aso_debug_pub.ADD (
438 'Get_Line_Variable_Values: P_INIT_MSG_LIST '|| p_init_msg_list,
439 1,
440 'Y'
441 );
442 aso_debug_pub.ADD (
443 'Get_Line_Variable_Values: p_doc_id '|| p_doc_id,
444 1,
445 'Y'
446 );
447 END IF;
448
449 l_index := p_variables_tbl.FIRST;
450
451 WHILE l_index IS NOT NULL
452 LOOP
453
454 IF p_variables_tbl(l_index).Variable_code = G_ITEMS_CODE
455 THEN
456
457 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
458 aso_debug_pub.ADD (
459 'Get_Line_Variable_Values: bulk collecting items',
460 1,
461 'Y'
462 );
463 END IF;
464
465 SELECT DISTINCT Segment1
466 BULK COLLECT INTO x_line_var_value_tbl.item
467 FROM Mtl_System_Items_b items, Aso_Quote_Lines_All lines
468 WHERE lines.inventory_item_id = items.INVENTORY_ITEM_ID
469 AND lines.organization_id = items.organization_id
470 AND lines.LINE_CATEGORY_CODE = 'ORDER'
471 AND lines.quote_header_id = p_doc_id;
472
473 ELSIF p_variables_tbl(l_index).Variable_code = G_ITEM_CATEGORIES_CODE
474 THEN
475
476 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
477 aso_debug_pub.ADD (
478 'Get_Line_Variable_Values: bulk collecting items categories',
479 1,
480 'Y'
481 );
482 END IF;
483
484 SELECT DISTINCT Category_Concat_Segs
485 BULK COLLECT INTO x_line_var_value_tbl.category
486 FROM Mtl_Item_Categories mic, Aso_Quote_Lines_All lines, Mtl_Categories_V cats
487 WHERE lines.inventory_item_id = mic.INVENTORY_ITEM_ID
488 AND mic.category_id = cats.category_id
489 AND mic.organization_id = lines.organization_id
490 AND mic. category_set_id =
491 (SELECT nvl(FND_PROFILE.VALUE('ASO_CATEGORY_SET'), sets.category_set_id )
492 FROM Mtl_Default_Category_Sets sets
493 WHERE functional_area_id = 7)
494 AND lines.LINE_CATEGORY_CODE = 'ORDER'
495 AND lines.quote_header_id = p_doc_id;
496
497 END IF;
498
499 l_index := p_variables_tbl.next(l_index);
500 END LOOP;
501
502 --
503 -- End of API body.
504 --
505
506 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
507 aso_debug_pub.add(
508 'Get_Line_Variable_Values End ',
509 1,
510 'Y');
511 END IF;
512
513 -- Standard call to get message count and if count is 1, get message info.
514 fnd_msg_pub.count_and_get (
515 p_count => x_msg_count,
516 p_data => x_msg_data
517 );
518
519 END Get_Line_Variable_Values;
520
521 FUNCTION OK_To_Commit (
522 p_api_version IN NUMBER,
523 p_init_msg_list IN VARCHAR2 := fnd_api.g_false,
524 x_return_status OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
525 x_msg_count OUT NOCOPY /* file.sql.39 change */ NUMBER,
526 x_msg_data OUT NOCOPY /* file.sql.39 change */ VARCHAR2,
527 p_doc_id IN NUMBER,
528 p_doc_type IN VARCHAR2 := 'QUOTE',
529 p_validation_string IN VARCHAR2
530 ) RETURN VARCHAR2 IS
531
532 l_api_version NUMBER := 1.0;
533 l_api_name VARCHAR2 (50) := 'OK_To_Commit';
534 l_max_version_flag VARCHAR2 (1);
535 l_update_allowed VARCHAR2 (1);
536 l_quote_version NUMBER;
537 l_quote_expiration_date DATE;
538 l_price_request_id NUMBER;
539 l_return VARCHAR2 (1) := FND_API.G_TRUE;
540
541 CURSOR c_quote_header
542 IS
543 SELECT status.update_allowed_flag, quote.quote_expiration_date,
544 quote.max_version_flag, quote.price_request_id
545 FROM aso_quote_headers_all quote, aso_quote_statuses_b status
546 WHERE quote.quote_header_id = p_doc_id
547 AND quote.quote_status_id = status.quote_status_id;
548
549 BEGIN
550
551 -- Standard call to check for call compatibility.
552 IF NOT fnd_api.compatible_api_call (
553 l_api_version,
554 p_api_version,
555 l_api_name,
556 g_pkg_name
557 )
558 THEN
559 RAISE fnd_api.g_exc_unexpected_error;
560 END IF;
561
562 -- Initialize message list if p_init_msg_list is set to TRUE.
563 IF fnd_api.to_boolean (
564 p_init_msg_list
565 )
566 THEN
567 fnd_msg_pub.initialize;
568 END IF;
569
570 -- Initialize API return status to SUCCESS
571 x_return_status := fnd_api.g_ret_sts_success;
575 --
572
573 --
574 -- API body
576 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
577 aso_debug_pub.ADD (
578 'OK_To_Commit Begin',
579 1,
580 'Y'
581 );
582 aso_debug_pub.ADD (
583 'OK_To_Commit: P_API_VERSION '|| p_api_version,
584 1,
585 'Y'
586 );
587 aso_debug_pub.ADD (
588 'OK_To_Commit: P_INIT_MSG_LIST '|| p_init_msg_list,
589 1,
590 'Y'
591 );
592 aso_debug_pub.ADD (
593 'OK_To_Commit: p_doc_id '|| p_doc_id,
594 1,
595 'Y'
596 );
597 aso_debug_pub.ADD (
598 'OK_To_Commit: p_doc_type '|| p_doc_type,
599 1,
600 'Y'
601 );
602 aso_debug_pub.ADD (
603 'OK_To_Commit: p_validation_string '|| p_validation_string,
604 1,
605 'Y'
606 );
607 END IF;
608
609 IF p_doc_type <> 'QUOTE'
610 THEN
611 l_return := FND_API.G_FALSE;
612 ELSE
613
614 OPEN c_quote_header ;
615 FETCH c_quote_header INTO l_update_allowed, l_quote_expiration_date,
616 l_max_version_flag, l_price_request_id;
617 IF (c_quote_header%NOTFOUND)
618 THEN
619 l_return := FND_API.G_FALSE;
620 END IF;
621 CLOSE c_quote_header;
622
623 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
624 aso_debug_pub.ADD (
625 'OK_To_Commit: l_update_allowed '|| l_update_allowed,
626 1,
627 'Y'
628 );
629 aso_debug_pub.ADD (
630 'OK_To_Commit: l_quote_expiration_date '|| l_quote_expiration_date,
631 1,
632 'Y'
633 );
634 aso_debug_pub.ADD (
635 'OK_To_Commit: l_max_version_flag '|| l_max_version_flag,
636 1,
637 'Y'
638 );
639 aso_debug_pub.ADD (
640 'OK_To_Commit: l_price_request_id '|| l_price_request_id,
641 1,
642 'Y'
643 );
644 END IF;
645
646
647 IF (trunc(sysdate) > trunc(l_quote_expiration_date))
648 OR l_update_allowed = 'N'
649 OR l_max_version_flag = 'N'
650 OR l_price_request_id IS NOT NULL
651 THEN
652 l_return := FND_API.G_FALSE;
653 END IF;
654
655 END IF;
656 --
657 -- End of API body.
658 --
659
660 IF ASO_DEBUG_PUB.G_Debug_Flag = 'Y' THEN
661 aso_debug_pub.add(
662 'OK_To_Commit End ',
663 1,
664 'Y');
665 END IF;
666
667 -- Standard call to get message count and if count is 1, get message info.
668 fnd_msg_pub.count_and_get (
669 p_count => x_msg_count,
670 p_data => x_msg_data
671 );
672 RETURN l_return;
673 END OK_To_Commit;
674
675 END ASO_Contract_Terms_INT;