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);
190: mtlRec.final_completion_flag := 'N';
191: mtlRec.transaction_header_id := param.transactionHeaderID;
192: mtlRec.transaction_interface_id := param.transactionIntID;
193:
194: if(wma_derive.getTxnMode(param.environment.orgID) = wip_constants.online OR
195: param.isFromSerializedPage = 1 ) then
196: mtlRec.transaction_mode := WIP_CONSTANTS.ONLINE;
197: else
198: mtlRec.transaction_mode := WIP_CONSTANTS.BACKGROUND;
192: mtlRec.transaction_interface_id := param.transactionIntID;
193:
194: if(wma_derive.getTxnMode(param.environment.orgID) = wip_constants.online OR
195: param.isFromSerializedPage = 1 ) then
196: mtlRec.transaction_mode := WIP_CONSTANTS.ONLINE;
197: else
198: mtlRec.transaction_mode := WIP_CONSTANTS.BACKGROUND;
199: end if;
200: -- mtlRec.lock_flag := 'N';
194: if(wma_derive.getTxnMode(param.environment.orgID) = wip_constants.online OR
195: param.isFromSerializedPage = 1 ) then
196: mtlRec.transaction_mode := WIP_CONSTANTS.ONLINE;
197: else
198: mtlRec.transaction_mode := WIP_CONSTANTS.BACKGROUND;
199: end if;
200: -- mtlRec.lock_flag := 'N';
201: mtlRec.inventory_item_id := param.itemID;
202: mtlRec.subinventory_code := param.subinventoryCode;
221: -- set up the transaction action id and trx quantity
222: mtlRec.transaction_quantity := param.transactionQty;
223: mtlRec.primary_quantity := param.transactionQty;
224: mtlRec.negative_req_flag := 1;
225: if ( param.transactionType = WIP_CONSTANTS.ISSCOMP_TYPE ) then
226: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSCOMP_ACTION;
227: mtlRec.transaction_quantity := param.transactionQty * -1;
228: mtlRec.primary_quantity := param.transactionQty * -1;
229: elsif ( param.transactionType = WIP_CONSTANTS.RETCOMP_TYPE ) then
222: mtlRec.transaction_quantity := param.transactionQty;
223: mtlRec.primary_quantity := param.transactionQty;
224: mtlRec.negative_req_flag := 1;
225: if ( param.transactionType = WIP_CONSTANTS.ISSCOMP_TYPE ) then
226: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSCOMP_ACTION;
227: mtlRec.transaction_quantity := param.transactionQty * -1;
228: mtlRec.primary_quantity := param.transactionQty * -1;
229: elsif ( param.transactionType = WIP_CONSTANTS.RETCOMP_TYPE ) then
230: mtlRec.transaction_action_id := WIP_CONSTANTS.RETCOMP_ACTION;
225: if ( param.transactionType = WIP_CONSTANTS.ISSCOMP_TYPE ) then
226: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSCOMP_ACTION;
227: mtlRec.transaction_quantity := param.transactionQty * -1;
228: mtlRec.primary_quantity := param.transactionQty * -1;
229: elsif ( param.transactionType = WIP_CONSTANTS.RETCOMP_TYPE ) then
230: mtlRec.transaction_action_id := WIP_CONSTANTS.RETCOMP_ACTION;
231: elsif ( param.transactionType = WIP_CONSTANTS.ISSNEGC_TYPE ) then
232: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSNEGC_ACTION;
233: mtlRec.negative_req_flag := -1;
226: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSCOMP_ACTION;
227: mtlRec.transaction_quantity := param.transactionQty * -1;
228: mtlRec.primary_quantity := param.transactionQty * -1;
229: elsif ( param.transactionType = WIP_CONSTANTS.RETCOMP_TYPE ) then
230: mtlRec.transaction_action_id := WIP_CONSTANTS.RETCOMP_ACTION;
231: elsif ( param.transactionType = WIP_CONSTANTS.ISSNEGC_TYPE ) then
232: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSNEGC_ACTION;
233: mtlRec.negative_req_flag := -1;
234: elsif ( param.transactionType = WIP_CONSTANTS.RETNEGC_TYPE ) then
227: mtlRec.transaction_quantity := param.transactionQty * -1;
228: mtlRec.primary_quantity := param.transactionQty * -1;
229: elsif ( param.transactionType = WIP_CONSTANTS.RETCOMP_TYPE ) then
230: mtlRec.transaction_action_id := WIP_CONSTANTS.RETCOMP_ACTION;
231: elsif ( param.transactionType = WIP_CONSTANTS.ISSNEGC_TYPE ) then
232: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSNEGC_ACTION;
233: mtlRec.negative_req_flag := -1;
234: elsif ( param.transactionType = WIP_CONSTANTS.RETNEGC_TYPE ) then
235: mtlRec.transaction_action_id := WIP_CONSTANTS.RETNEGC_ACTION;
228: mtlRec.primary_quantity := param.transactionQty * -1;
229: elsif ( param.transactionType = WIP_CONSTANTS.RETCOMP_TYPE ) then
230: mtlRec.transaction_action_id := WIP_CONSTANTS.RETCOMP_ACTION;
231: elsif ( param.transactionType = WIP_CONSTANTS.ISSNEGC_TYPE ) then
232: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSNEGC_ACTION;
233: mtlRec.negative_req_flag := -1;
234: elsif ( param.transactionType = WIP_CONSTANTS.RETNEGC_TYPE ) then
235: mtlRec.transaction_action_id := WIP_CONSTANTS.RETNEGC_ACTION;
236: mtlRec.transaction_quantity := param.transactionQty * -1;
230: mtlRec.transaction_action_id := WIP_CONSTANTS.RETCOMP_ACTION;
231: elsif ( param.transactionType = WIP_CONSTANTS.ISSNEGC_TYPE ) then
232: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSNEGC_ACTION;
233: mtlRec.negative_req_flag := -1;
234: elsif ( param.transactionType = WIP_CONSTANTS.RETNEGC_TYPE ) then
235: mtlRec.transaction_action_id := WIP_CONSTANTS.RETNEGC_ACTION;
236: mtlRec.transaction_quantity := param.transactionQty * -1;
237: mtlRec.primary_quantity := param.transactionQty * -1;
238: mtlRec.negative_req_flag := -1;
231: elsif ( param.transactionType = WIP_CONSTANTS.ISSNEGC_TYPE ) then
232: mtlRec.transaction_action_id := WIP_CONSTANTS.ISSNEGC_ACTION;
233: mtlRec.negative_req_flag := -1;
234: elsif ( param.transactionType = WIP_CONSTANTS.RETNEGC_TYPE ) then
235: mtlRec.transaction_action_id := WIP_CONSTANTS.RETNEGC_ACTION;
236: mtlRec.transaction_quantity := param.transactionQty * -1;
237: mtlRec.primary_quantity := param.transactionQty * -1;
238: mtlRec.negative_req_flag := -1;
239: end if;
237: mtlRec.primary_quantity := param.transactionQty * -1;
238: mtlRec.negative_req_flag := -1;
239: end if;
240: mtlRec.transaction_type_id := param.transactionType;
241: mtlRec.wip_entity_type := WIP_CONSTANTS.DISCRETE;
242:
243: mtlRec.locator_id := param.locatorID;
244: mtlRec.operation_seq_num := param.opSeqNum;
245: mtlRec.department_id := param.deptID;
259: -- mtlRec.row.item_serial_control_code := item.serialNumberControlCode;
260: -- mtlRec.row.item_lot_control_code := item.lotControlCode;
261: -- mtlRec.row.posting_flag := 'Y';
262:
263: mtlRec.process_flag := wip_constants.mti_inventory;
264:
265: mtlRec.project_id := param.projectID;
266: mtlRec.task_id := param.taskID;
267: mtlRec.source_project_id := job.projectID;
267: mtlRec.source_project_id := job.projectID;
268: mtlRec.source_task_id := job.taskID;
269: mtlRec.qa_collection_id := param.qualityID;
270: mtlRec.wip_entity_type := param.wipEntityType;
271: if (param.wipEntityType = WIP_CONSTANTS.EAM) then
272: mtlRec.rebuild_item_id := param.itemID;
273: else
274: mtlRec.rebuild_item_id := NULL;
275: end if;
344: source_line_id,
345: source_header_id,
346: rebuild_item_id)
347: VALUES
348: (wip_constants.push, --always a push item
349: mtlRec.final_completion_flag,
350: mtlRec.transaction_header_id,
351: mtlRec.transaction_interface_id,
352: mtlRec.transaction_mode,
402: p_initMsgList => fnd_api.g_true,
403: x_returnStatus => l_retStatus);
404:
405: if(l_retStatus <> fnd_api.g_ret_sts_success) then
406: if (l_logLevel <= wip_constants.full_logging) then
407: wip_logger.log('put: error from validateInterfaceTxns', l_retStatus);
408: end if;
409: wip_utilities.get_message_stack(p_msg => errMsg);
410: return false;