DBA Data[Home] [Help]

APPS.WIP_CPLPROC_PRIV dependencies on FND_API

Line 57: x_returnStatus := fnd_api.g_ret_sts_success;

53: l_errNum NUMBER;
54: l_cstRetVal NUMBER;
55: begin
56: savepoint wipcplpb20;
57: x_returnStatus := fnd_api.g_ret_sts_success;
58: if(fnd_api.to_boolean(p_initMsgList)) then
59: fnd_msg_pub.initialize;
60: end if;
61:

Line 58: if(fnd_api.to_boolean(p_initMsgList)) then

54: l_cstRetVal NUMBER;
55: begin
56: savepoint wipcplpb20;
57: x_returnStatus := fnd_api.g_ret_sts_success;
58: if(fnd_api.to_boolean(p_initMsgList)) then
59: fnd_msg_pub.initialize;
60: end if;
61:
62: if (l_logLevel <= wip_constants.trace_logging) then

Line 69: if(x_returnStatus <> fnd_api.g_ret_sts_success) then

65: wip_logger.entryPoint(p_procName => 'wip_cplProc_priv.processTemp',
66: p_params => l_params,
67: x_returnStatus => x_returnStatus);
68:
69: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
70: raise fnd_api.g_exc_unexpected_error;
71: end if;
72: end if;
73:

Line 70: raise fnd_api.g_exc_unexpected_error;

66: p_params => l_params,
67: x_returnStatus => x_returnStatus);
68:
69: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
70: raise fnd_api.g_exc_unexpected_error;
71: end if;
72: end if;
73:
74: select wip_entity_type,

Line 132: if(x_returnStatus <> fnd_api.g_ret_sts_success) then

128: p_collection_id => l_cplRec.qaCollectionID,
129: p_return_status => l_returnStatus,
130: p_msg_count => l_msgCount,
131: p_msg_data => l_errMsg);
132: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
133: l_errMsg := 'QA error: ' || l_errMsg;
134: raise fnd_api.g_exc_unexpected_error;
135: end if;
136: end if;

Line 134: raise fnd_api.g_exc_unexpected_error;

130: p_msg_count => l_msgCount,
131: p_msg_data => l_errMsg);
132: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
133: l_errMsg := 'QA error: ' || l_errMsg;
134: raise fnd_api.g_exc_unexpected_error;
135: end if;
136: end if;
137:
138: if(nvl(l_cplRec.overCplPriQty, 0) <> 0) then

Line 154: if(x_returnStatus <> fnd_api.g_ret_sts_success) then

150: processOverCpl(p_cplRec => l_cplRec,
151: x_returnStatus => x_returnStatus);
152: end if;
153:
154: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
155: l_errMsg := 'overcompletion processing errored';
156: raise fnd_api.g_exc_unexpected_error;
157: end if;
158: end if;

Line 156: raise fnd_api.g_exc_unexpected_error;

152: end if;
153:
154: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
155: l_errMsg := 'overcompletion processing errored';
156: raise fnd_api.g_exc_unexpected_error;
157: end if;
158: end if;
159:
160: if(l_cplRec.wipEntityType = wip_constants.repetitive) then

Line 172: if(x_returnStatus <> fnd_api.g_ret_sts_success) then

168: x_serialStartOp => l_serialStartOp,
169: x_returnStatus => x_returnStatus);
170:
171: end if;
172: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
173: l_errMsg := 'entity specific processing failed';
174: raise fnd_api.g_exc_unexpected_error;
175: end if;
176:

Line 174: raise fnd_api.g_exc_unexpected_error;

170:
171: end if;
172: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
173: l_errMsg := 'entity specific processing failed';
174: raise fnd_api.g_exc_unexpected_error;
175: end if;
176:
177: /* Fix for bug 5708242: Moved the call to cstpacms.validate_move_snap_to_temp() from
178: wipmtivb.pls to this place, to avoid intermittent commits, and to facilitate proper

Line 198: raise fnd_api.g_exc_unexpected_error;

194: l_retValue,
195: l_errMsg);
196: if(l_cstRetVal <> 1) then
197: /* Error message will be populated by the procedure. Just raise exception. */
198: raise fnd_api.g_exc_unexpected_error;
199: end if;
200: end if;
201:
202: if(l_logLevel <= wip_constants.trace_logging) then

Line 208: if(fnd_api.to_boolean(p_endDebug)) then

204: p_procReturnStatus => x_returnStatus,
205: p_msg => 'procedure success.',
206: x_returnStatus => l_returnStatus); --discard logging return status
207: end if;
208: if(fnd_api.to_boolean(p_endDebug)) then
209: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
210: end if;
211: exception
212: when no_data_found then

Line 214: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

210: end if;
211: exception
212: when no_data_found then
213: rollback to wipcplpb20;
214: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
215: if (l_logLevel <= wip_constants.trace_logging) then
216: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.processTemp',
217: p_procReturnStatus => x_returnStatus,
218: p_msg => 'no data found',

Line 221: if(fnd_api.to_boolean(p_endDebug)) then

217: p_procReturnStatus => x_returnStatus,
218: p_msg => 'no data found',
219: x_returnStatus => l_returnStatus); --discard logging return status
220: end if;
221: if(fnd_api.to_boolean(p_endDebug)) then
222: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
223: end if;
224: fnd_message.set_name('WIP', 'INVALID_MMTT_TEMP_ID');
225: fnd_msg_pub.add;

