287: l_released_revs_meaning Varchar2(30);
288: l_created_by NUMBER ;/* Fix for #Bug 5444243 */
289: begin
290: savepoint wipbflpb20;
291: if(fnd_api.to_boolean(p_initMsgList)) then
292: fnd_msg_pub.initialize;
293: end if;
294:
295: if (l_logLevel <= wip_constants.trace_logging) then
339: l_params(22).paramValue := p_mtlTxnMode;
340: wip_logger.entryPoint(p_procName => 'wip_bflProc_priv.processRequirements',
341: p_params => l_params,
342: x_returnStatus => x_returnStatus);
343: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
344: raise fnd_api.g_exc_unexpected_error;
345: end if;
346: end if;
347:
340: wip_logger.entryPoint(p_procName => 'wip_bflProc_priv.processRequirements',
341: p_params => l_params,
342: x_returnStatus => x_returnStatus);
343: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
344: raise fnd_api.g_exc_unexpected_error;
345: end if;
346: end if;
347:
348: /* Fix for bug # 5160604/5004291:
375: l_acctPeriodID <= 0) then
376: fnd_message.set_name('INV', 'INV_NO_OPEN_PERIOD');
377: fnd_msg_pub.add;
378: l_errMsg := 'acct period id could not be derived.';
379: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
380: raise fnd_api.g_exc_unexpected_error;
381: end if;
382:
383: if(x_compTbl is not null) then
376: fnd_message.set_name('INV', 'INV_NO_OPEN_PERIOD');
377: fnd_msg_pub.add;
378: l_errMsg := 'acct period id could not be derived.';
379: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
380: raise fnd_api.g_exc_unexpected_error;
381: end if;
382:
383: if(x_compTbl is not null) then
384: l_index := nvl(x_compTbl.last, 0) + 1;
541: if(l_popRec.itemID = l_reqRec.itemID) then
542: if (l_logLevel <= wip_constants.full_logging) then
543: wip_logger.log('found existing requirement',l_returnStatus);
544: end if;
545: if(fnd_api.to_boolean(p_mergeMode)) then
546: --user wants to merge requirements. Update the txn qty
547: update mtl_transactions_interface
548: set last_update_date = sysdate,
549: last_updated_by = fnd_global.user_id,
803: if(c_repReqs%ISOPEN) then
804: close c_repReqs;
805: end if;
806:
807: x_returnStatus := fnd_api.g_ret_sts_success;
808: if (l_logLevel <= wip_constants.trace_logging) then
809: wip_logger.exitPoint(p_procName => 'wip_bflProc_priv.processRequirements',
810: p_procReturnStatus => x_returnStatus,
811: p_msg => 'procedure succeeded',
811: p_msg => 'procedure succeeded',
812: x_returnStatus => l_returnStatus); --discard logging return status
813: end if;
814:
815: if(fnd_api.to_boolean(p_endDebug)) then
816: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
817: end if;
818: exception
819: when fnd_api.g_exc_unexpected_error then
815: if(fnd_api.to_boolean(p_endDebug)) then
816: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
817: end if;
818: exception
819: when fnd_api.g_exc_unexpected_error then
820: rollback to wipbflpb20;
821: if (l_logLevel <= wip_constants.trace_logging) then
822: wip_logger.exitPoint(p_procName => 'wip_bflProc_priv.processRequirements',
823: p_procReturnStatus => x_returnStatus,
824: p_msg => l_errMsg,
825: x_returnStatus => l_returnStatus); --discard logging return status
826: end if;
827:
828: if(fnd_api.to_boolean(p_endDebug)) then
829: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
830: end if;
831: when others then
832: rollback to wipbflpb20;
829: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
830: end if;
831: when others then
832: rollback to wipbflpb20;
833: x_returnStatus := fnd_api.g_ret_sts_unexp_error;--unexpec error if exception occurs
834: fnd_msg_pub.add_exc_msg(p_pkg_name => 'wip_bflProc_priv',
835: p_procedure_name => 'processRequirements',
836: p_error_text => SQLERRM);
837: if (l_logLevel <= wip_constants.trace_logging) then
840: p_msg => 'unexpected error: ' || SQLERRM,
841: x_returnStatus => l_returnStatus); --discard logging return status
842: end if;
843:
844: if(fnd_api.to_boolean(p_endDebug)) then
845: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
846: end if;
847: end processRequirements;
848:
993: multiple_factor number ; /* LBM Project */
994: begin
995: savepoint wipbflpb30;
996:
997: if(fnd_api.to_boolean(p_initMsgList)) then
998: fnd_msg_pub.initialize;
999: end if;
1000:
1001: if (l_logLevel <= wip_constants.trace_logging) then
1013: l_params(6).paramValue := p_qty;
1014: wip_logger.entryPoint(p_procName => 'wip_bflProc_priv.explodeRequirements',
1015: p_params => l_params,
1016: x_returnStatus => x_returnStatus);
1017: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
1018: raise fnd_api.g_exc_unexpected_error;
1019: end if;
1020: end if;
1021:
1014: wip_logger.entryPoint(p_procName => 'wip_bflProc_priv.explodeRequirements',
1015: p_params => l_params,
1016: x_returnStatus => x_returnStatus);
1017: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
1018: raise fnd_api.g_exc_unexpected_error;
1019: end if;
1020: end if;
1021:
1022: begin
1065: );
1066: end if;
1067: exception
1068: when no_data_found then
1069: x_returnStatus := fnd_api.g_ret_sts_success;
1070: x_compTbl := system.wip_component_tbl_t();
1071:
1072: if (l_logLevel <= wip_constants.trace_logging) then
1073: wip_logger.exitPoint(p_procName => 'wip_bflProc_priv.explodeRequirements',
1075: p_msg => 'no bom for this item!',
1076: x_returnStatus => l_returnStatus); --discard logging return status
1077: end if;
1078:
1079: if(fnd_api.to_boolean(p_endDebug)) then
1080: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
1081: end if;
1082: return;
1083: end;
1104: when no_data_found then --assume bom parameters not defined. the item_id should be valid.
1105: fnd_message.set_name('BOM', 'BOM_PARAMETER_SETUP');
1106: fnd_msg_pub.add;
1107: l_errMsg := 'no bom parameters';
1108: raise fnd_api.g_exc_unexpected_error;
1109: end;
1110:
1111: /* Fix for bug 5383135. To honour the profile 'WIP:Exclude ECOs',
1112: pass its value to bom exploder */
1153: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
1154: fnd_message.set_token('MESSAGE', l_msgData);
1155: fnd_msg_pub.add;
1156: l_errMsg := 'BOM exploder failed';
1157: raise fnd_api.g_exc_unexpected_error;
1158: end if;
1159:
1160: /* Fix for Bug 5646262. Added code to check if there are any LOOP in BOM */
1161: select count(1) into l_errCode from bom_explosion_temp
1164: if(l_errCode <> 0) then
1165: fnd_message.set_name('WIP', 'WIP_BOM_LOOP');
1166: fnd_msg_pub.add;
1167: l_errMsg := 'Loop In BOM Encountered';
1168: raise fnd_api.g_exc_unexpected_error;
1169: end if;
1170:
1171: --don't explode, just delete all exploded components
1172: if(l_bomItemType in (wip_constants.option_class_type, wip_constants.model_type)) then
1333: p_item_id => l_compRec.itemID,
1334: p_org_loc_control => null); --unused
1335: if(not l_success) then
1336: l_errMsg := 'PJM locator logic failed';
1337: raise fnd_api.g_exc_unexpected_error;
1338: end if;
1339:
1340: --if we are using a project/task locator, then set the project/task IDs
1341: if(p_projectID is not null and
1353: l_returnStatus,
1354: l_msgCount,
1355: l_msgData,
1356: l_locatorControl);
1357: if ( l_returnStatus <> fnd_api.g_ret_sts_success ) then
1358: l_errMsg := substr(l_msgData, 1, 240);
1359: raise fnd_api.g_exc_unexpected_error;
1360: end if;
1361:
1355: l_msgData,
1356: l_locatorControl);
1357: if ( l_returnStatus <> fnd_api.g_ret_sts_success ) then
1358: l_errMsg := substr(l_msgData, 1, 240);
1359: raise fnd_api.g_exc_unexpected_error;
1360: end if;
1361:
1362: if ( l_locatorControl = 1 ) then
1363: l_locID := null;
1429:
1430: --finally bom doesn't want us to leave anything in there temp table. delete the rows.
1431: delete bom_explosion_temp
1432: where group_id = l_grpID;
1433: x_returnStatus := fnd_api.g_ret_sts_success;
1434: if (l_logLevel <= wip_constants.trace_logging) then
1435: wip_logger.exitPoint(p_procName => 'wip_bflProc_priv.explodeRequirements',
1436: p_procReturnStatus => x_returnStatus,
1437: p_msg => 'procedure success',
1437: p_msg => 'procedure success',
1438: x_returnStatus => l_returnStatus); --discard logging return status
1439: end if;
1440:
1441: if(fnd_api.to_boolean(p_endDebug)) then
1442: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
1443: end if;
1444:
1445: exception
1442: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
1443: end if;
1444:
1445: exception
1446: when fnd_api.g_exc_unexpected_error then
1447: rollback to wipbflpb30;
1448: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
1449: if (l_logLevel <= wip_constants.trace_logging) then
1450: wip_logger.exitPoint(p_procName => 'wip_bflProc_priv.explodeRequirements',
1444:
1445: exception
1446: when fnd_api.g_exc_unexpected_error then
1447: rollback to wipbflpb30;
1448: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
1449: if (l_logLevel <= wip_constants.trace_logging) then
1450: wip_logger.exitPoint(p_procName => 'wip_bflProc_priv.explodeRequirements',
1451: p_procReturnStatus => x_returnStatus,
1452: p_msg => l_errMsg,
1452: p_msg => l_errMsg,
1453: x_returnStatus => l_returnStatus); --discard logging return status
1454: end if;
1455:
1456: if(fnd_api.to_boolean(p_endDebug)) then
1457: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
1458: end if;
1459:
1460: when others then
1458: end if;
1459:
1460: when others then
1461: rollback to wipbflpb30;
1462: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
1463: fnd_message.set_name('WIP', 'WIP_UNEXPECTED_ERROR');
1464: fnd_message.set_token('ERROR_TEXT', SQLERRM);
1465: fnd_msg_pub.add;
1466: if (l_logLevel <= wip_constants.trace_logging) then
1469: p_msg => 'unexpected error: ' || SQLERRM,
1470: x_returnStatus => l_returnStatus); --discard logging return status
1471: end if;
1472:
1473: if(fnd_api.to_boolean(p_endDebug)) then
1474: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
1475: end if;
1476: end explodeRequirements;
1477:
1719: p_firstMoveOp => null,
1720: p_lastMoveOp => null,
1721: p_lockFlag => p_lockFlag,
1722: p_batchSeq => l_batch_seq,
1723: p_mergeMode => fnd_api.g_true,
1724: p_reasonID => p_reasonID,
1725: p_reference => p_reference,
1726: p_initMsgList => fnd_api.g_false,
1727: p_endDebug => fnd_api.g_false,
1722: p_batchSeq => l_batch_seq,
1723: p_mergeMode => fnd_api.g_true,
1724: p_reasonID => p_reasonID,
1725: p_reference => p_reference,
1726: p_initMsgList => fnd_api.g_false,
1727: p_endDebug => fnd_api.g_false,
1728: p_mtlTxnMode => p_mtlTxnMode,
1729: x_compTbl => l_compTbl,
1730: x_returnStatus => l_returnStatus);
1723: p_mergeMode => fnd_api.g_true,
1724: p_reasonID => p_reasonID,
1725: p_reference => p_reference,
1726: p_initMsgList => fnd_api.g_false,
1727: p_endDebug => fnd_api.g_false,
1728: p_mtlTxnMode => p_mtlTxnMode,
1729: x_compTbl => l_compTbl,
1730: x_returnStatus => l_returnStatus);
1731:
1728: p_mtlTxnMode => p_mtlTxnMode,
1729: x_compTbl => l_compTbl,
1730: x_returnStatus => l_returnStatus);
1731:
1732: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
1733: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
1734: raise fnd_api.g_exc_unexpected_error;
1735: END IF;
1736: END LOOP;
1730: x_returnStatus => l_returnStatus);
1731:
1732: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
1733: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
1734: raise fnd_api.g_exc_unexpected_error;
1735: END IF;
1736: END LOOP;
1737:
1738: ELSE
1781: IF(l_proc_status = TVE_OVERCOMPLETION_MISMATCH) THEN
1782: fnd_message.set_name('WIP', 'WIP_OVERCOMPLETION_MISMATCH');
1783: fnd_msg_pub.add;
1784: l_errMsg := 'parent txn is not really overcompletion txn';
1785: raise fnd_api.g_exc_unexpected_error;
1786: ELSIF(l_proc_status = TVE_NO_MOVE_ALLOC) THEN
1787: fnd_message.set_name('WIP', 'WIP_LESS_OR_EQUAL');
1788: fnd_message.set_token('ENTITY1', 'transaction quantity');
1789: fnd_message.set_token('ENTITY2', 'quantity available to move');
1788: fnd_message.set_token('ENTITY1', 'transaction quantity');
1789: fnd_message.set_token('ENTITY2', 'quantity available to move');
1790: fnd_msg_pub.add;
1791: l_errMsg := 'available qty is not enough to fullfill move txn';
1792: raise fnd_api.g_exc_unexpected_error;
1793: ELSIF(l_proc_status = WIP_CONSTANTS.ERROR) THEN
1794: l_errMsg := 'wip_movProc_priv.schedule_alloc failed';
1795: raise fnd_api.g_exc_unexpected_error;
1796: END IF; -- check l_proc_status
1791: l_errMsg := 'available qty is not enough to fullfill move txn';
1792: raise fnd_api.g_exc_unexpected_error;
1793: ELSIF(l_proc_status = WIP_CONSTANTS.ERROR) THEN
1794: l_errMsg := 'wip_movProc_priv.schedule_alloc failed';
1795: raise fnd_api.g_exc_unexpected_error;
1796: END IF; -- check l_proc_status
1797: END IF; -- check p_fmMoveProcessor
1798:
1799: IF (l_logLevel <= wip_constants.full_logging) THEN
1825: x_last_bf_op => l_last_bf_op,
1826: x_bf_qty => l_bf_qty,
1827: x_returnStatus => l_returnStatus,
1828: x_errMessage => l_errMsg);
1829: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
1830: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
1831: fnd_message.set_token('MESSAGE', l_errMsg);
1832: fnd_msg_pub.add;
1833: raise fnd_api.g_exc_unexpected_error;
1829: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
1830: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
1831: fnd_message.set_token('MESSAGE', l_errMsg);
1832: fnd_msg_pub.add;
1833: raise fnd_api.g_exc_unexpected_error;
1834: END IF;
1835:
1836: IF(l_first_bf_op <> -1) THEN
1837: -- check forward transactions
1864: p_firstMoveOp => l_fm_op,
1865: p_lastMoveOp => l_to_op,
1866: p_lockFlag => p_lockFlag,
1867: p_batchSeq => l_batch_seq,
1868: p_mergeMode => fnd_api.g_true,
1869: p_reasonID => p_reasonID,
1870: p_reference => p_reference,
1871: p_initMsgList => fnd_api.g_false,
1872: p_endDebug => fnd_api.g_false,
1867: p_batchSeq => l_batch_seq,
1868: p_mergeMode => fnd_api.g_true,
1869: p_reasonID => p_reasonID,
1870: p_reference => p_reference,
1871: p_initMsgList => fnd_api.g_false,
1872: p_endDebug => fnd_api.g_false,
1873: p_mtlTxnMode => p_mtlTxnMode,
1874: x_compTbl => l_compTbl,
1875: x_returnStatus => l_returnStatus);
1868: p_mergeMode => fnd_api.g_true,
1869: p_reasonID => p_reasonID,
1870: p_reference => p_reference,
1871: p_initMsgList => fnd_api.g_false,
1872: p_endDebug => fnd_api.g_false,
1873: p_mtlTxnMode => p_mtlTxnMode,
1874: x_compTbl => l_compTbl,
1875: x_returnStatus => l_returnStatus);
1876:
1873: p_mtlTxnMode => p_mtlTxnMode,
1874: x_compTbl => l_compTbl,
1875: x_returnStatus => l_returnStatus);
1876:
1877: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
1878: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
1879: raise fnd_api.g_exc_unexpected_error;
1880: END IF;
1881: END LOOP;
1875: x_returnStatus => l_returnStatus);
1876:
1877: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
1878: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
1879: raise fnd_api.g_exc_unexpected_error;
1880: END IF;
1881: END LOOP;
1882: END IF; -- l_first_bf_op <> -1
1883:
1900: x_bf_qty => l_bf_qty,
1901: x_returnStatus => l_returnStatus,
1902: x_errMessage => l_errMsg);
1903:
1904: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
1905: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
1906: fnd_message.set_token('MESSAGE', l_errMsg);
1907: fnd_msg_pub.add;
1908: raise fnd_api.g_exc_unexpected_error;
1904: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
1905: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
1906: fnd_message.set_token('MESSAGE', l_errMsg);
1907: fnd_msg_pub.add;
1908: raise fnd_api.g_exc_unexpected_error;
1909: END IF;
1910:
1911: IF(l_first_bf_op <> -1) THEN
1912: -- check forward transactions
1939: p_firstMoveOp => l_fm_op,
1940: p_lastMoveOp => l_to_op,
1941: p_lockFlag => p_lockFlag,
1942: p_batchSeq => l_batch_seq,
1943: p_mergeMode => fnd_api.g_true,
1944: p_reasonID => p_reasonID,
1945: p_reference => p_reference,
1946: p_initMsgList => fnd_api.g_false,
1947: p_endDebug => fnd_api.g_false,
1942: p_batchSeq => l_batch_seq,
1943: p_mergeMode => fnd_api.g_true,
1944: p_reasonID => p_reasonID,
1945: p_reference => p_reference,
1946: p_initMsgList => fnd_api.g_false,
1947: p_endDebug => fnd_api.g_false,
1948: p_mtlTxnMode => p_mtlTxnMode,
1949: x_compTbl => l_compTbl,
1950: x_returnStatus => l_returnStatus);
1943: p_mergeMode => fnd_api.g_true,
1944: p_reasonID => p_reasonID,
1945: p_reference => p_reference,
1946: p_initMsgList => fnd_api.g_false,
1947: p_endDebug => fnd_api.g_false,
1948: p_mtlTxnMode => p_mtlTxnMode,
1949: x_compTbl => l_compTbl,
1950: x_returnStatus => l_returnStatus);
1951:
1948: p_mtlTxnMode => p_mtlTxnMode,
1949: x_compTbl => l_compTbl,
1950: x_returnStatus => l_returnStatus);
1951:
1952: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
1953: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
1954: raise fnd_api.g_exc_unexpected_error;
1955: END IF;
1956: END LOOP;
1950: x_returnStatus => l_returnStatus);
1951:
1952: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
1953: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
1954: raise fnd_api.g_exc_unexpected_error;
1955: END IF;
1956: END LOOP;
1957: END IF; -- l_first_bf_op <> -1
1958: END IF; -- call from Move form
2004: IF(l_proc_status = TVE_OVERCOMPLETION_MISMATCH) THEN
2005: fnd_message.set_name('WIP', 'WIP_OVERCOMPLETION_MISMATCH');
2006: fnd_msg_pub.add;
2007: l_errMsg := 'parent txn is not really overcompletion txn';
2008: raise fnd_api.g_exc_unexpected_error;
2009: ELSIF(l_proc_status = TVE_NO_MOVE_ALLOC) THEN
2010: fnd_message.set_name('WIP', 'WIP_LESS_OR_EQUAL');
2011: fnd_message.set_token('ENTITY1', 'transaction quantity');
2012: fnd_message.set_token('ENTITY2', 'quantity available to move');
2011: fnd_message.set_token('ENTITY1', 'transaction quantity');
2012: fnd_message.set_token('ENTITY2', 'quantity available to move');
2013: fnd_msg_pub.add;
2014: l_errMsg := 'available qty is not enough to fullfill move txn';
2015: raise fnd_api.g_exc_unexpected_error;
2016: ELSIF(l_proc_status = WIP_CONSTANTS.ERROR) THEN
2017: l_errMsg := 'wip_movProc_priv.schedule_alloc failed';
2018: raise fnd_api.g_exc_unexpected_error;
2019: END IF; -- check l_proc_status
2014: l_errMsg := 'available qty is not enough to fullfill move txn';
2015: raise fnd_api.g_exc_unexpected_error;
2016: ELSIF(l_proc_status = WIP_CONSTANTS.ERROR) THEN
2017: l_errMsg := 'wip_movProc_priv.schedule_alloc failed';
2018: raise fnd_api.g_exc_unexpected_error;
2019: END IF; -- check l_proc_status
2020: END IF; -- check p_fmMoveProcessor
2021:
2022: IF (l_logLevel <= wip_constants.full_logging) THEN
2063: p_firstMoveOp => null,
2064: p_lastMoveOp => null,
2065: p_lockFlag => p_lockFlag,
2066: p_batchSeq => l_batch_seq,
2067: p_mergeMode => fnd_api.g_true,
2068: p_reasonID => p_reasonID,
2069: p_reference => p_reference,
2070: p_initMsgList => fnd_api.g_false,
2071: p_endDebug => fnd_api.g_false,
2066: p_batchSeq => l_batch_seq,
2067: p_mergeMode => fnd_api.g_true,
2068: p_reasonID => p_reasonID,
2069: p_reference => p_reference,
2070: p_initMsgList => fnd_api.g_false,
2071: p_endDebug => fnd_api.g_false,
2072: p_mtlTxnMode => p_mtlTxnMode,
2073: x_compTbl => l_compTbl,
2074: x_returnStatus => l_returnStatus);
2067: p_mergeMode => fnd_api.g_true,
2068: p_reasonID => p_reasonID,
2069: p_reference => p_reference,
2070: p_initMsgList => fnd_api.g_false,
2071: p_endDebug => fnd_api.g_false,
2072: p_mtlTxnMode => p_mtlTxnMode,
2073: x_compTbl => l_compTbl,
2074: x_returnStatus => l_returnStatus);
2075:
2072: p_mtlTxnMode => p_mtlTxnMode,
2073: x_compTbl => l_compTbl,
2074: x_returnStatus => l_returnStatus);
2075:
2076: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2077: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
2078: raise fnd_api.g_exc_unexpected_error;
2079: END IF;
2080: END LOOP;
2074: x_returnStatus => l_returnStatus);
2075:
2076: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2077: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
2078: raise fnd_api.g_exc_unexpected_error;
2079: END IF;
2080: END LOOP;
2081: END IF; -- Completion/return txns
2082: END IF; -- call from completion form
2137: IF(l_proc_status = TVE_OVERCOMPLETION_MISMATCH) THEN
2138: fnd_message.set_name('WIP', 'WIP_OVERCOMPLETION_MISMATCH');
2139: fnd_msg_pub.add;
2140: l_errMsg := 'parent txn is not really overcompletion txn';
2141: raise fnd_api.g_exc_unexpected_error;
2142: ELSIF(l_proc_status = TVE_NO_MOVE_ALLOC) THEN
2143: fnd_message.set_name('WIP', 'WIP_LESS_OR_EQUAL');
2144: fnd_message.set_token('ENTITY1', 'transaction quantity');
2145: fnd_message.set_token('ENTITY2', 'quantity available to move');
2144: fnd_message.set_token('ENTITY1', 'transaction quantity');
2145: fnd_message.set_token('ENTITY2', 'quantity available to move');
2146: fnd_msg_pub.add;
2147: l_errMsg := 'available qty is not enough to fullfill move txn';
2148: raise fnd_api.g_exc_unexpected_error;
2149: ELSIF(l_proc_status = WIP_CONSTANTS.ERROR) THEN
2150: l_errMsg := 'wip_movProc_priv.schedule_alloc failed';
2151: raise fnd_api.g_exc_unexpected_error;
2152: END IF; -- check l_proc_status
2147: l_errMsg := 'available qty is not enough to fullfill move txn';
2148: raise fnd_api.g_exc_unexpected_error;
2149: ELSIF(l_proc_status = WIP_CONSTANTS.ERROR) THEN
2150: l_errMsg := 'wip_movProc_priv.schedule_alloc failed';
2151: raise fnd_api.g_exc_unexpected_error;
2152: END IF; -- check l_proc_status
2153: END IF; -- check p_fmMoveProcessor
2154:
2155: IF (l_logLevel <= wip_constants.full_logging) THEN
2177: x_last_bf_op => l_last_bf_op,
2178: x_bf_qty => l_bf_qty,
2179: x_returnStatus => l_returnStatus,
2180: x_errMessage => l_errMsg);
2181: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2182: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
2183: fnd_message.set_token('MESSAGE', l_errMsg);
2184: fnd_msg_pub.add;
2185: raise fnd_api.g_exc_unexpected_error;
2181: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2182: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
2183: fnd_message.set_token('MESSAGE', l_errMsg);
2184: fnd_msg_pub.add;
2185: raise fnd_api.g_exc_unexpected_error;
2186: END IF;
2187: IF(l_first_bf_op <> -1) THEN
2188: -- check forward transactions
2189: IF(l_bf_qty > 0) THEN
2215: p_firstMoveOp => l_fm_op,
2216: p_lastMoveOp => l_to_op,
2217: p_batchSeq => l_batch_seq,
2218: p_lockFlag => p_lockFlag,
2219: p_mergeMode => fnd_api.g_true,
2220: p_reasonID => p_reasonID,
2221: p_reference => p_reference,
2222: p_initMsgList => fnd_api.g_false,
2223: p_endDebug => fnd_api.g_false,
2218: p_lockFlag => p_lockFlag,
2219: p_mergeMode => fnd_api.g_true,
2220: p_reasonID => p_reasonID,
2221: p_reference => p_reference,
2222: p_initMsgList => fnd_api.g_false,
2223: p_endDebug => fnd_api.g_false,
2224: p_mtlTxnMode => p_mtlTxnMode,
2225: x_compTbl => l_compTbl,
2226: x_returnStatus => l_returnStatus);
2219: p_mergeMode => fnd_api.g_true,
2220: p_reasonID => p_reasonID,
2221: p_reference => p_reference,
2222: p_initMsgList => fnd_api.g_false,
2223: p_endDebug => fnd_api.g_false,
2224: p_mtlTxnMode => p_mtlTxnMode,
2225: x_compTbl => l_compTbl,
2226: x_returnStatus => l_returnStatus);
2227:
2224: p_mtlTxnMode => p_mtlTxnMode,
2225: x_compTbl => l_compTbl,
2226: x_returnStatus => l_returnStatus);
2227:
2228: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2229: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
2230: raise fnd_api.g_exc_unexpected_error;
2231: END IF;
2232: END LOOP;
2226: x_returnStatus => l_returnStatus);
2227:
2228: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2229: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
2230: raise fnd_api.g_exc_unexpected_error;
2231: END IF;
2232: END LOOP;
2233: END IF; -- l_first_bf_op <> -1
2234: -- Call assy_pull_bf to derive first_bf_op, last_bf_op,
2250: x_bf_qty => l_bf_qty,
2251: x_returnStatus => l_returnStatus,
2252: x_errMessage => l_errMsg);
2253:
2254: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2255: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
2256: fnd_message.set_token('MESSAGE', l_errMsg);
2257: fnd_msg_pub.add;
2258: raise fnd_api.g_exc_unexpected_error;
2254: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2255: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
2256: fnd_message.set_token('MESSAGE', l_errMsg);
2257: fnd_msg_pub.add;
2258: raise fnd_api.g_exc_unexpected_error;
2259: END IF;
2260:
2261: IF(l_first_bf_op <> -1) THEN
2262: -- check forward transactions
2289: p_firstMoveOp => l_fm_op,
2290: p_lastMoveOp => l_to_op,
2291: p_lockFlag => p_lockFlag,
2292: p_batchSeq => l_batch_seq,
2293: p_mergeMode => fnd_api.g_true,
2294: p_reasonID => p_reasonID,
2295: p_reference => p_reference,
2296: p_initMsgList => fnd_api.g_false,
2297: p_endDebug => fnd_api.g_false,
2292: p_batchSeq => l_batch_seq,
2293: p_mergeMode => fnd_api.g_true,
2294: p_reasonID => p_reasonID,
2295: p_reference => p_reference,
2296: p_initMsgList => fnd_api.g_false,
2297: p_endDebug => fnd_api.g_false,
2298: p_mtlTxnMode => p_mtlTxnMode,
2299: x_compTbl => l_compTbl,
2300: x_returnStatus => l_returnStatus);
2293: p_mergeMode => fnd_api.g_true,
2294: p_reasonID => p_reasonID,
2295: p_reference => p_reference,
2296: p_initMsgList => fnd_api.g_false,
2297: p_endDebug => fnd_api.g_false,
2298: p_mtlTxnMode => p_mtlTxnMode,
2299: x_compTbl => l_compTbl,
2300: x_returnStatus => l_returnStatus);
2301:
2298: p_mtlTxnMode => p_mtlTxnMode,
2299: x_compTbl => l_compTbl,
2300: x_returnStatus => l_returnStatus);
2301:
2302: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2303: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
2304: raise fnd_api.g_exc_unexpected_error;
2305: END IF;
2306: END LOOP;
2300: x_returnStatus => l_returnStatus);
2301:
2302: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2303: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
2304: raise fnd_api.g_exc_unexpected_error;
2305: END IF;
2306: END LOOP;
2307: END IF; -- l_first_bf_op <> -1
2308: END IF;-- -- overmove/overcomplete
2326: x_last_bf_op => l_last_bf_op,
2327: x_bf_qty => l_bf_qty,
2328: x_returnStatus => l_returnStatus,
2329: x_errMessage => l_errMsg);
2330: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2331: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
2332: fnd_message.set_token('MESSAGE', l_errMsg);
2333: fnd_msg_pub.add;
2334: raise fnd_api.g_exc_unexpected_error;
2330: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2331: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
2332: fnd_message.set_token('MESSAGE', l_errMsg);
2333: fnd_msg_pub.add;
2334: raise fnd_api.g_exc_unexpected_error;
2335: END IF;
2336: IF(l_first_bf_op <> -1) THEN
2337: wip_bflProc_priv.processRequirements
2338: (p_wipEntityID => p_wipEntityID,
2352: p_firstMoveOp => l_fm_op,
2353: p_lastMoveOp => l_to_op,
2354: p_batchSeq => l_batch_seq,
2355: p_lockFlag => p_lockFlag,
2356: p_mergeMode => fnd_api.g_false,
2357: p_reasonID => p_reasonID,
2358: p_reference => p_reference,
2359: p_initMsgList => fnd_api.g_false,
2360: p_endDebug => fnd_api.g_false,
2355: p_lockFlag => p_lockFlag,
2356: p_mergeMode => fnd_api.g_false,
2357: p_reasonID => p_reasonID,
2358: p_reference => p_reference,
2359: p_initMsgList => fnd_api.g_false,
2360: p_endDebug => fnd_api.g_false,
2361: p_mtlTxnMode => p_mtlTxnMode,
2362: x_compTbl => l_compTbl,
2363: x_returnStatus => l_returnStatus);
2356: p_mergeMode => fnd_api.g_false,
2357: p_reasonID => p_reasonID,
2358: p_reference => p_reference,
2359: p_initMsgList => fnd_api.g_false,
2360: p_endDebug => fnd_api.g_false,
2361: p_mtlTxnMode => p_mtlTxnMode,
2362: x_compTbl => l_compTbl,
2363: x_returnStatus => l_returnStatus);
2364:
2361: p_mtlTxnMode => p_mtlTxnMode,
2362: x_compTbl => l_compTbl,
2363: x_returnStatus => l_returnStatus);
2364:
2365: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2366: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
2367: raise fnd_api.g_exc_unexpected_error;
2368: END IF;
2369: END IF; -- l_first_bf_op <> -1
2363: x_returnStatus => l_returnStatus);
2364:
2365: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2366: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
2367: raise fnd_api.g_exc_unexpected_error;
2368: END IF;
2369: END IF; -- l_first_bf_op <> -1
2370:
2371: -- Call assy_pull_bf to derive first_bf_op, last_bf_op,
2387: x_bf_qty => l_bf_qty,
2388: x_returnStatus => l_returnStatus,
2389: x_errMessage => l_errMsg);
2390:
2391: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2392: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
2393: fnd_message.set_token('MESSAGE', l_errMsg);
2394: fnd_msg_pub.add;
2395: raise fnd_api.g_exc_unexpected_error;
2391: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2392: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
2393: fnd_message.set_token('MESSAGE', l_errMsg);
2394: fnd_msg_pub.add;
2395: raise fnd_api.g_exc_unexpected_error;
2396: END IF;
2397: IF(l_first_bf_op <> -1) THEN
2398:
2399: /**
2419: p_firstMoveOp => l_fm_op,
2420: p_lastMoveOp => l_to_op,
2421: p_batchSeq => l_batch_seq,
2422: p_lockFlag => p_lockFlag,
2423: p_mergeMode => fnd_api.g_false,
2424: p_reasonID => p_reasonID,
2425: p_reference => p_reference,
2426: p_initMsgList => fnd_api.g_false,
2427: p_endDebug => fnd_api.g_false,
2422: p_lockFlag => p_lockFlag,
2423: p_mergeMode => fnd_api.g_false,
2424: p_reasonID => p_reasonID,
2425: p_reference => p_reference,
2426: p_initMsgList => fnd_api.g_false,
2427: p_endDebug => fnd_api.g_false,
2428: p_mtlTxnMode => p_mtlTxnMode,
2429: x_compTbl => l_compTbl,
2430: x_returnStatus => l_returnStatus);
2423: p_mergeMode => fnd_api.g_false,
2424: p_reasonID => p_reasonID,
2425: p_reference => p_reference,
2426: p_initMsgList => fnd_api.g_false,
2427: p_endDebug => fnd_api.g_false,
2428: p_mtlTxnMode => p_mtlTxnMode,
2429: x_compTbl => l_compTbl,
2430: x_returnStatus => l_returnStatus);
2431:
2428: p_mtlTxnMode => p_mtlTxnMode,
2429: x_compTbl => l_compTbl,
2430: x_returnStatus => l_returnStatus);
2431:
2432: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2433: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
2434: raise fnd_api.g_exc_unexpected_error;
2435: END IF;
2436: END IF; -- l_first_bf_op <> -1
2430: x_returnStatus => l_returnStatus);
2431:
2432: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2433: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
2434: raise fnd_api.g_exc_unexpected_error;
2435: END IF;
2436: END IF; -- l_first_bf_op <> -1
2437: END IF; -- call from Move form
2438:
2466: p_firstMoveOp => null,
2467: p_lastMoveOp => null,
2468: p_lockFlag => p_lockFlag,
2469: p_batchSeq => l_batch_seq,
2470: p_mergeMode => fnd_api.g_false,
2471: p_reasonID => p_reasonID,
2472: p_reference => p_reference,
2473: p_initMsgList => fnd_api.g_false,
2474: p_endDebug => fnd_api.g_false,
2469: p_batchSeq => l_batch_seq,
2470: p_mergeMode => fnd_api.g_false,
2471: p_reasonID => p_reasonID,
2472: p_reference => p_reference,
2473: p_initMsgList => fnd_api.g_false,
2474: p_endDebug => fnd_api.g_false,
2475: p_mtlTxnMode => p_mtlTxnMode,
2476: x_compTbl => l_compTbl,
2477: x_returnStatus => l_returnStatus);
2470: p_mergeMode => fnd_api.g_false,
2471: p_reasonID => p_reasonID,
2472: p_reference => p_reference,
2473: p_initMsgList => fnd_api.g_false,
2474: p_endDebug => fnd_api.g_false,
2475: p_mtlTxnMode => p_mtlTxnMode,
2476: x_compTbl => l_compTbl,
2477: x_returnStatus => l_returnStatus);
2478:
2475: p_mtlTxnMode => p_mtlTxnMode,
2476: x_compTbl => l_compTbl,
2477: x_returnStatus => l_returnStatus);
2478:
2479: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2480: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
2481: raise fnd_api.g_exc_unexpected_error;
2482: END IF;
2483: END IF; -- Completion/Return/EZ Completion/EZ Return
2477: x_returnStatus => l_returnStatus);
2478:
2479: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2480: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
2481: raise fnd_api.g_exc_unexpected_error;
2482: END IF;
2483: END IF; -- Completion/Return/EZ Completion/EZ Return
2484:
2485: -- Check whether overcompletion
2513: x_last_bf_op => l_last_bf_op,
2514: x_bf_qty => l_bf_qty,
2515: x_returnStatus => l_returnStatus,
2516: x_errMessage => l_errMsg);
2517: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2518: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
2519: fnd_message.set_token('MESSAGE', l_errMsg);
2520: fnd_msg_pub.add;
2521: raise fnd_api.g_exc_unexpected_error;
2517: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2518: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
2519: fnd_message.set_token('MESSAGE', l_errMsg);
2520: fnd_msg_pub.add;
2521: raise fnd_api.g_exc_unexpected_error;
2522: END IF;
2523: IF(l_first_bf_op <> -1) THEN
2524: /**
2525: * Call backflush processor to insert record into MMTT
2544: p_firstMoveOp => l_fm_op,
2545: p_lastMoveOp => l_to_op,
2546: p_batchSeq => l_batch_seq,
2547: p_lockFlag => p_lockFlag,
2548: p_mergeMode => fnd_api.g_false,
2549: p_reasonID => p_reasonID,
2550: p_reference => p_reference,
2551: p_initMsgList => fnd_api.g_false,
2552: p_endDebug => fnd_api.g_false,
2547: p_lockFlag => p_lockFlag,
2548: p_mergeMode => fnd_api.g_false,
2549: p_reasonID => p_reasonID,
2550: p_reference => p_reference,
2551: p_initMsgList => fnd_api.g_false,
2552: p_endDebug => fnd_api.g_false,
2553: p_mtlTxnMode => p_mtlTxnMode,
2554: x_compTbl => l_compTbl,
2555: x_returnStatus => l_returnStatus);
2548: p_mergeMode => fnd_api.g_false,
2549: p_reasonID => p_reasonID,
2550: p_reference => p_reference,
2551: p_initMsgList => fnd_api.g_false,
2552: p_endDebug => fnd_api.g_false,
2553: p_mtlTxnMode => p_mtlTxnMode,
2554: x_compTbl => l_compTbl,
2555: x_returnStatus => l_returnStatus);
2556:
2553: p_mtlTxnMode => p_mtlTxnMode,
2554: x_compTbl => l_compTbl,
2555: x_returnStatus => l_returnStatus);
2556:
2557: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2558: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
2559: raise fnd_api.g_exc_unexpected_error;
2560: END IF;
2561: END IF; -- l_first_bf_op <> -1
2555: x_returnStatus => l_returnStatus);
2556:
2557: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2558: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
2559: raise fnd_api.g_exc_unexpected_error;
2560: END IF;
2561: END IF; -- l_first_bf_op <> -1
2562:
2563: -- Call assy_pull_bf to derive first_bf_op, last_bf_op,
2579: x_bf_qty => l_bf_qty,
2580: x_returnStatus => l_returnStatus,
2581: x_errMessage => l_errMsg);
2582:
2583: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2584: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
2585: fnd_message.set_token('MESSAGE', l_errMsg);
2586: fnd_msg_pub.add;
2587: raise fnd_api.g_exc_unexpected_error;
2583: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2584: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
2585: fnd_message.set_token('MESSAGE', l_errMsg);
2586: fnd_msg_pub.add;
2587: raise fnd_api.g_exc_unexpected_error;
2588: END IF;
2589: IF(l_first_bf_op <> -1) THEN
2590: /**
2591: * Call backflush processor to insert record into MMTT
2610: p_firstMoveOp => l_fm_op,
2611: p_lastMoveOp => l_to_op,
2612: p_lockFlag => p_lockFlag,
2613: p_batchSeq => l_batch_seq,
2614: p_mergeMode => fnd_api.g_false,
2615: p_reasonID => p_reasonID,
2616: p_reference => p_reference,
2617: p_initMsgList => fnd_api.g_false,
2618: p_endDebug => fnd_api.g_false,
2613: p_batchSeq => l_batch_seq,
2614: p_mergeMode => fnd_api.g_false,
2615: p_reasonID => p_reasonID,
2616: p_reference => p_reference,
2617: p_initMsgList => fnd_api.g_false,
2618: p_endDebug => fnd_api.g_false,
2619: p_mtlTxnMode => p_mtlTxnMode,
2620: x_compTbl => l_compTbl,
2621: x_returnStatus => l_returnStatus);
2614: p_mergeMode => fnd_api.g_false,
2615: p_reasonID => p_reasonID,
2616: p_reference => p_reference,
2617: p_initMsgList => fnd_api.g_false,
2618: p_endDebug => fnd_api.g_false,
2619: p_mtlTxnMode => p_mtlTxnMode,
2620: x_compTbl => l_compTbl,
2621: x_returnStatus => l_returnStatus);
2622:
2619: p_mtlTxnMode => p_mtlTxnMode,
2620: x_compTbl => l_compTbl,
2621: x_returnStatus => l_returnStatus);
2622:
2623: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2624: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
2625: raise fnd_api.g_exc_unexpected_error;
2626: END IF;
2627: END IF; -- l_first_bf_op <> -1
2621: x_returnStatus => l_returnStatus);
2622:
2623: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
2624: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
2625: raise fnd_api.g_exc_unexpected_error;
2626: END IF;
2627: END IF; -- l_first_bf_op <> -1
2628: END IF; -- Overmove/ Overcompletion
2629: END IF; -- Repetive schedule
2681: p_txnHdrID => p_txnHdrID,
2682: p_cplTxnID => p_cplTxnID,
2683: p_movTxnID => p_movTxnID,
2684: p_childMovTxnID => p_childMovTxnID,
2685: p_initMsgList => fnd_api.g_false,
2686: p_endDebug => fnd_api.g_false,
2687: x_returnStatus => l_returnStatus);
2688: IF(l_returnStatus = fnd_api.g_ret_sts_unexp_error) THEN
2689: l_errMsg := 'wip_autoLotProc_priv.deriveLotsFromMTI failed';
2682: p_cplTxnID => p_cplTxnID,
2683: p_movTxnID => p_movTxnID,
2684: p_childMovTxnID => p_childMovTxnID,
2685: p_initMsgList => fnd_api.g_false,
2686: p_endDebug => fnd_api.g_false,
2687: x_returnStatus => l_returnStatus);
2688: IF(l_returnStatus = fnd_api.g_ret_sts_unexp_error) THEN
2689: l_errMsg := 'wip_autoLotProc_priv.deriveLotsFromMTI failed';
2690: raise fnd_api.g_exc_unexpected_error;
2684: p_childMovTxnID => p_childMovTxnID,
2685: p_initMsgList => fnd_api.g_false,
2686: p_endDebug => fnd_api.g_false,
2687: x_returnStatus => l_returnStatus);
2688: IF(l_returnStatus = fnd_api.g_ret_sts_unexp_error) THEN
2689: l_errMsg := 'wip_autoLotProc_priv.deriveLotsFromMTI failed';
2690: raise fnd_api.g_exc_unexpected_error;
2691: ELSIF(l_returnStatus = fnd_api.g_ret_sts_error) THEN
2692: x_bfRequired := WIP_CONSTANTS.WBF_BF_PAGE;
2686: p_endDebug => fnd_api.g_false,
2687: x_returnStatus => l_returnStatus);
2688: IF(l_returnStatus = fnd_api.g_ret_sts_unexp_error) THEN
2689: l_errMsg := 'wip_autoLotProc_priv.deriveLotsFromMTI failed';
2690: raise fnd_api.g_exc_unexpected_error;
2691: ELSIF(l_returnStatus = fnd_api.g_ret_sts_error) THEN
2692: x_bfRequired := WIP_CONSTANTS.WBF_BF_PAGE;
2693: x_lotSerRequired := WIP_CONSTANTS.YES;
2694: ELSE -- succesfully derived lot
2687: x_returnStatus => l_returnStatus);
2688: IF(l_returnStatus = fnd_api.g_ret_sts_unexp_error) THEN
2689: l_errMsg := 'wip_autoLotProc_priv.deriveLotsFromMTI failed';
2690: raise fnd_api.g_exc_unexpected_error;
2691: ELSIF(l_returnStatus = fnd_api.g_ret_sts_error) THEN
2692: x_bfRequired := WIP_CONSTANTS.WBF_BF_PAGE;
2693: x_lotSerRequired := WIP_CONSTANTS.YES;
2694: ELSE -- succesfully derived lot
2695: IF(l_lot_entry_type IN (WIP_CONSTANTS.RECDATE_FULL,
2710: IF(p_tblName = WIP_CONSTANTS.MMTT_TBL) THEN
2711: -- Move record from mti to mmtt
2712: wip_mtlTempProc_priv.validateInterfaceTxns(
2713: p_txnHdrID => p_txnHdrID,
2714: p_addMsgToStack => fnd_api.g_true,
2715: p_initMsgList => fnd_api.g_true, /* Bug 5017345/5079379 - to initialize the message stack. */
2716: p_rollbackOnErr => fnd_api.g_false,
2717: x_returnStatus => x_returnStatus);
2718:
2711: -- Move record from mti to mmtt
2712: wip_mtlTempProc_priv.validateInterfaceTxns(
2713: p_txnHdrID => p_txnHdrID,
2714: p_addMsgToStack => fnd_api.g_true,
2715: p_initMsgList => fnd_api.g_true, /* Bug 5017345/5079379 - to initialize the message stack. */
2716: p_rollbackOnErr => fnd_api.g_false,
2717: x_returnStatus => x_returnStatus);
2718:
2719: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN
2712: wip_mtlTempProc_priv.validateInterfaceTxns(
2713: p_txnHdrID => p_txnHdrID,
2714: p_addMsgToStack => fnd_api.g_true,
2715: p_initMsgList => fnd_api.g_true, /* Bug 5017345/5079379 - to initialize the message stack. */
2716: p_rollbackOnErr => fnd_api.g_false,
2717: x_returnStatus => x_returnStatus);
2718:
2719: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN
2720: l_errMsg := 'wip_mtlTempProc_priv.validateInterfaceTxns failed' ;
2715: p_initMsgList => fnd_api.g_true, /* Bug 5017345/5079379 - to initialize the message stack. */
2716: p_rollbackOnErr => fnd_api.g_false,
2717: x_returnStatus => x_returnStatus);
2718:
2719: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN
2720: l_errMsg := 'wip_mtlTempProc_priv.validateInterfaceTxns failed' ;
2721: raise fnd_api.g_exc_unexpected_error;
2722: END IF;
2723:
2717: x_returnStatus => x_returnStatus);
2718:
2719: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN
2720: l_errMsg := 'wip_mtlTempProc_priv.validateInterfaceTxns failed' ;
2721: raise fnd_api.g_exc_unexpected_error;
2722: END IF;
2723:
2724: -- Insert all necessary info that need to be used by inventory form to
2725: -- gather lot/serial from the user
2874: */
2875: END IF; -- x_bfRequired = WIP_CONSTANTS.WBF_BF_PAGE
2876: END IF; -- WIP_CONSTANTS.MMTT_TBL
2877:
2878: x_returnStatus := fnd_api.g_ret_sts_success;
2879: IF (l_logLevel <= wip_constants.trace_logging) THEN
2880: wip_logger.exitPoint(p_procName => 'wip_bflProc_priv.backflush',
2881: p_procReturnStatus => x_returnStatus,
2882: p_msg => 'Succesfully inserted components into MMTT',
2882: p_msg => 'Succesfully inserted components into MMTT',
2883: x_returnStatus => l_returnStatus);
2884: END IF;
2885: EXCEPTION
2886: WHEN fnd_api.g_exc_unexpected_error THEN
2887: ROLLBACK TO SAVEPOINT s_backflush;
2888: x_returnStatus := fnd_api.g_ret_sts_error;
2889: IF (l_logLevel <= wip_constants.trace_logging) THEN
2890: wip_logger.exitPoint(p_procName => 'wip_bflProc_priv.backflush',
2884: END IF;
2885: EXCEPTION
2886: WHEN fnd_api.g_exc_unexpected_error THEN
2887: ROLLBACK TO SAVEPOINT s_backflush;
2888: x_returnStatus := fnd_api.g_ret_sts_error;
2889: IF (l_logLevel <= wip_constants.trace_logging) THEN
2890: wip_logger.exitPoint(p_procName => 'wip_bflProc_priv.backflush',
2891: p_procReturnStatus => x_returnStatus,
2892: p_msg => l_errMsg,
2893: x_returnStatus => l_returnStatus);
2894: END IF;
2895: WHEN others THEN
2896: ROLLBACK TO SAVEPOINT s_backflush;
2897: x_returnStatus := fnd_api.g_ret_sts_error;
2898: IF (l_logLevel <= wip_constants.trace_logging) THEN
2899: wip_logger.exitPoint(p_procName => 'wip_bflProc_priv.backflush',
2900: p_procReturnStatus => x_returnStatus,
2901: p_msg => 'Unexpected error : ' || SQLERRM,
3072: x_last_bf_op => l_last_bf_op,
3073: x_bf_qty => l_bf_qty,
3074: x_returnStatus => l_returnStatus,
3075: x_errMessage => l_errMsg);
3076: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3077: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
3078: fnd_message.set_token('MESSAGE', l_errMsg);
3079: fnd_msg_pub.add;
3080: raise fnd_api.g_exc_unexpected_error;
3076: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3077: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
3078: fnd_message.set_token('MESSAGE', l_errMsg);
3079: fnd_msg_pub.add;
3080: raise fnd_api.g_exc_unexpected_error;
3081: END IF;
3082: IF(l_first_bf_op <> -1) THEN
3083: wip_bflProc_priv.processRequirements
3084: (p_wipEntityID => p_wipEntityID,
3093: p_firstOp => l_first_bf_op,
3094: p_lastOP => l_last_bf_op,
3095: p_firstMoveOp => l_fm_op,
3096: p_lastMoveOp => l_to_op,
3097: p_mergeMode => fnd_api.g_false,
3098: p_initMsgList => fnd_api.g_false,
3099: p_endDebug => fnd_api.g_false,
3100: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3101: x_compTbl => l_compTbl,
3094: p_lastOP => l_last_bf_op,
3095: p_firstMoveOp => l_fm_op,
3096: p_lastMoveOp => l_to_op,
3097: p_mergeMode => fnd_api.g_false,
3098: p_initMsgList => fnd_api.g_false,
3099: p_endDebug => fnd_api.g_false,
3100: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3101: x_compTbl => l_compTbl,
3102: x_returnStatus => l_returnStatus);
3095: p_firstMoveOp => l_fm_op,
3096: p_lastMoveOp => l_to_op,
3097: p_mergeMode => fnd_api.g_false,
3098: p_initMsgList => fnd_api.g_false,
3099: p_endDebug => fnd_api.g_false,
3100: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3101: x_compTbl => l_compTbl,
3102: x_returnStatus => l_returnStatus);
3103:
3100: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3101: x_compTbl => l_compTbl,
3102: x_returnStatus => l_returnStatus);
3103:
3104: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3105: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
3106: raise fnd_api.g_exc_unexpected_error;
3107: END IF;
3108: END IF; -- l_first_bf_op <> -1
3102: x_returnStatus => l_returnStatus);
3103:
3104: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3105: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
3106: raise fnd_api.g_exc_unexpected_error;
3107: END IF;
3108: END IF; -- l_first_bf_op <> -1
3109:
3110: -- Call assy_pull_bf to derive first_bf_op, last_bf_op,
3126: x_bf_qty => l_bf_qty,
3127: x_returnStatus => l_returnStatus,
3128: x_errMessage => l_errMsg);
3129:
3130: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3131: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
3132: fnd_message.set_token('MESSAGE', l_errMsg);
3133: fnd_msg_pub.add;
3134: raise fnd_api.g_exc_unexpected_error;
3130: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3131: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
3132: fnd_message.set_token('MESSAGE', l_errMsg);
3133: fnd_msg_pub.add;
3134: raise fnd_api.g_exc_unexpected_error;
3135: END IF;
3136: IF(l_first_bf_op <> -1) THEN
3137: wip_bflProc_priv.processRequirements
3138: (p_wipEntityID => p_wipEntityID,
3147: p_firstOp => l_first_bf_op,
3148: p_lastOP => l_last_bf_op,
3149: p_firstMoveOp => l_fm_op,
3150: p_lastMoveOp => l_to_op,
3151: p_mergeMode => fnd_api.g_false,
3152: p_initMsgList => fnd_api.g_false,
3153: p_endDebug => fnd_api.g_false,
3154: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3155: x_compTbl => l_compTbl,
3148: p_lastOP => l_last_bf_op,
3149: p_firstMoveOp => l_fm_op,
3150: p_lastMoveOp => l_to_op,
3151: p_mergeMode => fnd_api.g_false,
3152: p_initMsgList => fnd_api.g_false,
3153: p_endDebug => fnd_api.g_false,
3154: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3155: x_compTbl => l_compTbl,
3156: x_returnStatus => l_returnStatus);
3149: p_firstMoveOp => l_fm_op,
3150: p_lastMoveOp => l_to_op,
3151: p_mergeMode => fnd_api.g_false,
3152: p_initMsgList => fnd_api.g_false,
3153: p_endDebug => fnd_api.g_false,
3154: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3155: x_compTbl => l_compTbl,
3156: x_returnStatus => l_returnStatus);
3157:
3154: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3155: x_compTbl => l_compTbl,
3156: x_returnStatus => l_returnStatus);
3157:
3158: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3159: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
3160: raise fnd_api.g_exc_unexpected_error;
3161: END IF;
3162: END IF; -- l_first_bf_op <> -1
3156: x_returnStatus => l_returnStatus);
3157:
3158: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3159: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
3160: raise fnd_api.g_exc_unexpected_error;
3161: END IF;
3162: END IF; -- l_first_bf_op <> -1
3163: END IF; -- Move related transactions
3164:
3186: p_firstOp => -1,
3187: p_lastOP => l_last_op,
3188: p_firstMoveOp => null,
3189: p_lastMoveOp => null,
3190: p_mergeMode => fnd_api.g_false,
3191: p_initMsgList => fnd_api.g_false,
3192: p_endDebug => fnd_api.g_false,
3193: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3194: x_compTbl => l_compTbl,
3187: p_lastOP => l_last_op,
3188: p_firstMoveOp => null,
3189: p_lastMoveOp => null,
3190: p_mergeMode => fnd_api.g_false,
3191: p_initMsgList => fnd_api.g_false,
3192: p_endDebug => fnd_api.g_false,
3193: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3194: x_compTbl => l_compTbl,
3195: x_returnStatus => l_returnStatus);
3188: p_firstMoveOp => null,
3189: p_lastMoveOp => null,
3190: p_mergeMode => fnd_api.g_false,
3191: p_initMsgList => fnd_api.g_false,
3192: p_endDebug => fnd_api.g_false,
3193: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3194: x_compTbl => l_compTbl,
3195: x_returnStatus => l_returnStatus);
3196:
3193: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3194: x_compTbl => l_compTbl,
3195: x_returnStatus => l_returnStatus);
3196:
3197: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3198: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
3199: raise fnd_api.g_exc_unexpected_error;
3200: END IF;
3201: END IF; -- Completion/Return/EZ Completion/EZ Return
3195: x_returnStatus => l_returnStatus);
3196:
3197: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3198: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
3199: raise fnd_api.g_exc_unexpected_error;
3200: END IF;
3201: END IF; -- Completion/Return/EZ Completion/EZ Return
3202:
3203: -- Check whether overcompletion
3231: x_last_bf_op => l_last_bf_op,
3232: x_bf_qty => l_bf_qty,
3233: x_returnStatus => l_returnStatus,
3234: x_errMessage => l_errMsg);
3235: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3236: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
3237: fnd_message.set_token('MESSAGE', l_errMsg);
3238: fnd_msg_pub.add;
3239: raise fnd_api.g_exc_unexpected_error;
3235: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3236: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
3237: fnd_message.set_token('MESSAGE', l_errMsg);
3238: fnd_msg_pub.add;
3239: raise fnd_api.g_exc_unexpected_error;
3240: END IF;
3241: IF(l_first_bf_op <> -1) THEN
3242: wip_bflProc_priv.processRequirements
3243: (p_wipEntityID => p_wipEntityID,
3252: p_firstOp => l_first_bf_op,
3253: p_lastOP => l_last_bf_op,
3254: p_firstMoveOp => l_fm_op,
3255: p_lastMoveOp => l_to_op,
3256: p_mergeMode => fnd_api.g_false,
3257: p_initMsgList => fnd_api.g_false,
3258: p_endDebug => fnd_api.g_false,
3259: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3260: x_compTbl => l_compTbl,
3253: p_lastOP => l_last_bf_op,
3254: p_firstMoveOp => l_fm_op,
3255: p_lastMoveOp => l_to_op,
3256: p_mergeMode => fnd_api.g_false,
3257: p_initMsgList => fnd_api.g_false,
3258: p_endDebug => fnd_api.g_false,
3259: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3260: x_compTbl => l_compTbl,
3261: x_returnStatus => l_returnStatus);
3254: p_firstMoveOp => l_fm_op,
3255: p_lastMoveOp => l_to_op,
3256: p_mergeMode => fnd_api.g_false,
3257: p_initMsgList => fnd_api.g_false,
3258: p_endDebug => fnd_api.g_false,
3259: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3260: x_compTbl => l_compTbl,
3261: x_returnStatus => l_returnStatus);
3262:
3259: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3260: x_compTbl => l_compTbl,
3261: x_returnStatus => l_returnStatus);
3262:
3263: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3264: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
3265: raise fnd_api.g_exc_unexpected_error;
3266: END IF;
3267: END IF; -- l_first_bf_op <> -1
3261: x_returnStatus => l_returnStatus);
3262:
3263: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3264: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
3265: raise fnd_api.g_exc_unexpected_error;
3266: END IF;
3267: END IF; -- l_first_bf_op <> -1
3268:
3269: -- Call assy_pull_bf to derive first_bf_op, last_bf_op,
3285: x_bf_qty => l_bf_qty,
3286: x_returnStatus => l_returnStatus,
3287: x_errMessage => l_errMsg);
3288:
3289: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3290: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
3291: fnd_message.set_token('MESSAGE', l_errMsg);
3292: fnd_msg_pub.add;
3293: raise fnd_api.g_exc_unexpected_error;
3289: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3290: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
3291: fnd_message.set_token('MESSAGE', l_errMsg);
3292: fnd_msg_pub.add;
3293: raise fnd_api.g_exc_unexpected_error;
3294: END IF;
3295: IF(l_first_bf_op <> -1) THEN
3296: wip_bflProc_priv.processRequirements
3297: (p_wipEntityID => p_wipEntityID,
3306: p_firstOp => l_first_bf_op,
3307: p_lastOP => l_last_bf_op,
3308: p_firstMoveOp => l_fm_op,
3309: p_lastMoveOp => l_to_op,
3310: p_mergeMode => fnd_api.g_false,
3311: p_initMsgList => fnd_api.g_false,
3312: p_endDebug => fnd_api.g_false,
3313: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3314: x_compTbl => l_compTbl,
3307: p_lastOP => l_last_bf_op,
3308: p_firstMoveOp => l_fm_op,
3309: p_lastMoveOp => l_to_op,
3310: p_mergeMode => fnd_api.g_false,
3311: p_initMsgList => fnd_api.g_false,
3312: p_endDebug => fnd_api.g_false,
3313: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3314: x_compTbl => l_compTbl,
3315: x_returnStatus => l_returnStatus);
3308: p_firstMoveOp => l_fm_op,
3309: p_lastMoveOp => l_to_op,
3310: p_mergeMode => fnd_api.g_false,
3311: p_initMsgList => fnd_api.g_false,
3312: p_endDebug => fnd_api.g_false,
3313: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3314: x_compTbl => l_compTbl,
3315: x_returnStatus => l_returnStatus);
3316:
3313: p_mtlTxnMode => WIP_CONSTANTS.ONLINE,
3314: x_compTbl => l_compTbl,
3315: x_returnStatus => l_returnStatus);
3316:
3317: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3318: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
3319: raise fnd_api.g_exc_unexpected_error;
3320: END IF;
3321: END IF; -- l_first_bf_op <> -1
3315: x_returnStatus => l_returnStatus);
3316:
3317: IF(l_returnStatus <> fnd_api.g_ret_sts_success) THEN
3318: l_errMsg := 'wip_bflProc_priv.procesRequirements failed' ;
3319: raise fnd_api.g_exc_unexpected_error;
3320: END IF;
3321: END IF; -- l_first_bf_op <> -1
3322: END IF; -- Overmove/ Overcompletion
3323:
3345: -- Derive lot control only from genealogy
3346: wip_autoLotProc_priv.deriveLotsFromMOG(x_compLots => x_compInfo,
3347: p_orgID => p_orgID,
3348: p_objectID => p_objectID,
3349: p_initMsgList => fnd_api.g_true,
3350: x_returnStatus => x_returnStatus);
3351:
3352: IF(x_returnStatus = fnd_api.g_ret_sts_unexp_error) THEN
3353: raise fnd_api.g_exc_unexpected_error;
3348: p_objectID => p_objectID,
3349: p_initMsgList => fnd_api.g_true,
3350: x_returnStatus => x_returnStatus);
3351:
3352: IF(x_returnStatus = fnd_api.g_ret_sts_unexp_error) THEN
3353: raise fnd_api.g_exc_unexpected_error;
3354: END IF;
3355: -- Derive serial, and lot and serial from genealogy
3356: wip_autoSerialProc_priv.deriveSerial(x_compLots => x_compInfo,
3349: p_initMsgList => fnd_api.g_true,
3350: x_returnStatus => x_returnStatus);
3351:
3352: IF(x_returnStatus = fnd_api.g_ret_sts_unexp_error) THEN
3353: raise fnd_api.g_exc_unexpected_error;
3354: END IF;
3355: -- Derive serial, and lot and serial from genealogy
3356: wip_autoSerialProc_priv.deriveSerial(x_compLots => x_compInfo,
3357: p_orgID => p_orgID,
3355: -- Derive serial, and lot and serial from genealogy
3356: wip_autoSerialProc_priv.deriveSerial(x_compLots => x_compInfo,
3357: p_orgID => p_orgID,
3358: p_objectID => p_objectID,
3359: p_initMsgList => fnd_api.g_true,
3360: x_returnStatus => x_returnStatus);
3361:
3362: IF(x_returnStatus = fnd_api.g_ret_sts_unexp_error) THEN
3363: raise fnd_api.g_exc_unexpected_error;
3358: p_objectID => p_objectID,
3359: p_initMsgList => fnd_api.g_true,
3360: x_returnStatus => x_returnStatus);
3361:
3362: IF(x_returnStatus = fnd_api.g_ret_sts_unexp_error) THEN
3363: raise fnd_api.g_exc_unexpected_error;
3364: END IF;
3365:
3366: IF(NegLSCompExist(p_compInfo => x_compInfo) = WIP_CONSTANTS.YES) THEN
3359: p_initMsgList => fnd_api.g_true,
3360: x_returnStatus => x_returnStatus);
3361:
3362: IF(x_returnStatus = fnd_api.g_ret_sts_unexp_error) THEN
3363: raise fnd_api.g_exc_unexpected_error;
3364: END IF;
3365:
3366: IF(NegLSCompExist(p_compInfo => x_compInfo) = WIP_CONSTANTS.YES) THEN
3367: x_lotSerRequired := WIP_CONSTANTS.YES;
3375: wip_autoLotProc_priv.deriveLots(
3376: x_compLots => x_compInfo,
3377: p_orgID => p_orgID,
3378: p_wipEntityID => p_wipEntityID,
3379: p_initMsgList => fnd_api.g_true,
3380: p_endDebug => fnd_api.g_false,
3381: p_destroyTrees => fnd_api.g_true,
3382: p_treeMode => inv_quantity_tree_pvt.g_reservation_mode,
3383: p_treeSrcName => null,
3376: x_compLots => x_compInfo,
3377: p_orgID => p_orgID,
3378: p_wipEntityID => p_wipEntityID,
3379: p_initMsgList => fnd_api.g_true,
3380: p_endDebug => fnd_api.g_false,
3381: p_destroyTrees => fnd_api.g_true,
3382: p_treeMode => inv_quantity_tree_pvt.g_reservation_mode,
3383: p_treeSrcName => null,
3384: x_returnStatus => x_returnStatus);
3377: p_orgID => p_orgID,
3378: p_wipEntityID => p_wipEntityID,
3379: p_initMsgList => fnd_api.g_true,
3380: p_endDebug => fnd_api.g_false,
3381: p_destroyTrees => fnd_api.g_true,
3382: p_treeMode => inv_quantity_tree_pvt.g_reservation_mode,
3383: p_treeSrcName => null,
3384: x_returnStatus => x_returnStatus);
3385:
3382: p_treeMode => inv_quantity_tree_pvt.g_reservation_mode,
3383: p_treeSrcName => null,
3384: x_returnStatus => x_returnStatus);
3385:
3386: IF(x_returnStatus = fnd_api.g_ret_sts_unexp_error) THEN
3387: l_errMsg := 'wip_autoLotProc_priv.deriveLots failed';
3388: raise fnd_api.g_exc_unexpected_error;
3389: ELSIF(x_returnStatus = fnd_api.g_ret_sts_error) THEN
3390: x_lotSerRequired := WIP_CONSTANTS.YES;
3384: x_returnStatus => x_returnStatus);
3385:
3386: IF(x_returnStatus = fnd_api.g_ret_sts_unexp_error) THEN
3387: l_errMsg := 'wip_autoLotProc_priv.deriveLots failed';
3388: raise fnd_api.g_exc_unexpected_error;
3389: ELSIF(x_returnStatus = fnd_api.g_ret_sts_error) THEN
3390: x_lotSerRequired := WIP_CONSTANTS.YES;
3391: ELSE -- succesfully derived lot
3392: x_lotSerRequired := WIP_CONSTANTS.NO;
3385:
3386: IF(x_returnStatus = fnd_api.g_ret_sts_unexp_error) THEN
3387: l_errMsg := 'wip_autoLotProc_priv.deriveLots failed';
3388: raise fnd_api.g_exc_unexpected_error;
3389: ELSIF(x_returnStatus = fnd_api.g_ret_sts_error) THEN
3390: x_lotSerRequired := WIP_CONSTANTS.YES;
3391: ELSE -- succesfully derived lot
3392: x_lotSerRequired := WIP_CONSTANTS.NO;
3393: END IF;-- check return status
3392: x_lotSerRequired := WIP_CONSTANTS.NO;
3393: END IF;-- check return status
3394: END IF; -- check serialized return or serialized backward move
3395:
3396: x_returnStatus := fnd_api.g_ret_sts_success;
3397: IF (l_logLevel <= wip_constants.trace_logging) THEN
3398: wip_logger.exitPoint(
3399: p_procName => 'wip_bflProc_priv.backflush',
3400: p_procReturnStatus => x_returnStatus,
3401: p_msg => 'Succesfully inserted components into PL/SQL object',
3402: x_returnStatus => l_returnStatus);
3403: END IF;
3404: EXCEPTION
3405: WHEN fnd_api.g_exc_unexpected_error THEN
3406: ROLLBACK TO SAVEPOINT s_backflush2;
3407: x_returnStatus := fnd_api.g_ret_sts_error;
3408: IF (l_logLevel <= wip_constants.trace_logging) THEN
3409: wip_logger.exitPoint(p_procName => 'wip_bflProc_priv.backflush',
3403: END IF;
3404: EXCEPTION
3405: WHEN fnd_api.g_exc_unexpected_error THEN
3406: ROLLBACK TO SAVEPOINT s_backflush2;
3407: x_returnStatus := fnd_api.g_ret_sts_error;
3408: IF (l_logLevel <= wip_constants.trace_logging) THEN
3409: wip_logger.exitPoint(p_procName => 'wip_bflProc_priv.backflush',
3410: p_procReturnStatus => x_returnStatus,
3411: p_msg => l_errMsg,
3412: x_returnStatus => l_returnStatus);
3413: END IF;
3414: WHEN others THEN
3415: ROLLBACK TO SAVEPOINT s_backflush2;
3416: x_returnStatus := fnd_api.g_ret_sts_error;
3417: IF (l_logLevel <= wip_constants.trace_logging) THEN
3418: wip_logger.exitPoint(p_procName => 'wip_bflProc_priv.backflush',
3419: p_procReturnStatus => x_returnStatus,
3420: p_msg => 'Unexpected error : ' || SQLERRM,