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:
196: debug('Is this Item ID: '||l_mtl_item_tbl(i).inventory_item_id||', Depreciable :'||l_depreciable);
197:
246:
247: -- Get the Negative Receipt Code to see if this org allows Negative
248: -- Quantity Records 1 = Yes, 2 = No
249:
250: l_neg_code := csi_inv_trxs_pkg.get_neg_inv_code(
251: l_mtl_item_tbl(i).organization_id);
252:
253: IF l_neg_code = 1 AND l_mtl_item_tbl(i).serial_number is NULL THEN
254: l_instance_status := FND_API.G_FALSE;
272: debug('Order Number: '||r_so_info.order_number);
273: debug('Line Number: '||r_so_info.line_number);
274:
275: -- Initialize Transaction Record
276: l_txn_rec := csi_inv_trxs_pkg.init_txn_rec;
277:
278: -- Set Status based on redeployment
279: IF l_depreciable = 'N' THEN
280: IF l_mtl_item_tbl(i).serial_number is NOT NULL THEN
277:
278: -- Set Status based on redeployment
279: IF l_depreciable = 'N' THEN
280: IF l_mtl_item_tbl(i).serial_number is NOT NULL THEN
281: csi_inv_trxs_pkg.get_redeploy_flag(l_mtl_item_tbl(i).inventory_item_id,
282: l_mtl_item_tbl(i).serial_number,
283: l_sysdate,
284: l_redeploy_flag,
285: l_return_status,
285: l_return_status,
286: l_error_message);
287: END IF;
288: IF l_redeploy_flag = 'Y' THEN
289: l_txn_rec.transaction_status_code := csi_inv_trxs_pkg.g_pending;
290: ELSE
291: l_txn_rec.transaction_status_code := csi_inv_trxs_pkg.g_complete;
292: END IF;
293: ELSE
287: END IF;
288: IF l_redeploy_flag = 'Y' THEN
289: l_txn_rec.transaction_status_code := csi_inv_trxs_pkg.g_pending;
290: ELSE
291: l_txn_rec.transaction_status_code := csi_inv_trxs_pkg.g_complete;
292: END IF;
293: ELSE
294: l_txn_rec.transaction_status_code := csi_inv_trxs_pkg.g_pending;
295: END IF;
290: ELSE
291: l_txn_rec.transaction_status_code := csi_inv_trxs_pkg.g_complete;
292: END IF;
293: ELSE
294: l_txn_rec.transaction_status_code := csi_inv_trxs_pkg.g_pending;
295: END IF;
296:
297: IF NOT l_return_status = l_fnd_success THEN
298: debug('Redeploy Flag: '||l_redeploy_flag);
295: END IF;
296:
297: IF NOT l_return_status = l_fnd_success THEN
298: debug('Redeploy Flag: '||l_redeploy_flag);
299: debug('You have encountered an error in csi_inv_trxs_pkg.get_redeploy_flag: '||l_error_message);
300: RAISE fnd_api.g_exc_error;
301: END IF;
302:
303: debug('Redeploy Flag: '||l_redeploy_flag);
311: -- Create CSI Transaction to be used
312: l_txn_rec.source_transaction_date := l_mtl_item_tbl(i).transaction_date;
313: l_txn_rec.transaction_date := l_sysdate;
314: l_txn_rec.transaction_type_id :=
315: csi_inv_trxs_pkg.get_txn_type_id(l_trans_type_code,l_trans_app_code);
316: l_txn_rec.transaction_quantity :=
317: l_mtl_item_tbl(i).transaction_quantity;
318: l_txn_rec.transaction_uom_code := l_mtl_item_tbl(i).transaction_uom;
319: l_txn_rec.transacted_by := l_employee_id;
334: l_txn_rec.source_header_ref_id := l_mtl_item_tbl(i).transaction_source_id;
335: l_txn_rec.source_line_ref_id := l_mtl_item_tbl(i).move_order_line_id;
336: END IF;
337:
338: csi_inv_trxs_pkg.create_csi_txn(l_txn_rec,
339: l_error_message,
340: l_return_status);
341:
342: debug('CSI Transaction Created: '||l_txn_rec.transaction_id);
341:
342: debug('CSI Transaction Created: '||l_txn_rec.transaction_id);
343:
344: IF NOT l_return_status = l_fnd_success THEN
345: debug('You have encountered an error in csi_inv_trxs_pkg.create_csi_txn: '||p_transaction_id);
346: RAISE fnd_api.g_exc_error;
347: END IF;
348: -- Now loop through the PL/SQL Table.
349: j := 1;
370: debug('Transfer HR Location : '||r_loc_ids.hr_location_id);
371:
372: IF l_mtl_item_tbl(j).transaction_type_id <> 50 THEN
373: debug('This is not an ISO Transfer so process as normal - Source');
374: csi_inv_trxs_pkg.set_item_attr_query_values(l_mtl_item_tbl,
375: j,
376: NULL,
377: l_instance_query_rec,
378: x_return_status);
391: IF l_mtl_item_tbl(j).serial_number_control_code IN (1,6) THEN
392:
393: debug('This is an ISO Transfer - Serial Control 1 or 6');
394:
395: l_instance_query_rec := csi_inv_trxs_pkg.init_instance_query_rec;
396: l_instance_query_rec.inventory_item_id := l_mtl_item_tbl(j).inventory_item_id;
397: l_instance_query_rec.serial_number := NULL;
398: l_instance_query_rec.lot_number := l_mtl_item_tbl(j).lot_number;
399: l_instance_query_rec.inventory_revision := l_mtl_item_tbl(j).revision;
402: l_instance_query_rec.inv_subinventory_name := l_mtl_item_tbl(j).subinventory_code;
403: l_instance_query_rec.instance_usage_code := l_in_inventory;
404: ELSE
405: debug('This is an ISO Transfer - Serial Control 2 or 5');
406: l_instance_query_rec := csi_inv_trxs_pkg.init_instance_query_rec;
407: l_instance_query_rec.inventory_item_id := l_mtl_item_tbl(j).inventory_item_id;
408: l_instance_query_rec.serial_number := l_mtl_item_tbl(j).serial_number;
409: END IF;
410:
455: IF l_neg_code = 1 THEN -- Allow Neg Qtys on NON Serial Items ONLY
456:
457: debug('No records were found so create a new Source Non Serialized Instance Record');
458:
459: l_new_src_instance_rec := csi_inv_trxs_pkg.init_instance_create_rec;
460: l_new_src_instance_rec.inventory_item_id := l_mtl_item_tbl(j).inventory_item_id;
461: l_new_src_instance_rec.inventory_revision := l_mtl_item_tbl(j).revision;
462: l_new_src_instance_rec.inv_master_organization_id := l_master_organization_id;
463: l_new_src_instance_rec.mfg_serial_number_flag := 'N';
463: l_new_src_instance_rec.mfg_serial_number_flag := 'N';
464: l_new_src_instance_rec.lot_number := l_mtl_item_tbl(j).lot_number;
465: l_new_src_instance_rec.quantity := l_mtl_item_tbl(j).transaction_quantity;
466: l_new_src_instance_rec.unit_of_measure := l_mtl_item_tbl(j).transaction_uom;
467: l_new_src_instance_rec.location_type_code := csi_inv_trxs_pkg.get_location_type_code('Inventory');
468: l_new_src_instance_rec.location_id := nvl(l_mtl_item_tbl(j).subinv_location_id,l_mtl_item_tbl(j).hr_location_id);
469: l_new_src_instance_rec.instance_usage_code := l_in_inventory;
470: l_new_src_instance_rec.inv_organization_id := l_mtl_item_tbl(j).organization_id;
471: l_new_src_instance_rec.vld_organization_id := l_mtl_item_tbl(j).organization_id;
478: l_new_src_instance_rec.active_start_date := l_sysdate;
479: l_new_src_instance_rec.active_end_date := NULL;
480: --l_new_src_instance_rec.last_oe_order_line_id := r_so_info.line_id;
481:
482: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
483: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
484: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
485: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
486: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
479: l_new_src_instance_rec.active_end_date := NULL;
480: --l_new_src_instance_rec.last_oe_order_line_id := r_so_info.line_id;
481:
482: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
483: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
484: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
485: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
486: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
487: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
480: --l_new_src_instance_rec.last_oe_order_line_id := r_so_info.line_id;
481:
482: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
483: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
484: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
485: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
486: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
487: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
488:
481:
482: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
483: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
484: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
485: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
486: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
487: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
488:
489: debug('Before Create of source Instance');
482: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
483: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
484: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
485: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
486: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
487: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
488:
489: debug('Before Create of source Instance');
490:
483: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
484: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
485: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
486: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
487: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
488:
489: debug('Before Create of source Instance');
490:
491: csi_item_instance_pub.create_item_instance(l_api_version,
534:
535: debug('You will update instance: '||l_src_instance_header_tbl(i).instance_id);
536: debug('End Date is: '||l_src_instance_header_tbl(i).active_end_date);
537:
538: l_update_src_instance_rec := csi_inv_trxs_pkg.init_instance_update_rec;
539: l_update_src_instance_rec.instance_id := l_src_instance_header_tbl(i).instance_id;
540: l_update_src_instance_rec.quantity := l_src_instance_header_tbl(i).quantity - abs(l_mtl_item_tbl(j).primary_quantity);
541: l_update_src_instance_rec.active_end_date := NULL;
542: --l_update_src_instance_rec.last_oe_order_line_id := r_so_info.line_id;
549: l_asset_assignment_tbl.delete;
550:
551: debug('Before Update Source Item Instance - Neg Qty');
552:
553: 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);
554:
555: debug('Instance Status Id: '||l_update_src_instance_rec.instance_status_id);
556:
557: csi_item_instance_pub.update_item_instance(l_api_version,
605:
606: -- Now query for the destination records
607: IF l_mtl_item_tbl(j).transaction_type_id <> 50 THEN
608: debug('This is not an ISO Transfer so process as normal - Dest');
609: csi_inv_trxs_pkg.set_item_attr_query_values(l_mtl_item_tbl,
610: j,
611: 'TRANSFER',
612: l_dest_instance_query_rec,
613: x_return_status);
629: IF l_mtl_item_tbl(j).serial_number_control_code in (1,6) THEN
630:
631: debug('This is an ISO Transfer - Dest - Serial Control is: '||l_mtl_item_tbl(j).serial_number_control_code);
632:
633: l_dest_instance_query_rec := csi_inv_trxs_pkg.init_instance_query_rec;
634: l_dest_instance_query_rec.inventory_item_id := l_mtl_item_tbl(j).inventory_item_id;
635: l_dest_instance_query_rec.serial_number := NULL;
636: l_dest_instance_query_rec.lot_number := l_mtl_item_tbl(j).lot_number;
637: l_dest_instance_query_rec.inventory_revision := l_mtl_item_tbl(j).revision;
644: l_quantity := abs(l_mtl_item_tbl(j).transaction_quantity);
645:
646: --ELSE
647: -- debug('This is an ISO Transfer - Dest - Serial Control 6');
648: -- l_dest_instance_query_rec := csi_inv_trxs_pkg.init_instance_query_rec;
649: -- l_dest_instance_query_rec.inventory_item_id := l_mtl_item_tbl(j).inventory_item_id;
650: -- l_dest_instance_query_rec.serial_number := l_mtl_item_tbl(j).serial_number;
651:
652: -- l_mfg_serial_number_flag := 'Y';
696: IF l_dest_instance_header_tbl.count = 0 THEN -- Installed Base Destination Records are not found
697:
698: debug('No Destination Records were found so create a new one - Neg Qty If Statement');
699:
700: l_new_dest_instance_rec := csi_inv_trxs_pkg.init_instance_create_rec;
701: l_new_dest_instance_rec.inventory_item_id := l_mtl_item_tbl(j).inventory_item_id;
702: l_new_dest_instance_rec.inventory_revision := l_mtl_item_tbl(j).revision;
703: l_new_dest_instance_rec.inv_master_organization_id := l_master_organization_id;
704: l_new_dest_instance_rec.mfg_serial_number_flag := l_mfg_serial_number_flag;
704: l_new_dest_instance_rec.mfg_serial_number_flag := l_mfg_serial_number_flag;
705: l_new_dest_instance_rec.lot_number := l_mtl_item_tbl(j).lot_number;
706: l_new_dest_instance_rec.quantity := l_quantity;
707: l_new_dest_instance_rec.unit_of_measure := l_mtl_item_tbl(j).transaction_uom;
708: l_new_dest_instance_rec.location_type_code := csi_inv_trxs_pkg.get_location_type_code('Inventory');
709: --l_new_dest_instance_rec.location_id := nvl(l_mtl_item_tbl(j).subinv_location_id,l_mtl_item_tbl(j).hr_location_id);
710: l_new_dest_instance_rec.location_id := nvl(r_loc_ids.subinv_location_id,r_loc_ids.hr_location_id);
711: l_new_dest_instance_rec.instance_usage_code := l_in_inventory;
712: l_new_dest_instance_rec.inv_organization_id := l_mtl_item_tbl(j).transfer_organization_id;
720: l_new_dest_instance_rec.active_start_date := l_sysdate;
721: l_new_dest_instance_rec.active_end_date := NULL;
722: --l_new_dest_instance_rec.last_oe_order_line_id := r_so_info.line_id;
723:
724: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
725: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
726: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
727: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
728: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
721: l_new_dest_instance_rec.active_end_date := NULL;
722: --l_new_dest_instance_rec.last_oe_order_line_id := r_so_info.line_id;
723:
724: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
725: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
726: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
727: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
728: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
729: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
722: --l_new_dest_instance_rec.last_oe_order_line_id := r_so_info.line_id;
723:
724: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
725: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
726: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
727: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
728: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
729: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
730:
723:
724: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
725: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
726: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
727: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
728: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
729: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
730:
731: debug('Before Create of Non Serialized Destination Item Instance');
724: l_ext_attrib_values_tbl := csi_inv_trxs_pkg.init_ext_attrib_values_tbl;
725: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
726: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
727: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
728: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
729: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
730:
731: debug('Before Create of Non Serialized Destination Item Instance');
732: debug('Location ID value: '||l_new_instance_rec.location_id);
725: l_party_tbl := csi_inv_trxs_pkg.init_party_tbl;
726: l_account_tbl := csi_inv_trxs_pkg.init_account_tbl;
727: l_pricing_attrib_tbl := csi_inv_trxs_pkg.init_pricing_attribs_tbl;
728: l_org_assignments_tbl := csi_inv_trxs_pkg.init_org_assignments_tbl;
729: l_asset_assignment_tbl := csi_inv_trxs_pkg.init_asset_assignment_tbl;
730:
731: debug('Before Create of Non Serialized Destination Item Instance');
732: debug('Location ID value: '||l_new_instance_rec.location_id);
733: debug('Subinv Location: '||l_mtl_item_tbl(j).subinv_location_id);
773: -- Installed Base Destination Records Found
774:
775: debug('You will update instance: '||l_dest_instance_header_tbl(i).instance_id);
776:
777: l_update_dest_instance_rec := csi_inv_trxs_pkg.init_instance_update_rec;
778: l_update_dest_instance_rec.instance_id := l_dest_instance_header_tbl(i).instance_id;
779: l_update_dest_instance_rec.quantity := l_dest_instance_header_tbl(i).quantity + abs(l_mtl_item_tbl(j).primary_quantity);
780: l_update_dest_instance_rec.active_end_date := NULL;
781: --l_update_dest_instance_rec.last_oe_order_line_id := r_so_info.line_id;
786: --IF l_mtl_item_tbl(j).serial_number_control_code = 6 THEN
787: -- debug('Serialized Source records were foundo - ISO Transfer');
788: -- debug('Update the serialized item with Serial Number - ISO Transfer: '||l_src_instance_header_tbl(i).serial_number);
789:
790: -- l_update_src_instance_rec := csi_inv_trxs_pkg.init_instance_update_rec;
791: -- l_update_src_instance_rec.instance_id := l_src_instance_header_tbl(i).instance_id;
792: -- l_update_src_instance_rec.inv_subinventory_name := l_mtl_item_tbl(j).transfer_subinventory;
793: -- l_update_src_instance_rec.inv_locator_id := l_mtl_item_tbl(j).transfer_locator_id;
794: -- l_update_src_instance_rec.location_type_code := csi_inv_trxs_pkg.get_location_type_code('Inventory');
790: -- l_update_src_instance_rec := csi_inv_trxs_pkg.init_instance_update_rec;
791: -- l_update_src_instance_rec.instance_id := l_src_instance_header_tbl(i).instance_id;
792: -- l_update_src_instance_rec.inv_subinventory_name := l_mtl_item_tbl(j).transfer_subinventory;
793: -- l_update_src_instance_rec.inv_locator_id := l_mtl_item_tbl(j).transfer_locator_id;
794: -- l_update_src_instance_rec.location_type_code := csi_inv_trxs_pkg.get_location_type_code('Inventory');
795: -- l_update_src_instance_rec.location_id := nvl(l_mtl_item_tbl(j).subinv_location_id,l_mtl_item_tbl(j).hr_location_id);
796:
797: IF l_mtl_item_tbl(j).serial_number_control_code in (1,6) THEN
798:
798:
799: debug('You will update instance - ISO Transfer: '||l_dest_instance_header_tbl(i).instance_id);
800: debug('This is an ISO Transfer - Dest - Serial Control is: '||l_mtl_item_tbl(j).serial_number_control_code);
801:
802: l_update_dest_instance_rec := csi_inv_trxs_pkg.init_instance_update_rec;
803: l_update_dest_instance_rec.instance_id := l_dest_instance_header_tbl(i).instance_id;
804: l_update_dest_instance_rec.quantity := l_dest_instance_header_tbl(i).quantity + abs(l_mtl_item_tbl(j).primary_quantity);
805: l_update_dest_instance_rec.active_end_date := NULL;
806: --l_update_dest_instance_rec.last_oe_order_line_id := r_so_info.line_id;
814: l_pricing_attrib_tbl.delete;
815: l_org_assignments_tbl.delete;
816: l_asset_assignment_tbl.delete;
817:
818: 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);
819:
820: debug('Before Update Item Instance - 34');
821: debug('Instance Status Id: '||l_update_dest_instance_rec.instance_status_id);
822:
876:
877: debug('Serialized Source records were found');
878: debug('Update the serialized item with Serial Number: '||l_src_instance_header_tbl(i).serial_number);
879:
880: l_update_src_instance_rec := csi_inv_trxs_pkg.init_instance_update_rec;
881: l_update_src_instance_rec.instance_id := l_src_instance_header_tbl(i).instance_id;
882: l_update_src_instance_rec.inv_subinventory_name := l_mtl_item_tbl(j).transfer_subinventory;
883: l_update_src_instance_rec.inv_locator_id := l_mtl_item_tbl(j).transfer_locator_id;
884: l_update_src_instance_rec.location_type_code := csi_inv_trxs_pkg.get_location_type_code('Inventory');
880: l_update_src_instance_rec := csi_inv_trxs_pkg.init_instance_update_rec;
881: l_update_src_instance_rec.instance_id := l_src_instance_header_tbl(i).instance_id;
882: l_update_src_instance_rec.inv_subinventory_name := l_mtl_item_tbl(j).transfer_subinventory;
883: l_update_src_instance_rec.inv_locator_id := l_mtl_item_tbl(j).transfer_locator_id;
884: l_update_src_instance_rec.location_type_code := csi_inv_trxs_pkg.get_location_type_code('Inventory');
885: --l_update_src_instance_rec.location_id := nvl(l_mtl_item_tbl(j).subinv_location_id,l_mtl_item_tbl(j).hr_location_id);
886: l_update_src_instance_rec.location_id := nvl(r_loc_ids.subinv_location_id,r_loc_ids.hr_location_id);
887: --l_update_src_instance_rec.last_oe_order_line_id := r_so_info.line_id;
888: l_update_src_instance_rec.object_version_number := l_src_instance_header_tbl(i).object_version_number;
980: x_trx_error_rec.error_text := l_error_message;
981: x_trx_error_rec.transaction_id := NULL;
982: x_trx_error_rec.source_type := 'CSISUBTR';
983: x_trx_error_rec.source_id := p_transaction_id;
984: x_trx_error_rec.processed_flag := csi_inv_trxs_pkg.g_txn_error;
985: x_trx_error_rec.transaction_type_id := csi_inv_trxs_pkg.get_txn_type_id(l_trans_type_code,l_trans_app_code);
986: x_trx_error_rec.inv_material_transaction_id := p_transaction_id;
987: x_trx_error_rec.error_stage := csi_inv_trxs_pkg.g_ib_update;
988:
981: x_trx_error_rec.transaction_id := NULL;
982: x_trx_error_rec.source_type := 'CSISUBTR';
983: x_trx_error_rec.source_id := p_transaction_id;
984: x_trx_error_rec.processed_flag := csi_inv_trxs_pkg.g_txn_error;
985: x_trx_error_rec.transaction_type_id := csi_inv_trxs_pkg.get_txn_type_id(l_trans_type_code,l_trans_app_code);
986: x_trx_error_rec.inv_material_transaction_id := p_transaction_id;
987: x_trx_error_rec.error_stage := csi_inv_trxs_pkg.g_ib_update;
988:
989: WHEN others THEN
983: x_trx_error_rec.source_id := p_transaction_id;
984: x_trx_error_rec.processed_flag := csi_inv_trxs_pkg.g_txn_error;
985: x_trx_error_rec.transaction_type_id := csi_inv_trxs_pkg.get_txn_type_id(l_trans_type_code,l_trans_app_code);
986: x_trx_error_rec.inv_material_transaction_id := p_transaction_id;
987: x_trx_error_rec.error_stage := csi_inv_trxs_pkg.g_ib_update;
988:
989: WHEN others THEN
990: l_sql_error := SQLERRM;
991: debug('SQL Error: '||l_sql_error);
1011: x_trx_error_rec.error_text := fnd_message.get;
1012: x_trx_error_rec.transaction_id := NULL;
1013: x_trx_error_rec.source_type := 'CSISUBTR';
1014: x_trx_error_rec.source_id := p_transaction_id;
1015: x_trx_error_rec.processed_flag := csi_inv_trxs_pkg.g_txn_error;
1016: x_trx_error_rec.transaction_type_id := csi_inv_trxs_pkg.get_txn_type_id(l_trans_type_code,l_trans_app_code);
1017: x_trx_error_rec.inv_material_transaction_id := p_transaction_id;
1018: x_trx_error_rec.error_stage := csi_inv_trxs_pkg.g_ib_update;
1019:
1012: x_trx_error_rec.transaction_id := NULL;
1013: x_trx_error_rec.source_type := 'CSISUBTR';
1014: x_trx_error_rec.source_id := p_transaction_id;
1015: x_trx_error_rec.processed_flag := csi_inv_trxs_pkg.g_txn_error;
1016: x_trx_error_rec.transaction_type_id := csi_inv_trxs_pkg.get_txn_type_id(l_trans_type_code,l_trans_app_code);
1017: x_trx_error_rec.inv_material_transaction_id := p_transaction_id;
1018: x_trx_error_rec.error_stage := csi_inv_trxs_pkg.g_ib_update;
1019:
1020: END subinv_transfer;
1014: x_trx_error_rec.source_id := p_transaction_id;
1015: x_trx_error_rec.processed_flag := csi_inv_trxs_pkg.g_txn_error;
1016: x_trx_error_rec.transaction_type_id := csi_inv_trxs_pkg.get_txn_type_id(l_trans_type_code,l_trans_app_code);
1017: x_trx_error_rec.inv_material_transaction_id := p_transaction_id;
1018: x_trx_error_rec.error_stage := csi_inv_trxs_pkg.g_ib_update;
1019:
1020: END subinv_transfer;
1021:
1022: END csi_inv_transfer_pkg;