Line 229: when fnd_api.g_exc_error then --could not derive all lot/serial info for components

225: fnd_msg_pub.add;
226: if (l_logLevel <= wip_constants.full_logging) then
227: wip_logger.log(SQLERRM, l_returnStatus);
228: end if;
229: when fnd_api.g_exc_error then --could not derive all lot/serial info for components
230: --do *not* rollback. leave the component records in mmtt/mtlt for the caller to query/complete
231: --when the record is processed again, only the material processing and inv txn will occur
232: if (l_logLevel <= wip_constants.trace_logging) then
233: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.processTemp',

Line 238: if(fnd_api.to_boolean(p_endDebug)) then

234: p_procReturnStatus => x_returnStatus,
235: p_msg => 'need to collect l/s info',
236: x_returnStatus => l_returnStatus); --discard logging return status
237: end if;
238: if(fnd_api.to_boolean(p_endDebug)) then
239: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
240: end if;
241: when fnd_api.g_exc_unexpected_error then
242: rollback to wipcplpb20;

Line 241: when fnd_api.g_exc_unexpected_error then

237: end if;
238: if(fnd_api.to_boolean(p_endDebug)) then
239: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
240: end if;
241: when fnd_api.g_exc_unexpected_error then
242: rollback to wipcplpb20;
243: if (l_logLevel <= wip_constants.trace_logging) then
244: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.processTemp',
245: p_procReturnStatus => x_returnStatus,

Line 249: if(fnd_api.to_boolean(p_endDebug)) then

245: p_procReturnStatus => x_returnStatus,
246: p_msg => l_errMsg,
247: x_returnStatus => l_returnStatus); --discard logging return status
248: end if;
249: if(fnd_api.to_boolean(p_endDebug)) then
250: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
251: end if;
252: when others then
253: rollback to wipcplpb20;

Line 254: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

250: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
251: end if;
252: when others then
253: rollback to wipcplpb20;
254: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
255: fnd_msg_pub.add_exc_msg(p_pkg_name => 'wip_cplProc_priv',
256: p_procedure_name => 'processTemp',
257: p_error_text => SQLERRM);
258: if (l_logLevel <= wip_constants.trace_logging) then

Line 264: if(fnd_api.to_boolean(p_endDebug)) then

260: p_procReturnStatus => x_returnStatus,
261: p_msg => 'unexpected error: ' || SQLERRM,
262: x_returnStatus => l_returnStatus); --discard logging return status
263: end if;
264: if(fnd_api.to_boolean(p_endDebug)) then
265: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
266: end if;
267: end processTemp;
268:

Line 303: if(x_returnStatus <> fnd_api.g_ret_sts_success) then

299:
300: wip_logger.entryPoint(p_procName => 'wip_cplProc_priv.processDiscrete',
301: p_params => l_params,
302: x_returnStatus => x_returnStatus);
303: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
304: raise fnd_api.g_exc_unexpected_error;
305: end if;
306: end if;
307:

Line 304: raise fnd_api.g_exc_unexpected_error;

300: wip_logger.entryPoint(p_procName => 'wip_cplProc_priv.processDiscrete',
301: p_params => l_params,
302: x_returnStatus => x_returnStatus);
303: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
304: raise fnd_api.g_exc_unexpected_error;
305: end if;
306: end if;
307:
308: select rowid,

Line 331: x_returnStatus := fnd_api.g_ret_sts_success;

327: l_cplDate := nvl(l_cplDate, p_cplRec.txnDate); --Bug 4864403 Only change date_completed if it is null
328: end if;
329: --allocate completions to sales orders
330: l_errMsg := 'SO allocation failed.'; --set message in case it fails
331: x_returnStatus := fnd_api.g_ret_sts_success;
332: if(p_cplRec.lpnID is null) then
333: wip_so_reservations.allocate_completion_to_so(
334: p_organization_id => p_cplRec.orgID,
335: p_wip_entity_id => p_cplRec.wipEntityID,

Line 345: if(x_returnStatus = fnd_api.g_ret_sts_success and

341: x_msg_data => l_errMsg);
342: end if;
343:
344: --if so allocation went ok, then update the kanban card if it exists
345: if(x_returnStatus = fnd_api.g_ret_sts_success and
346: p_cplRec.kanbanCardID is not null) then
347: l_errMsg := 'Kanban update failed.'; --set message in case it fails
348: if(p_cplRec.wipEntityType = wip_constants.lotbased) then
349: l_docType := 8;

Line 378: raise fnd_api.g_exc_unexpected_error;

374: fnd_message.set_token('ENTITY1', 'total txn qty-cap', true);
375: fnd_message.set_token('ENTITY2', 'job complete quantity', true);
376: fnd_msg_pub.add;
377: l_errMsg := 'not enough quantity to return';
378: raise fnd_api.g_exc_unexpected_error;
379: end if;
380: --return the so reservation to wip
381: l_errMsg := 'SO return reservation failed'; --set message in case SO return failed
382: wip_so_reservations.return_reservation_to_wip(

Line 393: if(x_returnStatus <> fnd_api.g_ret_sts_success) then

389: x_msg_count => l_msgCount,
390: x_msg_data => l_errMsg);
391: end if;
392: --if any of the above failed, make sure the error status is unexpected error and fail
393: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
394: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
395: raise fnd_api.g_exc_unexpected_error;
396: end if;
397:

Line 394: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

390: x_msg_data => l_errMsg);
391: end if;
392: --if any of the above failed, make sure the error status is unexpected error and fail
393: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
394: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
395: raise fnd_api.g_exc_unexpected_error;
396: end if;
397:
398: update wip_discrete_jobs --increase the qty completed

