55:
56: -- derive and validate all necessary fields for insertion
57: if (derive(cmpRecord, l_overCplRec, parameters, l_txnMode, error) = FALSE) then
58: -- process error
59: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
60: fnd_message.set_token('MESSAGE', error);
61: fnd_msg_pub.add;
62: if (l_logLevel <= wip_constants.full_logging) then
63: wip_logger.log('error from derive', errCode);
56: -- derive and validate all necessary fields for insertion
57: if (derive(cmpRecord, l_overCplRec, parameters, l_txnMode, error) = FALSE) then
58: -- process error
59: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
60: fnd_message.set_token('MESSAGE', error);
61: fnd_msg_pub.add;
62: if (l_logLevel <= wip_constants.full_logging) then
63: wip_logger.log('error from derive', errCode);
64: end if;
92: err_num => errNum,
93: err_code => errMessage,
94: err_msg => errMessage);
95: if(retValue <> 1) then
96: fnd_message.set_name(application => 'CST',
97: name => 'CST_SNAPSHOT_FAILED');
98: fnd_msg_pub.add;
99: if (l_logLevel <= wip_constants.full_logging) then
100: wip_logger.log('error from cst', errMessage);
256: wip_logger.cleanUp(dummy);
257: end if;
258: rollback to wma_cmp_proc10;
259: returnStatus := fnd_api.g_ret_sts_unexp_error;
260: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
261: fnd_message.set_token ('FUNCTION', 'wma_completion.process');
262: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
263: errMessage := fnd_message.get;
264: END process;
257: end if;
258: rollback to wma_cmp_proc10;
259: returnStatus := fnd_api.g_ret_sts_unexp_error;
260: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
261: fnd_message.set_token ('FUNCTION', 'wma_completion.process');
262: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
263: errMessage := fnd_message.get;
264: END process;
265:
258: rollback to wma_cmp_proc10;
259: returnStatus := fnd_api.g_ret_sts_unexp_error;
260: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
261: fnd_message.set_token ('FUNCTION', 'wma_completion.process');
262: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
263: errMessage := fnd_message.get;
264: END process;
265:
266: FUNCTION putIntoMMTT(lpnCmpRecord IN LpnCmpTxnRec,
259: returnStatus := fnd_api.g_ret_sts_unexp_error;
260: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
261: fnd_message.set_token ('FUNCTION', 'wma_completion.process');
262: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
263: errMessage := fnd_message.get;
264: END process;
265:
266: FUNCTION putIntoMMTT(lpnCmpRecord IN LpnCmpTxnRec,
267: txnTmpID OUT NOCOPY NUMBER,
432: EXCEPTION
433: when others then
434: rollback to wmapcmpb_proc1000;
435: status := -1;
436: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
437: fnd_message.set_token ('FUNCTION', 'wma_completion.process');
438: fnd_message.set_token ('ERROR', SQLERRM);
439: errMessage := fnd_message.get;
440:
433: when others then
434: rollback to wmapcmpb_proc1000;
435: status := -1;
436: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
437: fnd_message.set_token ('FUNCTION', 'wma_completion.process');
438: fnd_message.set_token ('ERROR', SQLERRM);
439: errMessage := fnd_message.get;
440:
441: END process;
434: rollback to wmapcmpb_proc1000;
435: status := -1;
436: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
437: fnd_message.set_token ('FUNCTION', 'wma_completion.process');
438: fnd_message.set_token ('ERROR', SQLERRM);
439: errMessage := fnd_message.get;
440:
441: END process;
442:
435: status := -1;
436: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
437: fnd_message.set_token ('FUNCTION', 'wma_completion.process');
438: fnd_message.set_token ('ERROR', SQLERRM);
439: errMessage := fnd_message.get;
440:
441: END process;
442:
443: /**
480:
481: -- get the job info
482: job := wma_derive.getJob(parameters.wipEntityID);
483: if (job.wipEntityID is null) then
484: fnd_message.set_name ('WIP', 'WIP_JOB_DOES_NOT_EXIST');
485: fnd_message.set_token('INTERFACE', 'wma_completion.derive', TRUE);
486: errMessage := fnd_message.get;
487: return false;
488: end if;
481: -- get the job info
482: job := wma_derive.getJob(parameters.wipEntityID);
483: if (job.wipEntityID is null) then
484: fnd_message.set_name ('WIP', 'WIP_JOB_DOES_NOT_EXIST');
485: fnd_message.set_token('INTERFACE', 'wma_completion.derive', TRUE);
486: errMessage := fnd_message.get;
487: return false;
488: end if;
489:
482: job := wma_derive.getJob(parameters.wipEntityID);
483: if (job.wipEntityID is null) then
484: fnd_message.set_name ('WIP', 'WIP_JOB_DOES_NOT_EXIST');
485: fnd_message.set_token('INTERFACE', 'wma_completion.derive', TRUE);
486: errMessage := fnd_message.get;
487: return false;
488: end if;
489:
490: select primary_cost_method
536: 'SPECIFIC',
537: 'N',
538: job.projectID,
539: job.taskID) = false) then
540: errMessage := fnd_message.get;
541: if (l_logLevel <= wip_constants.full_logging) then
542: wip_logger.log('wmapcmpb.derive: pjm_project_locator returns false', l_dummy);
543: end if;
544: return false;
552: item := wma_derive.getItem(parameters.itemID,
553: parameters.environment.orgID,
554: parameters.locatorID);
555: if (item.invItemID is null) then
556: fnd_message.set_name ('WIP', 'WIP_ITEM_DOES_NOT_EXIST');
557: errMessage := fnd_message.get;
558: if (l_logLevel <= wip_constants.full_logging) then
559: wip_logger.log('wmapcmpb.derive: wma_derive.getItem returns false', l_dummy);
560: end if;
553: parameters.environment.orgID,
554: parameters.locatorID);
555: if (item.invItemID is null) then
556: fnd_message.set_name ('WIP', 'WIP_ITEM_DOES_NOT_EXIST');
557: errMessage := fnd_message.get;
558: if (l_logLevel <= wip_constants.full_logging) then
559: wip_logger.log('wmapcmpb.derive: wma_derive.getItem returns false', l_dummy);
560: end if;
561: return false;
573: wipEntityID => parameters.wipEntityID,
574: orgID => parameters.environment.orgID,
575: itemID => parameters.itemID,
576: revision => cmpRecord.revision)) then
577: errMessage := substr(fnd_message.get,1,241);
578: if (l_logLevel <= wip_constants.full_logging) then
579: wip_logger.log('wmapcmpb.derive: wma_completion.getRevision returns false', l_dummy);
580: end if;
581: return false;
593: period_id => periodID,
594: open_past_period => openPastPeriod);
595:
596: if (periodID = -1 or periodID = 0) then
597: fnd_message.set_name(
598: application => 'INV',
599: name => 'INV_NO_OPEN_PERIOD');
600: errMessage := fnd_message.get;
601: if (l_logLevel <= wip_constants.full_logging) then
596: if (periodID = -1 or periodID = 0) then
597: fnd_message.set_name(
598: application => 'INV',
599: name => 'INV_NO_OPEN_PERIOD');
600: errMessage := fnd_message.get;
601: if (l_logLevel <= wip_constants.full_logging) then
602: wip_logger.log('wmapcmpb.derive: tdatechk returns false', l_dummy);
603: end if;
604: return false;
750: return true;
751:
752: EXCEPTION
753: when others then
754: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
755: fnd_message.set_token ('FUNCTION', 'wma_completion.derive');
756: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
757: errMessage := fnd_message.get;
758: return false;
751:
752: EXCEPTION
753: when others then
754: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
755: fnd_message.set_token ('FUNCTION', 'wma_completion.derive');
756: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
757: errMessage := fnd_message.get;
758: return false;
759: END derive;
752: EXCEPTION
753: when others then
754: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
755: fnd_message.set_token ('FUNCTION', 'wma_completion.derive');
756: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
757: errMessage := fnd_message.get;
758: return false;
759: END derive;
760:
753: when others then
754: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
755: fnd_message.set_token ('FUNCTION', 'wma_completion.derive');
756: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
757: errMessage := fnd_message.get;
758: return false;
759: END derive;
760:
761:
773:
774: -- get the job info
775: job := wma_derive.getJob(parameters.wipEntityID);
776: if (job.wipEntityID is null) then
777: fnd_message.set_name ('WIP', 'WIP_JOB_DOES_NOT_EXIST');
778: fnd_message.set_token('INTERFACE', 'wma_completion.derive', TRUE);
779: errMessage := fnd_message.get;
780: return false;
781: end if;
774: -- get the job info
775: job := wma_derive.getJob(parameters.wipEntityID);
776: if (job.wipEntityID is null) then
777: fnd_message.set_name ('WIP', 'WIP_JOB_DOES_NOT_EXIST');
778: fnd_message.set_token('INTERFACE', 'wma_completion.derive', TRUE);
779: errMessage := fnd_message.get;
780: return false;
781: end if;
782:
775: job := wma_derive.getJob(parameters.wipEntityID);
776: if (job.wipEntityID is null) then
777: fnd_message.set_name ('WIP', 'WIP_JOB_DOES_NOT_EXIST');
778: fnd_message.set_token('INTERFACE', 'wma_completion.derive', TRUE);
779: errMessage := fnd_message.get;
780: return false;
781: end if;
782:
783: -- take the quantity check off. The quantity has been checked before calling
802: 'SPECIFIC',
803: 'N',
804: job.projectID,
805: job.taskID) = false) then
806: errMessage := fnd_message.get;
807: return false;
808: end if;
809:
810: -- get the item info
811: item := wma_derive.getItem(parameters.itemID,
812: parameters.environment.orgID,
813: parameters.locatorID);
814: if (item.invItemID is null) then
815: fnd_message.set_name ('WIP', 'WIP_ITEM_DOES_NOT_EXIST');
816: errMessage := fnd_message.get;
817: return false;
818: end if;
819: -- get the item revision
812: parameters.environment.orgID,
813: parameters.locatorID);
814: if (item.invItemID is null) then
815: fnd_message.set_name ('WIP', 'WIP_ITEM_DOES_NOT_EXIST');
816: errMessage := fnd_message.get;
817: return false;
818: end if;
819: -- get the item revision
820: LpnCmpRecord.row.bom_revision := null;
823: wipEntityID => parameters.wipEntityID,
824: orgID => parameters.environment.orgID,
825: itemID => parameters.itemID,
826: revision => lpnCmpRecord.row.bom_revision)) then
827: errMessage := substr(fnd_message.get, 1, 241);
828: return false;
829: end if; -- getRevision
830: end if; -- revQtyControlCode = WIP_CONSTANTS.REVISION_CONTROLLED
831:
836: period_id => periodID,
837: open_past_period => openPastPeriod);
838:
839: if (periodID = -1 or periodID = 0) then
840: fnd_message.set_name(
841: application => 'INV',
842: name => 'INV_NO_OPEN_PERIOD');
843: errMessage := fnd_message.get;
844: return false;
839: if (periodID = -1 or periodID = 0) then
840: fnd_message.set_name(
841: application => 'INV',
842: name => 'INV_NO_OPEN_PERIOD');
843: errMessage := fnd_message.get;
844: return false;
845: end if;
846:
847: -- get the last operation sequence
908: return true;
909:
910: EXCEPTION
911: when others then
912: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
913: fnd_message.set_token ('FUNCTION', 'wma_completion.derive');
914: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
915: errMessage := fnd_message.get;
916: return false;
909:
910: EXCEPTION
911: when others then
912: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
913: fnd_message.set_token ('FUNCTION', 'wma_completion.derive');
914: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
915: errMessage := fnd_message.get;
916: return false;
917: END derive;
910: EXCEPTION
911: when others then
912: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
913: fnd_message.set_token ('FUNCTION', 'wma_completion.derive');
914: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
915: errMessage := fnd_message.get;
916: return false;
917: END derive;
918:
911: when others then
912: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
913: fnd_message.set_token ('FUNCTION', 'wma_completion.derive');
914: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
915: errMessage := fnd_message.get;
916: return false;
917: END derive;
918:
919: /**
1005: x_returnStatus => l_returnStatus);
1006: end if;
1007:
1008: if (transactionQty <= 0) then
1009: fnd_message.set_name ('INV', 'INV_GREATER_THAN_ZERO');
1010: errMessage := fnd_message.get;
1011: if (l_logLevel <= wip_constants.trace_logging) then
1012: wip_logger.exitPoint(p_procName => 'wma_completion.checkQuantity',
1013: p_procReturnStatus => -1,
1006: end if;
1007:
1008: if (transactionQty <= 0) then
1009: fnd_message.set_name ('INV', 'INV_GREATER_THAN_ZERO');
1010: errMessage := fnd_message.get;
1011: if (l_logLevel <= wip_constants.trace_logging) then
1012: wip_logger.exitPoint(p_procName => 'wma_completion.checkQuantity',
1013: p_procReturnStatus => -1,
1014: p_msg => errMessage,
1018: end if;
1019: if (overcomplete = true) then
1020: -- validate overcompletion quantity
1021: if (transactionQty <= availableQty) then
1022: fnd_message.set_name ('WIP', 'WIP_GREATER_THAN');
1023: fnd_message.set_token('ENTITY1', 'TRANSACTION QUANTITY-CAP', TRUE);
1024: fnd_message.set_token('ENTITY2', 'QTY AVAIL TO COMPLETE', TRUE);
1025: errMessage := fnd_message.get;
1026: if (l_logLevel <= wip_constants.trace_logging) then
1019: if (overcomplete = true) then
1020: -- validate overcompletion quantity
1021: if (transactionQty <= availableQty) then
1022: fnd_message.set_name ('WIP', 'WIP_GREATER_THAN');
1023: fnd_message.set_token('ENTITY1', 'TRANSACTION QUANTITY-CAP', TRUE);
1024: fnd_message.set_token('ENTITY2', 'QTY AVAIL TO COMPLETE', TRUE);
1025: errMessage := fnd_message.get;
1026: if (l_logLevel <= wip_constants.trace_logging) then
1027: wip_logger.exitPoint(p_procName => 'wma_completion.checkQuantity',
1020: -- validate overcompletion quantity
1021: if (transactionQty <= availableQty) then
1022: fnd_message.set_name ('WIP', 'WIP_GREATER_THAN');
1023: fnd_message.set_token('ENTITY1', 'TRANSACTION QUANTITY-CAP', TRUE);
1024: fnd_message.set_token('ENTITY2', 'QTY AVAIL TO COMPLETE', TRUE);
1025: errMessage := fnd_message.get;
1026: if (l_logLevel <= wip_constants.trace_logging) then
1027: wip_logger.exitPoint(p_procName => 'wma_completion.checkQuantity',
1028: p_procReturnStatus => -1,
1021: if (transactionQty <= availableQty) then
1022: fnd_message.set_name ('WIP', 'WIP_GREATER_THAN');
1023: fnd_message.set_token('ENTITY1', 'TRANSACTION QUANTITY-CAP', TRUE);
1024: fnd_message.set_token('ENTITY2', 'QTY AVAIL TO COMPLETE', TRUE);
1025: errMessage := fnd_message.get;
1026: if (l_logLevel <= wip_constants.trace_logging) then
1027: wip_logger.exitPoint(p_procName => 'wma_completion.checkQuantity',
1028: p_procReturnStatus => -1,
1029: p_msg => errMessage,
1042: p_wip_entity_id => wipEntityID,
1043: p_primary_quantity => ocQtyToCheck,
1044: p_result => result);
1045: if (result = wip_constants.no) then -- quantity exceeds tolerance
1046: fnd_message.set_name ('WIP', 'WIP_OC_TOLERANCE_FAIL');
1047: errMessage := fnd_message.get;
1048: if (l_logLevel <= wip_constants.trace_logging) then
1049: wip_logger.exitPoint(p_procName => 'wma_completion.checkQuantity',
1050: p_procReturnStatus => -1,
1043: p_primary_quantity => ocQtyToCheck,
1044: p_result => result);
1045: if (result = wip_constants.no) then -- quantity exceeds tolerance
1046: fnd_message.set_name ('WIP', 'WIP_OC_TOLERANCE_FAIL');
1047: errMessage := fnd_message.get;
1048: if (l_logLevel <= wip_constants.trace_logging) then
1049: wip_logger.exitPoint(p_procName => 'wma_completion.checkQuantity',
1050: p_procReturnStatus => -1,
1051: p_msg => errMessage,
1059: being made only for completion transaction. Removed the if-condition. Now,
1060: this will be checked for both completion and return. Changed message to be more
1061: suitable for both completion and return */
1062: if (transactionQty > availableQty) then
1063: fnd_message.set_name ('INV', 'INV_QTY_LESS_OR_EQUAL');
1064: errMessage := fnd_message.get;
1065: if (l_logLevel <= wip_constants.trace_logging) then
1066: wip_logger.exitPoint(p_procName => 'wma_completion.checkQuantity',
1067: p_procReturnStatus => -1,
1060: this will be checked for both completion and return. Changed message to be more
1061: suitable for both completion and return */
1062: if (transactionQty > availableQty) then
1063: fnd_message.set_name ('INV', 'INV_QTY_LESS_OR_EQUAL');
1064: errMessage := fnd_message.get;
1065: if (l_logLevel <= wip_constants.trace_logging) then
1066: wip_logger.exitPoint(p_procName => 'wma_completion.checkQuantity',
1067: p_procReturnStatus => -1,
1068: p_msg => errMessage,
1083: -- validate return quantity
1084: /* Fixed bug 3693148. We should allow overreturn for non-standard job*/
1085: if (l_job_type = WIP_CONSTANTS.STANDARD AND
1086: transactionQty > completedQty) then
1087: fnd_message.set_name ('WIP', 'WIP_LESS_OR_EQUAL');
1088: fnd_message.set_token('ENTITY1', 'TOTAL TXN QTY-CAP', TRUE);
1089: fnd_message.set_token('ENTITY2', 'JOB COMPLETE QUANTITY', TRUE);
1090: errMessage := fnd_message.get;
1091: if (l_logLevel <= wip_constants.trace_logging) then
1084: /* Fixed bug 3693148. We should allow overreturn for non-standard job*/
1085: if (l_job_type = WIP_CONSTANTS.STANDARD AND
1086: transactionQty > completedQty) then
1087: fnd_message.set_name ('WIP', 'WIP_LESS_OR_EQUAL');
1088: fnd_message.set_token('ENTITY1', 'TOTAL TXN QTY-CAP', TRUE);
1089: fnd_message.set_token('ENTITY2', 'JOB COMPLETE QUANTITY', TRUE);
1090: errMessage := fnd_message.get;
1091: if (l_logLevel <= wip_constants.trace_logging) then
1092: wip_logger.exitPoint(p_procName => 'wma_completion.checkQuantity',
1085: if (l_job_type = WIP_CONSTANTS.STANDARD AND
1086: transactionQty > completedQty) then
1087: fnd_message.set_name ('WIP', 'WIP_LESS_OR_EQUAL');
1088: fnd_message.set_token('ENTITY1', 'TOTAL TXN QTY-CAP', TRUE);
1089: fnd_message.set_token('ENTITY2', 'JOB COMPLETE QUANTITY', TRUE);
1090: errMessage := fnd_message.get;
1091: if (l_logLevel <= wip_constants.trace_logging) then
1092: wip_logger.exitPoint(p_procName => 'wma_completion.checkQuantity',
1093: p_procReturnStatus => -1,
1086: transactionQty > completedQty) then
1087: fnd_message.set_name ('WIP', 'WIP_LESS_OR_EQUAL');
1088: fnd_message.set_token('ENTITY1', 'TOTAL TXN QTY-CAP', TRUE);
1089: fnd_message.set_token('ENTITY2', 'JOB COMPLETE QUANTITY', TRUE);
1090: errMessage := fnd_message.get;
1091: if (l_logLevel <= wip_constants.trace_logging) then
1092: wip_logger.exitPoint(p_procName => 'wma_completion.checkQuantity',
1093: p_procReturnStatus => -1,
1094: p_msg => errMessage,
1141: p_result => result);
1142:
1143: if (result = WIP_CONSTANTS.NO) then
1144: -- exceed tolerance, set error message
1145: fnd_message.set_name ('WIP', 'WIP_OC_TOLERANCE_FAIL');
1146: x_errMessage := fnd_message.get;
1147: x_returnStatus := fnd_api.g_ret_sts_error;
1148: end if;
1149: end if;
1142:
1143: if (result = WIP_CONSTANTS.NO) then
1144: -- exceed tolerance, set error message
1145: fnd_message.set_name ('WIP', 'WIP_OC_TOLERANCE_FAIL');
1146: x_errMessage := fnd_message.get;
1147: x_returnStatus := fnd_api.g_ret_sts_error;
1148: end if;
1149: end if;
1150:
1405: when others then
1406: if (l_logLevel <= wip_constants.full_logging) then
1407: wip_logger.log('put failed: ' || SQLERRM, l_dummy);
1408: end if;
1409: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
1410: fnd_message.set_token ('FUNCTION', 'wma_completion.put');
1411: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
1412: errMessage := fnd_message.get;
1413: return false;
1406: if (l_logLevel <= wip_constants.full_logging) then
1407: wip_logger.log('put failed: ' || SQLERRM, l_dummy);
1408: end if;
1409: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
1410: fnd_message.set_token ('FUNCTION', 'wma_completion.put');
1411: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
1412: errMessage := fnd_message.get;
1413: return false;
1414: END put;
1407: wip_logger.log('put failed: ' || SQLERRM, l_dummy);
1408: end if;
1409: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
1410: fnd_message.set_token ('FUNCTION', 'wma_completion.put');
1411: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
1412: errMessage := fnd_message.get;
1413: return false;
1414: END put;
1415:
1408: end if;
1409: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
1410: fnd_message.set_token ('FUNCTION', 'wma_completion.put');
1411: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
1412: errMessage := fnd_message.get;
1413: return false;
1414: END put;
1415:
1416:
1480: return true;
1481:
1482: EXCEPTION
1483: when others then
1484: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
1485: fnd_message.set_token ('FUNCTION', 'wma_completion.put');
1486: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
1487: errMessage := fnd_message.get;
1488: return false;
1481:
1482: EXCEPTION
1483: when others then
1484: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
1485: fnd_message.set_token ('FUNCTION', 'wma_completion.put');
1486: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
1487: errMessage := fnd_message.get;
1488: return false;
1489: END put;
1482: EXCEPTION
1483: when others then
1484: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
1485: fnd_message.set_token ('FUNCTION', 'wma_completion.put');
1486: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
1487: errMessage := fnd_message.get;
1488: return false;
1489: END put;
1490:
1483: when others then
1484: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
1485: fnd_message.set_token ('FUNCTION', 'wma_completion.put');
1486: fnd_message.set_token ('ERROR', SQLCODE || ' ' || SQLERRM);
1487: errMessage := fnd_message.get;
1488: return false;
1489: END put;
1490:
1491: procedure backflush(p_jobID IN NUMBER,
1608: --note that we are ignoring the serialization derivation below b/c
1609: --serialized pages are only online...
1610: if(x_returnStatus = fnd_api.g_ret_sts_error and
1611: l_txnMode = wip_constants.background) then
1612: fnd_message.set_name('WIP', 'WIP_NO_LS_COMP_IN_BKGND');
1613: fnd_msg_pub.add;
1614: raise fnd_api.g_exc_unexpected_error;
1615: end if;
1616:
1716: )));
1717: return true;
1718: EXCEPTION
1719: WHEN others THEN
1720: fnd_message.set_name('WIP', 'WIP_BOM_ITEM_REVISION');
1721: return false;
1722: END getRevision;
1723: end wma_completion;