950: -- po_headers ph,
951: rcv_supply rs,
952: rcv_shipment_headers rsh,
953: -- rcv_shipment_lines rsl,
954: rcv_transactions rt
955: where rsh.receipt_source_code = 'VENDOR'
956: -- Bug 3444226 The Join with po_headers is unnecessary
957: -- AND ph.po_header_id = header_id
958: AND pod.po_line_id = Nvl(v_po_line_id, pod.po_line_id)
973: -- transfer_lpn_id should match the lpn being putaway.
974: --AND Nvl(rt.transfer_lpn_id,-1) = Nvl(v_lpn_id,-1)
975: -- Fix for 1865886. Commented the above and added the following for lpn
976: AND Nvl(v_lpn_id,-1) IN (select nvl(rt2.transfer_lpn_id,-1)
977: from rcv_transactions rt2
978: where rt2.transaction_type <> 'DELIVER'
979: start with rt2.transaction_id = rs.supply_source_id
980: connect by prior rt2.transaction_id = rt2.parent_transaction_id
981: union all
979: start with rt2.transaction_id = rs.supply_source_id
980: connect by prior rt2.transaction_id = rt2.parent_transaction_id
981: union all
982: select nvl(rt2.lpn_id,-1)
983: from rcv_transactions rt2
984: where rt2.transaction_type not in ('RECEIVE', 'DELIVER')
985: start with rt2.transaction_id = rs.supply_source_id
986: connect by prior rt2.transaction_id = rt2.parent_transaction_id
987: )
1050: -- po_headers ph,
1051: rcv_supply rs,
1052: rcv_shipment_headers rsh,
1053: -- rcv_shipment_lines rsl,
1054: rcv_transactions rt
1055: where rsh.receipt_source_code = 'VENDOR'
1056: -- Bug 3444226 The Join with po_headers is unnecessary
1057: -- AND ph.po_header_id = header_id
1058: AND pod.po_line_id = Nvl(v_po_line_id, pod.po_line_id)
1073: -- transfer_lpn_id should match the lpn being putaway.
1074: --AND Nvl(rt.transfer_lpn_id,-1) = Nvl(v_lpn_id,-1)
1075: -- Fix for 1865886. Commented the above and added the following for lpn
1076: AND Nvl(v_lpn_id,-1) IN (select nvl(rt2.transfer_lpn_id,-1)
1077: from rcv_transactions rt2
1078: where rt2.transaction_type <> 'DELIVER'
1079: start with rt2.transaction_id = rs.supply_source_id
1080: connect by prior rt2.transaction_id = rt2.parent_transaction_id
1081: union all
1079: start with rt2.transaction_id = rs.supply_source_id
1080: connect by prior rt2.transaction_id = rt2.parent_transaction_id
1081: union all
1082: select nvl(rt2.lpn_id,-1)
1083: from rcv_transactions rt2
1084: where rt2.transaction_type not in ('RECEIVE', 'DELIVER')
1085: start with rt2.transaction_id = rs.supply_source_id
1086: connect by prior rt2.transaction_id = rt2.parent_transaction_id
1087: )
1158: po_line_locations_trx_v pll, -- CLM project, bug 9403291
1159: po_lines_trx_v pl, -- CLM project, bug 9403291
1160: rcv_supply rs,
1161: rcv_shipment_headers rsh,
1162: rcv_transactions rt
1163: where rsh.receipt_source_code = 'VENDOR'
1164: AND pod.po_line_id = Nvl(v_po_line_id, pod.po_line_id)
1165: AND pod.line_location_id = Nvl(v_po_line_location_id, pod.line_location_id)
1166: AND pod.po_distribution_id = Nvl(v_po_distribution_id, pod.po_distribution_id)
1175: and pll.ship_to_organization_id = nvl(v_ship_to_org_id,pll.ship_to_organization_id)
1176: and pll.ship_to_location_id = nvl(v_ship_to_location_id,pll.ship_to_location_id)
1177: AND RT.TRANSACTION_TYPE <> 'UNORDERED'
1178: AND Nvl(v_lpn_id,-1) IN (select nvl(rt2.transfer_lpn_id,-1)
1179: from rcv_transactions rt2
1180: where rt2.transaction_type <> 'DELIVER'
1181: start with rt2.transaction_id = rs.supply_source_id
1182: connect by prior rt2.transaction_id = rt2.parent_transaction_id
1183: union all
1181: start with rt2.transaction_id = rs.supply_source_id
1182: connect by prior rt2.transaction_id = rt2.parent_transaction_id
1183: union all
1184: select nvl(rt2.lpn_id,-1)
1185: from rcv_transactions rt2
1186: where rt2.transaction_type not in ('RECEIVE', 'DELIVER')
1187: start with rt2.transaction_id = rs.supply_source_id
1188: connect by prior rt2.transaction_id = rt2.parent_transaction_id
1189: )
1245: po_line_locations_trx_v pll, -- CLM project, bug 9403291
1246: po_lines_trx_v pl, -- CLM project, bug 9403291
1247: rcv_supply rs,
1248: rcv_shipment_headers rsh,
1249: rcv_transactions rt
1250: where rsh.receipt_source_code = 'VENDOR'
1251: AND pod.po_line_id = Nvl(v_po_line_id, pod.po_line_id)
1252: AND pod.line_location_id = Nvl(v_po_line_location_id, pod.line_location_id)
1253: AND pod.po_distribution_id = Nvl(v_po_distribution_id, pod.po_distribution_id)
1262: and pll.ship_to_organization_id = nvl(v_ship_to_org_id,pll.ship_to_organization_id)
1263: and pll.ship_to_location_id = nvl(v_ship_to_location_id,pll.ship_to_location_id)
1264: AND RT.TRANSACTION_TYPE <> 'UNORDERED'
1265: AND Nvl(v_lpn_id,-1) IN (select nvl(rt2.transfer_lpn_id,-1)
1266: from rcv_transactions rt2
1267: where rt2.transaction_type <> 'DELIVER'
1268: start with rt2.transaction_id = rs.supply_source_id
1269: connect by prior rt2.transaction_id = rt2.parent_transaction_id
1270: union all
1268: start with rt2.transaction_id = rs.supply_source_id
1269: connect by prior rt2.transaction_id = rt2.parent_transaction_id
1270: union all
1271: select nvl(rt2.lpn_id,-1)
1272: from rcv_transactions rt2
1273: where rt2.transaction_type not in ('RECEIVE', 'DELIVER')
1274: start with rt2.transaction_id = rs.supply_source_id
1275: connect by prior rt2.transaction_id = rt2.parent_transaction_id
1276: )
1322: x_bkp_qty number := 0;
1323: x_progress varchar2(3);
1324: x_converted_trx_qty number := 0;
1325: transaction_ok boolean := FALSE;
1326: x_expected_date rcv_transactions_interface.expected_receipt_date%TYPE;
1327: high_range_date DATE;
1328: low_range_date DATE;
1329: rows_fetched number := 0;
1330: x_tolerable_qty number := 0;
1416: BEGIN
1417:
1418: x_return_status := fnd_api.g_ret_sts_success;
1419:
1420: SAVEPOINT rcv_transactions_sa;
1421:
1422: l_allow_routing_override := fnd_profile.value('OVERRIDE_ROUTING');
1423: IF l_allow_routing_override IS NULL THEN
1424: l_allow_routing_override := 'N';
2109: /* Bug 4004656 -Commented the following statement
2110: if (lastrecord or x_remaining_quantity <= 0) then */
2111: /* Bug 4747997: We have to compare the rounded off values by 5 decimal places,
2112: as the value hold by this variable is non-rounded value returned
2113: from the API rcv_transactions_interface_sv.convert_into_correct_qty() */
2114:
2115: if (lastrecord or round(l_rem_qty_trans_uom,5) <= 0) then --Bug 4747997
2116: --End of fix for Bug 4004656
2117: IF l_print_debug = 1 THEN
2334: END IF;
2335: temp_cascaded_table(current_n).primary_quantity :=
2336: temp_cascaded_table(current_n).primary_quantity +
2337: /* Bug 4004656
2338: rcv_transactions_interface_sv.convert_into_correct_qty(
2339: x_remaining_quantity,
2340: temp_cascaded_table(1).unit_of_measure,
2341: temp_cascaded_table(1).item_id,
2342: temp_cascaded_table(1).primary_unit_of_measure); */
2339: x_remaining_quantity,
2340: temp_cascaded_table(1).unit_of_measure,
2341: temp_cascaded_table(1).item_id,
2342: temp_cascaded_table(1).primary_unit_of_measure); */
2343: rcv_transactions_interface_sv.convert_into_correct_qty(
2344: l_rem_qty_trans_uom,
2345: temp_cascaded_table(1).unit_of_measure,
2346: temp_cascaded_table(1).item_id,
2347: temp_cascaded_table(1).primary_unit_of_measure);
2925: Retained it in the transaction uom through the variable l_rcv_qty_trans_uom
2926: by assigning the value of the remaining quantity l_rem_qty_trans_uom
2927: which is already in the transaciton uom */
2928: /* x_remaining_qty_po_uom :=
2929: rcv_transactions_interface_sv.convert_into_correct_qty(x_remaining_quantity,
2930: temp_cascaded_table(1).unit_of_measure,
2931: temp_cascaded_table(1).item_id,
2932: x_ShipmentDistributionRec.unit_meas_lookup_code); */
2933:
2997:
2998: -- change asn uom qty so both qtys are in sync
2999:
3000: x_remaining_quantity :=
3001: rcv_transactions_interface_sv.convert_into_correct_qty(x_remaining_qty_po_uom,
3002: x_ShipmentDistributionRec.unit_meas_lookup_code,
3003: temp_cascaded_table(1).item_id,
3004: temp_cascaded_table(1).unit_of_measure);
3005:
3053: end if; */
3054: if l_trx_qty_po_uom > 0 then
3055: --Added the following code
3056: l_trx_qty_trans_uom:=
3057: rcv_transactions_interface_sv.convert_into_correct_qty
3058: (l_trx_qty_po_uom,
3059: x_ShipmentDistributionRec.unit_meas_lookup_code,
3060: temp_cascaded_table(1).item_id,
3061: temp_cascaded_table(1).unit_of_measure);
3069:
3070: if (round(l_trx_qty_trans_uom,5) < round(l_rcv_qty_trans_uom,5)) then --Bug 4747997
3071: -- compare like uoms which is the transaction uom
3072: l_rcv_qty_trans_uom := l_rcv_qty_trans_uom - l_trx_qty_trans_uom;
3073: l_rcv_qty_po_uom:= rcv_transactions_interface_sv.convert_into_correct_qty(l_rcv_qty_trans_uom,
3074: temp_cascaded_table(1).unit_of_measure,
3075: temp_cascaded_table(1).item_id,
3076: x_ShipmentDistributionRec.unit_meas_lookup_code);
3077:
3150: -- quantity,quantity_shipped -> in ASN uom
3151:
3152: temp_cascaded_table(current_n).source_doc_quantity :=
3153: -- x_converted_trx_qty; -- in po uom --Bug 4004656
3154: rcv_transactions_interface_sv.convert_into_correct_qty(
3155: l_trx_qty_trans_uom ,
3156: temp_cascaded_table(current_n).unit_of_measure,
3157: temp_cascaded_table(current_n).item_id,
3158: x_ShipmentDistributionRec.unit_meas_lookup_code);
3162: x_ShipmentDistributionRec.unit_meas_lookup_code;
3163:
3164: temp_cascaded_table(current_n).quantity :=
3165: /* Bug 4004656
3166: rcv_transactions_interface_sv.convert_into_correct_qty(
3167: x_converted_trx_qty,
3168: x_ShipmentDistributionRec.unit_meas_lookup_code,
3169: temp_cascaded_table(current_n).item_id,
3170: temp_cascaded_table(current_n).unit_of_measure); -- in asn uom */
3180: x_ShipmentDistributionRec.unit_meas_lookup_code;
3181: END IF;
3182: temp_cascaded_table(current_n).primary_quantity :=
3183: /* Bug 4004656
3184: rcv_transactions_interface_sv.convert_into_correct_qty(
3185: x_converted_trx_qty,
3186: x_ShipmentDistributionRec.unit_meas_lookup_code,
3187: temp_cascaded_table(current_n).item_id,
3188: temp_cascaded_table(current_n).primary_unit_of_measure); */
3186: x_ShipmentDistributionRec.unit_meas_lookup_code,
3187: temp_cascaded_table(current_n).item_id,
3188: temp_cascaded_table(current_n).primary_unit_of_measure); */
3189:
3190: rcv_transactions_interface_sv.convert_into_correct_qty(
3191: l_trx_qty_trans_uom,
3192: temp_cascaded_table(current_n).unit_of_measure,
3193: temp_cascaded_table(current_n).item_id,
3194: temp_cascaded_table(current_n).primary_unit_of_measure);
3381: --4364407
3382:
3383: exception
3384: WHEN fnd_api.g_exc_error THEN
3385: ROLLBACK TO rcv_transactions_sa;
3386: x_return_status := fnd_api.g_ret_sts_error;
3387: -- Get message count and data
3388: fnd_msg_pub.count_and_get
3389: ( p_count => x_msg_count
3456: END IF;
3457: --4364407
3458:
3459: WHEN fnd_api.g_exc_unexpected_error THEN
3460: ROLLBACK TO rcv_transactions_sa;
3461: x_return_status := fnd_api.g_ret_sts_unexp_error ;
3462:
3463: -- Get message count and data
3464: fnd_msg_pub.count_and_get
3533: END IF;
3534: --4364407
3535:
3536: WHEN OTHERS THEN
3537: ROLLBACK TO rcv_transactions_sa;
3538: x_return_status := fnd_api.g_ret_sts_unexp_error ;
3539: IF SQLCODE IS NOT NULL THEN
3540: inv_mobile_helper_functions.sql_error('INV_RCV_TXN_INTERFACE.matching_logic', l_progress, SQLCODE);
3541: END IF;