Line 395: raise fnd_api.g_exc_unexpected_error;

391: end if;
392: --if any of the above failed, make sure the error status is unexpected error and fail
393: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
394: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
395: raise fnd_api.g_exc_unexpected_error;
396: end if;
397:
398: update wip_discrete_jobs --increase the qty completed
399: set quantity_completed = l_qtyCompleted + p_cplRec.priQty, --remember txn qty is negative for returns

Line 423: raise fnd_api.g_exc_unexpected_error;

419: if(l_toMoveQty - p_cplRec.priQty < 0) then
420: fnd_message.set_name('WIP', 'WIP_LESS_QTY');
421: fnd_msg_pub.add;
422: l_errMsg := 'not enough qty in to move of last op';
423: raise fnd_api.g_exc_unexpected_error;
424: end if;
425: update wip_operations --lower the quantity available to complete
426: set quantity_waiting_to_move = quantity_waiting_to_move - p_cplRec.priQty,
427: date_last_moved = decode(p_cplRec.txnActionID, wip_constants.cplassy_action, p_cplRec.txnDate, date_last_moved),

Line 447: raise fnd_api.g_exc_unexpected_error;

443: if p_cplRec.priQty - abs(l_qtyAvailToComplete) - oc_primary_qty > 0 then
444: fnd_message.set_name('WIP', 'WIP_LESS_QTY');
445: fnd_msg_pub.add;
446: l_errMsg := 'Quantity required to complete this transaction no longer available';
447: raise fnd_api.g_exc_unexpected_error;
448:
449: end if;
450: -- end of BUG 4869979 (FP 5107900)
451:

Line 461: when fnd_api.g_exc_unexpected_error then

457: p_msg => 'procedure success.',
458: x_returnStatus => l_returnStatus); --discard logging return status
459: end if;
460: exception
461: when fnd_api.g_exc_unexpected_error then
462: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
463: if (l_logLevel <= wip_constants.trace_logging) then
464: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.processDiscrete',
465: p_procReturnStatus => x_returnStatus,

Line 462: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

458: x_returnStatus => l_returnStatus); --discard logging return status
459: end if;
460: exception
461: when fnd_api.g_exc_unexpected_error then
462: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
463: if (l_logLevel <= wip_constants.trace_logging) then
464: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.processDiscrete',
465: p_procReturnStatus => x_returnStatus,
466: p_msg => l_errMsg,

Line 470: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

466: p_msg => l_errMsg,
467: x_returnStatus => l_returnStatus); --discard logging return status
468: end if;
469: when wip_constants.records_locked then
470: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
471: if (l_logLevel <= wip_constants.trace_logging) then
472: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.processDiscrete',
473: p_procReturnStatus => x_returnStatus,
474: p_msg => 'records were locked',

Line 480: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

476: end if;
477: fnd_message.set_name('INV', 'INV_WIP_WORK_ORDER_LOCKED');
478: fnd_msg_pub.add;
479: when others then
480: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
481: fnd_msg_pub.add_exc_msg(p_pkg_name => 'wip_cplProc_priv',
482: p_procedure_name => 'processDiscrete',
483: p_error_text => SQLERRM);
484: if (l_logLevel <= wip_constants.trace_logging) then

Line 552: x_returnStatus := fnd_api.g_ret_sts_success;

548: l_newSchedQty NUMBER;
549: l_cplStatus NUMBER;
550: l_rollFwdSuccess NUMBER;
551: begin
552: x_returnStatus := fnd_api.g_ret_sts_success;
553: if (l_logLevel <= wip_constants.trace_logging) then
554: fillCplParamTbl(p_cplRec => p_cplRec,
555: x_params => l_params);
556: l_paramCount := l_params.count;

Line 564: if(x_returnStatus <> fnd_api.g_ret_sts_success) then

560: wip_logger.entryPoint(p_procName => 'wip_cplProc_priv.processRepetitive',
561: p_params => l_params,
562: x_returnStatus => x_returnStatus);
563:
564: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
565: raise fnd_api.g_exc_unexpected_error;
566: end if;
567: end if;
568:

Line 565: raise fnd_api.g_exc_unexpected_error;

561: p_params => l_params,
562: x_returnStatus => x_returnStatus);
563:
564: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
565: raise fnd_api.g_exc_unexpected_error;
566: end if;
567: end if;
568:
569:

Line 581: if(x_returnStatus <> fnd_api.g_ret_sts_success) then

577: p_document_detail_id => null,
578: p_replenish_quantity => p_cplRec.priQty,
579: x_return_status => x_returnStatus);
580:
581: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
582: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
583: l_errMsg := 'Kanban update failed.'; --set message in case it fails
584: raise fnd_api.g_exc_unexpected_error;
585: end if;

Line 582: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

578: p_replenish_quantity => p_cplRec.priQty,
579: x_return_status => x_returnStatus);
580:
581: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
582: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
583: l_errMsg := 'Kanban update failed.'; --set message in case it fails
584: raise fnd_api.g_exc_unexpected_error;
585: end if;
586: end if;

Line 584: raise fnd_api.g_exc_unexpected_error;

