30: savepoint wmapmtlb0;
31:
32: l_logLevel := to_number(fnd_log.g_current_runtime_level);
33:
34: if (l_logLevel <= wip_constants.trace_logging) then
35: l_params(1).paramName := 'not printing params';
36: l_params(1).paramValue := ' ';
37: wip_logger.entryPoint(p_procName => 'wma_material.process',
38: p_params => l_params,
40: end if;
41:
42: status := 0;
43:
44: if(l_logLevel <= wip_constants.full_logging) then
45: wip_logger.log('before derive', l_returnStatus);
46: end if;
47:
48: -- derive and validate all necessary fields for insertion
52: errMessage := error;
53: return;
54: end if;
55:
56: if(l_logLevel <= wip_constants.full_logging) then
57: wip_logger.log('before put', l_returnStatus);
58: end if;
59:
60: -- insert into the interface table for background processing
65: return;
66: end if;
67:
68: --if online, go ahead and process the txn
69: -- if(wma_derive.getTxnMode(param.environment.orgID) = wip_constants.online OR
70: -- param.isFromSerializedPage = 1 ) then
71: -- wip_mtlProc_priv.processTemp(p_initMsgList => fnd_api.g_true,
72: -- p_processInv => fnd_api.g_true,
73: -- p_endDebug => fnd_api.g_true,
73: -- p_endDebug => fnd_api.g_true,
74: -- p_txnTmpID => param.transactionTempID,
75: -- x_returnStatus => l_returnStatus);
76:
77: if(l_logLevel <= wip_constants.full_logging) then
78: wip_logger.log('before processor', l_returnStatus);
79: end if;
80:
81: wip_mtlTempProc_priv.processTemp(p_initMsgList => fnd_api.g_true,
87: if(l_returnStatus <> fnd_api.g_ret_sts_success) then
88: raise fnd_api.g_exc_unexpected_error;
89: end if;
90:
91: if (l_logLevel <= wip_constants.trace_logging) then
92: wip_logger.exitPoint(p_procName => 'wma_material.process',
93: p_procReturnStatus => status,
94: p_msg => 'success',
95: x_returnStatus => l_returnStatus);
98: when fnd_api.g_exc_unexpected_error then
99: rollback to wmapmtlb0;
100: status := -1;
101: -- wip_utilities.get_message_stack(p_msg => errMessage);
102: if (l_logLevel <= wip_constants.trace_logging) then
103: wip_logger.exitPoint(p_procName => 'wma_material.process',
104: p_procReturnStatus => status,
105: p_msg => errMessage,
106: x_returnStatus => l_returnStatus);
110: fnd_message.set_name ('WIP', 'GENERIC_ERROR');
111: fnd_message.set_token ('FUNCTION', 'wma_material.process');
112: fnd_message.set_token ('ERROR', SQLERRM);
113: errMessage := fnd_message.get;
114: if (l_logLevel <= wip_constants.trace_logging) then
115: wip_logger.exitPoint(p_procName => 'wma_material.process',
116: p_procReturnStatus => status,
117: p_msg => errMessage,
118: x_returnStatus => l_returnStatus);
198: mtlRec.final_completion_flag := 'N';
199: mtlRec.transaction_header_id := param.transactionHeaderID;
200: mtlRec.transaction_interface_id := param.transactionIntID;
201:
202: if(wma_derive.getTxnMode(param.environment.orgID) = wip_constants.online OR
203: param.isFromSerializedPage = 1 ) then
204: mtlRec.transaction_mode := WIP_CONSTANTS.ONLINE;
205: else
206: mtlRec.transaction_mode := WIP_CONSTANTS.BACKGROUND;
200: mtlRec.transaction_interface_id := param.transactionIntID;
201:
202: if(wma_derive.getTxnMode(param.environment.orgID) = wip_constants.online OR
203: param.isFromSerializedPage = 1 ) then
204: mtlRec.transaction_mode := WIP_CONSTANTS.ONLINE;
205: else
206: mtlRec.transaction_mode := WIP_CONSTANTS.BACKGROUND;
207: end if;
208: -- mtlRec.lock_flag := 'N';
202: if(wma_derive.getTxnMode(param.environment.orgID) = wip_constants.online OR
203: param.isFromSerializedPage = 1 ) then
204: mtlRec.transaction_mode := WIP_CONSTANTS.ONLINE;
205: else
206: mtlRec.transaction_mode := WIP_CONSTANTS.BACKGROUND;
207: end if;
208: -- mtlRec.lock_flag := 'N';
209: mtlRec.inventory_item_id := param.itemID;
210: mtlRec.subinventory_code := param.subinventoryCode;
229: -- set up the transaction action id and trx quantity
230: mtlRec.transaction_quantity := param.transactionQty;
231: mtlRec.primary_quantity := param.transactionQty;
232: mtlRec.negative_req_flag := 1;
233: if ( param.transactionType = WIP_CONSTANTS.ISSCOMP_TYPE ) then
234: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSCOMP_ACTION;
235: mtlRec.transaction_quantity := param.transactionQty * -1;
236: mtlRec.primary_quantity := param.transactionQty * -1;
237: elsif ( param.transactionType = WIP_CONSTANTS.RETCOMP_TYPE ) then
230: mtlRec.transaction_quantity := param.transactionQty;
231: mtlRec.primary_quantity := param.transactionQty;
232: mtlRec.negative_req_flag := 1;
233: if ( param.transactionType = WIP_CONSTANTS.ISSCOMP_TYPE ) then
234: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSCOMP_ACTION;
235: mtlRec.transaction_quantity := param.transactionQty * -1;
236: mtlRec.primary_quantity := param.transactionQty * -1;
237: elsif ( param.transactionType = WIP_CONSTANTS.RETCOMP_TYPE ) then
238: mtlRec.transaction_action_id := WIP_CONSTANTS.RETCOMP_ACTION;
233: if ( param.transactionType = WIP_CONSTANTS.ISSCOMP_TYPE ) then
234: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSCOMP_ACTION;
235: mtlRec.transaction_quantity := param.transactionQty * -1;
236: mtlRec.primary_quantity := param.transactionQty * -1;
237: elsif ( param.transactionType = WIP_CONSTANTS.RETCOMP_TYPE ) then
238: mtlRec.transaction_action_id := WIP_CONSTANTS.RETCOMP_ACTION;
239: elsif ( param.transactionType = WIP_CONSTANTS.ISSNEGC_TYPE ) then
240: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSNEGC_ACTION;
241: mtlRec.negative_req_flag := -1;
234: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSCOMP_ACTION;
235: mtlRec.transaction_quantity := param.transactionQty * -1;
236: mtlRec.primary_quantity := param.transactionQty * -1;
237: elsif ( param.transactionType = WIP_CONSTANTS.RETCOMP_TYPE ) then
238: mtlRec.transaction_action_id := WIP_CONSTANTS.RETCOMP_ACTION;
239: elsif ( param.transactionType = WIP_CONSTANTS.ISSNEGC_TYPE ) then
240: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSNEGC_ACTION;
241: mtlRec.negative_req_flag := -1;
242: elsif ( param.transactionType = WIP_CONSTANTS.RETNEGC_TYPE ) then
235: mtlRec.transaction_quantity := param.transactionQty * -1;
236: mtlRec.primary_quantity := param.transactionQty * -1;
237: elsif ( param.transactionType = WIP_CONSTANTS.RETCOMP_TYPE ) then
238: mtlRec.transaction_action_id := WIP_CONSTANTS.RETCOMP_ACTION;
239: elsif ( param.transactionType = WIP_CONSTANTS.ISSNEGC_TYPE ) then
240: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSNEGC_ACTION;
241: mtlRec.negative_req_flag := -1;
242: elsif ( param.transactionType = WIP_CONSTANTS.RETNEGC_TYPE ) then
243: mtlRec.transaction_action_id := WIP_CONSTANTS.RETNEGC_ACTION;
236: mtlRec.primary_quantity := param.transactionQty * -1;
237: elsif ( param.transactionType = WIP_CONSTANTS.RETCOMP_TYPE ) then
238: mtlRec.transaction_action_id := WIP_CONSTANTS.RETCOMP_ACTION;
239: elsif ( param.transactionType = WIP_CONSTANTS.ISSNEGC_TYPE ) then
240: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSNEGC_ACTION;
241: mtlRec.negative_req_flag := -1;
242: elsif ( param.transactionType = WIP_CONSTANTS.RETNEGC_TYPE ) then
243: mtlRec.transaction_action_id := WIP_CONSTANTS.RETNEGC_ACTION;
244: mtlRec.transaction_quantity := param.transactionQty * -1;
238: mtlRec.transaction_action_id := WIP_CONSTANTS.RETCOMP_ACTION;
239: elsif ( param.transactionType = WIP_CONSTANTS.ISSNEGC_TYPE ) then
240: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSNEGC_ACTION;
241: mtlRec.negative_req_flag := -1;
242: elsif ( param.transactionType = WIP_CONSTANTS.RETNEGC_TYPE ) then
243: mtlRec.transaction_action_id := WIP_CONSTANTS.RETNEGC_ACTION;
244: mtlRec.transaction_quantity := param.transactionQty * -1;
245: mtlRec.primary_quantity := param.transactionQty * -1;
246: mtlRec.negative_req_flag := -1;
239: elsif ( param.transactionType = WIP_CONSTANTS.ISSNEGC_TYPE ) then
240: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSNEGC_ACTION;
241: mtlRec.negative_req_flag := -1;
242: elsif ( param.transactionType = WIP_CONSTANTS.RETNEGC_TYPE ) then
243: mtlRec.transaction_action_id := WIP_CONSTANTS.RETNEGC_ACTION;
244: mtlRec.transaction_quantity := param.transactionQty * -1;
245: mtlRec.primary_quantity := param.transactionQty * -1;
246: mtlRec.negative_req_flag := -1;
247: end if;
245: mtlRec.primary_quantity := param.transactionQty * -1;
246: mtlRec.negative_req_flag := -1;
247: end if;
248: mtlRec.transaction_type_id := param.transactionType;
249: mtlRec.wip_entity_type := WIP_CONSTANTS.DISCRETE;
250:
251: mtlRec.locator_id := param.locatorID;
252: mtlRec.operation_seq_num := param.opSeqNum;
253: mtlRec.department_id := param.deptID;
267: -- mtlRec.row.item_serial_control_code := item.serialNumberControlCode;
268: -- mtlRec.row.item_lot_control_code := item.lotControlCode;
269: -- mtlRec.row.posting_flag := 'Y';
270:
271: mtlRec.process_flag := wip_constants.mti_inventory;
272:
273: mtlRec.project_id := param.projectID;
274: mtlRec.task_id := param.taskID;
275: mtlRec.source_project_id := job.projectID;
275: mtlRec.source_project_id := job.projectID;
276: mtlRec.source_task_id := job.taskID;
277: mtlRec.qa_collection_id := param.qualityID;
278: mtlRec.wip_entity_type := param.wipEntityType;
279: if (param.wipEntityType = WIP_CONSTANTS.EAM) then
280: mtlRec.rebuild_item_id := param.itemID;
281: else
282: mtlRec.rebuild_item_id := NULL;
283: end if;
352: source_line_id,
353: source_header_id,
354: rebuild_item_id)
355: VALUES
356: (wip_constants.push, --always a push item
357: mtlRec.final_completion_flag,
358: mtlRec.transaction_header_id,
359: mtlRec.transaction_interface_id,
360: mtlRec.transaction_mode,
410: p_initMsgList => fnd_api.g_true,
411: x_returnStatus => l_retStatus);
412:
413: if(l_retStatus <> fnd_api.g_ret_sts_success) then
414: if (l_logLevel <= wip_constants.full_logging) then
415: wip_logger.log('put: error from validateInterfaceTxns', l_retStatus);
416: end if;
417: wip_utilities.get_message_stack(p_msg => errMsg);
418: return false;