165: x_msg_data := null;
166: x_msg_count := 0;
167:
168: -- Standard call to check for call compatibility
169: IF NOT FND_API.Compatible_API_Call(
170: l_api_version_number
171: , p_api_version
172: , l_api_name
173: , G_PKG_NAME)
171: , p_api_version
172: , l_api_name
173: , G_PKG_NAME)
174: THEN
175: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
176: END IF;
177:
178:
179: -- Initialize message list.
176: END IF;
177:
178:
179: -- Initialize message list.
180: IF fnd_api.to_boolean(p_init_msg_list) THEN
181: fnd_msg_pub.initialize;
182: END IF;
183:
184:
323: WHERE
324: organization_id = l_txn_flow_lines.from_organization_id;
325: EXCEPTION
326: WHEN no_data_found THEN
327: RAISE fnd_api.g_exc_error;
328: END;
329: END IF;--if l_txn_flows.from_organization_id IS ...
330:
331: IF l_txn_flow_lines.to_organization_id IS NOT NULL THEN
336: WHERE
337: organization_id = l_txn_flow_lines.to_organization_id;
338: EXCEPTION
339: WHEN no_data_found THEN
340: RAISE fnd_api.g_exc_error;
341: END;
342: END IF;--IF l_txn_flows.to_organization_id
343:
344: END IF;--if p_get_default_cost_group in ('Y','y') THEN
370: EXCEPTION
371: when no_data_found then
372: FND_MESSAGE.SET_NAME('INV', 'INV_INVALID_START_ORG');
373: FND_MSG_PUB.ADD;
374: raise fnd_api.g_exc_error;
375: end;
376:
377: BEGIN
378: select name
382: EXCEPTION
383: when no_data_found then
384: FND_MESSAGE.SET_NAME('INV', 'INV_INVALID_END_ORG');
385: FND_MSG_PUB.ADD;
386: raise fnd_api.g_exc_error;
387: end;
388:
389: fnd_message.set_name('INV', 'INV_NO_IC_TXN_FLOW');
390: FND_MESSAGE.SET_TOKEN('FROM_OU', l_from_ou_name);
396: x_transaction_flows_tbl.DELETE;
397: END IF;
398:
399: EXCEPTION
400: WHEN FND_API.G_EXC_ERROR THEN
401: x_return_status := FND_API.G_RET_STS_ERROR;
402: x_transaction_flows_tbl.delete;
403: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
404:
397: END IF;
398:
399: EXCEPTION
400: WHEN FND_API.G_EXC_ERROR THEN
401: x_return_status := FND_API.G_RET_STS_ERROR;
402: x_transaction_flows_tbl.delete;
403: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
404:
405: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
401: x_return_status := FND_API.G_RET_STS_ERROR;
402: x_transaction_flows_tbl.delete;
403: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
404:
405: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
406: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
407: x_transaction_flows_tbl.delete;
408: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
409:
402: x_transaction_flows_tbl.delete;
403: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
404:
405: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
406: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
407: x_transaction_flows_tbl.delete;
408: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
409:
410: WHEN OTHERS THEN
407: x_transaction_flows_tbl.delete;
408: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
409:
410: WHEN OTHERS THEN
411: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
412: x_transaction_flows_tbl.delete;
413: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
414:
415: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
511: x_msg_data := null;
512: x_msg_count := 0;
513:
514: -- Standard call to check for call compatibility
515: IF NOT FND_API.compatible_api_call
516: (l_api_version_number
517: , p_api_version
518: , l_api_name
519: , G_PKG_NAME)
517: , p_api_version
518: , l_api_name
519: , G_PKG_NAME)
520: THEN
521: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
522: END IF;
523:
524:
525: -- Initialize message list.
522: END IF;
523:
524:
525: -- Initialize message list.
526: IF fnd_api.to_boolean(p_init_msg_list) THEN
527: fnd_msg_pub.initialize;
528: END IF;
529:
530:
575: WHERE
576: organization_id = l_txn_flows.from_organization_id;
577: EXCEPTION
578: WHEN no_data_found THEN
579: RAISE fnd_api.g_exc_error;
580: END;
581: END IF;--if l_txn_flows.from_organization_id IS ...
582:
583: IF l_txn_flows.to_organization_id IS NOT NULL THEN
588: WHERE
589: organization_id = l_txn_flows.to_organization_id;
590: EXCEPTION
591: WHEN no_data_found THEN
592: RAISE fnd_api.g_exc_error;
593: END;
594: END IF;--IF l_txn_flows.to_organization_id
595:
596: END IF;--if p_get_default_cost_group in ('Y','y') THEN
609: fnd_msg_pub.add;
610: IF l_debug = 1 THEN
611: print_debug(' No transaction flows found ', l_api_name);
612: END IF;
613: RAISE FND_API.g_exc_error;
614: END IF;
615:
616: EXCEPTION
617: WHEN FND_API.G_EXC_ERROR THEN
613: RAISE FND_API.g_exc_error;
614: END IF;
615:
616: EXCEPTION
617: WHEN FND_API.G_EXC_ERROR THEN
618: x_return_status := FND_API.G_RET_STS_ERROR;
619: x_transaction_flows_tbl.delete;
620: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
621:
614: END IF;
615:
616: EXCEPTION
617: WHEN FND_API.G_EXC_ERROR THEN
618: x_return_status := FND_API.G_RET_STS_ERROR;
619: x_transaction_flows_tbl.delete;
620: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
621:
622: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
618: x_return_status := FND_API.G_RET_STS_ERROR;
619: x_transaction_flows_tbl.delete;
620: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
621:
622: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
623: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
624: x_transaction_flows_tbl.delete;
625: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
626:
619: x_transaction_flows_tbl.delete;
620: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
621:
622: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
623: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
624: x_transaction_flows_tbl.delete;
625: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
626:
627: WHEN OTHERS THEN
624: x_transaction_flows_tbl.delete;
625: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
626:
627: WHEN OTHERS THEN
628: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
629: x_transaction_flows_tbl.delete;
630: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
631:
632: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
718: x_msg_count := 0;
719: l_match := FALSE;
720:
721: -- Standard call to check for call compatibility
722: IF NOT FND_API.Compatible_API_Call(
723: l_api_version_number
724: , p_api_version
725: , l_api_name
726: , G_PKG_NAME)
724: , p_api_version
725: , l_api_name
726: , G_PKG_NAME)
727: THEN
728: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
729: END IF;
730:
731:
732: -- Initialize message list.
729: END IF;
730:
731:
732: -- Initialize message list.
733: IF fnd_api.to_boolean(p_init_msg_list) THEN
734: fnd_msg_pub.initialize;
735: END IF;
736:
737:
848: EXCEPTION
849: when no_data_found then
850: FND_MESSAGE.SET_NAME('INV', 'INV_INVALID_START_ORG');
851: FND_MSG_PUB.ADD;
852: raise fnd_api.g_exc_error;
853: end;
854:
855: BEGIN
856: select name
860: EXCEPTION
861: when no_data_found then
862: FND_MESSAGE.SET_NAME('INV', 'INV_INVALID_END_ORG');
863: FND_MSG_PUB.ADD;
864: raise fnd_api.g_exc_error;
865: end;
866:
867: fnd_message.set_name('INV', 'INV_NO_IC_TXN_FLOW');
868: FND_MESSAGE.SET_TOKEN('FROM_OU', l_from_ou_name);
877: x_transaction_flow_exists := G_TRANSACTION_FLOW_NOT_FOUND;
878: END IF;
879:
880: EXCEPTION
881: WHEN FND_API.G_EXC_ERROR THEN
882: x_return_status := FND_API.G_RET_STS_ERROR;
883: x_transaction_flow_exists := G_TRANSACTION_FLOW_NOT_FOUND;
884: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
885:
878: END IF;
879:
880: EXCEPTION
881: WHEN FND_API.G_EXC_ERROR THEN
882: x_return_status := FND_API.G_RET_STS_ERROR;
883: x_transaction_flow_exists := G_TRANSACTION_FLOW_NOT_FOUND;
884: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
885:
886: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
882: x_return_status := FND_API.G_RET_STS_ERROR;
883: x_transaction_flow_exists := G_TRANSACTION_FLOW_NOT_FOUND;
884: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
885:
886: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
887: x_return_status := FND_API.G_RET_STS_ERROR;
888: x_transaction_flow_exists := G_TRANSACTION_FLOW_NOT_FOUND;
889: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
890:
883: x_transaction_flow_exists := G_TRANSACTION_FLOW_NOT_FOUND;
884: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
885:
886: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
887: x_return_status := FND_API.G_RET_STS_ERROR;
888: x_transaction_flow_exists := G_TRANSACTION_FLOW_NOT_FOUND;
889: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
890:
891: WHEN OTHERS THEN
888: x_transaction_flow_exists := G_TRANSACTION_FLOW_NOT_FOUND;
889: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
890:
891: WHEN OTHERS THEN
892: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
893: x_transaction_flow_exists := G_TRANSACTION_FLOW_NOT_FOUND;
894: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
895:
896: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1037: x_msg_data := null;
1038: x_msg_count := 0;
1039:
1040: -- Standard call to check for call compatibility
1041: IF NOT FND_API.Compatible_API_Call(
1042: l_api_version_number
1043: , p_api_version
1044: , l_api_name
1045: , G_PKG_NAME)
1043: , p_api_version
1044: , l_api_name
1045: , G_PKG_NAME)
1046: THEN
1047: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1048: END IF;
1049:
1050:
1051: -- Initialize message list.
1048: END IF;
1049:
1050:
1051: -- Initialize message list.
1052: IF fnd_api.to_boolean(p_init_msg_list) THEN
1053: fnd_msg_pub.initialize;
1054: END IF;
1055:
1056: SELECT mtl_transaction_flow_headers_s.NEXTVAL
1153: print_debug('After validation of IC RELATION , Ship Org=' || p_ship_organization_id_tbl(i) || ', Sell Org=' || p_Sell_Organization_Id_tbl(i) || ', Return Status=' || l_return_status);
1154: END IF;
1155:
1156: IF l_return_status = g_ret_sts_error THEN
1157: RAISE fnd_api.g_exc_error;
1158: ELSIF l_return_status = g_ret_sts_unexp_error THEN
1159: RAISE fnd_api.g_exc_unexpected_error;
1160:
1161: ELSIF l_valid = g_true THEN
1155:
1156: IF l_return_status = g_ret_sts_error THEN
1157: RAISE fnd_api.g_exc_error;
1158: ELSIF l_return_status = g_ret_sts_unexp_error THEN
1159: RAISE fnd_api.g_exc_unexpected_error;
1160:
1161: ELSIF l_valid = g_true THEN
1162:
1163: IF (g_debug=1) THEN
1224: x_msg_count => l_msg_count,
1225: x_msg_data => l_msg_data,
1226: p_header_id => l_header_id,
1227: p_commit => false,
1228: p_validation_level => fnd_api.g_valid_level_full,
1229: p_start_org_id => p_start_org_id,
1230: p_end_org_id => p_end_org_id,
1231: p_flow_type => p_flow_type,
1232: p_organization_id => p_organization_id,
1260: IF (g_debug=1) THEN
1261: print_debug('After inv_transaction_flow_pvt.create_ic_transaction_flow call... Return Status=' || l_return_status);
1262: END IF;
1263:
1264: IF l_return_status = fnd_api.g_ret_sts_success THEN
1265: x_header_id := l_header_id;
1266: x_line_number_tbl := l_line_number_tbl;
1267: ELSIF x_return_status = fnd_api.g_ret_sts_error THEN
1268: RAISE fnd_api.g_exc_error;
1263:
1264: IF l_return_status = fnd_api.g_ret_sts_success THEN
1265: x_header_id := l_header_id;
1266: x_line_number_tbl := l_line_number_tbl;
1267: ELSIF x_return_status = fnd_api.g_ret_sts_error THEN
1268: RAISE fnd_api.g_exc_error;
1269: ELSE
1270: RAISE fnd_api.g_exc_unexpected_error;
1271: END IF;
1264: IF l_return_status = fnd_api.g_ret_sts_success THEN
1265: x_header_id := l_header_id;
1266: x_line_number_tbl := l_line_number_tbl;
1267: ELSIF x_return_status = fnd_api.g_ret_sts_error THEN
1268: RAISE fnd_api.g_exc_error;
1269: ELSE
1270: RAISE fnd_api.g_exc_unexpected_error;
1271: END IF;
1272:
1266: x_line_number_tbl := l_line_number_tbl;
1267: ELSIF x_return_status = fnd_api.g_ret_sts_error THEN
1268: RAISE fnd_api.g_exc_error;
1269: ELSE
1270: RAISE fnd_api.g_exc_unexpected_error;
1271: END IF;
1272:
1273: EXCEPTION
1274: WHEN FND_API.G_EXC_ERROR THEN
1270: RAISE fnd_api.g_exc_unexpected_error;
1271: END IF;
1272:
1273: EXCEPTION
1274: WHEN FND_API.G_EXC_ERROR THEN
1275: ROLLBACK TO create_transaction_flow;
1276: x_return_status := FND_API.G_RET_STS_ERROR;
1277: x_header_id := NULL;
1278: x_line_number_tbl.DELETE;
1272:
1273: EXCEPTION
1274: WHEN FND_API.G_EXC_ERROR THEN
1275: ROLLBACK TO create_transaction_flow;
1276: x_return_status := FND_API.G_RET_STS_ERROR;
1277: x_header_id := NULL;
1278: x_line_number_tbl.DELETE;
1279: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1280:
1277: x_header_id := NULL;
1278: x_line_number_tbl.DELETE;
1279: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1280:
1281: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1282: ROLLBACK TO create_transaction_flow;
1283: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1284: x_header_id := NULL;
1285: x_line_number_tbl.DELETE;
1279: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1280:
1281: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1282: ROLLBACK TO create_transaction_flow;
1283: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1284: x_header_id := NULL;
1285: x_line_number_tbl.DELETE;
1286: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1287: WHEN OTHERS THEN
1285: x_line_number_tbl.DELETE;
1286: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1287: WHEN OTHERS THEN
1288: ROLLBACK TO create_transaction_flow;
1289: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1290: x_header_id := NULL;
1291: x_line_number_tbl.DELETE;
1292:
1293: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1398:
1399: SAVEPOINT UPDATE_TRANSACTION_FLOW;
1400:
1401: -- Standard call to check for call compatibility
1402: IF NOT FND_API.Compatible_API_Call(
1403: l_api_version_number
1404: , p_api_version
1405: , l_api_name
1406: , G_PKG_NAME)
1404: , p_api_version
1405: , l_api_name
1406: , G_PKG_NAME)
1407: THEN
1408: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1409: END IF;
1410:
1411:
1412: -- Initialize message list.
1409: END IF;
1410:
1411:
1412: -- Initialize message list.
1413: IF fnd_api.to_boolean(p_init_msg_list) THEN
1414: fnd_msg_pub.initialize;
1415: END IF;
1416:
1417: IF (g_debug=1) THEN
1448: IF (g_debug=1) THEN
1449: print_debug('After inv_transaction_flow_pub.update_transaction_flow_header call... Return Status=' || l_return_status);
1450: END IF;
1451:
1452: IF x_return_status = fnd_api.g_ret_sts_error THEN
1453: RAISE fnd_api.g_exc_error;
1454: ELSIF l_return_status = g_ret_sts_unexp_error THEN
1455: RAISE fnd_api.g_exc_unexpected_error;
1456: END IF;
1449: print_debug('After inv_transaction_flow_pub.update_transaction_flow_header call... Return Status=' || l_return_status);
1450: END IF;
1451:
1452: IF x_return_status = fnd_api.g_ret_sts_error THEN
1453: RAISE fnd_api.g_exc_error;
1454: ELSIF l_return_status = g_ret_sts_unexp_error THEN
1455: RAISE fnd_api.g_exc_unexpected_error;
1456: END IF;
1457:
1451:
1452: IF x_return_status = fnd_api.g_ret_sts_error THEN
1453: RAISE fnd_api.g_exc_error;
1454: ELSIF l_return_status = g_ret_sts_unexp_error THEN
1455: RAISE fnd_api.g_exc_unexpected_error;
1456: END IF;
1457:
1458: l_return_status:=NULL;
1459: l_msg_data:=NULL;
1495: print_debug('After inv_transaction_flow_pub.update_transaction_flow_line call... Return Status=' || l_return_status);
1496: END IF;
1497:
1498: IF l_return_status = g_ret_sts_error THEN
1499: RAISE fnd_api.g_exc_error;
1500: ELSIF l_return_status = g_ret_sts_unexp_error THEN
1501: RAISE fnd_api.g_exc_unexpected_error;
1502: END IF;
1503: l_return_status:=NULL;
1497:
1498: IF l_return_status = g_ret_sts_error THEN
1499: RAISE fnd_api.g_exc_error;
1500: ELSIF l_return_status = g_ret_sts_unexp_error THEN
1501: RAISE fnd_api.g_exc_unexpected_error;
1502: END IF;
1503: l_return_status:=NULL;
1504: l_msg_data:=NULL;
1505: l_msg_count:=NULL;
1552: print_debug('After inv_transaction_flow_pub.update_ic_relation call...Return Status=' || l_return_status);
1553: END IF;
1554:
1555: IF l_return_status = g_ret_sts_error THEN
1556: RAISE fnd_api.g_exc_error;
1557: ELSIF l_return_status = g_ret_sts_unexp_error THEN
1558: RAISE fnd_api.g_exc_unexpected_error;
1559: END IF;
1560: END LOOP;
1554:
1555: IF l_return_status = g_ret_sts_error THEN
1556: RAISE fnd_api.g_exc_error;
1557: ELSIF l_return_status = g_ret_sts_unexp_error THEN
1558: RAISE fnd_api.g_exc_unexpected_error;
1559: END IF;
1560: END LOOP;
1561:
1562:
1561:
1562:
1563:
1564: EXCEPTION
1565: WHEN FND_API.G_EXC_ERROR THEN
1566: ROLLBACK TO UPDATE_TRANSACTION_FLOW;
1567: x_return_status := FND_API.G_RET_STS_ERROR;
1568: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1569:
1563:
1564: EXCEPTION
1565: WHEN FND_API.G_EXC_ERROR THEN
1566: ROLLBACK TO UPDATE_TRANSACTION_FLOW;
1567: x_return_status := FND_API.G_RET_STS_ERROR;
1568: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1569:
1570: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1571: ROLLBACK TO UPDATE_TRANSACTION_FLOW;
1566: ROLLBACK TO UPDATE_TRANSACTION_FLOW;
1567: x_return_status := FND_API.G_RET_STS_ERROR;
1568: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1569:
1570: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1571: ROLLBACK TO UPDATE_TRANSACTION_FLOW;
1572: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1573: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1574: WHEN OTHERS THEN
1568: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1569:
1570: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1571: ROLLBACK TO UPDATE_TRANSACTION_FLOW;
1572: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1573: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1574: WHEN OTHERS THEN
1575: ROLLBACK TO UPDATE_TRANSACTION_FLOW;
1576: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1572: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1573: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1574: WHEN OTHERS THEN
1575: ROLLBACK TO UPDATE_TRANSACTION_FLOW;
1576: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1577: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1578: FND_MSG_PUB.Add_Exc_Msg
1579: ( G_PACKAGE_NAME, 'CREATE_TRANSACTION_FLOW');
1580: end if;
1626: x_msg_data := null;
1627: x_msg_count := 0;
1628:
1629: -- Standard call to check for call compatibility
1630: IF NOT FND_API.compatible_api_call
1631: (l_api_version_number
1632: , p_api_version
1633: , l_api_name
1634: , G_PKG_NAME)
1632: , p_api_version
1633: , l_api_name
1634: , G_PKG_NAME)
1635: THEN
1636: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1637: END IF;
1638:
1639: -- Initialize message list.
1640: IF fnd_api.to_boolean(p_init_msg_list) THEN
1636: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1637: END IF;
1638:
1639: -- Initialize message list.
1640: IF fnd_api.to_boolean(p_init_msg_list) THEN
1641: fnd_msg_pub.initialize;
1642: END IF;
1643:
1644:
1681:
1682: IF l_return_status = g_ret_sts_success THEN
1683: --Successful
1684: x_return_status := l_return_status;
1685: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
1686: IF l_debug = 1 THEN
1687: print_debug('l_msg_data from'||
1688: 'inv_transaction_flow_pvt.update_ic_txn_flow_hdr'||
1689: l_msg_data,l_api_name);
1688: 'inv_transaction_flow_pvt.update_ic_txn_flow_hdr'||
1689: l_msg_data,l_api_name);
1690: END IF;
1691:
1692: RAISE fnd_api.g_exc_error;
1693: ELSE
1694: IF l_debug = 1 THEN
1695: print_debug('l_msg_data from'||
1696: 'inv_transaction_flow_pvt.update_ic_txn_flow_hdr'||
1695: print_debug('l_msg_data from'||
1696: 'inv_transaction_flow_pvt.update_ic_txn_flow_hdr'||
1697: l_msg_data,l_api_name);
1698: END IF;
1699: RAISE fnd_api.g_exc_unexpected_error;
1700: END IF;
1701:
1702: EXCEPTION
1703: WHEN FND_API.G_EXC_ERROR THEN
1699: RAISE fnd_api.g_exc_unexpected_error;
1700: END IF;
1701:
1702: EXCEPTION
1703: WHEN FND_API.G_EXC_ERROR THEN
1704: ROLLBACK TO UPDATE_TRANSACTION_FLOW_HEADER;
1705: x_return_status := FND_API.G_RET_STS_ERROR;
1706: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1707:
1701:
1702: EXCEPTION
1703: WHEN FND_API.G_EXC_ERROR THEN
1704: ROLLBACK TO UPDATE_TRANSACTION_FLOW_HEADER;
1705: x_return_status := FND_API.G_RET_STS_ERROR;
1706: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1707:
1708: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1709: ROLLBACK TO UPDATE_TRANSACTION_FLOW_HEADER;
1704: ROLLBACK TO UPDATE_TRANSACTION_FLOW_HEADER;
1705: x_return_status := FND_API.G_RET_STS_ERROR;
1706: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1707:
1708: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1709: ROLLBACK TO UPDATE_TRANSACTION_FLOW_HEADER;
1710: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1711: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1712: WHEN OTHERS THEN
1706: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1707:
1708: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1709: ROLLBACK TO UPDATE_TRANSACTION_FLOW_HEADER;
1710: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1711: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1712: WHEN OTHERS THEN
1713: ROLLBACK TO UPDATE_TRANSACTION_FLOW_HEADER;
1714: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1710: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1711: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1712: WHEN OTHERS THEN
1713: ROLLBACK TO UPDATE_TRANSACTION_FLOW_HEADER;
1714: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1715:
1716: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1717: FND_MSG_PUB.Add_Exc_Msg
1718: ( G_PACKAGE_NAME, 'UPDATE_TRANSACTION_FLOW_HEADER');
1760: x_msg_data := null;
1761: x_msg_count := 0;
1762:
1763: -- Standard call to check for call compatibility
1764: IF NOT FND_API.compatible_api_call
1765: (l_api_version_number
1766: , p_api_version
1767: , l_api_name
1768: , G_PKG_NAME)
1766: , p_api_version
1767: , l_api_name
1768: , G_PKG_NAME)
1769: THEN
1770: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1771: END IF;
1772:
1773:
1774: -- Initialize message list.
1771: END IF;
1772:
1773:
1774: -- Initialize message list.
1775: IF fnd_api.to_boolean(p_init_msg_list) THEN
1776: fnd_msg_pub.initialize;
1777: END IF;
1778:
1779:
1814:
1815: IF l_return_status = g_ret_sts_success THEN
1816: --Successful
1817: x_return_status := l_return_status;
1818: ELSIF l_return_status = fnd_api.g_ret_sts_error THEN
1819: IF l_debug = 1 THEN
1820: print_debug('l_msg_data from'||
1821: 'inv_transaction_flow_pvt.update_ic_txn_flow_line'||
1822: l_msg_data,l_api_name);
1821: 'inv_transaction_flow_pvt.update_ic_txn_flow_line'||
1822: l_msg_data,l_api_name);
1823: END IF;
1824:
1825: RAISE fnd_api.g_exc_error;
1826: ELSE
1827: IF l_debug = 1 THEN
1828: print_debug('l_msg_data from'||
1829: 'inv_transaction_flow_pvt.update_ic_txn_flow_line'||
1828: print_debug('l_msg_data from'||
1829: 'inv_transaction_flow_pvt.update_ic_txn_flow_line'||
1830: l_msg_data,l_api_name);
1831: END IF;
1832: RAISE fnd_api.g_exc_unexpected_error;
1833: END IF;
1834:
1835: EXCEPTION
1836: WHEN FND_API.G_EXC_ERROR THEN
1832: RAISE fnd_api.g_exc_unexpected_error;
1833: END IF;
1834:
1835: EXCEPTION
1836: WHEN FND_API.G_EXC_ERROR THEN
1837: ROLLBACK TO update_transaction_flow_line;
1838: x_return_status := FND_API.G_RET_STS_ERROR;
1839: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1840:
1834:
1835: EXCEPTION
1836: WHEN FND_API.G_EXC_ERROR THEN
1837: ROLLBACK TO update_transaction_flow_line;
1838: x_return_status := FND_API.G_RET_STS_ERROR;
1839: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1840:
1841: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1842: ROLLBACK TO update_transaction_flow_line;
1837: ROLLBACK TO update_transaction_flow_line;
1838: x_return_status := FND_API.G_RET_STS_ERROR;
1839: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1840:
1841: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1842: ROLLBACK TO update_transaction_flow_line;
1843: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1844: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1845: WHEN OTHERS THEN
1839: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1840:
1841: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1842: ROLLBACK TO update_transaction_flow_line;
1843: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1844: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1845: WHEN OTHERS THEN
1846: ROLLBACK TO update_transaction_flow_line;
1847: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1843: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1844: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
1845: WHEN OTHERS THEN
1846: ROLLBACK TO update_transaction_flow_line;
1847: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
1848:
1849: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
1850: FND_MSG_PUB.Add_Exc_Msg
1851: ( G_PACKAGE_NAME, 'UPDATE_TRANSACTION_FLOW');
1970: x_msg_data := null;
1971: x_msg_count := 0;
1972:
1973: -- Standard call to check for call compatibility
1974: IF NOT FND_API.compatible_api_call
1975: (l_api_version_number
1976: , p_api_version
1977: , l_api_name
1978: , G_PKG_NAME)
1976: , p_api_version
1977: , l_api_name
1978: , G_PKG_NAME)
1979: THEN
1980: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1981: END IF;
1982:
1983:
1984: -- Initialize message list.
1981: END IF;
1982:
1983:
1984: -- Initialize message list.
1985: IF fnd_api.to_boolean(p_init_msg_list) THEN
1986: fnd_msg_pub.initialize;
1987: END IF;
1988:
1989: SAVEPOINT update_ic_relation;
2028: p_expense_accrual_account_id => p_expense_accrual_account_id
2029: );
2030:
2031: IF l_return_status = g_ret_sts_error THEN
2032: RAISE fnd_api.g_exc_error;
2033: ELSIF l_return_status = g_ret_sts_unexp_error THEN
2034: RAISE fnd_api.g_exc_unexpected_error;
2035: ELSIF l_valid = g_true THEN
2036:
2030:
2031: IF l_return_status = g_ret_sts_error THEN
2032: RAISE fnd_api.g_exc_error;
2033: ELSIF l_return_status = g_ret_sts_unexp_error THEN
2034: RAISE fnd_api.g_exc_unexpected_error;
2035: ELSIF l_valid = g_true THEN
2036:
2037: FOR ic_information_rec IN ic_information(p_ship_organization_id,p_sell_organization_id,p_flow_type) LOOP
2038:
2127: END IF;
2128:
2129:
2130: EXCEPTION
2131: WHEN FND_API.G_EXC_ERROR THEN
2132: ROLLBACK TO update_ic_relation;
2133: x_return_status := FND_API.G_RET_STS_ERROR;
2134: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
2135:
2129:
2130: EXCEPTION
2131: WHEN FND_API.G_EXC_ERROR THEN
2132: ROLLBACK TO update_ic_relation;
2133: x_return_status := FND_API.G_RET_STS_ERROR;
2134: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
2135:
2136: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2137: ROLLBACK TO update_ic_relation;
2132: ROLLBACK TO update_ic_relation;
2133: x_return_status := FND_API.G_RET_STS_ERROR;
2134: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
2135:
2136: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2137: ROLLBACK TO update_ic_relation;
2138: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2139: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
2140: WHEN OTHERS THEN
2134: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
2135:
2136: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2137: ROLLBACK TO update_ic_relation;
2138: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2139: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
2140: WHEN OTHERS THEN
2141: ROLLBACK TO update_ic_relation;
2142: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2138: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2139: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
2140: WHEN OTHERS THEN
2141: ROLLBACK TO update_ic_relation;
2142: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2143:
2144: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2145: FND_MSG_PUB.Add_Exc_Msg
2146: ( G_PACKAGE_NAME, 'UPDATE_TRANSACTION_FLOW');
2212: x_msg_data := null;
2213: x_msg_count := 0;
2214:
2215: -- Standard call to check for call compatibility
2216: IF NOT FND_API.compatible_api_call
2217: (l_api_version_number
2218: , p_api_version
2219: , l_api_name
2220: , G_PKG_NAME)
2218: , p_api_version
2219: , l_api_name
2220: , G_PKG_NAME)
2221: THEN
2222: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2223: END IF;
2224:
2225:
2226: -- Initialize message list.
2223: END IF;
2224:
2225:
2226: -- Initialize message list.
2227: IF fnd_api.to_boolean(p_init_msg_list) THEN
2228: fnd_msg_pub.initialize;
2229: END IF;
2230:
2231: /* NOT NULL CHECK - ALL THE NOT NULL ERROR MESSAGES WOULD BE GROUPED AND
2350: NULL;
2351: END;
2352:
2353: IF (hasNotNullError) THEN
2354: RAISE FND_API.G_EXC_ERROR;
2355: END IF;
2356:
2357: END; -- END NOT NULL CHECK
2358:
2377:
2378: IF l_valid = 'N' THEN
2379: FND_MESSAGE.SET_NAME('INV','INV_INVALID_COLUMN');
2380: FND_MESSAGE.SET_TOKEN('COLUMN','CUSTOMER_ID');
2381: RAISE FND_API.G_EXC_ERROR;
2382: END IF;
2383: END IF;
2384:
2385: --Validating Address_id
2438:
2439: IF l_valid = 'N' THEN
2440: FND_MESSAGE.SET_NAME('INV','INV_INVALID_COLUMN');
2441: FND_MESSAGE.SET_TOKEN('COLUMN','ADDRESS_ID');
2442: RAISE FND_API.G_EXC_ERROR;
2443: END IF;
2444: END IF;
2445:
2446: --Validating customer_site_id
2498:
2499: IF l_valid = 'N' THEN
2500: FND_MESSAGE.SET_NAME('INV','INV_INVALID_COLUMN');
2501: FND_MESSAGE.SET_TOKEN('COLUMN','CUSTOMER_SITE_ID');
2502: RAISE FND_API.G_EXC_ERROR;
2503: END IF;
2504: END IF;
2505:
2506: --Validating cust_trx_type_id
2529:
2530: IF l_valid = 'N' THEN
2531: FND_MESSAGE.SET_NAME('INV','INV_INVALID_COLUMN');
2532: FND_MESSAGE.SET_TOKEN('COLUMN','CUST_TRX_TYPE_ID');
2533: RAISE FND_API.G_EXC_ERROR;
2534: END IF;
2535: END IF;
2536:
2537: --Validating vendor_id
2563:
2564: IF l_valid = 'N' THEN
2565: FND_MESSAGE.SET_NAME('INV','INV_INVALID_COLUMN');
2566: FND_MESSAGE.SET_TOKEN('COLUMN','VENDOR_ID');
2567: RAISE FND_API.G_EXC_ERROR;
2568: END IF;
2569: END IF;
2570:
2571: --Validating vendor_site_id
2592:
2593: IF l_valid = 'N' THEN
2594: FND_MESSAGE.SET_NAME('INV','INV_INVALID_COLUMN');
2595: FND_MESSAGE.SET_TOKEN('COLUMN','VENDOR_SITE_ID');
2596: RAISE FND_API.G_EXC_ERROR;
2597: END IF;
2598: END IF;
2599:
2600: --Getting chart_of_accounts_id
2620: EXCEPTION
2621: WHEN no_data_found THEN
2622: FND_MESSAGE.SET_NAME('INV','INV_INVALID_COLUMN');
2623: FND_MESSAGE.SET_TOKEN('COLUMN','SHIP_CHART_OF_ACCOUNTS_ID');
2624: RAISE FND_API.G_EXC_ERROR;
2625: END;
2626: */
2627:
2628: BEGIN
2636: p_account_info_context => 'COA');
2637: IF NVL(lreturn_status , 'S') = 'E' THEN
2638: FND_MESSAGE.SET_NAME('INV','INV_INVALID_COLUMN');
2639: FND_MESSAGE.SET_TOKEN('COLUMN','SHIP_CHART_OF_ACCOUNTS_ID');
2640: RAISE FND_API.G_EXC_ERROR;
2641: END IF;
2642: l_ship_chart_of_accounts_id := lcoa_id;
2643: END;
2644:
2664: EXCEPTION
2665: WHEN no_data_found THEN
2666: FND_MESSAGE.SET_NAME('INV','INV_INVALID_COLUMN');
2667: FND_MESSAGE.SET_TOKEN('COLUMN','CHART_OF_ACCOUNTS_ID');
2668: RAISE FND_API.G_EXC_ERROR;
2669: END;
2670: */
2671:
2672: BEGIN
2680: p_account_info_context => 'COA');
2681: IF NVL(lreturn_status , 'S') = 'E' THEN
2682: FND_MESSAGE.SET_NAME('INV','INV_INVALID_COLUMN');
2683: FND_MESSAGE.SET_TOKEN('COLUMN','CHART_OF_ACCOUNTS_ID');
2684: RAISE FND_API.G_EXC_ERROR;
2685: END IF;
2686: l_chart_of_accounts_id:= lcoa_id;
2687: END;
2688:
2704: IF NOT l_valid_ccid THEN
2705:
2706: FND_MESSAGE.SET_NAME('INV','INV_INVALID_COLUMN');
2707: FND_MESSAGE.SET_TOKEN('COLUMN','FREIGHT_CODE_COMBINATION_ID');
2708: RAISE FND_API.G_EXC_ERROR;
2709: END IF;
2710: END IF;
2711:
2712: --Validating intercompany_cogs_account_id
2725:
2726: IF NOT l_valid_ccid THEN
2727: FND_MESSAGE.SET_NAME('INV','INV_INVALID_COLUMN');
2728: FND_MESSAGE.SET_TOKEN('COLUMN','INTERCOMPANY_COGS_ACCOUNT_ID');
2729: RAISE FND_API.G_EXC_ERROR;
2730: END IF;
2731: END IF;
2732:
2733: --Validating inventory_accrual_account_id
2746:
2747: IF NOT l_valid_ccid THEN
2748: FND_MESSAGE.SET_NAME('INV','INV_INVALID_COLUMN');
2749: FND_MESSAGE.SET_TOKEN('COLUMN','INVENTORY_ACCRUAL_ACCOUNT_ID');
2750: RAISE FND_API.G_EXC_ERROR;
2751: END IF;
2752: END IF;
2753:
2754: --Validating expense_accrual_account_id
2767:
2768: IF NOT l_valid_ccid THEN
2769: FND_MESSAGE.SET_NAME('INV','INV_INVALID_COLUMN');
2770: FND_MESSAGE.SET_TOKEN('COLUMN','EXPENSE_ACCRUAL_ACCOUNT_ID');
2771: RAISE FND_API.G_EXC_ERROR;
2772: END IF;
2773: END IF;
2774:
2775: IF p_attribute_category = g_miss_num THEN
2792: P_ATTRIBUTE14 => p_attribute14,
2793: P_ATTRIBUTE15 => p_attribute15,
2794: P_ATTRIBUTE_CATEGORY => p_attribute_category
2795: ) THEN
2796: RAISE FND_API.G_EXC_ERROR;
2797: END IF;
2798:
2799: EXCEPTION
2800: WHEN FND_API.G_EXC_ERROR THEN
2796: RAISE FND_API.G_EXC_ERROR;
2797: END IF;
2798:
2799: EXCEPTION
2800: WHEN FND_API.G_EXC_ERROR THEN
2801: x_return_status := FND_API.G_RET_STS_ERROR;
2802: x_valid := g_false;
2803: FND_MSG_PUB.ADD;
2804: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
2797: END IF;
2798:
2799: EXCEPTION
2800: WHEN FND_API.G_EXC_ERROR THEN
2801: x_return_status := FND_API.G_RET_STS_ERROR;
2802: x_valid := g_false;
2803: FND_MSG_PUB.ADD;
2804: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
2805:
2802: x_valid := g_false;
2803: FND_MSG_PUB.ADD;
2804: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
2805:
2806: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2807: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2808: x_valid := g_false;
2809: FND_MSG_PUB.ADD;
2810: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
2803: FND_MSG_PUB.ADD;
2804: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
2805:
2806: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
2807: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2808: x_valid := g_false;
2809: FND_MSG_PUB.ADD;
2810: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
2811: WHEN OTHERS THEN
2808: x_valid := g_false;
2809: FND_MSG_PUB.ADD;
2810: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
2811: WHEN OTHERS THEN
2812: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
2813: x_valid := g_false;
2814: FND_MSG_PUB.ADD;
2815: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
2816: FND_MSG_PUB.Add_Exc_Msg
2907: ' p_global_procurement_flag '||p_global_procurement_flag, l_api_name);
2908: END IF;
2909:
2910: -- Standard call to check for call compatibility
2911: IF NOT FND_API.Compatible_API_Call(
2912: l_api_version_number
2913: , p_api_version
2914: , l_api_name
2915: , G_PKG_NAME)
2913: , p_api_version
2914: , l_api_name
2915: , G_PKG_NAME)
2916: THEN
2917: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
2918: END IF;
2919:
2920:
2921: -- Initialize message list.
2918: END IF;
2919:
2920:
2921: -- Initialize message list.
2922: IF fnd_api.to_boolean(p_init_msg_list) THEN
2923: fnd_msg_pub.initialize;
2924: END IF;
2925:
2926:
2938: print_debug('incorrect p_rcv_transaction_id', l_api_name);
2939: END IF;
2940: fnd_message.set_name('INV', 'INV_NO_RCVTXNID');
2941: fnd_msg_pub.add;
2942: RAISE fnd_api.g_exc_error;
2943: END IF;
2944:
2945: BEGIN
2946: SELECT rt.po_header_id, rt.po_line_id, rt.po_line_location_id,
2960: print_debug('no record found in rcv_transcations', l_api_name);
2961: END IF;
2962: fnd_message.set_name('INV', 'INV_NO_RCVTXN');
2963: fnd_msg_pub.add;
2964: RAISE fnd_api.g_exc_error;
2965: END;
2966:
2967: IF l_debug = 1 then
2968: print_debug(' l_po_header_id '||l_po_header_id||
2979: print_debug('Insufficient information in rcv_transactions', l_api_name);
2980: END IF;
2981: fnd_message.set_name('INV', 'INV_NO_RCVTXN_INFO');
2982: fnd_msg_pub.add;
2983: RAISE fnd_api.g_exc_error;
2984: END IF;
2985:
2986:
2987: IF l_transaction_type in ('RETURN TO RECEIVING',
3046: print_debug('cannot find sales order line ', l_api_name);
3047: END IF;
3048: fnd_message.set_name('INV', 'INV_NO_SALES_ORDER_LINE');
3049: fnd_msg_pub.add;
3050: RAISE fnd_api.g_exc_error;
3051: END;
3052:
3053: IF l_debug = 1 then
3054: print_debug('l_selling_ou '||l_selling_ou||
3075:
3076: IF (l_selling_ou IS NULL) OR (l_ship_from_ou IS NULL) THEN
3077: fnd_message.set_name('INV', 'INV_NULL_SELLSHIP_OU');
3078: fnd_msg_pub.add;
3079: RAISE fnd_api.g_exc_error;
3080: END IF;
3081:
3082: /******* Calling get transaction flow for the operating units*******/
3083:
3105:
3106: when too_many_rows then
3107: fnd_message.set_name('INV', 'INV_TOO_MANY_CATEGORIES');
3108: fnd_msg_pub.add;
3109: RAISE fnd_api.g_exc_error;
3110: END;
3111:
3112: INV_TRANSACTION_FLOW_PUB.CHECK_TRANSACTION_FLOW
3113: (p_api_version => 1.0
3133: print_debug('l_txn_flow_header_id '||l_txn_flow_header_id, l_api_name);
3134: print_debug('l_new_accounting_flag '||l_new_accounting_flag, l_api_name);
3135: END IF;
3136:
3137: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3138:
3139: RAISE fnd_api.g_exc_unexpected_error;
3140:
3141: ELSIF (l_transaction_flow_exists = g_transaction_flow_found)
3135: END IF;
3136:
3137: IF l_return_status <> fnd_api.g_ret_sts_success THEN
3138:
3139: RAISE fnd_api.g_exc_unexpected_error;
3140:
3141: ELSIF (l_transaction_flow_exists = g_transaction_flow_found)
3142: AND (l_new_accounting_flag in ('Y','y')) THEN
3143: --Drop ship logical
3178: ' x_transaction_action_id '||x_transaction_action_id||
3179: ' x_transaction_source_type_id '||x_transaction_source_type_id, l_api_name);
3180: END IF;
3181: EXCEPTION
3182: WHEN FND_API.G_EXC_ERROR THEN
3183: x_return_status := FND_API.G_RET_STS_ERROR;
3184: x_dropship_type_code := -99;
3185: x_transaction_type_id := -99;
3186: x_transaction_action_id := -99;
3179: ' x_transaction_source_type_id '||x_transaction_source_type_id, l_api_name);
3180: END IF;
3181: EXCEPTION
3182: WHEN FND_API.G_EXC_ERROR THEN
3183: x_return_status := FND_API.G_RET_STS_ERROR;
3184: x_dropship_type_code := -99;
3185: x_transaction_type_id := -99;
3186: x_transaction_action_id := -99;
3187: x_transaction_source_type_id := -99;
3186: x_transaction_action_id := -99;
3187: x_transaction_source_type_id := -99;
3188: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3189:
3190: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3191: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3192: x_dropship_type_code := -99;
3193: x_transaction_type_id := -99;
3194: x_transaction_action_id := -99;
3187: x_transaction_source_type_id := -99;
3188: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3189:
3190: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3191: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3192: x_dropship_type_code := -99;
3193: x_transaction_type_id := -99;
3194: x_transaction_action_id := -99;
3195: x_transaction_source_type_id := -99;
3195: x_transaction_source_type_id := -99;
3196: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3197:
3198: WHEN OTHERS THEN
3199: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3200: x_dropship_type_code := -99;
3201: x_transaction_type_id := -99;
3202: x_transaction_action_id := -99;
3203: x_transaction_source_type_id := -99;
3290: WHEN NO_DATA_FOUND then
3291: FND_MESSAGE.SET_NAME('INV', 'INV_INVALID_TRANSACTIONS');
3292: FND_MESSAGE.SET_TOKEN('ID', p_reference_id);
3293: FND_MSG_PUB.ADD;
3294: raise FND_API.G_EXC_ERROR;
3295: END;
3296: else
3297: l_progress := 2;
3298: -- this is a true drop ship with procuring flow
3306: WHEN NO_DATA_FOUND then
3307: FND_MESSAGE.SET_NAME('INV', 'INV_INVALID_SALES_ORDER');
3308: FND_MESSAGE.SET_TOKEN('LINE', p_reference_id);
3309: FND_MSG_PUB.ADD;
3310: raise FND_API.G_EXC_ERROR;
3311: END;
3312: end if;
3313: else
3314: -- this is global procurement flow.
3322: WHEN NO_DATA_FOUND then
3323: FND_MESSAGE.SET_NAME('INV', 'INV_INVALID_RCV_TRANSACTION');
3324: FND_MESSAGE.SET_TOKEN('RCVID', p_reference_id);
3325: FND_MSG_PUB.ADD;
3326: raise FND_API.G_EXC_ERROR;
3327: END;
3328: end if;
3329: -- end if; OPM INVCONV
3330:
3330:
3331: x_transaction_date := l_transaction_date;
3332: x_return_status := G_RET_STS_SUCCESS;
3333: fnd_msg_pub.count_and_get(
3334: p_encoded => fnd_api.g_false,
3335: p_count => x_msg_count,
3336: p_data => x_msg_data
3337: );
3338:
3337: );
3338:
3339: return l_organization_id;
3340: EXCEPTION
3341: WHEN FND_API.G_EXC_ERROR then
3342: x_return_status := G_RET_STS_ERROR;
3343: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3344: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3345:
3340: EXCEPTION
3341: WHEN FND_API.G_EXC_ERROR then
3342: x_return_status := G_RET_STS_ERROR;
3343: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3344: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3345:
3346: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3347: x_return_status := G_RET_STS_UNEXP_ERROR;
3348: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3342: x_return_status := G_RET_STS_ERROR;
3343: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3344: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3345:
3346: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3347: x_return_status := G_RET_STS_UNEXP_ERROR;
3348: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3349: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3350:
3345:
3346: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3347: x_return_status := G_RET_STS_UNEXP_ERROR;
3348: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3349: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3350:
3351: WHEN OTHERS then
3352: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3353: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3348: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3349: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3350:
3351: WHEN OTHERS then
3352: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3353: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3354: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3355:
3356: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3350:
3351: WHEN OTHERS then
3352: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3353: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3354: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3355:
3356: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3357: FND_MSG_PUB.Add_Exc_Msg(G_PACKAGE_NAME, 'Get_Inventory_Org');
3358: end if;
3413: print_Debug('cannot find the ledger of the ou ', 'Get_Functional_Currency_Code');
3414: FND_MESSAGE.SET_NAME('INV', 'IC-INVALID BOOKS');
3415: FND_MESSAGE.SET_TOKEN('ID', p_org_id);
3416: FND_MSG_PUB.ADD;
3417: raise FND_API.G_EXC_ERROR;
3418: END;
3419: */
3420: BEGIN
3421: l_progress := 1;
3431: FND_MESSAGE.SET_NAME('INV', 'IC-INVALID BOOKS');
3432: FND_MESSAGE.SET_TOKEN('ID', p_org_id);
3433: FND_MSG_PUB.ADD;
3434: print_debug('Cannot find the ledger information for operating unit = '||p_org_id , 9);
3435: RAISE FND_API.G_EXC_ERROR;
3436: END IF;
3437: l_set_of_book_id := lsob_id;
3438: END;
3439:
3449: when NO_DATA_FOUND then
3450: print_debug('cannot find the functional currency code', 'get_functional_currency_code');
3451: FND_MESSAGE.SET_NAME('SQLGL', 'GL funct curr does not exist');
3452: FND_MSG_PUB.ADD;
3453: raise FND_API.G_EXC_ERROR;
3454: end;
3455:
3456: print_debug('l_functional_currency_code is ' || l_functional_currency_code, 'get_functional_currency_code');
3457: x_sets_of_book_id := l_set_of_book_id;
3457: x_sets_of_book_id := l_set_of_book_id;
3458: return l_functional_currency_code;
3459:
3460: EXCEPTION
3461: WHEN FND_API.G_EXC_ERROR then
3462: x_return_status := G_RET_STS_ERROR;
3463: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3464: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3465: return null;
3460: EXCEPTION
3461: WHEN FND_API.G_EXC_ERROR then
3462: x_return_status := G_RET_STS_ERROR;
3463: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3464: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3465: return null;
3466: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3467: x_return_status := G_RET_STS_UNEXP_ERROR;
3468: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3462: x_return_status := G_RET_STS_ERROR;
3463: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3464: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3465: return null;
3466: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3467: x_return_status := G_RET_STS_UNEXP_ERROR;
3468: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3469: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3470: return null;
3465: return null;
3466: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3467: x_return_status := G_RET_STS_UNEXP_ERROR;
3468: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3469: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3470: return null;
3471:
3472: WHEN OTHERS THEN
3473: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3469: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3470: return null;
3471:
3472: WHEN OTHERS THEN
3473: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3474: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3475: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3476:
3477: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3471:
3472: WHEN OTHERS THEN
3473: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3474: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3475: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3476:
3477: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3478: FND_MSG_PUB.Add_Exc_Msg(G_PACKAGE_NAME, 'get_functional_currency_code');
3479: end if;
3541: G_FROM_ORG_ID := p_org_id;
3542: l_functional_currency_code := get_functional_currency_code(
3543: p_org_id, l_set_of_book_id, x_return_status, x_msg_data, x_msg_count);
3544: if( x_return_status <> G_RET_STS_SUCCESS ) then
3545: raise FND_API.G_EXC_ERROR;
3546: else
3547: G_FUNCTIONAL_CURRENCY_CODE := l_functional_currency_code;
3548: G_SETS_OF_BOOK_ID := l_set_of_book_id;
3549: end if;
3587: FND_MESSAGE.SET_TOKEN('CONV_TYPE', l_conversion_type);
3588: FND_MESSAGE.SET_TOKEN('FROM_CURR', p_currency_code);
3589: FND_MESSAGE.SET_TOKEN('TO_CURR', l_functional_currency_code);
3590: FND_MSG_PUB.ADD;
3591: raise FND_API.G_EXC_ERROR;
3592: elsif( l_transfer_price = -2 ) then
3593: print_Debug('ic invalid currency', 'convert_currency');
3594: FND_MESSAGE.SET_NAME('INV', 'IC-Invalid_Currency');
3595: FND_MESSAGE.SET_TOKEN('FROM_CURR', p_currency_code);
3593: print_Debug('ic invalid currency', 'convert_currency');
3594: FND_MESSAGE.SET_NAME('INV', 'IC-Invalid_Currency');
3595: FND_MESSAGE.SET_TOKEN('FROM_CURR', p_currency_code);
3596: FND_MSG_PUB.ADD;
3597: raise FND_API.G_EXC_ERROR;
3598: end if;
3599: else
3600: l_transfer_price := p_transfer_price;
3601: end if;
3602:
3603: print_debug('l_transfer_price is ' || l_transfer_price, 'convert_currency');
3604: x_return_status := G_RET_STS_SUCCESS;
3605: fnd_msg_pub.count_and_get (
3606: p_encoded => fnd_api.g_false,
3607: p_count => x_msg_count,
3608: p_data => x_msg_data
3609: );
3610:
3611:
3612: return l_transfer_price;
3613:
3614: EXCEPTION
3615: WHEN FND_API.G_EXC_ERROR then
3616: x_return_status := G_RET_STS_ERROR;
3617: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3618: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3619: return -99;
3614: EXCEPTION
3615: WHEN FND_API.G_EXC_ERROR then
3616: x_return_status := G_RET_STS_ERROR;
3617: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3618: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3619: return -99;
3620: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3621: x_return_status := G_RET_STS_UNEXP_ERROR;
3622: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3616: x_return_status := G_RET_STS_ERROR;
3617: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3618: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3619: return -99;
3620: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3621: x_return_status := G_RET_STS_UNEXP_ERROR;
3622: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3623: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3624: return -99;
3619: return -99;
3620: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
3621: x_return_status := G_RET_STS_UNEXP_ERROR;
3622: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3623: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3624: return -99;
3625:
3626: WHEN OTHERS THEN
3627: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3623: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3624: return -99;
3625:
3626: WHEN OTHERS THEN
3627: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3628: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3629: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3630:
3631: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3625:
3626: WHEN OTHERS THEN
3627: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
3628: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
3629: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
3630:
3631: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
3632: FND_MSG_PUB.Add_Exc_Msg(G_PACKAGE_NAME, 'Convert_Currency');
3633: end if;
3746: x_transfer_price := 0;
3747: x_currency_code := null;
3748:
3749: -- Standard call to check for call compatibility
3750: IF NOT FND_API.Compatible_API_Call(
3751: l_api_version_number
3752: , p_api_version
3753: , l_api_name
3754: , G_PKG_NAME)
3752: , p_api_version
3753: , l_api_name
3754: , G_PKG_NAME)
3755: THEN
3756: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3757: END IF;
3758:
3759: -- Initialize message list.
3760: IF fnd_api.to_boolean(p_init_msg_list) THEN
3756: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
3757: END IF;
3758:
3759: -- Initialize message list.
3760: IF fnd_api.to_boolean(p_init_msg_list) THEN
3761: fnd_msg_pub.initialize;
3762: END IF;
3763:
3764: --
3864: if( l_return_status <> G_RET_STS_SUCCESS ) then
3865: print_Debug('Error from mtl_intercompany_invoices.get_transfer_price', 'get_transfer_price_for_item');
3866: FND_MESSAGE.SET_NAME('INV', 'INV_ERROR_EXT_TRANSFER_PRICE');
3867: FND_MSG_PUB.ADD;
3868: raise FND_API.G_EXC_ERROR;
3869: end if;
3870:
3871: if( nvl(l_transfer_price, -1) = -1 ) then
3872: -- This means that we get nothing from the external api
3890: print_debug('l_organization_id = ' || l_organization_id, 'geT_transfer_price_for_item');
3891:
3892: if( l_return_status <> G_RET_STS_SUCCESS ) then
3893: print_debug('Error from get_inventory_org', 'get_transfer_price_for_item');
3894: raise FND_API.G_EXC_ERROR;
3895: end if;
3896: end if;
3897:
3898: print_debug('l_qp_profile = ' || l_qp_profile, 'get_transfer_price_for_item');
3975: FND_MESSAGE.SET_TOKEN('ITEM', l_item_description);
3976: FND_MESSAGE.SET_TOKEN('UNIT', l_primary_uom);
3977: FND_MESSAGE.SET_TOKEN('PRICE_LIST', l_price_list_name);
3978: FND_MSG_PUB.ADD;
3979: raise fnd_api.g_exc_error;
3980: end if;
3981: end;
3982: when others then
3983: print_debug('sqlerrm = ' || sqlerrm, 'get_transfer_price_for_item');
3984: l_transfer_price := 0;
3985: l_return_status := G_RET_STS_ERROR;
3986: FND_MESSAGE.SET_NAME('INV', 'IC-No Transfer Price');
3987: FND_MSG_PUB.ADD;
3988: raise fnd_api.g_exc_error;
3989: END;
3990: else
3991: l_qp_price_flag := TRUE;
3992: if( p_global_procurement_flag = 'Y' ) then
4059: EXCEPTION
4060: when others then
4061: fnd_message.set_name('INV', 'INV_INT_SQLCODE');
4062: fnd_msg_pub.add;
4063: raise FND_API.G_EXC_ERROR;
4064: end;*/
4065:
4066: /* Added this for bug 3141793
4067: * The currency code in which the transfer price will be return is control by the
4104: FND_MESSAGE.SET_NAME('INV', 'IC-No INTERCO RELATION');
4105: FND_MESSAGE.SET_TOKEN('FROM_OU', l_from_ou_name);
4106: FND_MESSAGE.SET_TOKEN('TO_OU', l_to_ou_name);
4107: FND_MSG_PUB.ADD;
4108: raise FND_API.G_EXC_ERROR;
4109: END;
4110:
4111:
4112:
4139: l_currency_code := get_functional_currency_code(
4140: l_currency_org, l_set_of_book_id, x_return_status, x_msg_data, x_msg_count);
4141:
4142: if( x_return_status <> G_RET_STS_SUCCESS ) then
4143: raise FND_API.G_EXC_ERROR;
4144: end if;
4145: end if;
4146: G_INV_CURR_CODE := l_currency_code;
4147: ELSIF( (G_FROM_ORG_ID = p_from_org_id ) AND (G_TO_ORG_ID = p_to_org_id ) AND (G_FLOW_TYPE = l_flow_type) ) THEN
4178: print_Debug('l_msg_count = ' || l_msg_count, 'get_transfer_price_for_item');
4179:
4180: if( l_return_status <> G_RET_STS_SUCCESS ) THEN
4181: print_Debug('Error from mtl_qp_price', 'get_transfer_price_for_item');
4182: raise FND_API.G_EXC_ERROR;
4183: end if;
4184:
4185: IF( l_transfer_price is NULL or l_transfer_price = -99 ) then
4186: SELECT description
4240: FND_MESSAGE.SET_NAME('INV', 'INV_INVALID_UOM_CONV');
4241: FND_MESSAGE.SET_TOKEN('VALUE1', p_transaction_uom);
4242: FND_MESSAGE.SET_TOKEN('VALUE2', l_primary_uom);
4243: FND_MSG_PUB.ADD;
4244: raise FND_API.G_EXC_ERROR;
4245: end if;
4246: print_debug('l_uom_rate is ' || l_uom_rate, 'get_transfer_price_for_item');
4247:
4248: l_transfer_price := l_uom_rate * l_transfer_price;
4267: );
4268:
4269: if( l_return_status <> G_RET_STS_SUCCESS ) then
4270: print_debug('Error from convert_currency', 'get_transfer_price_for_item');
4271: raise FND_API.G_EXC_ERROR;
4272: end if;
4273: else*/
4274:
4275: l_functional_currency_code := l_invoice_currency_code;
4284: x_currency_code := l_functional_currency_code;
4285: x_return_status := l_return_status;
4286:
4287: fnd_msg_pub.count_and_get(
4288: p_encoded => fnd_api.g_false,
4289: p_count => x_msg_count,
4290: p_data => x_msg_data
4291: );
4292: EXCEPTION
4289: p_count => x_msg_count,
4290: p_data => x_msg_data
4291: );
4292: EXCEPTION
4293: WHEN FND_API.G_EXC_ERROR THEN
4294: x_return_status := G_RET_STS_ERROR;
4295: x_transfer_price := -99;
4296: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
4297: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4293: WHEN FND_API.G_EXC_ERROR THEN
4294: x_return_status := G_RET_STS_ERROR;
4295: x_transfer_price := -99;
4296: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
4297: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4298:
4299: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4300: x_return_status := G_RET_STS_UNEXP_ERROR;
4301: x_transfer_price := -99;
4295: x_transfer_price := -99;
4296: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
4297: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4298:
4299: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4300: x_return_status := G_RET_STS_UNEXP_ERROR;
4301: x_transfer_price := -99;
4302: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
4303: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4299: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4300: x_return_status := G_RET_STS_UNEXP_ERROR;
4301: x_transfer_price := -99;
4302: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
4303: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4304:
4305: WHEN OTHERS then
4306: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4307: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
4302: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
4303: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4304:
4305: WHEN OTHERS then
4306: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4307: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
4308: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4309:
4310: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4304:
4305: WHEN OTHERS then
4306: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4307: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
4308: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4309:
4310: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4311: FND_MSG_PUB.Add_Exc_Msg(G_PACKAGE_NAME, l_api_name);
4312: end if;
4407: x_transfer_price := 0;
4408: x_currency_code := null;
4409:
4410: -- Standard call to check for call compatibility
4411: IF NOT FND_API.Compatible_API_Call(
4412: l_api_version_number
4413: , p_api_version
4414: , l_api_name
4415: , G_PKG_NAME)
4413: , p_api_version
4414: , l_api_name
4415: , G_PKG_NAME)
4416: THEN
4417: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
4418: END IF;
4419:
4420:
4421: -- Initialize message list.
4418: END IF;
4419:
4420:
4421: -- Initialize message list.
4422: IF fnd_api.to_boolean(p_init_msg_list) THEN
4423: fnd_msg_pub.initialize;
4424: END IF;
4425:
4426:
4464: );
4465:
4466: if( l_return_status <> G_RET_STS_SUCCESS ) then
4467: print_debug('Error from get_inventory_org', 'GET_TRANSFER_PRICE');
4468: raise FND_API.G_EXC_ERROR;
4469: end if;
4470: end if;
4471:
4472: print_debug('Inventory org is ' || l_organization_id, 'GET_TRANSFER_PRICE');
4484: if( l_exists = 0 ) then
4485: print_debug('FROM OU is invalid', 'GET_TRANSFER_PRICE');
4486: FND_MESSAGE.SET_NAME('INV', 'INV_INVALID_FROM_OU');
4487: FND_MSG_PUB.ADD;
4488: raise FND_API.G_EXC_ERROR;
4489: -- throw error invalid from operating unit
4490: end if;
4491:
4492: l_progress := 2;
4515: FND_MESSAGE.SET_NAME('INV', 'IC-No INTERCO Relation');
4516: FND_MESSAGE.SET_TOKEN('FROM_OU', l_from_ou_name);
4517: FND_MESSAGE.SET_TOKEN('TO_OU', l_to_ou_name);
4518: FND_MSG_PUB.ADD;
4519: raise FND_API.G_EXC_ERROR;
4520: -- throw error invalid no intercompany parameters defined
4521: END;
4522:
4523: l_progress := 3;
4537: FND_MESSAGE.SET_NAME('INV', 'INV_IC_INVALID_ITEM_ORG');
4538: FND_MESSAGE.SET_TOKEN('ITEM', p_inventory_item_id);
4539: FND_MESSAGE.SET_TOKEN('ORG', l_organization_id);
4540: FND_MSG_PUB.ADD;
4541: raise FND_API.G_EXC_ERROR;
4542: END;
4543:
4544: l_progress := 4;
4545: -- get price list id
4587: FND_MESSAGE.SET_TOKEN('LOC', l_location);
4588: FND_MESSAGE.SET_TOKEN('CUST_NUM', l_customer_number);
4589: FND_MESSAGE.SET_TOKEN('CUST_NAME', l_customer_name);
4590: FND_MSG_PUB.ADD;
4591: raise FND_API.G_EXC_ERROR;
4592: end if;
4593: EXCEPTION
4594: when no_data_found then
4595: print_debug('no price list found ', 'GET_TRANSFER_PRICE');
4600:
4601: FND_MESSAGE.SET_NAME('INV', 'IC-Invalid Customer');
4602: FND_MESSAGE.SET_TOKEN('OU', l_from_ou_name);
4603: FND_MSG_PUB.ADD;
4604: raise FND_API.G_EXC_ERROR;
4605: END;
4606:
4607: -- call get_transfer_price_for_item for the base item
4608: if( l_base_item <> 0 ) then
4636: );
4637:
4638: if( l_cto_item_flag = 'N' AND x_return_status <> G_RET_STS_SUCCESS ) then
4639: print_debug('Error from get_transfer_price_for_item', 'GET_TRANSFER_PRICE');
4640: raise FND_API.G_EXC_UNEXPECTED_ERROR;
4641: end if;
4642:
4643: /* Added following logic for ISO with confgiured items calling of the CTO roll-up price API
4644: only when the price is not associated with the configured item */
4696: );
4697:
4698: if( l_return_status <> G_RET_STS_SUCCESS ) then
4699: print_debug('Error from CTO_Transfer_price', 'GET_TRANSFER_PRICE');
4700: raise FND_API.G_EXC_ERROR;
4701: end if;
4702: print_debug('l_transfer_price from CTO is ' || l_inv_transfer_price, 'GET_TRANSFER_PRICE');
4703: end if;
4704:
4714: );
4715:
4716: if( l_return_status <> G_RET_STS_SUCCESS ) then
4717: print_debug('Error from convert_currency', 'get_transfer_price_for_item');
4718: raise FND_API.G_EXC_ERROR;
4719: end if;
4720: print_Debug('l_transfer_price = ' || l_transfer_price, 'get_transfer_price');
4721: print_Debug('x_currency_code = ' || l_functional_currency_code, 'get_transfer_price');
4722:
4725: x_incr_transfer_price := l_inv_transfer_price;
4726: x_incr_currency_code := l_inv_currency_code;
4727: x_return_status := G_RET_STS_SUCCESS;
4728: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
4729: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4730: EXCEPTION
4731: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4732: x_return_status := G_RET_STS_UNEXP_ERROR;
4733: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
4727: x_return_status := G_RET_STS_SUCCESS;
4728: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
4729: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4730: EXCEPTION
4731: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4732: x_return_status := G_RET_STS_UNEXP_ERROR;
4733: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
4734: print_debug('In Exc_Unexpected_Error ' || l_progress, 'Get_Transfer_price');
4735: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4731: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
4732: x_return_status := G_RET_STS_UNEXP_ERROR;
4733: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
4734: print_debug('In Exc_Unexpected_Error ' || l_progress, 'Get_Transfer_price');
4735: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4736:
4737: WHEN FND_API.G_EXC_ERROR THEN
4738: x_return_status := G_RET_STS_ERROR;
4739: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
4733: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
4734: print_debug('In Exc_Unexpected_Error ' || l_progress, 'Get_Transfer_price');
4735: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4736:
4737: WHEN FND_API.G_EXC_ERROR THEN
4738: x_return_status := G_RET_STS_ERROR;
4739: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
4740: print_debug('In EXC_ERROR ' || l_progress, 'Get_Transfer_Price');
4741: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4737: WHEN FND_API.G_EXC_ERROR THEN
4738: x_return_status := G_RET_STS_ERROR;
4739: fnd_msg_pub.count_and_get(p_count => x_msg_count, p_data => x_msg_data);
4740: print_debug('In EXC_ERROR ' || l_progress, 'Get_Transfer_Price');
4741: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4742:
4743:
4744: WHEN OTHERS then
4745: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4741: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4742:
4743:
4744: WHEN OTHERS then
4745: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4746: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
4747: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4748:
4749: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4743:
4744: WHEN OTHERS then
4745: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
4746: FND_MSG_PUB.Count_And_Get( p_count => x_msg_count, p_data => x_msg_data);
4747: x_msg_data := fnd_msg_pub.get(p_msg_index => x_msg_count, p_encoded => fnd_api.g_false);
4748:
4749: IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
4750: FND_MSG_PUB.Add_Exc_Msg(G_PACKAGE_NAME, l_api_name);
4751: end if;