580:
581: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
582: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
583: l_errMsg := 'Kanban update failed.'; --set message in case it fails
584: raise fnd_api.g_exc_unexpected_error;
585: end if;
586: end if;
587:
588: if(p_cplRec.lastOpSeq is null or p_cplRec.lastOpSeq < 0) then

Line 629: raise fnd_api.g_exc_unexpected_error;

625: --add check for pending txns here
626: fnd_message.set_name('WIP', 'WIP_LESS_QTY');
627: fnd_msg_pub.add;
628: l_errMsg := 'not enough qty in to move of last op';
629: raise fnd_api.g_exc_unexpected_error;
630: end if;
631: end if;
632: if (l_logLevel <= wip_constants.full_logging) then
633: wip_logger.log('schedID' || l_schedRecTbl.schedID(i), l_returnStatus);

Line 668: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

664: p_success_flag => l_rollFwdSuccess,
665: p_error_msg => l_errMsg);
666: if(l_rollFwdSuccess <> wip_constants.yes) then
667: -- fnd_msg_pub.add; --assume error message is still current
668: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
669: l_errMsg := 'roll forward failed for schedule ' || l_schedRec.repSchedID;
670: end if;
671: end if;
672: end loop;

Line 722: when fnd_api.g_exc_unexpected_error then

718: x_returnStatus => l_returnStatus); --discard logging return status
719: end if;
720:
721: exception
722: when fnd_api.g_exc_unexpected_error then
723: if (l_logLevel <= wip_constants.trace_logging) then
724: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.processRepetitive',
725: p_procReturnStatus => x_returnStatus,
726: p_msg => l_errMsg,

Line 730: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

726: p_msg => l_errMsg,
727: x_returnStatus => l_returnStatus); --discard logging return status
728: end if;
729: when others then
730: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
731: fnd_msg_pub.add_exc_msg(p_pkg_name => 'wip_cplProc_priv',
732: p_procedure_name => 'processRepetitive',
733: p_error_text => SQLERRM);
734: if (l_logLevel <= wip_constants.trace_logging) then

Line 782: if(x_returnStatus <> fnd_api.g_ret_sts_success) then

778: wip_logger.entryPoint(p_procName => 'wip_cplProc_priv.processOverCpl',
779: p_params => l_params,
780: x_returnStatus => x_returnStatus);
781:
782: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
783: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
784: raise fnd_api.g_exc_unexpected_error;
785: end if;
786: end if;

Line 783: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

779: p_params => l_params,
780: x_returnStatus => x_returnStatus);
781:
782: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
783: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
784: raise fnd_api.g_exc_unexpected_error;
785: end if;
786: end if;
787:

Line 784: raise fnd_api.g_exc_unexpected_error;

780: x_returnStatus => x_returnStatus);
781:
782: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
783: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
784: raise fnd_api.g_exc_unexpected_error;
785: end if;
786: end if;
787:
788: if(p_cplRec.wipEntityType = wip_constants.repetitive) then

Line 797: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

793: x_last_sched_id => l_lastSchedID,
794: x_error_mesg => l_errMsg);
795: if(l_errMsg <> null) then
796: fnd_msg_pub.add; --assume prev fn used the fnd_message pkg
797: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
798: l_errMsg := 'wip_repetitive_utilities.get_first_last_sched: ' || l_errMsg;
799: raise fnd_api.g_exc_unexpected_error;
800: end if;
801: end if;

Line 799: raise fnd_api.g_exc_unexpected_error;

795: if(l_errMsg <> null) then
796: fnd_msg_pub.add; --assume prev fn used the fnd_message pkg
797: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
798: l_errMsg := 'wip_repetitive_utilities.get_first_last_sched: ' || l_errMsg;
799: raise fnd_api.g_exc_unexpected_error;
800: end if;
801: end if;
802:
803: wip_overcompletion.check_tolerance(p_organization_id => p_cplRec.orgID,

Line 811: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

807: p_result => x_returnStatus);
808:
809:
810: if(x_returnStatus = wip_constants.no) then
811: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
812: fnd_message.set_name('WIP', 'WIP_OC_TOLERANCE_FAIL');
813: fnd_msg_pub.add;
814: l_errMsg := 'cpl exceeded tolerances';
815: raise fnd_api.g_exc_unexpected_error;

Line 815: raise fnd_api.g_exc_unexpected_error;

811: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
812: fnd_message.set_name('WIP', 'WIP_OC_TOLERANCE_FAIL');
813: fnd_msg_pub.add;
814: l_errMsg := 'cpl exceeded tolerances';
815: raise fnd_api.g_exc_unexpected_error;
816: else
817: x_returnStatus := fnd_api.g_ret_sts_success;
818: end if;
819:

Line 817: x_returnStatus := fnd_api.g_ret_sts_success;

813: fnd_msg_pub.add;
814: l_errMsg := 'cpl exceeded tolerances';
815: raise fnd_api.g_exc_unexpected_error;
816: else
817: x_returnStatus := fnd_api.g_ret_sts_success;
818: end if;
819:
820:
821: --if a routing exists, insert a move record and perform the move

Line 840: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

836: p_err_mesg => l_errMsg);
837:
838: --if insert failed
839: if(l_errMsg is not null) then
840: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
841: fnd_msg_pub.add;
842: l_errMsg := 'wip_overcompletion.insert_oc_move_txn: ' || l_errMsg;
843: raise fnd_api.g_exc_unexpected_error;
844: end if;

Line 843: raise fnd_api.g_exc_unexpected_error;

