13: -- logging globals.
14: G_LEVEL_PROCEDURE NUMBER := FND_LOG.LEVEL_PROCEDURE;
15: G_RUNTIME_LEVEL NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
16:
17: G_RET_STS_SUCCESS VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
18: G_RET_STS_ERROR VARCHAR2(1) := FND_API.G_RET_STS_ERROR;
19: G_DELIVERY_DETAIL_ID NUMBER;
20:
21: TYPE SN_ASSOCIATIVE_ARRAY IS TABLE OF VARCHAR2(3) INDEX BY VARCHAR2(30);
14: G_LEVEL_PROCEDURE NUMBER := FND_LOG.LEVEL_PROCEDURE;
15: G_RUNTIME_LEVEL NUMBER := FND_LOG.G_CURRENT_RUNTIME_LEVEL;
16:
17: G_RET_STS_SUCCESS VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
18: G_RET_STS_ERROR VARCHAR2(1) := FND_API.G_RET_STS_ERROR;
19: G_DELIVERY_DETAIL_ID NUMBER;
20:
21: TYPE SN_ASSOCIATIVE_ARRAY IS TABLE OF VARCHAR2(3) INDEX BY VARCHAR2(30);
22:
106: IF l_shipment_header_id.COUNT = 0
107: THEN
108: FND_MESSAGE.SET_NAME('CSD','CSD_INT_SHIPMENT_MIS');
109: FND_MSG_PUB.ADD;
110: RAISE fnd_api.g_exc_error;
111: END IF;
112:
113: -- the subinventory is not passed in and in the organization item setup,
114: -- default receiving subinventory is not setup. Raise the error.
388: END handle_partial_action;
389:
390: PROCEDURE create_internal_requisition(
391: p_api_version IN NUMBER,
392: p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
393: p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
394: p_product_txn_id IN NUMBER,
395: p_destination_ou IN NUMBER,
396: p_destination_org IN NUMBER,
389:
390: PROCEDURE create_internal_requisition(
391: p_api_version IN NUMBER,
392: p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
393: p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
394: p_product_txn_id IN NUMBER,
395: p_destination_ou IN NUMBER,
396: p_destination_org IN NUMBER,
397: p_destination_loc_id IN NUMBER,
423: Fnd_Log.STRING(G_LEVEL_PROCEDURE, lc_api_name,'Begin API');
424: END IF;
425:
426: -- standard check for API compatibility.
427: IF NOT Fnd_Api.Compatible_API_Call
428: (lc_api_version,
429: p_api_version,
430: lc_api_name,
431: G_PKG_NAME)
429: p_api_version,
430: lc_api_name,
431: G_PKG_NAME)
432: THEN
433: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
434: END IF;
435:
436: IF Fnd_Api.to_Boolean(p_init_msg_list)
437: THEN
432: THEN
433: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
434: END IF;
435:
436: IF Fnd_Api.to_Boolean(p_init_msg_list)
437: THEN
438: Fnd_Msg_Pub.initialize;
439: END IF;
440:
477: END create_internal_requisition;
478:
479: PROCEDURE create_internal_requisition(
480: p_api_version IN NUMBER,
481: p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
482: p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
483: p_product_txn_ids IN JTF_NUMBER_TABLE,
484: p_destination_ous IN JTF_NUMBER_TABLE,
485: p_destination_orgs IN JTF_NUMBER_TABLE,
478:
479: PROCEDURE create_internal_requisition(
480: p_api_version IN NUMBER,
481: p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
482: p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
483: p_product_txn_ids IN JTF_NUMBER_TABLE,
484: p_destination_ous IN JTF_NUMBER_TABLE,
485: p_destination_orgs IN JTF_NUMBER_TABLE,
486: p_destination_loc_ids IN JTF_NUMBER_TABLE,
522: Fnd_Log.STRING(G_LEVEL_PROCEDURE, lc_api_name,'Begin API');
523: END IF;
524:
525: -- standard check for API compatibility.
526: IF NOT Fnd_Api.Compatible_API_Call
527: (lc_api_version,
528: p_api_version,
529: lc_api_name,
530: G_PKG_NAME)
528: p_api_version,
529: lc_api_name,
530: G_PKG_NAME)
531: THEN
532: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
533: END IF;
534:
535: IF Fnd_Api.to_Boolean(p_init_msg_list)
536: THEN
531: THEN
532: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
533: END IF;
534:
535: IF Fnd_Api.to_Boolean(p_init_msg_list)
536: THEN
537: Fnd_Msg_Pub.initialize;
538: END IF;
539:
601: EXCEPTION
602: WHEN no_data_found THEN
603: FND_MESSAGE.SET_NAME('CSD','CSD_MIS_ITEM_ORG_ASG');
604: FND_MSG_PUB.ADD;
605: RAISE fnd_api.g_exc_error;
606: END;
607: -- step 4. get the material account id.
608: IF (G_LEVEL_PROCEDURE >= G_RUNTIME_LEVEL) THEN
609: Fnd_Log.STRING(G_LEVEL_PROCEDURE, lc_api_name,'Getting material account Id');
750: EXCEPTION
751: WHEN no_data_found THEN
752: fnd_message.set_name('CSD','CSD_INT_REQ_FAIL');
753: fnd_msg_pub.add;
754: RAISE fnd_api.g_exc_error;
755: END;
756:
757: EXCEPTION
758: WHEN fnd_api.g_exc_error THEN
754: RAISE fnd_api.g_exc_error;
755: END;
756:
757: EXCEPTION
758: WHEN fnd_api.g_exc_error THEN
759: x_return_status := G_RET_STS_ERROR;
760:
761: END create_internal_requisition;
762:
897: THEN
898: IF (G_LEVEL_PROCEDURE >= G_RUNTIME_LEVEL) THEN
899: Fnd_Log.STRING(G_LEVEL_PROCEDURE, lc_api_name,'Requisition creation has failed');
900: END IF;
901: RAISE fnd_api.g_exc_error;
902: END IF;
903:
904: -- Step 2. Update the product transaction table with the requisition id.
905:
971: fnd_msg_pub.add;
972: fnd_msg_pub.count_and_get(p_count => x_msg_count,
973: p_data => x_msg_data);
974: retcode := 2;
975: WHEN fnd_api.g_exc_error THEN
976: IF (G_LEVEL_PROCEDURE >= G_RUNTIME_LEVEL) THEN
977: Fnd_Log.STRING(G_LEVEL_PROCEDURE, lc_api_name,'In g_exc_error');
978: END IF;
979: retcode := 2;
978: END IF;
979: retcode := 2;
980: fnd_msg_pub.count_and_get(p_count => x_msg_count,
981: p_data => x_msg_data);
982: WHEN fnd_api.g_exc_unexpected_error THEN
983: null;
984: -- when others is specifically skipped here. Some thing totally unexpected has happened. Let the
985: -- plsql engine know the caller what it is along with the line number.
986: END create_internal_move_orders;
986: END create_internal_move_orders;
987:
988: PROCEDURE pick_release_internal_order(
989: p_api_version IN NUMBER,
990: p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
991: p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
992: p_product_txn_id IN NUMBER,
993: p_order_header_id IN NUMBER,
994: p_orig_quantity IN NUMBER,
987:
988: PROCEDURE pick_release_internal_order(
989: p_api_version IN NUMBER,
990: p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
991: p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
992: p_product_txn_id IN NUMBER,
993: p_order_header_id IN NUMBER,
994: p_orig_quantity IN NUMBER,
995: p_shipped_quantity IN NUMBER,
1027: fnd_log.string(G_LEVEL_PROCEDURE, lc_api_name,'Begin API');
1028: END IF;
1029:
1030: -- standard check for API compatibility.
1031: IF NOT Fnd_Api.Compatible_API_Call
1032: (lc_api_version,
1033: p_api_version,
1034: lc_api_name,
1035: G_PKG_NAME)
1033: p_api_version,
1034: lc_api_name,
1035: G_PKG_NAME)
1036: THEN
1037: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
1038: END IF;
1039:
1040: IF fnd_api.to_boolean(p_init_msg_list)
1041: THEN
1036: THEN
1037: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
1038: END IF;
1039:
1040: IF fnd_api.to_boolean(p_init_msg_list)
1041: THEN
1042: fnd_msg_pub.initialize;
1043: END IF;
1044:
1071: THEN
1072: fnd_message.set_name('CSD', 'CSD_INV_PICKING_RULE_ID');
1073: fnd_message.set_token('PICKING_RULE_ID',l_order_rec.picking_rule_id );
1074: fnd_msg_pub.add;
1075: RAISE fnd_api.g_exc_error;
1076: END IF;
1077:
1078: l_order_rec.order_header_id := p_order_header_id;
1079: l_order_rec.org_id := p_pick_from_org;
1085: fnd_log.string(G_LEVEL_PROCEDURE, lc_api_name,'Calling csd_process_pvt.process_sales_order to pick release');
1086: END IF;
1087: csd_process_pvt.process_sales_order(
1088: p_api_version => 1.0,
1089: p_commit => fnd_api.g_false,
1090: p_init_msg_list => fnd_api.g_true,
1091: p_validation_level => fnd_api.g_valid_level_full,
1092: p_action => 'PICK-RELEASE',
1093: p_product_txn_rec => l_prod_txn_rec,
1086: END IF;
1087: csd_process_pvt.process_sales_order(
1088: p_api_version => 1.0,
1089: p_commit => fnd_api.g_false,
1090: p_init_msg_list => fnd_api.g_true,
1091: p_validation_level => fnd_api.g_valid_level_full,
1092: p_action => 'PICK-RELEASE',
1093: p_product_txn_rec => l_prod_txn_rec,
1094: p_order_rec => l_order_rec,
1087: csd_process_pvt.process_sales_order(
1088: p_api_version => 1.0,
1089: p_commit => fnd_api.g_false,
1090: p_init_msg_list => fnd_api.g_true,
1091: p_validation_level => fnd_api.g_valid_level_full,
1092: p_action => 'PICK-RELEASE',
1093: p_product_txn_rec => l_prod_txn_rec,
1094: p_order_rec => l_order_rec,
1095: x_return_status => x_return_status,
1100: THEN
1101: IF (G_LEVEL_PROCEDURE >= G_RUNTIME_LEVEL) THEN
1102: fnd_log.string(G_LEVEL_PROCEDURE, lc_api_name,'Pick release errored.'||x_msg_data);
1103: END IF;
1104: RAISE fnd_api.g_exc_error;
1105: END IF;
1106:
1107: -- check if the line is back ordered.
1108: SELECT wdd.released_status,wdd.picked_quantity,wdd.delivery_detail_id,NVL(cpt.quantity_available,cpt.exp_quantity)
1147: fnd_log.string(G_LEVEL_PROCEDURE, lc_api_name,'The delivery has been backordered.');
1148: END IF;
1149: fnd_message.set_name('CSD','CSD_NOT_PICK_RELEASED');
1150: fnd_msg_pub.add;
1151: RAISE fnd_api.g_exc_error;
1152:
1153: ELSIF l_dummy = 'S'
1154: THEN
1155: IF (G_LEVEL_PROCEDURE >= G_RUNTIME_LEVEL) THEN
1156: fnd_log.string(G_LEVEL_PROCEDURE, lc_api_name,'The line needs to be transacted using transact move order.');
1157: END IF;
1158: fnd_message.set_name('CSD','CSD_TRANSACT_MOVE_ORDER');
1159: fnd_msg_pub.add;
1160: RAISE fnd_api.g_exc_error;
1161:
1162: ELSE
1163:
1164: IF l_requested_quantity <> l_picked_quantity
1207: fnd_log.string(G_LEVEL_PROCEDURE, lc_api_name,'Calling pick_release to pick release');
1208: END IF;
1209: pick_release(
1210: p_api_version => 1.0,
1211: p_commit => fnd_api.g_false,
1212: p_init_msg_list => fnd_api.g_true,
1213: p_product_txn_id => p_product_txn_id,
1214: p_order_header_id => p_order_header_id,
1215: p_order_line_id => l_order_rec.order_line_id,
1208: END IF;
1209: pick_release(
1210: p_api_version => 1.0,
1211: p_commit => fnd_api.g_false,
1212: p_init_msg_list => fnd_api.g_true,
1213: p_product_txn_id => p_product_txn_id,
1214: p_order_header_id => p_order_header_id,
1215: p_order_line_id => l_order_rec.order_line_id,
1216: p_fm_serial_num_tbl => p_fm_serial_num_tbl,
1232: THEN
1233: IF (G_LEVEL_PROCEDURE >= G_RUNTIME_LEVEL) THEN
1234: fnd_log.string(G_LEVEL_PROCEDURE, lc_api_name,'Pick release errored.'||x_msg_data);
1235: END IF;
1236: RAISE fnd_api.g_exc_error;
1237: END IF;
1238:
1239: END IF;
1240:
1249: prod_txn_status = 'RELEASED'
1250: WHERE order_header_id = p_order_header_id
1251: AND quantity_picked IS NOT NULL;
1252:
1253: IF p_commit = fnd_api.g_true
1254: THEN
1255: COMMIT WORK;
1256: END IF;
1257:
1255: COMMIT WORK;
1256: END IF;
1257:
1258: EXCEPTION
1259: WHEN fnd_api.g_exc_error
1260: THEN
1261: x_return_status := G_RET_STS_ERROR;
1262: fnd_msg_pub.count_and_get(p_count => x_msg_count,
1263: p_data => x_msg_data);
1266:
1267:
1268: PROCEDURE ship_confirm_internal_order(
1269: p_api_version IN NUMBER,
1270: p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
1271: p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
1272: p_product_txn_id IN NUMBER,
1273: p_order_header_id IN NUMBER,
1274: p_orig_quantity IN NUMBER,
1267:
1268: PROCEDURE ship_confirm_internal_order(
1269: p_api_version IN NUMBER,
1270: p_init_msg_list IN VARCHAR2 DEFAULT FND_API.G_FALSE,
1271: p_commit IN VARCHAR2 DEFAULT FND_API.G_FALSE,
1272: p_product_txn_id IN NUMBER,
1273: p_order_header_id IN NUMBER,
1274: p_orig_quantity IN NUMBER,
1275: p_shipped_quantity IN NUMBER,
1346: fnd_log.string(G_LEVEL_PROCEDURE, lc_api_name,'Begin API');
1347: END IF;
1348:
1349: -- standard check for API compatibility.
1350: IF NOT Fnd_Api.Compatible_API_Call
1351: (lc_api_version,
1352: p_api_version,
1353: lc_api_name,
1354: G_PKG_NAME)
1352: p_api_version,
1353: lc_api_name,
1354: G_PKG_NAME)
1355: THEN
1356: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
1357: END IF;
1358:
1359: IF fnd_api.to_boolean(p_init_msg_list)
1360: THEN
1355: THEN
1356: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
1357: END IF;
1358:
1359: IF fnd_api.to_boolean(p_init_msg_list)
1360: THEN
1361: fnd_msg_pub.initialize;
1362: END IF;
1363:
1363:
1364: -- if the item is reservable, the item would have been reserved as part of the pick release activity.
1365: -- if the item is not reservable, then we would need to pass in the serial number, revision and lot number
1366: -- information.
1367: IF NOT fnd_api.to_boolean(p_is_reservable)
1368: THEN
1369: -- get the item attributes.
1370: SELECT msi.serial_number_control_code,
1371: msi.revision_qty_control_code,
1386: IF p_fm_serial_num_tbl.COUNT = 0
1387: THEN
1388: FND_MESSAGE.SET_NAME('CSD','CSD_API_SERIAL_NUM_REQD');
1389: FND_MSG_PUB.ADD;
1390: RAISE FND_API.G_EXC_ERROR;
1391: END IF;
1392: END IF;
1393:
1394: -- item is lot controlled.
1398: THEN
1399: FND_MESSAGE.SET_NAME('CSD','CSD_LOT_NUMBER_REQD');
1400: FND_MESSAGE.SET_TOKEN('ITEM',l_item_name);
1401: FND_MSG_PUB.ADD;
1402: RAISE FND_API.G_EXC_ERROR;
1403: END IF;
1404: END IF;
1405:
1406: -- item is revision controlled.
1410: THEN
1411: FND_MESSAGE.SET_NAME('CSD','CSD_ITEM_REVISION_REQD');
1412: FND_MESSAGE.SET_TOKEN('ITEM',l_item_name);
1413: FND_MSG_PUB.ADD;
1414: RAISE FND_API.G_EXC_ERROR;
1415: END IF;
1416: END IF;
1417: END IF; -- reservable check over.
1418:
1450: -- populate the SN's
1451: IF (G_LEVEL_PROCEDURE >= G_RUNTIME_LEVEL) THEN
1452: fnd_log.string(G_LEVEL_PROCEDURE, lc_api_name,'Populating the serial numbers');
1453: END IF;
1454: IF fnd_api.to_boolean(p_is_sn_range) AND p_fm_serial_num_tbl IS NOT NULL
1455: THEN
1456: FOR j IN 1 ..p_fm_serial_num_tbl.COUNT
1457: LOOP
1458: l_serial_num_range_tab(j).delivery_detail_id := l_delivery_detail_id;
1520: --dbms_output.put_line('Update shipping attributes failed '||x_msg_data);
1521: fnd_message.set_name('CSD','CSD_UPDATE_SHIPPING_FAILED');
1522: fnd_message.set_token('err_msg', x_msg_data);
1523: Fnd_Msg_Pub.ADD;
1524: RAISE fnd_api.g_exc_error;
1525: END IF;
1526: -- Return status check.
1527:
1528: -- call the delivery action API.
1559: p_sc_report_set_id := l_ship_param_info.DELIVERY_REPORT_SET_ID; -- check if it is seeded
1560:
1561: IF (x_return_status <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN
1562: --fnd_log.string(G_LEVEL_PROCEDURE, lc_api_name,'Get_Shipping_Parameters failed');
1563: RAISE fnd_api.g_exc_error;
1564: END IF;
1565:
1566: --bug#14632475 --bug#14644674
1567:
1623: IF l_shipped_flag = 'N' then
1624: FND_MESSAGE.SET_NAME('CSD','CSD_SHIP_CONFIRM_FAILED');
1625: FND_MESSAGE.SET_TOKEN('ERR_MSG',x_msg_data);
1626: FND_MSG_PUB.ADD;
1627: RAISE FND_API.G_EXC_ERROR;
1628: END IF;
1629: END IF;
1630:
1631: -- update the csd_product_transactions table with the shipped quantity information.
1649: IF l_del_split_flag
1650: THEN
1651: null;
1652: END IF;
1653: IF fnd_api.to_boolean(p_commit)
1654: THEN
1655: COMMIT WORK;
1656: END IF;
1657:
1655: COMMIT WORK;
1656: END IF;
1657:
1658: EXCEPTION
1659: WHEN fnd_api.g_exc_error THEN
1660: /*wsh_util_core.get_messages('Y',
1661: x_msg_summary,
1662: x_msg_details,
1663: x_msg_count);
1672: IF (G_LEVEL_PROCEDURE >= G_RUNTIME_LEVEL) THEN
1673: fnd_log.string(G_LEVEL_PROCEDURE, lc_api_name,'Error in ship confirm action '||x_msg_data);
1674: END IF;
1675:
1676: x_return_status := fnd_api.g_ret_sts_error;
1677: WHEN no_data_found THEN
1678: FND_MESSAGE.SET_NAME('CSD','CSD_MISSING_DELIVERY');
1679: FND_MSG_PUB.ADD;
1680: fnd_msg_pub.count_and_get(p_count => x_msg_count,
1678: FND_MESSAGE.SET_NAME('CSD','CSD_MISSING_DELIVERY');
1679: FND_MSG_PUB.ADD;
1680: fnd_msg_pub.count_and_get(p_count => x_msg_count,
1681: p_data => x_msg_data);
1682: x_return_status := fnd_api.g_ret_sts_error;
1683: END ship_confirm_internal_order;
1684:
1685: /********************************************************************************************/
1686: /* Function Name: IS_SERIAL_RANGE_VALID */
1749: /* Called from : Internal move orders API. */
1750: /* Input Parm : */
1751: /* */
1752: /* Output Parm : x_return_status VARCHAR2 Return status after the call. The status can be*/
1753: /* fnd_api.g_ret_sts_success (success) */
1754: /* fnd_api.g_ret_sts_error (error) */
1755: /* fnd_api.g_ret_sts_unexp_error (unexpected) */
1756: /*-----------------------------------------------------------------------------------------------------------*/
1757:
1750: /* Input Parm : */
1751: /* */
1752: /* Output Parm : x_return_status VARCHAR2 Return status after the call. The status can be*/
1753: /* fnd_api.g_ret_sts_success (success) */
1754: /* fnd_api.g_ret_sts_error (error) */
1755: /* fnd_api.g_ret_sts_unexp_error (unexpected) */
1756: /*-----------------------------------------------------------------------------------------------------------*/
1757:
1758: PROCEDURE RECEIVE_INTERNAL_ORDER(p_api_version IN NUMBER,
1751: /* */
1752: /* Output Parm : x_return_status VARCHAR2 Return status after the call. The status can be*/
1753: /* fnd_api.g_ret_sts_success (success) */
1754: /* fnd_api.g_ret_sts_error (error) */
1755: /* fnd_api.g_ret_sts_unexp_error (unexpected) */
1756: /*-----------------------------------------------------------------------------------------------------------*/
1757:
1758: PROCEDURE RECEIVE_INTERNAL_ORDER(p_api_version IN NUMBER,
1759: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
1755: /* fnd_api.g_ret_sts_unexp_error (unexpected) */
1756: /*-----------------------------------------------------------------------------------------------------------*/
1757:
1758: PROCEDURE RECEIVE_INTERNAL_ORDER(p_api_version IN NUMBER,
1759: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
1760: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
1761: p_product_txn_id IN NUMBER,
1762: p_order_header_id IN NUMBER,
1763: p_order_line_id IN NUMBER,
1756: /*-----------------------------------------------------------------------------------------------------------*/
1757:
1758: PROCEDURE RECEIVE_INTERNAL_ORDER(p_api_version IN NUMBER,
1759: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
1760: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
1761: p_product_txn_id IN NUMBER,
1762: p_order_header_id IN NUMBER,
1763: p_order_line_id IN NUMBER,
1764: p_receiving_subinv IN VARCHAR2 DEFAULT NULL,
1781: fnd_log.string(G_LEVEL_PROCEDURE, lc_api_name,'Begin API');
1782: END IF;
1783:
1784: -- standard check for API compatibility.
1785: IF NOT Fnd_Api.Compatible_API_Call
1786: (lc_api_version,
1787: p_api_version,
1788: lc_api_name,
1789: G_PKG_NAME)
1787: p_api_version,
1788: lc_api_name,
1789: G_PKG_NAME)
1790: THEN
1791: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
1792: END IF;
1793:
1794: IF fnd_api.to_boolean(p_init_msg_list)
1795: THEN
1790: THEN
1791: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
1792: END IF;
1793:
1794: IF fnd_api.to_boolean(p_init_msg_list)
1795: THEN
1796: fnd_msg_pub.initialize;
1797: END IF;
1798:
1866: UPDATE csd_product_transactions SET quantity_received = l_received_quantity
1867: WHERE order_header_id = p_order_header_id
1868: AND delivery_detail_id = l_delivery_detail_id; --p_product_txn_id;
1869:
1870: IF fnd_api.to_boolean(p_commit)
1871: THEN
1872: COMMIT WORK;
1873: END IF;
1874: END IF;
1895: fnd_log.string(G_LEVEL_PROCEDURE, lc_api_name,'Calling csd_receive_pvt.rcv_req_online to auto receive internal requisitions');
1896: END IF;
1897: csd_receive_pvt.rcv_req_online
1898: (p_api_version => 1.0,
1899: p_init_msg_list => fnd_api.g_false,
1900: p_commit => fnd_api.g_false,
1901: p_validation_level => fnd_api.g_valid_level_full,
1902: x_return_status => x_return_status,
1903: x_msg_count => x_msg_count,
1896: END IF;
1897: csd_receive_pvt.rcv_req_online
1898: (p_api_version => 1.0,
1899: p_init_msg_list => fnd_api.g_false,
1900: p_commit => fnd_api.g_false,
1901: p_validation_level => fnd_api.g_valid_level_full,
1902: x_return_status => x_return_status,
1903: x_msg_count => x_msg_count,
1904: x_msg_data => x_msg_data,
1897: csd_receive_pvt.rcv_req_online
1898: (p_api_version => 1.0,
1899: p_init_msg_list => fnd_api.g_false,
1900: p_commit => fnd_api.g_false,
1901: p_validation_level => fnd_api.g_valid_level_full,
1902: x_return_status => x_return_status,
1903: x_msg_count => x_msg_count,
1904: x_msg_data => x_msg_data,
1905: p_request_group_id => x_request_group_id
1908: THEN
1909: IF (G_LEVEL_PROCEDURE >= G_RUNTIME_LEVEL) THEN
1910: fnd_log.string(G_LEVEL_PROCEDURE, lc_api_name,'Error in online receipt of IR.');
1911: END IF;
1912: RAISE fnd_api.g_exc_error;
1913: END IF;
1914:
1915: -- update the quantity received field in csd_product_transactions with receipt quantity.
1916: IF (G_LEVEL_PROCEDURE >= G_RUNTIME_LEVEL) THEN
1945: )
1946: WHERE order_header_id = p_order_header_id
1947: AND delivery_detail_id = l_delivery_detail_id; --product_transaction_id = p_product_txn_id;
1948:
1949: IF fnd_api.to_boolean(p_commit)
1950: THEN
1951: COMMIT WORK;
1952: END IF;
1953: EXCEPTION
1950: THEN
1951: COMMIT WORK;
1952: END IF;
1953: EXCEPTION
1954: WHEN fnd_api.g_exc_error THEN
1955: IF (G_LEVEL_PROCEDURE >= G_RUNTIME_LEVEL) THEN
1956: fnd_log.string(G_LEVEL_PROCEDURE, lc_api_name,'Execution error:'||x_msg_data);
1957: END IF;
1958: -- message has been already set and retrieved.
1968:
1969: END RECEIVE_INTERNAL_ORDER;
1970:
1971: PROCEDURE PICK_RELEASE(p_api_version IN NUMBER,
1972: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
1973: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
1974: p_product_txn_id IN NUMBER,
1975: p_order_header_id IN NUMBER,
1976: p_order_line_id IN NUMBER,
1969: END RECEIVE_INTERNAL_ORDER;
1970:
1971: PROCEDURE PICK_RELEASE(p_api_version IN NUMBER,
1972: p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false,
1973: p_commit IN VARCHAR2 DEFAULT fnd_api.g_false,
1974: p_product_txn_id IN NUMBER,
1975: p_order_header_id IN NUMBER,
1976: p_order_line_id IN NUMBER,
1977: p_fm_serial_num_tbl IN JTF_VARCHAR2_TABLE_100,
2044: fnd_log.string(G_LEVEL_PROCEDURE, lc_api_name,'Begin API');
2045: END IF;
2046:
2047: -- standard check for API compatibility.
2048: IF NOT Fnd_Api.Compatible_API_Call
2049: (lc_api_version,
2050: p_api_version,
2051: lc_api_name,
2052: G_PKG_NAME)
2050: p_api_version,
2051: lc_api_name,
2052: G_PKG_NAME)
2053: THEN
2054: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2055: END IF;
2056:
2057: IF fnd_api.to_boolean(p_init_msg_list)
2058: THEN
2053: THEN
2054: RAISE Fnd_Api.G_EXC_UNEXPECTED_ERROR;
2055: END IF;
2056:
2057: IF fnd_api.to_boolean(p_init_msg_list)
2058: THEN
2059: fnd_msg_pub.initialize;
2060: END IF;
2061:
2167: END IF;
2168:
2169: WSH_PICKING_BATCHES_GRP.Create_Batch(
2170: p_api_version_number => 1.0,
2171: p_init_msg_list => fnd_api.g_false,
2172: p_commit => fnd_api.g_false,
2173: x_return_status => x_return_status,
2174: x_msg_count => x_msg_count,
2175: x_msg_data => x_msg_data,
2168:
2169: WSH_PICKING_BATCHES_GRP.Create_Batch(
2170: p_api_version_number => 1.0,
2171: p_init_msg_list => fnd_api.g_false,
2172: p_commit => fnd_api.g_false,
2173: x_return_status => x_return_status,
2174: x_msg_count => x_msg_count,
2175: x_msg_data => x_msg_data,
2176: p_rule_id => p_picking_rule_id,
2191: END IF;
2192:
2193: wsh_picking_batches_pub.Release_Batch(
2194: p_api_version => 1.0,
2195: p_init_msg_list => fnd_api.g_false,
2196: p_commit => fnd_api.g_false,
2197: x_return_status => x_return_status,
2198: x_msg_count => x_msg_count,
2199: x_msg_data => x_msg_data,
2192:
2193: wsh_picking_batches_pub.Release_Batch(
2194: p_api_version => 1.0,
2195: p_init_msg_list => fnd_api.g_false,
2196: p_commit => fnd_api.g_false,
2197: x_return_status => x_return_status,
2198: x_msg_count => x_msg_count,
2199: x_msg_data => x_msg_data,
2200: p_batch_id => x_batch_id,
2394: hdr_id => l_mmtt_temp_id,
2395: temp_id => l_mmtt_temp_id,
2396: lot_temp_id => l_mmtt_temp_id,
2397: p_reservation_id => l_reservation_id,
2398: p_update_reservation => fnd_api.g_true,
2399: success => x_success
2400: );
2401:
2402: IF (G_LEVEL_PROCEDURE >= G_RUNTIME_LEVEL) THEN
2572: UPDATE csd_product_transactions SET quantity_available = 0
2573: WHERE delivery_detail_id = l_delivery_detail_id_new;
2574: END IF;
2575:
2576: IF fnd_api.to_boolean(p_commit)
2577: THEN
2578: COMMIT WORK;
2579: END IF;
2580:
2689: message => x_message );
2690: IF NOT l_success
2691: THEN
2692: x_msg_data := x_message;
2693: x_return_status := fnd_api.g_ret_sts_error;
2694: return;
2695: END IF;
2696:
2697: -- step 4. Create the internal sales order. Call Import Orders CP.
2720:
2721: IF NOT l_success
2722: THEN
2723: x_msg_data := x_message;
2724: x_return_status := fnd_api.g_ret_sts_error;
2725: return;
2726: END IF;
2727:
2728: END create_internal_sales_orders;