116: --OUT:
117: --x_return_status
118: -- Standard API specification parameter
119: -- Can hold one of the following values:
120: -- FND_API.G_RET_STS_SUCCESS (='S')
121: -- FND_API.G_RET_STS_ERROR (='E')
122: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
123: --Notes:
124: -- 1. Calls out to EBTax APIs calculate_tax and determine recovery to
117: --x_return_status
118: -- Standard API specification parameter
119: -- Can hold one of the following values:
120: -- FND_API.G_RET_STS_SUCCESS (='S')
121: -- FND_API.G_RET_STS_ERROR (='E')
122: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
123: --Notes:
124: -- 1. Calls out to EBTax APIs calculate_tax and determine recovery to
125: -- generate tax lines and distributions. Populates recoverable_tax and
118: -- Standard API specification parameter
119: -- Can hold one of the following values:
120: -- FND_API.G_RET_STS_SUCCESS (='S')
121: -- FND_API.G_RET_STS_ERROR (='E')
122: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
123: --Notes:
124: -- 1. Calls out to EBTax APIs calculate_tax and determine recovery to
125: -- generate tax lines and distributions. Populates recoverable_tax and
126: -- nonrecoverable_tax columns in distributions with the corrsponding tax
166:
167: d_progress := 0;
168:
169: -- By default return status is SUCCESS if no exception occurs
170: x_return_status := FND_API.G_RET_STS_SUCCESS;
171: -- Set global error record to uninitialized local record to set all its
172: -- components to null
173: G_TAX_ERRORS_TBL := null;
174: d_progress := 10;
311: PO_LOG.stmt(d_module_base,d_progress,'Calling validate_and_default_tax_attr');
312: END IF;
313: ZX_API_PUB.validate_and_default_tax_attr(
314: p_api_version => 1.0,
315: p_init_msg_list => FND_API.G_TRUE,
316: p_commit => FND_API.G_FALSE,
317: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
318: x_return_status => l_return_status,
319: x_msg_count => l_msg_count,
312: END IF;
313: ZX_API_PUB.validate_and_default_tax_attr(
314: p_api_version => 1.0,
315: p_init_msg_list => FND_API.G_TRUE,
316: p_commit => FND_API.G_FALSE,
317: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
318: x_return_status => l_return_status,
319: x_msg_count => l_msg_count,
320: x_msg_data => l_msg_data
313: ZX_API_PUB.validate_and_default_tax_attr(
314: p_api_version => 1.0,
315: p_init_msg_list => FND_API.G_TRUE,
316: p_commit => FND_API.G_FALSE,
317: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
318: x_return_status => l_return_status,
319: x_msg_count => l_msg_count,
320: x_msg_data => l_msg_data
321: );
325: PO_LOG.stmt(d_module_base,d_progress,'validate_and_default_tax_attr returned with status '||l_return_status);
326: END IF;
327:
328: -- Raise if any unexpected error
329: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
330: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
331: END IF;
332:
333: -- If expected errors, store error details in po_session_gt temporarily
326: END IF;
327:
328: -- Raise if any unexpected error
329: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
330: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
331: END IF;
332:
333: -- If expected errors, store error details in po_session_gt temporarily
334: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
330: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
331: END IF;
332:
333: -- If expected errors, store error details in po_session_gt temporarily
334: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
335: d_progress := 140;
336: x_return_status := l_return_status;
337: INSERT INTO po_session_gt(
338: key
396: PO_LOG.stmt(d_module_base,d_progress,'Number of records in zx_validation_errors_gt '||l_count);
397: END IF;
398:
399: -- Bug 12907158
400: RAISE FND_API.G_EXC_ERROR;
401:
402: END IF;
403:
404: d_progress := 160;
421: PO_LOG.stmt(d_module_base,d_progress,'Calling get_default_tax_det_attribs');
422: END IF;
423: ZX_API_PUB.get_default_tax_det_attribs(
424: p_api_version => 1.0,
425: p_init_msg_list => FND_API.G_TRUE,
426: p_commit => FND_API.G_FALSE,
427: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
428: x_return_status => l_return_status,
429: x_msg_count => l_msg_count,
422: END IF;
423: ZX_API_PUB.get_default_tax_det_attribs(
424: p_api_version => 1.0,
425: p_init_msg_list => FND_API.G_TRUE,
426: p_commit => FND_API.G_FALSE,
427: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
428: x_return_status => l_return_status,
429: x_msg_count => l_msg_count,
430: x_msg_data => l_msg_data
423: ZX_API_PUB.get_default_tax_det_attribs(
424: p_api_version => 1.0,
425: p_init_msg_list => FND_API.G_TRUE,
426: p_commit => FND_API.G_FALSE,
427: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
428: x_return_status => l_return_status,
429: x_msg_count => l_msg_count,
430: x_msg_data => l_msg_data
431: );
435: PO_LOG.stmt(d_module_base,d_progress,'get_default_tax_det_attribs returned with status '||l_return_status);
436: END IF;
437:
438: -- This API cannot give expected errors. However raise unexpected errors
439: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
440: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
441: END IF;
442:
443: END IF; -- IF (p_calling_program = 'PDOI')
436: END IF;
437:
438: -- This API cannot give expected errors. However raise unexpected errors
439: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
440: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
441: END IF;
442:
443: END IF; -- IF (p_calling_program = 'PDOI')
444:
495: END IF;
496:
497: ZX_API_PUB.calculate_tax(
498: p_api_version => 1.0,
499: p_init_msg_list => FND_API.G_TRUE,
500: p_commit => FND_API.G_FALSE,
501: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
502: x_return_status => l_return_status,
503: x_msg_count => l_msg_count,
496:
497: ZX_API_PUB.calculate_tax(
498: p_api_version => 1.0,
499: p_init_msg_list => FND_API.G_TRUE,
500: p_commit => FND_API.G_FALSE,
501: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
502: x_return_status => l_return_status,
503: x_msg_count => l_msg_count,
504: x_msg_data => l_msg_data
497: ZX_API_PUB.calculate_tax(
498: p_api_version => 1.0,
499: p_init_msg_list => FND_API.G_TRUE,
500: p_commit => FND_API.G_FALSE,
501: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
502: x_return_status => l_return_status,
503: x_msg_count => l_msg_count,
504: x_msg_data => l_msg_data
505: );
509: PO_LOG.stmt(d_module_base,d_progress,'calculate_tax returned with status '||l_return_status);
510: END IF;
511:
512: -- Raise if any unexpected error
513: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
514: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
515: END IF;
516:
517: -- If expected errors, store error details in po_session_gt temporarily
510: END IF;
511:
512: -- Raise if any unexpected error
513: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
514: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
515: END IF;
516:
517: -- If expected errors, store error details in po_session_gt temporarily
518: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
514: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
515: END IF;
516:
517: -- If expected errors, store error details in po_session_gt temporarily
518: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
519: x_return_status := l_return_status;
520: d_progress := 230;
521: INSERT INTO po_session_gt(
522: key
575: l_count := 0;
576: END;
577:
578: -- Bug 12907158
579: RAISE FND_API.G_EXC_ERROR;
580:
581: IF PO_LOG.d_stmt THEN
582: PO_LOG.stmt(d_module_base,d_progress,'Number of records in zx_errors_gt '||l_count);
583: END IF;
687: END IF;
688:
689: ZX_API_PUB.determine_recovery(
690: p_api_version => 1.0,
691: p_init_msg_list => FND_API.G_TRUE,
692: p_commit => FND_API.G_FALSE,
693: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
694: x_return_status => l_return_status,
695: x_msg_count => l_msg_count,
688:
689: ZX_API_PUB.determine_recovery(
690: p_api_version => 1.0,
691: p_init_msg_list => FND_API.G_TRUE,
692: p_commit => FND_API.G_FALSE,
693: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
694: x_return_status => l_return_status,
695: x_msg_count => l_msg_count,
696: x_msg_data => l_msg_data
689: ZX_API_PUB.determine_recovery(
690: p_api_version => 1.0,
691: p_init_msg_list => FND_API.G_TRUE,
692: p_commit => FND_API.G_FALSE,
693: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
694: x_return_status => l_return_status,
695: x_msg_count => l_msg_count,
696: x_msg_data => l_msg_data
697: );
701: PO_LOG.stmt(d_module_base,d_progress,'determine_recovery returned with status '||l_return_status);
702: END IF;
703:
704: -- Raise if any unexpected error
705: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
706: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
707: END IF;
708:
709: -- If expected errors, store error details in po_session_gt temporarily
702: END IF;
703:
704: -- Raise if any unexpected error
705: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
706: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
707: END IF;
708:
709: -- If expected errors, store error details in po_session_gt temporarily
710: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
706: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
707: END IF;
708:
709: -- If expected errors, store error details in po_session_gt temporarily
710: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
711: x_return_status := l_return_status;
712: d_progress := 350;
713: INSERT INTO po_session_gt(
714: key
805: WHERE psgt.key = l_po_session_gt_key
806: AND psgt.char3 = 'DETERMINE_RECOVERY');
807:
808: --Bug 12907158
809: RAISE FND_API.G_EXC_ERROR;
810:
811: END IF; --IF (l_return_status = FND_API.G_RET_STS_ERROR)
812:
813: d_progress := 450;
807:
808: --Bug 12907158
809: RAISE FND_API.G_EXC_ERROR;
810:
811: END IF; --IF (l_return_status = FND_API.G_RET_STS_ERROR)
812:
813: d_progress := 450;
814:
815: -- bug5650927
989:
990: /* Bug 12907158: Raise the expected error and collect the data into
991: G_TAX_ERRORS_TBL so that they can be processed. */
992:
993: WHEN FND_API.G_EXC_ERROR THEN
994: x_return_status := FND_API.G_RET_STS_ERROR ;
995:
996:
997: SELECT
990: /* Bug 12907158: Raise the expected error and collect the data into
991: G_TAX_ERRORS_TBL so that they can be processed. */
992:
993: WHEN FND_API.G_EXC_ERROR THEN
994: x_return_status := FND_API.G_RET_STS_ERROR ;
995:
996:
997: SELECT
998: psgt.char3 --error_level
1023: ROLLBACK TO SAVEPOINT calculate_tax_savepoint;
1024:
1025: -- end Bug 12907158
1026:
1027: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1028: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1029: ROLLBACK TO SAVEPOINT calculate_tax_savepoint;
1030:
1031: -- Initialize to flush out expected errors if any
1024:
1025: -- end Bug 12907158
1026:
1027: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1028: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1029: ROLLBACK TO SAVEPOINT calculate_tax_savepoint;
1030:
1031: -- Initialize to flush out expected errors if any
1032: initialize_global_error_record();
1048: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1049: END IF;
1050:
1051: WHEN OTHERS THEN
1052: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1053: ROLLBACK TO SAVEPOINT calculate_tax_savepoint;
1054:
1055: -- Initialize to flush out expected errors if any
1056: initialize_global_error_record();
1103: --OUT:
1104: --x_return_status
1105: -- Standard API specification parameter
1106: -- Can hold one of the following values:
1107: -- FND_API.G_RET_STS_SUCCESS (='S')
1108: -- FND_API.G_RET_STS_ERROR (='E')
1109: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
1110: --Notes:
1111: -- 1. Wrapper procedure that calls its overloaded bulk version
1104: --x_return_status
1105: -- Standard API specification parameter
1106: -- Can hold one of the following values:
1107: -- FND_API.G_RET_STS_SUCCESS (='S')
1108: -- FND_API.G_RET_STS_ERROR (='E')
1109: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
1110: --Notes:
1111: -- 1. Wrapper procedure that calls its overloaded bulk version
1112: -- Called from forms (where passing a pl/sql table from client side is not
1105: -- Standard API specification parameter
1106: -- Can hold one of the following values:
1107: -- FND_API.G_RET_STS_SUCCESS (='S')
1108: -- FND_API.G_RET_STS_ERROR (='E')
1109: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
1110: --Notes:
1111: -- 1. Wrapper procedure that calls its overloaded bulk version
1112: -- Called from forms (where passing a pl/sql table from client side is not
1113: -- possible and other modules where only a single document is processed
1151: PO_LOG.stmt(d_module_base,d_progress,'Tax will not be calculated for CLM Order. l_is_clm_po = ' || l_is_clm_po );
1152: END IF;
1153:
1154: IF Nvl(l_is_clm_po, 'N') = 'Y' THEN
1155: x_return_status := FND_API.G_RET_STS_SUCCESS;
1156: -- Return SUCCESS for CLM PO.
1157: RETURN ;
1158: END IF;
1159: -- Bug 9718704 End.
1171: PO_LOG.stmt(d_module_base,d_progress,'Tax will not be calculated for blanket purchase = ' || l_type_lookup_code );
1172: END IF;
1173:
1174: IF (l_type_lookup_code = 'BLANKET') THEN
1175: x_return_status := FND_API.G_RET_STS_SUCCESS;
1176: -- Return SUCCESS for Blanket PA .
1177: RETURN ;
1178: END IF ;
1179: END IF ;
1210:
1211: d_progress := 20;
1212: EXCEPTION
1213: WHEN OTHERS THEN
1214: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1215:
1216: -- Initialize to flush out expected errors if any
1217: initialize_global_error_record();
1218: -- Add a new error
1260: --OUT:
1261: --x_return_status
1262: -- Standard API specification parameter
1263: -- Can hold one of the following values:
1264: -- FND_API.G_RET_STS_SUCCESS (='S')
1265: -- FND_API.G_RET_STS_ERROR (='E')
1266: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
1267: --Notes:
1268: -- 1. Calls out to EBTax APIs calculate_tax and determine recovery to
1261: --x_return_status
1262: -- Standard API specification parameter
1263: -- Can hold one of the following values:
1264: -- FND_API.G_RET_STS_SUCCESS (='S')
1265: -- FND_API.G_RET_STS_ERROR (='E')
1266: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
1267: --Notes:
1268: -- 1. Calls out to EBTax APIs calculate_tax and determine recovery to
1269: -- calculaterecoverable_tax and nonrecoverable_tax
1262: -- Standard API specification parameter
1263: -- Can hold one of the following values:
1264: -- FND_API.G_RET_STS_SUCCESS (='S')
1265: -- FND_API.G_RET_STS_ERROR (='E')
1266: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
1267: --Notes:
1268: -- 1. Calls out to EBTax APIs calculate_tax and determine recovery to
1269: -- calculaterecoverable_tax and nonrecoverable_tax
1270: -- 2. Returns all expected errors from etax API's in global tax error record
1300:
1301: d_progress := 0;
1302:
1303: -- By default return status is SUCCESS if no exception occurs
1304: x_return_status := FND_API.G_RET_STS_SUCCESS;
1305:
1306: -- Bug 9718704 Start: Tax should not be calculated for CLM Req.
1307: l_is_clm_req := PO_CLM_INTG_GRP.is_clm_document( p_doc_type => 'REQUISITION',
1308: p_document_id => p_requisition_header_id );
1370: -- entered by user in interface tables. So call
1371: -- validate_and_default_tax_attribs
1372: ZX_API_PUB.validate_and_default_tax_attr(
1373: p_api_version => 1.0,
1374: p_init_msg_list => FND_API.G_TRUE,
1375: p_commit => FND_API.G_FALSE,
1376: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1377: x_return_status => l_return_status,
1378: x_msg_count => l_msg_count,
1371: -- validate_and_default_tax_attribs
1372: ZX_API_PUB.validate_and_default_tax_attr(
1373: p_api_version => 1.0,
1374: p_init_msg_list => FND_API.G_TRUE,
1375: p_commit => FND_API.G_FALSE,
1376: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1377: x_return_status => l_return_status,
1378: x_msg_count => l_msg_count,
1379: x_msg_data => l_msg_data
1372: ZX_API_PUB.validate_and_default_tax_attr(
1373: p_api_version => 1.0,
1374: p_init_msg_list => FND_API.G_TRUE,
1375: p_commit => FND_API.G_FALSE,
1376: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1377: x_return_status => l_return_status,
1378: x_msg_count => l_msg_count,
1379: x_msg_data => l_msg_data
1380: );
1384: PO_LOG.stmt(d_module_base,d_progress,'validate_and_default_tax_attr returned with status '||l_return_status);
1385: END IF;
1386:
1387: -- Raise if any unexpected error
1388: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1389: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1390: END IF;
1391:
1392: -- If there are any expected errors then set the return status
1385: END IF;
1386:
1387: -- Raise if any unexpected error
1388: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1389: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1390: END IF;
1391:
1392: -- If there are any expected errors then set the return status
1393: -- accordingly and copy over errors into global tax errors record
1390: END IF;
1391:
1392: -- If there are any expected errors then set the return status
1393: -- accordingly and copy over errors into global tax errors record
1394: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1395: d_progress := 100;
1396: -- Read validation errors from zx_validation_errors_gt into the global
1397: -- error record defined in the spec
1398: SELECT
1428: PO_LOG.stmt(d_module_base,d_progress,'Number of error records collected '||G_TAX_ERRORS_TBL.error_level.COUNT);
1429: END IF;
1430:
1431: d_progress := 120;
1432: RAISE FND_API.G_EXC_ERROR;
1433: END IF;
1434:
1435: ELSE
1436: d_progress := 130;
1435: ELSE
1436: d_progress := 130;
1437: ZX_API_PUB.get_default_tax_det_attribs(
1438: p_api_version => 1.0,
1439: p_init_msg_list => FND_API.G_TRUE,
1440: p_commit => FND_API.G_FALSE,
1441: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1442: x_return_status => l_return_status,
1443: x_msg_count => l_msg_count,
1436: d_progress := 130;
1437: ZX_API_PUB.get_default_tax_det_attribs(
1438: p_api_version => 1.0,
1439: p_init_msg_list => FND_API.G_TRUE,
1440: p_commit => FND_API.G_FALSE,
1441: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1442: x_return_status => l_return_status,
1443: x_msg_count => l_msg_count,
1444: x_msg_data => l_msg_data
1437: ZX_API_PUB.get_default_tax_det_attribs(
1438: p_api_version => 1.0,
1439: p_init_msg_list => FND_API.G_TRUE,
1440: p_commit => FND_API.G_FALSE,
1441: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1442: x_return_status => l_return_status,
1443: x_msg_count => l_msg_count,
1444: x_msg_data => l_msg_data
1445: );
1449: PO_LOG.stmt(d_module_base,d_progress,'get_default_tax_det_attribs returned with status '||l_return_status);
1450: END IF;
1451:
1452: -- This API cannot give expected errors. However raise unexpected errors
1453: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1454: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1455: END IF;
1456:
1457: END IF; -- IF (p_calling_program = 'REQIMPORT')
1450: END IF;
1451:
1452: -- This API cannot give expected errors. However raise unexpected errors
1453: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1454: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1455: END IF;
1456:
1457: END IF; -- IF (p_calling_program = 'REQIMPORT')
1458:
1479: END IF;
1480:
1481: ZX_API_PUB.calculate_tax(
1482: p_api_version => 1.0,
1483: p_init_msg_list => FND_API.G_FALSE,
1484: p_commit => FND_API.G_FALSE,
1485: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1486: x_return_status => l_return_status,
1487: x_msg_count => l_msg_count,
1480:
1481: ZX_API_PUB.calculate_tax(
1482: p_api_version => 1.0,
1483: p_init_msg_list => FND_API.G_FALSE,
1484: p_commit => FND_API.G_FALSE,
1485: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1486: x_return_status => l_return_status,
1487: x_msg_count => l_msg_count,
1488: x_msg_data => l_msg_data
1481: ZX_API_PUB.calculate_tax(
1482: p_api_version => 1.0,
1483: p_init_msg_list => FND_API.G_FALSE,
1484: p_commit => FND_API.G_FALSE,
1485: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1486: x_return_status => l_return_status,
1487: x_msg_count => l_msg_count,
1488: x_msg_data => l_msg_data
1489: );
1494: END IF;
1495:
1496:
1497: -- Raise if any unexpected error
1498: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1499: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1500: END IF;
1501:
1502: -- If there are any expected errors then set the return status accordingly
1495:
1496:
1497: -- Raise if any unexpected error
1498: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1499: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1500: END IF;
1501:
1502: -- If there are any expected errors then set the return status accordingly
1503: -- and copy over errors into global tax errors record
1500: END IF;
1501:
1502: -- If there are any expected errors then set the return status accordingly
1503: -- and copy over errors into global tax errors record
1504: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1505: x_return_status := l_return_status;
1506: d_progress := 180;
1507: -- Read validation errors from zx_errors_gt into the global
1508: -- error record defined in the spec
1538: PO_LOG.stmt(d_module_base,d_progress,'Number of error records collected '||G_TAX_ERRORS_TBL.error_level.COUNT);
1539: END IF;
1540:
1541: d_progress := 190;
1542: RAISE FND_API.G_EXC_ERROR;
1543: END IF;
1544:
1545: END IF; -- IF (l_line_count <> 0)
1546:
1581: END IF;
1582:
1583: ZX_API_PUB.determine_recovery(
1584: p_api_version => 1.0,
1585: p_init_msg_list => FND_API.G_FALSE,
1586: p_commit => FND_API.G_FALSE,
1587: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1588: x_return_status => l_return_status,
1589: x_msg_count => l_msg_count,
1582:
1583: ZX_API_PUB.determine_recovery(
1584: p_api_version => 1.0,
1585: p_init_msg_list => FND_API.G_FALSE,
1586: p_commit => FND_API.G_FALSE,
1587: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1588: x_return_status => l_return_status,
1589: x_msg_count => l_msg_count,
1590: x_msg_data => l_msg_data
1583: ZX_API_PUB.determine_recovery(
1584: p_api_version => 1.0,
1585: p_init_msg_list => FND_API.G_FALSE,
1586: p_commit => FND_API.G_FALSE,
1587: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1588: x_return_status => l_return_status,
1589: x_msg_count => l_msg_count,
1590: x_msg_data => l_msg_data
1591: );
1595: PO_LOG.stmt(d_module_base,d_progress,'determine_recovery returned with status '||l_return_status);
1596: END IF;
1597:
1598: -- Raise if any unexpected error
1599: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1600: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1601: END IF;
1602:
1603: -- If there are any expected errors then set the return status accordingly
1596: END IF;
1597:
1598: -- Raise if any unexpected error
1599: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1600: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1601: END IF;
1602:
1603: -- If there are any expected errors then set the return status accordingly
1604: -- and copy over errors into global tax errors record
1601: END IF;
1602:
1603: -- If there are any expected errors then set the return status accordingly
1604: -- and copy over errors into global tax errors record
1605: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1606: x_return_status := l_return_status;
1607: -- Read validation errors from zx_errors_gt into the global
1608: -- error record defined in the spec
1609: d_progress := 260;
1641: PO_LOG.stmt(d_module_base,d_progress,'Number of error records collected '||G_TAX_ERRORS_TBL.error_level.COUNT);
1642: END IF;
1643:
1644: d_progress := 280;
1645: RAISE FND_API.G_EXC_ERROR;
1646: END IF;
1647:
1648: d_progress := 290;
1649: -- Populate recoverable/nonrecoverable tax columns in distributions table
1694:
1695: d_progress := 320;
1696: ZX_API_PUB.global_document_update(
1697: p_api_version => 1.0,
1698: p_init_msg_list => FND_API.G_FALSE,
1699: p_commit => FND_API.G_FALSE,
1700: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1701: x_return_status => l_return_status,
1702: x_msg_count => l_msg_count,
1695: d_progress := 320;
1696: ZX_API_PUB.global_document_update(
1697: p_api_version => 1.0,
1698: p_init_msg_list => FND_API.G_FALSE,
1699: p_commit => FND_API.G_FALSE,
1700: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1701: x_return_status => l_return_status,
1702: x_msg_count => l_msg_count,
1703: x_msg_data => l_msg_data,
1696: ZX_API_PUB.global_document_update(
1697: p_api_version => 1.0,
1698: p_init_msg_list => FND_API.G_FALSE,
1699: p_commit => FND_API.G_FALSE,
1700: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1701: x_return_status => l_return_status,
1702: x_msg_count => l_msg_count,
1703: x_msg_data => l_msg_data,
1704: p_transaction_rec => l_trx_rec);
1703: x_msg_data => l_msg_data,
1704: p_transaction_rec => l_trx_rec);
1705:
1706: -- Raise if any unexpected error
1707: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1708: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1709: END IF;
1710:
1711: d_progress := 330;
1704: p_transaction_rec => l_trx_rec);
1705:
1706: -- Raise if any unexpected error
1707: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1708: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1709: END IF;
1710:
1711: d_progress := 330;
1712: -- Populate zx record TRX_LINE_DIST_TBL
1716: -- no errors in processing the document. Control will reach here only if
1717: -- all l_return_status until now have been successful
1718: ZX_API_PUB.insert_line_det_factors(
1719: p_api_version => 1.0,
1720: p_init_msg_list => FND_API.G_FALSE,
1721: p_commit => FND_API.G_FALSE,
1722: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1723: x_return_status => l_return_status,
1724: x_msg_count => l_msg_count,
1717: -- all l_return_status until now have been successful
1718: ZX_API_PUB.insert_line_det_factors(
1719: p_api_version => 1.0,
1720: p_init_msg_list => FND_API.G_FALSE,
1721: p_commit => FND_API.G_FALSE,
1722: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1723: x_return_status => l_return_status,
1724: x_msg_count => l_msg_count,
1725: x_msg_data => l_msg_data);
1718: ZX_API_PUB.insert_line_det_factors(
1719: p_api_version => 1.0,
1720: p_init_msg_list => FND_API.G_FALSE,
1721: p_commit => FND_API.G_FALSE,
1722: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1723: x_return_status => l_return_status,
1724: x_msg_count => l_msg_count,
1725: x_msg_data => l_msg_data);
1726:
1729: PO_LOG.stmt(d_module_base,d_progress,'insert_line_det_factors returned with status '||l_return_status);
1730: END IF;
1731:
1732: -- Raise if any unexpected error
1733: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1734: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1735: END IF;
1736:
1737: END IF; --IF (l_line_count <> 0)
1730: END IF;
1731:
1732: -- Raise if any unexpected error
1733: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1734: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1735: END IF;
1736:
1737: END IF; --IF (l_line_count <> 0)
1738:
1758: END IF;
1759: d_progress := 380;
1760:
1761: EXCEPTION
1762: WHEN FND_API.G_EXC_ERROR THEN
1763: x_return_status := FND_API.G_RET_STS_ERROR ;
1764: ROLLBACK TO SAVEPOINT calculate_tax_req_savepoint;
1765:
1766: IF (PO_LOG.d_exc) THEN
1759: d_progress := 380;
1760:
1761: EXCEPTION
1762: WHEN FND_API.G_EXC_ERROR THEN
1763: x_return_status := FND_API.G_RET_STS_ERROR ;
1764: ROLLBACK TO SAVEPOINT calculate_tax_req_savepoint;
1765:
1766: IF (PO_LOG.d_exc) THEN
1767: PO_LOG.exc(d_module_base,d_progress,'Number of error records collected '||G_TAX_ERRORS_TBL.error_level.COUNT);
1769: PO_LOG.exc(d_module_base, d_progress, null);
1770: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1771: END IF;
1772:
1773: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1774: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1775: ROLLBACK TO SAVEPOINT calculate_tax_req_savepoint;
1776:
1777: -- Initialize to flush out expected errors if any
1770: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1771: END IF;
1772:
1773: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1774: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1775: ROLLBACK TO SAVEPOINT calculate_tax_req_savepoint;
1776:
1777: -- Initialize to flush out expected errors if any
1778: initialize_global_error_record();
1794: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
1795: END IF;
1796:
1797: WHEN OTHERS THEN
1798: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1799: ROLLBACK TO SAVEPOINT calculate_tax_req_savepoint;
1800:
1801: -- Initialize to flush out expected errors if any
1802: initialize_global_error_record();
1842: --OUT:
1843: --x_return_status
1844: -- Standard API specification parameter
1845: -- Can hold one of the following values:
1846: -- FND_API.G_RET_STS_SUCCESS (='S')
1847: -- FND_API.G_RET_STS_ERROR (='E')
1848: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
1849: --Notes:
1850: -- 1. Calls out to EBTax API determine recovery to distribute tax lines
1843: --x_return_status
1844: -- Standard API specification parameter
1845: -- Can hold one of the following values:
1846: -- FND_API.G_RET_STS_SUCCESS (='S')
1847: -- FND_API.G_RET_STS_ERROR (='E')
1848: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
1849: --Notes:
1850: -- 1. Calls out to EBTax API determine recovery to distribute tax lines
1851: -- Populates recoverable_tax and nonrecoverable_tax columns in distributions
1844: -- Standard API specification parameter
1845: -- Can hold one of the following values:
1846: -- FND_API.G_RET_STS_SUCCESS (='S')
1847: -- FND_API.G_RET_STS_ERROR (='E')
1848: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
1849: --Notes:
1850: -- 1. Calls out to EBTax API determine recovery to distribute tax lines
1851: -- Populates recoverable_tax and nonrecoverable_tax columns in distributions
1852: -- with the corrsponding tax amounts calculated.
1874:
1875: d_progress := 0;
1876:
1877: -- By default return status is SUCCESS if no exception occurs
1878: x_return_status := FND_API.G_RET_STS_SUCCESS;
1879: -- Set global error record to uninitialized local record to set all its
1880: -- components to null
1881: G_TAX_ERRORS_TBL := null;
1882: initialize_zx_gt_tables(); -- Wipe ZX GT tables clean
1908: END IF;
1909:
1910: ZX_API_PUB.determine_recovery(
1911: p_api_version => 1.0,
1912: p_init_msg_list => FND_API.G_TRUE,
1913: p_commit => FND_API.G_FALSE,
1914: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1915: x_return_status => l_return_status,
1916: x_msg_count => l_msg_count,
1909:
1910: ZX_API_PUB.determine_recovery(
1911: p_api_version => 1.0,
1912: p_init_msg_list => FND_API.G_TRUE,
1913: p_commit => FND_API.G_FALSE,
1914: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1915: x_return_status => l_return_status,
1916: x_msg_count => l_msg_count,
1917: x_msg_data => l_msg_data
1910: ZX_API_PUB.determine_recovery(
1911: p_api_version => 1.0,
1912: p_init_msg_list => FND_API.G_TRUE,
1913: p_commit => FND_API.G_FALSE,
1914: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
1915: x_return_status => l_return_status,
1916: x_msg_count => l_msg_count,
1917: x_msg_data => l_msg_data
1918: );
1917: x_msg_data => l_msg_data
1918: );
1919:
1920: -- Raise if any unexpected error
1921: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1922: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1923: END IF;
1924:
1925: -- If expected errors, store error details in po_session_gt temporarily
1918: );
1919:
1920: -- Raise if any unexpected error
1921: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
1922: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1923: END IF;
1924:
1925: -- If expected errors, store error details in po_session_gt temporarily
1926: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1922: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1923: END IF;
1924:
1925: -- If expected errors, store error details in po_session_gt temporarily
1926: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
1927: x_return_status := l_return_status;
1928: -- Read validation errors from zx_errors_gt into the global
1929: -- error record defined in the spec
1930: SELECT
1959: PO_LOG.stmt(d_module_base,d_progress,'Number of records in zx_errors_gt '||l_count);
1960: PO_LOG.stmt(d_module_base,d_progress,'Number of error records collected '||G_TAX_ERRORS_TBL.error_level.COUNT);
1961: END IF;
1962:
1963: RAISE FND_API.G_EXC_ERROR;
1964: END IF; --IF (l_return_status = FND_API.G_RET_STS_ERROR)
1965:
1966: d_progress := 50;
1967: -- Populate recoverable/nonrecoverable tax columns in distributions table
1960: PO_LOG.stmt(d_module_base,d_progress,'Number of error records collected '||G_TAX_ERRORS_TBL.error_level.COUNT);
1961: END IF;
1962:
1963: RAISE FND_API.G_EXC_ERROR;
1964: END IF; --IF (l_return_status = FND_API.G_RET_STS_ERROR)
1965:
1966: d_progress := 50;
1967: -- Populate recoverable/nonrecoverable tax columns in distributions table
1968: UPDATE po_distributions_all pd
2034: END IF;
2035: d_progress := 70;
2036:
2037: EXCEPTION
2038: WHEN FND_API.G_EXC_ERROR THEN
2039: x_return_status := FND_API.G_RET_STS_ERROR ;
2040: ROLLBACK TO SAVEPOINT det_recovery_po_savepoint;
2041:
2042: IF (PO_LOG.d_exc) THEN
2035: d_progress := 70;
2036:
2037: EXCEPTION
2038: WHEN FND_API.G_EXC_ERROR THEN
2039: x_return_status := FND_API.G_RET_STS_ERROR ;
2040: ROLLBACK TO SAVEPOINT det_recovery_po_savepoint;
2041:
2042: IF (PO_LOG.d_exc) THEN
2043: PO_LOG.exc(d_module_base, d_progress, null);
2044: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
2045: END IF;
2046:
2047: WHEN OTHERS THEN
2048: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2049: ROLLBACK TO SAVEPOINT det_recovery_po_savepoint;
2050:
2051: IF (PO_LOG.d_exc) THEN
2052: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
2076: --OUT:
2077: --x_return_status
2078: -- Standard API specification parameter
2079: -- Can hold one of the following values:
2080: -- FND_API.G_RET_STS_SUCCESS (='S')
2081: -- FND_API.G_RET_STS_ERROR (='E')
2082: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
2083: --Notes:
2084: -- 1. Calls out to EBTax API determine recovery to distribute tax lines
2077: --x_return_status
2078: -- Standard API specification parameter
2079: -- Can hold one of the following values:
2080: -- FND_API.G_RET_STS_SUCCESS (='S')
2081: -- FND_API.G_RET_STS_ERROR (='E')
2082: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
2083: --Notes:
2084: -- 1. Calls out to EBTax API determine recovery to distribute tax lines
2085: -- Populates recoverable_tax and nonrecoverable_tax columns in distributions
2078: -- Standard API specification parameter
2079: -- Can hold one of the following values:
2080: -- FND_API.G_RET_STS_SUCCESS (='S')
2081: -- FND_API.G_RET_STS_ERROR (='E')
2082: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
2083: --Notes:
2084: -- 1. Calls out to EBTax API determine recovery to distribute tax lines
2085: -- Populates recoverable_tax and nonrecoverable_tax columns in distributions
2086: -- with the corrsponding tax amounts calculated.
2108:
2109: d_progress := 0;
2110:
2111: -- By default return status is SUCCESS if no exception occurs
2112: x_return_status := FND_API.G_RET_STS_SUCCESS;
2113: -- Set global error record to uninitialized local record to set all its
2114: -- components to null
2115: G_TAX_ERRORS_TBL := null;
2116: initialize_zx_gt_tables(); -- Wipe ZX GT tables clean
2142: END IF;
2143:
2144: ZX_API_PUB.determine_recovery(
2145: p_api_version => 1.0,
2146: p_init_msg_list => FND_API.G_TRUE,
2147: p_commit => FND_API.G_FALSE,
2148: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2149: x_return_status => l_return_status,
2150: x_msg_count => l_msg_count,
2143:
2144: ZX_API_PUB.determine_recovery(
2145: p_api_version => 1.0,
2146: p_init_msg_list => FND_API.G_TRUE,
2147: p_commit => FND_API.G_FALSE,
2148: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2149: x_return_status => l_return_status,
2150: x_msg_count => l_msg_count,
2151: x_msg_data => l_msg_data
2144: ZX_API_PUB.determine_recovery(
2145: p_api_version => 1.0,
2146: p_init_msg_list => FND_API.G_TRUE,
2147: p_commit => FND_API.G_FALSE,
2148: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2149: x_return_status => l_return_status,
2150: x_msg_count => l_msg_count,
2151: x_msg_data => l_msg_data
2152: );
2151: x_msg_data => l_msg_data
2152: );
2153:
2154: -- Raise if any unexpected error
2155: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2156: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2157: END IF;
2158:
2159: -- If expected errors, store error details in po_session_gt temporarily
2152: );
2153:
2154: -- Raise if any unexpected error
2155: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2156: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2157: END IF;
2158:
2159: -- If expected errors, store error details in po_session_gt temporarily
2160: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2156: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2157: END IF;
2158:
2159: -- If expected errors, store error details in po_session_gt temporarily
2160: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2161: x_return_status := l_return_status;
2162: -- Read validation errors from zx_errors_gt into the global
2163: -- error record defined in the spec
2164: SELECT
2194: PO_LOG.stmt(d_module_base,d_progress,'Number of records in zx_errors_gt '||l_count);
2195: PO_LOG.stmt(d_module_base,d_progress,'Number of error records collected '||G_TAX_ERRORS_TBL.error_level.COUNT);
2196: END IF;
2197:
2198: RAISE FND_API.G_EXC_ERROR;
2199: END IF; --IF (l_return_status = FND_API.G_RET_STS_ERROR)
2200:
2201: d_progress := 50;
2202: -- Populate recoverable/nonrecoverable tax columns in distributions table
2195: PO_LOG.stmt(d_module_base,d_progress,'Number of error records collected '||G_TAX_ERRORS_TBL.error_level.COUNT);
2196: END IF;
2197:
2198: RAISE FND_API.G_EXC_ERROR;
2199: END IF; --IF (l_return_status = FND_API.G_RET_STS_ERROR)
2200:
2201: d_progress := 50;
2202: -- Populate recoverable/nonrecoverable tax columns in distributions table
2203: UPDATE po_distributions_all pd
2255: END IF;
2256: d_progress := 70;
2257:
2258: EXCEPTION
2259: WHEN FND_API.G_EXC_ERROR THEN
2260: x_return_status := FND_API.G_RET_STS_ERROR ;
2261: ROLLBACK TO SAVEPOINT det_recovery_rel_savepoint;
2262:
2263: IF (PO_LOG.d_exc) THEN
2256: d_progress := 70;
2257:
2258: EXCEPTION
2259: WHEN FND_API.G_EXC_ERROR THEN
2260: x_return_status := FND_API.G_RET_STS_ERROR ;
2261: ROLLBACK TO SAVEPOINT det_recovery_rel_savepoint;
2262:
2263: IF (PO_LOG.d_exc) THEN
2264: PO_LOG.exc(d_module_base, d_progress, null);
2265: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
2266: END IF;
2267:
2268: WHEN OTHERS THEN
2269: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2270: ROLLBACK TO SAVEPOINT det_recovery_rel_savepoint;
2271:
2272: IF (PO_LOG.d_exc) THEN
2273: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
2297: --OUT:
2298: --x_return_status
2299: -- Standard API specification parameter
2300: -- Can hold one of the following values:
2301: -- FND_API.G_RET_STS_SUCCESS (='S')
2302: -- FND_API.G_RET_STS_ERROR (='E')
2303: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
2304: --Notes:
2305: -- 1. Calls out to EBTax API determine recovery to calculate recoverable_tax
2298: --x_return_status
2299: -- Standard API specification parameter
2300: -- Can hold one of the following values:
2301: -- FND_API.G_RET_STS_SUCCESS (='S')
2302: -- FND_API.G_RET_STS_ERROR (='E')
2303: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
2304: --Notes:
2305: -- 1. Calls out to EBTax API determine recovery to calculate recoverable_tax
2306: -- and nonrecoverable_tax
2299: -- Standard API specification parameter
2300: -- Can hold one of the following values:
2301: -- FND_API.G_RET_STS_SUCCESS (='S')
2302: -- FND_API.G_RET_STS_ERROR (='E')
2303: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
2304: --Notes:
2305: -- 1. Calls out to EBTax API determine recovery to calculate recoverable_tax
2306: -- and nonrecoverable_tax
2307: -- 2. Returns all expected errors from etax API in global tax error record
2329:
2330: d_progress := 0;
2331:
2332: -- By default return status is SUCCESS if no exception occurs
2333: x_return_status := FND_API.G_RET_STS_SUCCESS;
2334: -- Set global error record to uninitialized local record to set all its
2335: -- components to null
2336: G_TAX_ERRORS_TBL := null;
2337: initialize_zx_gt_tables(); -- Wipe ZX GT tables clean
2364: END IF;
2365:
2366: ZX_API_PUB.determine_recovery(
2367: p_api_version => 1.0,
2368: p_init_msg_list => FND_API.G_FALSE,
2369: p_commit => FND_API.G_FALSE,
2370: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2371: x_return_status => l_return_status,
2372: x_msg_count => l_msg_count,
2365:
2366: ZX_API_PUB.determine_recovery(
2367: p_api_version => 1.0,
2368: p_init_msg_list => FND_API.G_FALSE,
2369: p_commit => FND_API.G_FALSE,
2370: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2371: x_return_status => l_return_status,
2372: x_msg_count => l_msg_count,
2373: x_msg_data => l_msg_data
2366: ZX_API_PUB.determine_recovery(
2367: p_api_version => 1.0,
2368: p_init_msg_list => FND_API.G_FALSE,
2369: p_commit => FND_API.G_FALSE,
2370: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
2371: x_return_status => l_return_status,
2372: x_msg_count => l_msg_count,
2373: x_msg_data => l_msg_data
2374: );
2373: x_msg_data => l_msg_data
2374: );
2375:
2376: -- Raise if any unexpected error
2377: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2378: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2379: END IF;
2380:
2381: -- If there are any expected errors then set the return status accordingly
2374: );
2375:
2376: -- Raise if any unexpected error
2377: IF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
2378: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2379: END IF;
2380:
2381: -- If there are any expected errors then set the return status accordingly
2382: -- and copy over errors into global tax errors record
2379: END IF;
2380:
2381: -- If there are any expected errors then set the return status accordingly
2382: -- and copy over errors into global tax errors record
2383: IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
2384: x_return_status := l_return_status;
2385: -- Read validation errors from zx_errors_gt into the global
2386: -- error record defined in the spec
2387: SELECT
2416: PO_LOG.stmt(d_module_base,d_progress,'Number of records in zx_errors_gt '||l_count);
2417: PO_LOG.stmt(d_module_base,d_progress,'Number of error records collected '||G_TAX_ERRORS_TBL.error_level.COUNT);
2418: END IF;
2419:
2420: RAISE FND_API.G_EXC_ERROR;
2421: END IF;
2422:
2423: d_progress := 50;
2424: -- Populate recoverable/nonrecoverable tax columns in distributions table
2450: END IF;
2451: d_progress := 60;
2452:
2453: EXCEPTION
2454: WHEN FND_API.G_EXC_ERROR THEN
2455: x_return_status := FND_API.G_RET_STS_ERROR ;
2456: ROLLBACK TO SAVEPOINT det_recovery_req_savepoint;
2457:
2458: IF (PO_LOG.d_exc) THEN
2451: d_progress := 60;
2452:
2453: EXCEPTION
2454: WHEN FND_API.G_EXC_ERROR THEN
2455: x_return_status := FND_API.G_RET_STS_ERROR ;
2456: ROLLBACK TO SAVEPOINT det_recovery_req_savepoint;
2457:
2458: IF (PO_LOG.d_exc) THEN
2459: PO_LOG.exc(d_module_base, d_progress, null);
2460: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
2461: END IF;
2462:
2463: WHEN OTHERS THEN
2464: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2465: ROLLBACK TO SAVEPOINT det_recovery_req_savepoint;
2466:
2467: IF (PO_LOG.d_exc) THEN
2468: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
6808: END IF;
6809:
6810: ZX_API_PUB.calculate_tax(
6811: p_api_version => 1.0,
6812: p_init_msg_list => FND_API.G_TRUE,
6813: p_commit => FND_API.G_FALSE,
6814: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6815: x_return_status => x_return_status,
6816: x_msg_count => x_msg_count,
6809:
6810: ZX_API_PUB.calculate_tax(
6811: p_api_version => 1.0,
6812: p_init_msg_list => FND_API.G_TRUE,
6813: p_commit => FND_API.G_FALSE,
6814: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6815: x_return_status => x_return_status,
6816: x_msg_count => x_msg_count,
6817: x_msg_data => x_msg_data);
6810: ZX_API_PUB.calculate_tax(
6811: p_api_version => 1.0,
6812: p_init_msg_list => FND_API.G_TRUE,
6813: p_commit => FND_API.G_FALSE,
6814: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6815: x_return_status => x_return_status,
6816: x_msg_count => x_msg_count,
6817: x_msg_data => x_msg_data);
6818:
6889: END IF;
6890:
6891: ZX_API_PUB.calculate_tax(
6892: p_api_version => 1.0,
6893: p_init_msg_list => FND_API.G_TRUE,
6894: p_commit => FND_API.G_FALSE,
6895: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6896: x_return_status => x_return_status,
6897: x_msg_count => x_msg_count,
6890:
6891: ZX_API_PUB.calculate_tax(
6892: p_api_version => 1.0,
6893: p_init_msg_list => FND_API.G_TRUE,
6894: p_commit => FND_API.G_FALSE,
6895: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6896: x_return_status => x_return_status,
6897: x_msg_count => x_msg_count,
6898: x_msg_data => x_msg_data);
6891: ZX_API_PUB.calculate_tax(
6892: p_api_version => 1.0,
6893: p_init_msg_list => FND_API.G_TRUE,
6894: p_commit => FND_API.G_FALSE,
6895: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6896: x_return_status => x_return_status,
6897: x_msg_count => x_msg_count,
6898: x_msg_data => x_msg_data);
6899:
6920:
6921: d_progress := 140;
6922: PO_TAX_INTERFACE_PVT.global_document_update(
6923: p_api_version => 1.0,
6924: p_init_msg_list => FND_API.G_FALSE,
6925: p_commit => FND_API.G_FALSE,
6926: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6927: x_return_status => x_return_status,
6928: x_msg_count => x_msg_count,
6921: d_progress := 140;
6922: PO_TAX_INTERFACE_PVT.global_document_update(
6923: p_api_version => 1.0,
6924: p_init_msg_list => FND_API.G_FALSE,
6925: p_commit => FND_API.G_FALSE,
6926: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6927: x_return_status => x_return_status,
6928: x_msg_count => x_msg_count,
6929: x_msg_data => x_msg_data,
6922: PO_TAX_INTERFACE_PVT.global_document_update(
6923: p_api_version => 1.0,
6924: p_init_msg_list => FND_API.G_FALSE,
6925: p_commit => FND_API.G_FALSE,
6926: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
6927: x_return_status => x_return_status,
6928: x_msg_count => x_msg_count,
6929: x_msg_data => x_msg_data,
6930: p_org_id => l_org_id,
7007: END IF;
7008:
7009: ZX_API_PUB.calculate_tax(
7010: p_api_version => 1.0,
7011: p_init_msg_list => FND_API.G_TRUE,
7012: p_commit => FND_API.G_FALSE,
7013: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7014: x_return_status => x_return_status,
7015: x_msg_count => x_msg_count,
7008:
7009: ZX_API_PUB.calculate_tax(
7010: p_api_version => 1.0,
7011: p_init_msg_list => FND_API.G_TRUE,
7012: p_commit => FND_API.G_FALSE,
7013: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7014: x_return_status => x_return_status,
7015: x_msg_count => x_msg_count,
7016: x_msg_data => x_msg_data);
7009: ZX_API_PUB.calculate_tax(
7010: p_api_version => 1.0,
7011: p_init_msg_list => FND_API.G_TRUE,
7012: p_commit => FND_API.G_FALSE,
7013: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7014: x_return_status => x_return_status,
7015: x_msg_count => x_msg_count,
7016: x_msg_data => x_msg_data);
7017:
7039:
7040: d_progress := 240;
7041: PO_TAX_INTERFACE_PVT.global_document_update(
7042: p_api_version => 1.0,
7043: p_init_msg_list => FND_API.G_FALSE,
7044: p_commit => FND_API.G_FALSE,
7045: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7046: x_return_status => x_return_status,
7047: x_msg_count => x_msg_count,
7040: d_progress := 240;
7041: PO_TAX_INTERFACE_PVT.global_document_update(
7042: p_api_version => 1.0,
7043: p_init_msg_list => FND_API.G_FALSE,
7044: p_commit => FND_API.G_FALSE,
7045: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7046: x_return_status => x_return_status,
7047: x_msg_count => x_msg_count,
7048: x_msg_data => x_msg_data,
7041: PO_TAX_INTERFACE_PVT.global_document_update(
7042: p_api_version => 1.0,
7043: p_init_msg_list => FND_API.G_FALSE,
7044: p_commit => FND_API.G_FALSE,
7045: p_validation_level => FND_API.G_VALID_LEVEL_FULL,
7046: x_return_status => x_return_status,
7047: x_msg_count => x_msg_count,
7048: x_msg_data => x_msg_data,
7049: p_org_id => l_org_id,
7072:
7073: d_progress := 30;
7074: EXCEPTION
7075: WHEN OTHERS THEN
7076: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7077: IF (PO_LOG.d_exc) THEN
7078: PO_LOG.exc(d_module_base, d_progress, 'Unhandled exception in procedure cancel_tax_lines');
7079: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
7080: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
7200:
7201: d_progress := 50;
7202: EXCEPTION
7203: WHEN OTHERS THEN
7204: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
7205: IF (PO_LOG.d_exc) THEN
7206: PO_LOG.exc(d_module_base, d_progress, 'Unhandled exception in procedure global_document_update');
7207: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
7208: PO_LOG.proc_end(d_module_base, 'x_msg_count', x_msg_count);
7235: --OUT:
7236: --x_return_status
7237: -- Standard API specification parameter
7238: -- Can hold one of the following values:
7239: -- FND_API.G_RET_STS_SUCCESS (='S')
7240: -- FND_API.G_RET_STS_ERROR (='E')
7241: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
7242: --Notes:
7243: -- Called from ManageTaxSvrCmd when the user changes any Additional Tax
7236: --x_return_status
7237: -- Standard API specification parameter
7238: -- Can hold one of the following values:
7239: -- FND_API.G_RET_STS_SUCCESS (='S')
7240: -- FND_API.G_RET_STS_ERROR (='E')
7241: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
7242: --Notes:
7243: -- Called from ManageTaxSvrCmd when the user changes any Additional Tax
7244: -- Attribute on the Additional Tax Information page and presses Apply
7237: -- Standard API specification parameter
7238: -- Can hold one of the following values:
7239: -- FND_API.G_RET_STS_SUCCESS (='S')
7240: -- FND_API.G_RET_STS_ERROR (='E')
7241: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
7242: --Notes:
7243: -- Called from ManageTaxSvrCmd when the user changes any Additional Tax
7244: -- Attribute on the Additional Tax Information page and presses Apply
7245: --End of Comments
7262: END IF;
7263:
7264: d_progress := 0;
7265: -- By default return status is SUCCESS if no exception occurs
7266: x_return_status := FND_API.G_RET_STS_SUCCESS;
7267:
7268: d_progress := 10;
7269: IF p_document_type = PO_CONSTANTS_SV.PO THEN
7270: SELECT ph.authorization_status
7321: END IF;
7322:
7323: EXCEPTION
7324: WHEN OTHERS THEN
7325: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7326:
7327: IF (PO_LOG.d_exc) THEN
7328: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
7329: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);
7350: --OUT:
7351: --x_return_status
7352: -- Standard API specification parameter
7353: -- Can hold one of the following values:
7354: -- FND_API.G_RET_STS_SUCCESS (='S')
7355: -- FND_API.G_RET_STS_ERROR (='E')
7356: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
7357: --Notes:
7358: -- Called from ManageTaxSvrCmd when the user changes any schedule level
7351: --x_return_status
7352: -- Standard API specification parameter
7353: -- Can hold one of the following values:
7354: -- FND_API.G_RET_STS_SUCCESS (='S')
7355: -- FND_API.G_RET_STS_ERROR (='E')
7356: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
7357: --Notes:
7358: -- Called from ManageTaxSvrCmd when the user changes any schedule level
7359: -- Additional Tax Attribute on the Additional Tax Information page and
7352: -- Standard API specification parameter
7353: -- Can hold one of the following values:
7354: -- FND_API.G_RET_STS_SUCCESS (='S')
7355: -- FND_API.G_RET_STS_ERROR (='E')
7356: -- FND_API.G_RET_STS_UNEXP_ERROR (='U')
7357: --Notes:
7358: -- Called from ManageTaxSvrCmd when the user changes any schedule level
7359: -- Additional Tax Attribute on the Additional Tax Information page and
7360: -- presses Apply
7375: END IF;
7376:
7377: d_progress := 0;
7378: -- By default return status is SUCCESS if no exception occurs
7379: x_return_status := FND_API.G_RET_STS_SUCCESS;
7380:
7381: -- Unapprove line locations that are approved
7382: d_progress := 10;
7383: FORALL i IN 1..p_line_location_id_tbl.COUNT
7393: END IF;
7394:
7395: EXCEPTION
7396: WHEN OTHERS THEN
7397: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
7398:
7399: IF (PO_LOG.d_exc) THEN
7400: PO_LOG.exc(d_module_base, d_progress, SQLCODE || SQLERRM);
7401: PO_LOG.proc_end(d_module_base, 'x_return_status', x_return_status);