839: if(l_errMsg is not null) then
840: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
841: fnd_msg_pub.add;
842: l_errMsg := 'wip_overcompletion.insert_oc_move_txn: ' || l_errMsg;
843: raise fnd_api.g_exc_unexpected_error;
844: end if;
845:
846: --we must process material requirements in background mode so any assy pull components in MMTT
847: --do not get processed. Assy pull components must remain through the discrete job processing so

Line 858: p_endDebug => fnd_api.g_false,

854: p_time_out => 0,
855: p_move_mode => wip_constants.online,
856: p_bf_mode => wip_constants.online, --ignored
857: p_mtl_mode => wip_constants.no_processing,--do not call inv TM at all
858: p_endDebug => fnd_api.g_false,
859: p_initMsgList => fnd_api.g_false,
860: p_insertAssy => fnd_api.g_true,
861: p_do_backflush => fnd_api.g_false,--backflush was already done
862: p_cmp_txn_id => null,

Line 859: p_initMsgList => fnd_api.g_false,

855: p_move_mode => wip_constants.online,
856: p_bf_mode => wip_constants.online, --ignored
857: p_mtl_mode => wip_constants.no_processing,--do not call inv TM at all
858: p_endDebug => fnd_api.g_false,
859: p_initMsgList => fnd_api.g_false,
860: p_insertAssy => fnd_api.g_true,
861: p_do_backflush => fnd_api.g_false,--backflush was already done
862: p_cmp_txn_id => null,
863: x_returnStatus => x_returnStatus);

Line 860: p_insertAssy => fnd_api.g_true,

856: p_bf_mode => wip_constants.online, --ignored
857: p_mtl_mode => wip_constants.no_processing,--do not call inv TM at all
858: p_endDebug => fnd_api.g_false,
859: p_initMsgList => fnd_api.g_false,
860: p_insertAssy => fnd_api.g_true,
861: p_do_backflush => fnd_api.g_false,--backflush was already done
862: p_cmp_txn_id => null,
863: x_returnStatus => x_returnStatus);
864:

Line 861: p_do_backflush => fnd_api.g_false,--backflush was already done

857: p_mtl_mode => wip_constants.no_processing,--do not call inv TM at all
858: p_endDebug => fnd_api.g_false,
859: p_initMsgList => fnd_api.g_false,
860: p_insertAssy => fnd_api.g_true,
861: p_do_backflush => fnd_api.g_false,--backflush was already done
862: p_cmp_txn_id => null,
863: x_returnStatus => x_returnStatus);
864:
865: if(x_returnStatus <> fnd_api.g_ret_sts_success) then

Line 865: if(x_returnStatus <> fnd_api.g_ret_sts_success) then

861: p_do_backflush => fnd_api.g_false,--backflush was already done
862: p_cmp_txn_id => null,
863: x_returnStatus => x_returnStatus);
864:
865: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
866: --depend on move to set the message
867: raise fnd_api.g_exc_unexpected_error;
868: end if;
869: --otherwise we just have to increase the component requirements in wro

Line 867: raise fnd_api.g_exc_unexpected_error;

863: x_returnStatus => x_returnStatus);
864:
865: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
866: --depend on move to set the message
867: raise fnd_api.g_exc_unexpected_error;
868: end if;
869: --otherwise we just have to increase the component requirements in wro
870: else
871: if(p_cplRec.wipEntityType = wip_constants.repetitive) then

Line 894: when fnd_api.g_exc_unexpected_error then

890: p_msg => 'procedure success.',
891: x_returnStatus => l_returnStatus); --discard logging return status
892: end if;
893: exception
894: when fnd_api.g_exc_unexpected_error then
895: if (l_logLevel <= wip_constants.trace_logging) then
896: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.processOverCpl',
897: p_procReturnStatus => x_returnStatus,
898: p_msg => l_errMsg,

Line 902: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

898: p_msg => l_errMsg,
899: x_returnStatus => l_returnStatus); --discard logging return status
900: end if;
901: when others then
902: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
903: fnd_msg_pub.add_exc_msg(p_pkg_name => 'wip_cplProc_priv',
904: p_procedure_name => 'processOverCpl',
905: p_error_text => SQLERRM);
906: if (l_logLevel <= wip_constants.trace_logging) then

Line 1028: x_returnStatus := fnd_api.g_ret_sts_success;

1024: l_txnRecTbl txn_alloc_recTbl_t;
1025: l_schedRecTbl schedule_recTbl_t;
1026: l_startQty NUMBER;
1027: begin
1028: x_returnStatus := fnd_api.g_ret_sts_success;
1029:
1030: savepoint wipcplpb40;
1031:
1032: if (l_logLevel <= wip_constants.trace_logging) then

Line 1050: if(x_returnStatus <> fnd_api.g_ret_sts_success) then

1046: wip_logger.entryPoint(p_procName => 'wip_cplProc_priv.preAllocateSchedules',
1047: p_params => l_params,
1048: x_returnStatus => x_returnStatus);
1049:
1050: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
1051: raise fnd_api.g_exc_unexpected_error;
1052: end if;
1053: end if;
1054:

Line 1051: raise fnd_api.g_exc_unexpected_error;

1047: p_params => l_params,
1048: x_returnStatus => x_returnStatus);
1049:
1050: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
1051: raise fnd_api.g_exc_unexpected_error;
1052: end if;
1053: end if;
1054:
1055: if(p_tblName = wip_constants.MTI_TBL) then

