15: x_return_status OUT NOCOPY VARCHAR2,
16: x_trx_error_rec OUT NOCOPY CSI_DATASTRUCTURES_PUB.TRANSACTION_ERROR_REC)
17: IS
18:
19: l_mtl_item_tbl CSI_INV_TRXS_PKG.MTL_ITEM_TBL_TYPE;
20: l_api_name VARCHAR2(100) := 'CSI_INV_TRANSFER_PKG.SUBINV_TRANSFER';
21: l_api_version NUMBER := 1.0;
22: l_commit VARCHAR2(1) := FND_API.G_FALSE;
23: l_init_msg_list VARCHAR2(1) := FND_API.G_TRUE;
59: l_fnd_success VARCHAR2(1) := FND_API.G_RET_STS_SUCCESS;
60: l_fnd_warning VARCHAR2(1) := 'W';
61: l_fnd_error VARCHAR2(1) := FND_API.G_RET_STS_ERROR;
62: l_fnd_unexpected VARCHAR2(1) := FND_API.G_RET_STS_UNEXP_ERROR;
63: l_in_inventory VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_INVENTORY;
64: l_in_process VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_PROCESS;
65: l_out_of_service VARCHAR2(25) := CSI_INV_TRXS_PKG.G_OUT_OF_SERVICE;
66: l_in_service VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_SERVICE;
67: l_in_transit VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_TRANSIT;
60: l_fnd_warning VARCHAR2(1) := 'W';
61: l_fnd_error VARCHAR2(1) := FND_API.G_RET_STS_ERROR;
62: l_fnd_unexpected VARCHAR2(1) := FND_API.G_RET_STS_UNEXP_ERROR;
63: l_in_inventory VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_INVENTORY;
64: l_in_process VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_PROCESS;
65: l_out_of_service VARCHAR2(25) := CSI_INV_TRXS_PKG.G_OUT_OF_SERVICE;
66: l_in_service VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_SERVICE;
67: l_in_transit VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_TRANSIT;
68: l_installed VARCHAR2(25) := CSI_INV_TRXS_PKG.G_INSTALLED;
61: l_fnd_error VARCHAR2(1) := FND_API.G_RET_STS_ERROR;
62: l_fnd_unexpected VARCHAR2(1) := FND_API.G_RET_STS_UNEXP_ERROR;
63: l_in_inventory VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_INVENTORY;
64: l_in_process VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_PROCESS;
65: l_out_of_service VARCHAR2(25) := CSI_INV_TRXS_PKG.G_OUT_OF_SERVICE;
66: l_in_service VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_SERVICE;
67: l_in_transit VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_TRANSIT;
68: l_installed VARCHAR2(25) := CSI_INV_TRXS_PKG.G_INSTALLED;
69: l_transaction_error_id NUMBER;
62: l_fnd_unexpected VARCHAR2(1) := FND_API.G_RET_STS_UNEXP_ERROR;
63: l_in_inventory VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_INVENTORY;
64: l_in_process VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_PROCESS;
65: l_out_of_service VARCHAR2(25) := CSI_INV_TRXS_PKG.G_OUT_OF_SERVICE;
66: l_in_service VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_SERVICE;
67: l_in_transit VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_TRANSIT;
68: l_installed VARCHAR2(25) := CSI_INV_TRXS_PKG.G_INSTALLED;
69: l_transaction_error_id NUMBER;
70: l_quantity NUMBER;
63: l_in_inventory VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_INVENTORY;
64: l_in_process VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_PROCESS;
65: l_out_of_service VARCHAR2(25) := CSI_INV_TRXS_PKG.G_OUT_OF_SERVICE;
66: l_in_service VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_SERVICE;
67: l_in_transit VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_TRANSIT;
68: l_installed VARCHAR2(25) := CSI_INV_TRXS_PKG.G_INSTALLED;
69: l_transaction_error_id NUMBER;
70: l_quantity NUMBER;
71: l_mfg_serial_number_flag VARCHAR2(1);
64: l_in_process VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_PROCESS;
65: l_out_of_service VARCHAR2(25) := CSI_INV_TRXS_PKG.G_OUT_OF_SERVICE;
66: l_in_service VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_SERVICE;
67: l_in_transit VARCHAR2(25) := CSI_INV_TRXS_PKG.G_IN_TRANSIT;
68: l_installed VARCHAR2(25) := CSI_INV_TRXS_PKG.G_INSTALLED;
69: l_transaction_error_id NUMBER;
70: l_quantity NUMBER;
71: l_mfg_serial_number_flag VARCHAR2(1);
72: l_trans_status_code VARCHAR2(15);
151:
152: debug('Transaction ID with (+) is: '||p_transaction_id);
153: debug('Transaction ID with (-) is: '||r_mtl.transfer_transaction_id);
154:
155: csi_inv_trxs_pkg.get_transaction_recs(r_mtl.transfer_transaction_id,
156: l_mtl_item_tbl,
157: l_return_status,
158: l_error_message);
159:
162:
163: debug('Inventory Records Found: '||l_tbl_count);
164:
165: IF NOT l_return_status = l_fnd_success THEN
166: debug('You have encountered an error in CSI_INV_TRXS_PKG.get_transaction_recs, Transaction ID: '||r_mtl.transfer_transaction_id);
167: RAISE fnd_api.g_exc_error;
168: END IF;
169:
170: -- Get the Master Organization ID
167: RAISE fnd_api.g_exc_error;
168: END IF;
169:
170: -- Get the Master Organization ID
171: csi_inv_trxs_pkg.get_master_organization(l_mtl_item_tbl(i).organization_id,
172: l_master_organization_id,
173: l_return_status,
174: l_error_message);
175:
175:
176: debug('Master Org is: '||l_master_organization_id);
177:
178: IF NOT l_return_status = l_fnd_success THEN
179: debug('You have encountered an error in csi_inv_trxs_pkg.get_master_organization, Organization ID: '||l_mtl_item_tbl(i).organization_id);
180: RAISE fnd_api.g_exc_error;
181: END IF;
182:
183: -- Call get_fnd_employee_id and get the employee id
180: RAISE fnd_api.g_exc_error;
181: END IF;
182:
183: -- Call get_fnd_employee_id and get the employee id
184: l_employee_id := csi_inv_trxs_pkg.get_fnd_employee_id(l_mtl_item_tbl(i).last_updated_by);
185:
186: IF l_employee_id = -1 THEN
187: debug('The person who last updated this record: '||l_mtl_item_tbl(i).last_updated_by||' does not exist as a valid employee');
188: END IF;
189:
190: debug('The Employee that is processing this Transaction is: '||l_employee_id);
191:
192: -- See if this is a depreciable Item to set the status of the transaction record
193: csi_inv_trxs_pkg.check_depreciable(l_mtl_item_tbl(i).inventory_item_id,
194: l_depreciable,
195: l_mtl_item_tbl(i).organization_id); --Added for Bug 13988660
196:
197: debug('Is this Item ID: '||l_mtl_item_tbl(i).inventory_item_id||', Depreciable :'||l_depreciable);
247:
248: -- Get the Negative Receipt Code to see if this org allows Negative
249: -- Quantity Records 1 = Yes, 2 = No
250:
251: l_neg_code := csi_inv_trxs_pkg.get_neg_inv_code(
252: l_mtl_item_tbl(i).organization_id);
253:
254: IF l_neg_code = 1 AND l_mtl_item_tbl(i).serial_number is NULL THEN
255: l_instance_status := FND_API.G_FALSE;
273: debug('Order Number: '||r_so_info.order_number);
274: debug('Line Number: '||r_so_info.line_number);
275:
276: -- Initialize Transaction Record
277: l_txn_rec := csi_inv_trxs_pkg.init_txn_rec;
278:
279: -- Set Status based on redeployment
280: IF l_depreciable = 'N' THEN
281: IF l_mtl_item_tbl(i).serial_number is NOT NULL THEN
278:
279: -- Set Status based on redeployment
280: IF l_depreciable = 'N' THEN
281: IF l_mtl_item_tbl(i).serial_number is NOT NULL THEN
282: csi_inv_trxs_pkg.get_redeploy_flag(l_mtl_item_tbl(i).inventory_item_id,
283: l_mtl_item_tbl(i).serial_number,
284: l_sysdate,
285: l_redeploy_flag,
286: l_return_status,
286: l_return_status,
287: l_error_message);
288: END IF;
289: IF l_redeploy_flag = 'Y' THEN
290: l_txn_rec.transaction_status_code := csi_inv_trxs_pkg.g_pending;
291: ELSE
292: l_txn_rec.transaction_status_code := csi_inv_trxs_pkg.g_complete;
293: END IF;
294: ELSE
288: END IF;
289: IF l_redeploy_flag = 'Y' THEN
290: l_txn_rec.transaction_status_code := csi_inv_trxs_pkg.g_pending;
291: ELSE
292: l_txn_rec.transaction_status_code := csi_inv_trxs_pkg.g_complete;
293: END IF;
294: ELSE
295: l_txn_rec.transaction_status_code := csi_inv_trxs_pkg.g_pending;
296: END IF;
291: ELSE
292: l_txn_rec.transaction_status_code := csi_inv_trxs_pkg.g_complete;
293: END IF;
294: ELSE
295: l_txn_rec.transaction_status_code := csi_inv_trxs_pkg.g_pending;
296: END IF;
297:
298: IF NOT l_return_status = l_fnd_success THEN
299: debug('Redeploy Flag: '||l_redeploy_flag);
296: END IF;
297:
298: IF NOT l_return_status = l_fnd_success THEN
299: debug('Redeploy Flag: '||l_redeploy_flag);
300: debug('You have encountered an error in csi_inv_trxs_pkg.get_redeploy_flag: '||l_error_message);
301: RAISE fnd_api.g_exc_error;
302: END IF;
303:
304: debug('Redeploy Flag: '||l_redeploy_flag);
312: -- Create CSI Transaction to be used
313: l_txn_rec.source_transaction_date := l_mtl_item_tbl(i).transaction_date;
314: l_txn_rec.transaction_date := l_sysdate;
315: l_txn_rec.transaction_type_id :=
316: csi_inv_trxs_pkg.get_txn_type_id(l_trans_type_code,l_trans_app_code);
317: l_txn_rec.transaction_quantity :=
318: l_mtl_item_tbl(i).transaction_quantity;
319: l_txn_rec.transaction_uom_code := l_mtl_item_tbl(i).transaction_uom;
320: l_txn_rec.transacted_by := l_employee_id;
335: l_txn_rec.source_header_ref_id := l_mtl_item_tbl(i).transaction_source_id;
336: l_txn_rec.source_line_ref_id := l_mtl_item_tbl(i).move_order_line_id;
337: END IF;
338:
339: csi_inv_trxs_pkg.create_csi_txn(l_txn_rec,
340: l_error_message,
341: l_return_status);
342:
343: debug('CSI Transaction Created: '||l_txn_rec.transaction_id);
342:
343: debug('CSI Transaction Created: '||l_txn_rec.transaction_id);
344:
345: IF NOT l_return_status = l_fnd_success THEN
346: debug('You have encountered an error in csi_inv_trxs_pkg.create_csi_txn: '||p_transaction_id);
347: RAISE fnd_api.g_exc_error;
348: END IF;
349: -- Now loop through the PL/SQL Table.
350: j := 1;
371: debug('Transfer HR Location : '||r_loc_ids.hr_location_id);
372:
373: IF l_mtl_item_tbl(j).transaction_type_id <> 50 THEN
374: debug('This is not an ISO Transfer so process as normal - Source');
375: csi_inv_trxs_pkg.set_item_attr_query_values(l_mtl_item_tbl,
376: j,
377: NULL,
378: l_instance_query_rec,
379: x_return_status);
392: IF l_mtl_item_tbl(j).serial_number_control_code IN (1,6) THEN
393:
394: debug('This is an ISO Transfer - Serial Control 1 or 6');
395:
396: l_instance_query_rec := csi_inv_trxs_pkg.init_instance_query_rec;
397: l_instance_query_rec.inventory_item_id := l_mtl_item_tbl(j).inventory_item_id;
398: l_instance_query_rec.serial_number := NULL;
399: l_instance_query_rec.lot_number := l_mtl_item_tbl(j).lot_number;
400: l_instance_query_rec.inventory_revision := l_mtl_item_tbl(j).revision;
403: l_instance_query_rec.inv_subinventory_name := l_mtl_item_tbl(j).subinventory_code;
404: l_instance_query_rec.instance_usage_code := l_in_inventory;
405: ELSE
406: debug('This is an ISO Transfer - Serial Control 2 or 5');
407: l_instance_query_rec := csi_inv_trxs_pkg.init_instance_query_rec;
408: l_instance_query_rec.inventory_item_id := l_mtl_item_tbl(j).inventory_item_id;
409: l_instance_query_rec.serial_number := l_mtl_item_tbl(j).serial_number;
410: END IF;
411:
456: IF l_neg_code = 1 THEN -- Allow Neg Qtys on NON Serial Items ONLY
457:
458: debug('No records were found so create a new Source Non Serialized Instance Record');
459:
460: l_new_src_instance_rec := csi_inv_trxs_pkg.init_instance_create_rec;
461: l_new_src_instance_rec.inventory_item_id := l_mtl_item_tbl(j).inventory_item_id;
462: l_new_src_instance_rec.inventory_revision := l_mtl_item_tbl(j).revision;
463: l_new_src_instance_rec.inv_master_organization_id := l_master_organization_id;
464: l_new_src_instance_rec.mfg_serial_number_flag := 'N';
464: l_new_src_instance_rec.mfg_serial_number_flag := 'N';
465: l_new_src_instance_rec.lot_number := l_mtl_item_tbl(j).lot_number;
466: l_new_src_instance_rec.quantity := l_mtl_item_tbl(j).transaction_quantity;
467: l_new_src_instance_rec.unit_of_measure := l_mtl_item_tbl(j).transaction_uom;
468: l_new_src_instance_rec.location_type_code := csi_inv_trxs_pkg.get_location_type_code('Inventory');
469: l_new_src_instance_rec.location_id := nvl(l_mtl_item_tbl(j).subinv_location_id,l_mtl_item_tbl(j).hr_location_id);
470: l_new_src_instance_rec.instance_usage_code := l_in_inventory;
471: l_new_src_instance_rec.inv_organization_id := l_mtl_item_tbl(j).organization_id;
472: l_new_src_instance_rec.vld_organization_id := l_mtl_item_tbl(j).organization_id;
479: l_new_src_instance_rec.active_start_date := l_sysdate;
480: l_new_src_instance_rec.active_end_date := NULL;
481: --l_new_src_instance_rec.last_oe_order_line_id := r_so_info.line_id;
482:
483: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
484: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
485: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
486: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
487: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
480: l_new_src_instance_rec.active_end_date := NULL;
481: --l_new_src_instance_rec.last_oe_order_line_id := r_so_info.line_id;
482:
483: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
484: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
485: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
486: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
487: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
488: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
481: --l_new_src_instance_rec.last_oe_order_line_id := r_so_info.line_id;
482:
483: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
484: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
485: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
486: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
487: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
488: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
489:
482:
483: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
484: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
485: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
486: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
487: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
488: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
489:
490: debug('Before Create of source Instance');
483: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
484: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
485: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
486: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
487: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
488: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
489:
490: debug('Before Create of source Instance');
491:
484: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
485: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
486: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
487: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
488: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
489:
490: debug('Before Create of source Instance');
491:
492: csi_item_instance_pub.create_item_instance(l_api_version,
535:
536: debug('You will update instance: '||l_src_instance_header_tbl(i).instance_id);
537: debug('End Date is: '||l_src_instance_header_tbl(i).active_end_date);
538:
539: l_update_src_instance_rec := csi_inv_trxs_pkg.init_instance_update_rec;
540: l_update_src_instance_rec.instance_id := l_src_instance_header_tbl(i).instance_id;
541: l_update_src_instance_rec.quantity := l_src_instance_header_tbl(i).quantity - abs(l_mtl_item_tbl(j).primary_quantity);
542: l_update_src_instance_rec.active_end_date := NULL;
543: --l_update_src_instance_rec.last_oe_order_line_id := r_so_info.line_id;
550: l_asset_assignment_tbl.delete;
551:
552: debug('Before Update Source Item Instance - Neg Qty');
553:
554: l_update_src_instance_rec.instance_status_id := nvl(csi_inv_trxs_pkg.get_default_status_id(l_txn_rec.transaction_type_id),r_id.instance_status_id);
555:
556: debug('Instance Status Id: '||l_update_src_instance_rec.instance_status_id);
557:
558: csi_item_instance_pub.update_item_instance(l_api_version,
606:
607: -- Now query for the destination records
608: IF l_mtl_item_tbl(j).transaction_type_id <> 50 THEN
609: debug('This is not an ISO Transfer so process as normal - Dest');
610: csi_inv_trxs_pkg.set_item_attr_query_values(l_mtl_item_tbl,
611: j,
612: 'TRANSFER',
613: l_dest_instance_query_rec,
614: x_return_status);
630: IF l_mtl_item_tbl(j).serial_number_control_code in (1,6) THEN
631:
632: debug('This is an ISO Transfer - Dest - Serial Control is: '||l_mtl_item_tbl(j).serial_number_control_code);
633:
634: l_dest_instance_query_rec := csi_inv_trxs_pkg.init_instance_query_rec;
635: l_dest_instance_query_rec.inventory_item_id := l_mtl_item_tbl(j).inventory_item_id;
636: l_dest_instance_query_rec.serial_number := NULL;
637: l_dest_instance_query_rec.lot_number := l_mtl_item_tbl(j).lot_number;
638: l_dest_instance_query_rec.inventory_revision := l_mtl_item_tbl(j).revision;
645: l_quantity := abs(l_mtl_item_tbl(j).transaction_quantity);
646:
647: --ELSE
648: -- debug('This is an ISO Transfer - Dest - Serial Control 6');
649: -- l_dest_instance_query_rec := csi_inv_trxs_pkg.init_instance_query_rec;
650: -- l_dest_instance_query_rec.inventory_item_id := l_mtl_item_tbl(j).inventory_item_id;
651: -- l_dest_instance_query_rec.serial_number := l_mtl_item_tbl(j).serial_number;
652:
653: -- l_mfg_serial_number_flag := 'Y';
697: IF l_dest_instance_header_tbl.count = 0 THEN -- Installed Base Destination Records are not found
698:
699: debug('No Destination Records were found so create a new one - Neg Qty If Statement');
700:
701: l_new_dest_instance_rec := csi_inv_trxs_pkg.init_instance_create_rec;
702: l_new_dest_instance_rec.inventory_item_id := l_mtl_item_tbl(j).inventory_item_id;
703: l_new_dest_instance_rec.inventory_revision := l_mtl_item_tbl(j).revision;
704: l_new_dest_instance_rec.inv_master_organization_id := l_master_organization_id;
705: l_new_dest_instance_rec.mfg_serial_number_flag := l_mfg_serial_number_flag;
705: l_new_dest_instance_rec.mfg_serial_number_flag := l_mfg_serial_number_flag;
706: l_new_dest_instance_rec.lot_number := l_mtl_item_tbl(j).lot_number;
707: l_new_dest_instance_rec.quantity := l_quantity;
708: l_new_dest_instance_rec.unit_of_measure := l_mtl_item_tbl(j).transaction_uom;
709: l_new_dest_instance_rec.location_type_code := csi_inv_trxs_pkg.get_location_type_code('Inventory');
710: --l_new_dest_instance_rec.location_id := nvl(l_mtl_item_tbl(j).subinv_location_id,l_mtl_item_tbl(j).hr_location_id);
711: l_new_dest_instance_rec.location_id := nvl(r_loc_ids.subinv_location_id,r_loc_ids.hr_location_id);
712: l_new_dest_instance_rec.instance_usage_code := l_in_inventory;
713: l_new_dest_instance_rec.inv_organization_id := l_mtl_item_tbl(j).transfer_organization_id;
721: l_new_dest_instance_rec.active_start_date := l_sysdate;
722: l_new_dest_instance_rec.active_end_date := NULL;
723: --l_new_dest_instance_rec.last_oe_order_line_id := r_so_info.line_id;
724:
725: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
726: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
727: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
728: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
729: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
722: l_new_dest_instance_rec.active_end_date := NULL;
723: --l_new_dest_instance_rec.last_oe_order_line_id := r_so_info.line_id;
724:
725: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
726: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
727: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
728: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
729: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
730: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
723: --l_new_dest_instance_rec.last_oe_order_line_id := r_so_info.line_id;
724:
725: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
726: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
727: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
728: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
729: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
730: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
731:
724:
725: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
726: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
727: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
728: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
729: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
730: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
731:
732: debug('Before Create of Non Serialized Destination Item Instance');
725: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
726: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
727: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
728: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
729: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
730: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
731:
732: debug('Before Create of Non Serialized Destination Item Instance');
733: debug('Location ID value: '||l_new_instance_rec.location_id);
726: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
727: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
728: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
729: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
730: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
731:
732: debug('Before Create of Non Serialized Destination Item Instance');
733: debug('Location ID value: '||l_new_instance_rec.location_id);
734: debug('Subinv Location: '||l_mtl_item_tbl(j).subinv_location_id);
774: -- Installed Base Destination Records Found
775:
776: debug('You will update instance: '||l_dest_instance_header_tbl(i).instance_id);
777:
778: l_update_dest_instance_rec := csi_inv_trxs_pkg.init_instance_update_rec;
779: l_update_dest_instance_rec.instance_id := l_dest_instance_header_tbl(i).instance_id;
780: l_update_dest_instance_rec.quantity := l_dest_instance_header_tbl(i).quantity + abs(l_mtl_item_tbl(j).primary_quantity);
781: l_update_dest_instance_rec.active_end_date := NULL;
782: --l_update_dest_instance_rec.last_oe_order_line_id := r_so_info.line_id;
787: --IF l_mtl_item_tbl(j).serial_number_control_code = 6 THEN
788: -- debug('Serialized Source records were foundo - ISO Transfer');
789: -- debug('Update the serialized item with Serial Number - ISO Transfer: '||l_src_instance_header_tbl(i).serial_number);
790:
791: -- l_update_src_instance_rec := csi_inv_trxs_pkg.init_instance_update_rec;
792: -- l_update_src_instance_rec.instance_id := l_src_instance_header_tbl(i).instance_id;
793: -- l_update_src_instance_rec.inv_subinventory_name := l_mtl_item_tbl(j).transfer_subinventory;
794: -- l_update_src_instance_rec.inv_locator_id := l_mtl_item_tbl(j).transfer_locator_id;
795: -- l_update_src_instance_rec.location_type_code := csi_inv_trxs_pkg.get_location_type_code('Inventory');
791: -- l_update_src_instance_rec := csi_inv_trxs_pkg.init_instance_update_rec;
792: -- l_update_src_instance_rec.instance_id := l_src_instance_header_tbl(i).instance_id;
793: -- l_update_src_instance_rec.inv_subinventory_name := l_mtl_item_tbl(j).transfer_subinventory;
794: -- l_update_src_instance_rec.inv_locator_id := l_mtl_item_tbl(j).transfer_locator_id;
795: -- l_update_src_instance_rec.location_type_code := csi_inv_trxs_pkg.get_location_type_code('Inventory');
796: -- l_update_src_instance_rec.location_id := nvl(l_mtl_item_tbl(j).subinv_location_id,l_mtl_item_tbl(j).hr_location_id);
797:
798: IF l_mtl_item_tbl(j).serial_number_control_code in (1,6) THEN
799:
799:
800: debug('You will update instance - ISO Transfer: '||l_dest_instance_header_tbl(i).instance_id);
801: debug('This is an ISO Transfer - Dest - Serial Control is: '||l_mtl_item_tbl(j).serial_number_control_code);
802:
803: l_update_dest_instance_rec := csi_inv_trxs_pkg.init_instance_update_rec;
804: l_update_dest_instance_rec.instance_id := l_dest_instance_header_tbl(i).instance_id;
805: l_update_dest_instance_rec.quantity := l_dest_instance_header_tbl(i).quantity + abs(l_mtl_item_tbl(j).primary_quantity);
806: l_update_dest_instance_rec.active_end_date := NULL;
807: --l_update_dest_instance_rec.last_oe_order_line_id := r_so_info.line_id;
815: l_pricing_attrib_tbl.delete;
816: l_org_assignments_tbl.delete;
817: l_asset_assignment_tbl.delete;
818:
819: l_update_dest_instance_rec.instance_status_id := nvl(csi_inv_trxs_pkg.get_default_status_id(l_txn_rec.transaction_type_id),r_id.instance_status_id);
820:
821: debug('Before Update Item Instance - 34');
822: debug('Instance Status Id: '||l_update_dest_instance_rec.instance_status_id);
823:
877:
878: debug('Serialized Source records were found');
879: debug('Update the serialized item with Serial Number: '||l_src_instance_header_tbl(i).serial_number);
880:
881: l_update_src_instance_rec := csi_inv_trxs_pkg.init_instance_update_rec;
882: l_update_src_instance_rec.instance_id := l_src_instance_header_tbl(i).instance_id;
883: l_update_src_instance_rec.inv_subinventory_name := l_mtl_item_tbl(j).transfer_subinventory;
884: l_update_src_instance_rec.inv_locator_id := l_mtl_item_tbl(j).transfer_locator_id;
885: l_update_src_instance_rec.location_type_code := csi_inv_trxs_pkg.get_location_type_code('Inventory');
881: l_update_src_instance_rec := csi_inv_trxs_pkg.init_instance_update_rec;
882: l_update_src_instance_rec.instance_id := l_src_instance_header_tbl(i).instance_id;
883: l_update_src_instance_rec.inv_subinventory_name := l_mtl_item_tbl(j).transfer_subinventory;
884: l_update_src_instance_rec.inv_locator_id := l_mtl_item_tbl(j).transfer_locator_id;
885: l_update_src_instance_rec.location_type_code := csi_inv_trxs_pkg.get_location_type_code('Inventory');
886: --l_update_src_instance_rec.location_id := nvl(l_mtl_item_tbl(j).subinv_location_id,l_mtl_item_tbl(j).hr_location_id);
887: l_update_src_instance_rec.location_id := nvl(r_loc_ids.subinv_location_id,r_loc_ids.hr_location_id);
888: --l_update_src_instance_rec.last_oe_order_line_id := r_so_info.line_id;
889: l_update_src_instance_rec.object_version_number := l_src_instance_header_tbl(i).object_version_number;
981: x_trx_error_rec.error_text := l_error_message;
982: x_trx_error_rec.transaction_id := NULL;
983: x_trx_error_rec.source_type := 'CSISUBTR';
984: x_trx_error_rec.source_id := p_transaction_id;
985: x_trx_error_rec.processed_flag := csi_inv_trxs_pkg.g_txn_error;
986: x_trx_error_rec.transaction_type_id := csi_inv_trxs_pkg.get_txn_type_id(l_trans_type_code,l_trans_app_code);
987: x_trx_error_rec.inv_material_transaction_id := p_transaction_id;
988: x_trx_error_rec.error_stage := csi_inv_trxs_pkg.g_ib_update;
989:
982: x_trx_error_rec.transaction_id := NULL;
983: x_trx_error_rec.source_type := 'CSISUBTR';
984: x_trx_error_rec.source_id := p_transaction_id;
985: x_trx_error_rec.processed_flag := csi_inv_trxs_pkg.g_txn_error;
986: x_trx_error_rec.transaction_type_id := csi_inv_trxs_pkg.get_txn_type_id(l_trans_type_code,l_trans_app_code);
987: x_trx_error_rec.inv_material_transaction_id := p_transaction_id;
988: x_trx_error_rec.error_stage := csi_inv_trxs_pkg.g_ib_update;
989:
990: WHEN others THEN
984: x_trx_error_rec.source_id := p_transaction_id;
985: x_trx_error_rec.processed_flag := csi_inv_trxs_pkg.g_txn_error;
986: x_trx_error_rec.transaction_type_id := csi_inv_trxs_pkg.get_txn_type_id(l_trans_type_code,l_trans_app_code);
987: x_trx_error_rec.inv_material_transaction_id := p_transaction_id;
988: x_trx_error_rec.error_stage := csi_inv_trxs_pkg.g_ib_update;
989:
990: WHEN others THEN
991: l_sql_error := SQLERRM;
992: debug('SQL Error: '||l_sql_error);
1012: x_trx_error_rec.error_text := fnd_message.get;
1013: x_trx_error_rec.transaction_id := NULL;
1014: x_trx_error_rec.source_type := 'CSISUBTR';
1015: x_trx_error_rec.source_id := p_transaction_id;
1016: x_trx_error_rec.processed_flag := csi_inv_trxs_pkg.g_txn_error;
1017: x_trx_error_rec.transaction_type_id := csi_inv_trxs_pkg.get_txn_type_id(l_trans_type_code,l_trans_app_code);
1018: x_trx_error_rec.inv_material_transaction_id := p_transaction_id;
1019: x_trx_error_rec.error_stage := csi_inv_trxs_pkg.g_ib_update;
1020:
1013: x_trx_error_rec.transaction_id := NULL;
1014: x_trx_error_rec.source_type := 'CSISUBTR';
1015: x_trx_error_rec.source_id := p_transaction_id;
1016: x_trx_error_rec.processed_flag := csi_inv_trxs_pkg.g_txn_error;
1017: x_trx_error_rec.transaction_type_id := csi_inv_trxs_pkg.get_txn_type_id(l_trans_type_code,l_trans_app_code);
1018: x_trx_error_rec.inv_material_transaction_id := p_transaction_id;
1019: x_trx_error_rec.error_stage := csi_inv_trxs_pkg.g_ib_update;
1020:
1021: END subinv_transfer;
1015: x_trx_error_rec.source_id := p_transaction_id;
1016: x_trx_error_rec.processed_flag := csi_inv_trxs_pkg.g_txn_error;
1017: x_trx_error_rec.transaction_type_id := csi_inv_trxs_pkg.get_txn_type_id(l_trans_type_code,l_trans_app_code);
1018: x_trx_error_rec.inv_material_transaction_id := p_transaction_id;
1019: x_trx_error_rec.error_stage := csi_inv_trxs_pkg.g_ib_update;
1020:
1021: END subinv_transfer;
1022:
1023: END csi_inv_transfer_pkg;