Line 1177: raise fnd_api.g_exc_unexpected_error;

1173: (l_schedRecTbl.bomRev(j) is not null or l_txnRecTbl.revision(i) is not null)) then
1174: fnd_message.set_name('WIP', 'WIP_SCHED_MULTIPLE_BILL_REV');
1175: fnd_msg_pub.add;
1176: l_errMsg := 'Schedules have different bill revisions.'; --set message in case it fails
1177: raise fnd_api.g_exc_unexpected_error;
1178: end if;
1179:
1180: --complete the lesser of the open quantity and the remaining transaction qty
1181:

Line 1234: raise fnd_api.g_exc_unexpected_error; -- couldn't find any open schedules

1230: fnd_message.set_name('WIP', 'WIP_INT_ERROR_NO_SCHED');
1231: fnd_message.set_token('ROUTINE', 'wip_cplProc_priv.preAllocateSchedules');
1232: fnd_msg_pub.add;
1233: l_errMsg := 'did not find any schedules.';
1234: raise fnd_api.g_exc_unexpected_error; -- couldn't find any open schedules
1235: end if;
1236:
1237: if (l_logLevel <= wip_constants.full_logging) then
1238: wip_logger.log('txnID' || l_txnRecTbl.txnID(i), l_returnStatus);

Line 1265: raise fnd_api.g_exc_unexpected_error; -- couldn't find any open schedules

1261: fnd_message.set_name('WIP', 'WIP_INT_ERROR_NO_SCHED');
1262: fnd_message.set_token('ROUTINE', 'wip_cplProc_priv.preAllocateSchedules');
1263: fnd_msg_pub.add;
1264: l_errMsg := 'did not find any schedules.';
1265: raise fnd_api.g_exc_unexpected_error; -- couldn't find any open schedules
1266: end if;
1267: end if; /*Fix for Bug#6018877 - FP of bug#6004763*/
1268:
1269: if (l_logLevel <= wip_constants.full_logging) then

Line 1322: when fnd_api.g_exc_unexpected_error then

1318: p_msg => 'procedure success.',
1319: x_returnStatus => l_returnStatus); --discard logging return status
1320: end if;
1321: exception
1322: when fnd_api.g_exc_unexpected_error then
1323: rollback to wipcplpb40;
1324: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
1325: if (l_logLevel <= wip_constants.trace_logging) then
1326: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.preAllocateSchedules',

Line 1324: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

1320: end if;
1321: exception
1322: when fnd_api.g_exc_unexpected_error then
1323: rollback to wipcplpb40;
1324: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
1325: if (l_logLevel <= wip_constants.trace_logging) then
1326: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.preAllocateSchedules',
1327: p_procReturnStatus => x_returnStatus,
1328: p_msg => l_errMsg,

Line 1332: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

1328: p_msg => l_errMsg,
1329: x_returnStatus => l_returnStatus); --discard logging return status
1330: end if;
1331: when others then
1332: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
1333: fnd_msg_pub.add_exc_msg(p_pkg_name => 'wip_cplProc_priv',
1334: p_procedure_name => 'preAllocateSchedules',
1335: p_error_text => SQLERRM);
1336: if (l_logLevel <= wip_constants.trace_logging) then

Line 1394: if(x_returnStatus <> fnd_api.g_ret_sts_success) then

1390: wip_logger.entryPoint(p_procName => 'wip_cplProc_priv.preAllocateRets',
1391: p_params => l_params,
1392: x_returnStatus => x_returnStatus);
1393:
1394: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
1395: raise fnd_api.g_exc_unexpected_error;
1396: end if;
1397: end if;
1398:

Line 1395: raise fnd_api.g_exc_unexpected_error;

1391: p_params => l_params,
1392: x_returnStatus => x_returnStatus);
1393:
1394: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
1395: raise fnd_api.g_exc_unexpected_error;
1396: end if;
1397: end if;
1398:
1399: for l_schedRec in c_openScheds loop

Line 1497: x_returnStatus := fnd_api.g_ret_sts_success;

1493: if (l_logLevel <= wip_constants.full_logging) then
1494: wip_logger.log('inserted ' || SQL%ROWCOUNT || ' rows', l_returnStatus);
1495: end if;
1496:
1497: x_returnStatus := fnd_api.g_ret_sts_success;
1498:
1499: if (l_logLevel <= wip_constants.trace_logging) then
1500: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.preAllocateRets',
1501: p_procReturnStatus => x_returnStatus,

Line 1508: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

1504: end if;
1505:
1506: exception
1507: when others then
1508: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
1509: if (l_logLevel <= wip_constants.trace_logging) then
1510: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.preAllocateRets',
1511: p_procReturnStatus => x_returnStatus,
1512: p_msg => 'unexpected error: ' || SQLERRM,

Line 1541: if(x_returnStatus <> fnd_api.g_ret_sts_success) then

1537: wip_logger.entryPoint(p_procName => 'wip_cplProc_priv.preAllocateSchedules',
1538: p_params => l_params,
1539: x_returnStatus => x_returnStatus);
1540:
1541: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
1542: raise fnd_api.g_exc_unexpected_error;
1543: end if;
1544: end if;
1545:

Line 1542: raise fnd_api.g_exc_unexpected_error;

1538: p_params => l_params,
1539: x_returnStatus => x_returnStatus);
1540:
1541: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
1542: raise fnd_api.g_exc_unexpected_error;
1543: end if;
1544: end if;
1545:
1546: if(p_txnActionID = wip_constants.cplassy_action) then

Line 1562: if(x_returnStatus <> fnd_api.g_ret_sts_success) then

1558: p_tblName => p_tblName,
1559: x_returnStatus => x_returnStatus);
1560: end if;
1561:
1562: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
1563: raise fnd_api.g_exc_unexpected_error;
1564: end if;
1565:
1566: if (l_logLevel <= wip_constants.trace_logging) then

Line 1563: raise fnd_api.g_exc_unexpected_error;

1559: x_returnStatus => x_returnStatus);
1560: end if;
1561:
1562: if(x_returnStatus <> fnd_api.g_ret_sts_success) then
1563: raise fnd_api.g_exc_unexpected_error;
1564: end if;
1565:
1566: if (l_logLevel <= wip_constants.trace_logging) then
1567: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.preAllocateSchedules',

Line 1571: if(fnd_api.to_boolean(p_endDebug)) then

1567: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.preAllocateSchedules',
1568: p_procReturnStatus => x_returnStatus,
1569: p_msg => 'procedure success.',
1570: x_returnStatus => l_returnStatus); --discard logging return status
1571: if(fnd_api.to_boolean(p_endDebug)) then
1572: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
1573: end if;
1574: end if;
1575:

Line 1577: when fnd_api.g_exc_unexpected_error then

1573: end if;
1574: end if;
1575:
1576: exception
1577: when fnd_api.g_exc_unexpected_error then
1578: rollback to wipcplpb40;
1579: if (l_logLevel <= wip_constants.trace_logging) then
1580: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.preAllocateSchedules',
1581: p_procReturnStatus => x_returnStatus,

Line 1584: if(fnd_api.to_boolean(p_endDebug)) then

1580: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.preAllocateSchedules',
1581: p_procReturnStatus => x_returnStatus,
1582: p_msg => l_errMsg,
1583: x_returnStatus => l_returnStatus); --discard logging return status
1584: if(fnd_api.to_boolean(p_endDebug)) then
1585: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
1586: end if;
1587: end if;
1588: when others then

Line 1590: x_returnStatus := fnd_api.g_ret_sts_unexp_error;

1586: end if;
1587: end if;
1588: when others then
1589: rollback to wipcplpb40;
1590: x_returnStatus := fnd_api.g_ret_sts_unexp_error;
1591: fnd_msg_pub.add_exc_msg(p_pkg_name => 'wip_cplProc_priv',
1592: p_procedure_name => 'preAllocateSchedules',
1593: p_error_text => SQLERRM);
1594: if (l_logLevel <= wip_constants.trace_logging) then

Line 1599: if(fnd_api.to_boolean(p_endDebug)) then

1595: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.preAllocateSchedules',
1596: p_procReturnStatus => x_returnStatus,
1597: p_msg => 'unexpected error: ' || SQLERRM,
1598: x_returnStatus => l_returnStatus); --discard logging return status
1599: if(fnd_api.to_boolean(p_endDebug)) then
1600: wip_logger.cleanUp(x_returnStatus => l_returnStatus); --discard logging return status
1601: end if;
1602: end if;
1603: end preAllocateSchedules;

Line 1720: p_addMsgToStack => fnd_api.g_true, -- So that we can display to user

1716: SAVEPOINT s_oa_txn_proc;
1717: -- Validate and move records from MTI to MMTT.
1718: wip_mtlTempProc_priv.validateInterfaceTxns(
1719: p_txnHdrID => p_mtl_header_id,
1720: p_addMsgToStack => fnd_api.g_true, -- So that we can display to user
1721: p_rollbackOnErr => fnd_api.g_false,
1722: x_returnStatus => x_returnStatus);
1723:
1724: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN

Line 1721: p_rollbackOnErr => fnd_api.g_false,

1717: -- Validate and move records from MTI to MMTT.
1718: wip_mtlTempProc_priv.validateInterfaceTxns(
1719: p_txnHdrID => p_mtl_header_id,
1720: p_addMsgToStack => fnd_api.g_true, -- So that we can display to user
1721: p_rollbackOnErr => fnd_api.g_false,
1722: x_returnStatus => x_returnStatus);
1723:
1724: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN
1725: raise fnd_api.g_exc_unexpected_error;

Line 1724: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN

1720: p_addMsgToStack => fnd_api.g_true, -- So that we can display to user
1721: p_rollbackOnErr => fnd_api.g_false,
1722: x_returnStatus => x_returnStatus);
1723:
1724: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN
1725: raise fnd_api.g_exc_unexpected_error;
1726: END IF;
1727:
1728: l_process_phase := '3';

Line 1725: raise fnd_api.g_exc_unexpected_error;

1721: p_rollbackOnErr => fnd_api.g_false,
1722: x_returnStatus => x_returnStatus);
1723:
1724: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN
1725: raise fnd_api.g_exc_unexpected_error;
1726: END IF;
1727:
1728: l_process_phase := '3';
1729: SELECT primary_cost_method

Line 1746: raise fnd_api.g_exc_unexpected_error;

1742: IF(l_ret_value <> 1) THEN
1743: fnd_message.set_name(application => 'CST',
1744: name => 'CST_SNAPSHOT_FAILED');
1745: fnd_msg_pub.add;
1746: raise fnd_api.g_exc_unexpected_error;
1747: END IF;
1748: END IF;
1749:
1750: l_process_phase := '5';

Line 1760: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN

1756: p_msg_data => l_error_msg,
1757: p_label_status => l_label_status,
1758: p_business_flow_code => 26); -- discrete business flow code
1759: -- do not error out if label printing, only put warning message in log
1760: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN
1761: wip_utilities.get_message_stack(p_msg => l_msg_stack);
1762: IF (l_log_level <= wip_constants.full_logging) then
1763: wip_logger.log(p_msg => 'An error has occurred with label printing.\n' ||
1764: 'The following error has occurred during ' ||

Line 1809: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN

1805:
1806: wip_cplProc_priv.processOverCpl(p_cplRec => l_oc_rec,
1807: x_returnStatus => x_returnStatus);
1808:
1809: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN
1810: RAISE fnd_api.g_exc_unexpected_error;
1811: END IF;
1812: END IF; -- Overcompletion
1813:

Line 1810: RAISE fnd_api.g_exc_unexpected_error;

1806: wip_cplProc_priv.processOverCpl(p_cplRec => l_oc_rec,
1807: x_returnStatus => x_returnStatus);
1808:
1809: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN
1810: RAISE fnd_api.g_exc_unexpected_error;
1811: END IF;
1812: END IF; -- Overcompletion
1813:
1814: l_process_phase := '7';

Line 1816: (p_initMsgList => fnd_api.g_true,

1812: END IF; -- Overcompletion
1813:
1814: l_process_phase := '7';
1815: wip_mtlTempProc_priv.processTemp
1816: (p_initMsgList => fnd_api.g_true,
1817: p_txnHdrID => p_mtl_header_id,
1818: p_txnMode => WIP_CONSTANTS.ONLINE,
1819: x_returnStatus => x_returnStatus,
1820: x_errorMsg => l_error_msg);

Line 1822: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN

1818: p_txnMode => WIP_CONSTANTS.ONLINE,
1819: x_returnStatus => x_returnStatus,
1820: x_errorMsg => l_error_msg);
1821:
1822: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN
1823: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
1824: fnd_message.set_token('MESSAGE', l_error_msg);
1825: fnd_msg_pub.add;
1826: raise fnd_api.g_exc_unexpected_error;

Line 1826: raise fnd_api.g_exc_unexpected_error;

1822: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN
1823: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');
1824: fnd_message.set_token('MESSAGE', l_error_msg);
1825: fnd_msg_pub.add;
1826: raise fnd_api.g_exc_unexpected_error;
1827: END IF;
1828:
1829: l_process_phase := '8';
1830: -- Update to MSN must take place after inventory processing as they always

Line 1854: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN

1850: p_operation_seq_num => l_op_seq,
1851: p_intraoperation_step_type => l_step,
1852: x_return_status => x_returnStatus);
1853:
1854: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN
1855: RAISE fnd_api.g_exc_unexpected_error;
1856: END IF;
1857: END IF; -- Serialized transaction
1858:

Line 1855: RAISE fnd_api.g_exc_unexpected_error;

1851: p_intraoperation_step_type => l_step,
1852: x_return_status => x_returnStatus);
1853:
1854: IF(x_returnStatus <> fnd_api.g_ret_sts_success) THEN
1855: RAISE fnd_api.g_exc_unexpected_error;
1856: END IF;
1857: END IF; -- Serialized transaction
1858:
1859: l_process_phase := '9';

Line 1864: x_returnStatus := fnd_api.g_ret_sts_success;

1860: IF(c_cmp_txn%ISOPEN) THEN
1861: CLOSE c_cmp_txn;
1862: END IF;
1863:
1864: x_returnStatus := fnd_api.g_ret_sts_success;
1865: -- write to the log file
1866: IF (l_log_level <= wip_constants.trace_logging) THEN
1867: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.processOATxn',
1868: p_procReturnStatus => x_returnStatus,

Line 1876: WHEN fnd_api.g_exc_unexpected_error THEN

1872: -- close log file
1873: wip_logger.cleanUp(x_returnStatus => l_return_status);
1874:
1875: EXCEPTION
1876: WHEN fnd_api.g_exc_unexpected_error THEN
1877: IF(c_cmp_txn%ISOPEN) THEN
1878: CLOSE c_cmp_txn;
1879: END IF;
1880: ROLLBACK TO SAVEPOINT s_oa_txn_proc;

Line 1881: x_returnStatus := fnd_api.g_ret_sts_error;

1877: IF(c_cmp_txn%ISOPEN) THEN
1878: CLOSE c_cmp_txn;
1879: END IF;
1880: ROLLBACK TO SAVEPOINT s_oa_txn_proc;
1881: x_returnStatus := fnd_api.g_ret_sts_error;
1882:
1883: IF (l_log_level <= wip_constants.trace_logging) THEN
1884: wip_logger.exitPoint(p_procName => 'wip_cplProc_priv.processOATxn',
1885: p_procReturnStatus => x_returnStatus,

Line 1897: x_returnStatus := fnd_api.g_ret_sts_error;

1893: IF(c_cmp_txn%ISOPEN) THEN
1894: CLOSE c_cmp_txn;
1895: END IF;
1896: ROLLBACK TO SAVEPOINT s_oa_txn_proc;
1897: x_returnStatus := fnd_api.g_ret_sts_error;
1898: l_error_msg := ' unexpected error: ' || SQLERRM || 'SQLCODE = ' ||
1899: SQLCODE;
1900:
1901: fnd_message.set_name('FND', 'FND_GENERIC_MESSAGE');