interface批量导入库存现有量
来源:互联网 发布:英文小说 知乎 编辑:程序博客网 时间:2024/05/18 00:14
对于一些期初库存需要导入系统,或者盘点的时候需要对盘盈的库存进行导入等情况会批量导入库存,
与之前批量导出库存一样,用interface,不同点在于导出数量是负的,导入数量是正的
以下code只考虑到物料批次管控,有序列管控,版本管控,储位管控的以下代码需要修改方可使用:
create or replace procedure jw_import_onhand_proc as cursor c_item is select organization_id ,new_item ,sub_code ,lot_number ,quantity ,account1 ,transaction_date ,description1 ,flag ,rowid from JW_IMPORT_ITEM_20150611 where flag is null; R_J EXCEPTION; v_num number; v_num1 number; v_num2 number; v_lot_flag varchar2(1); v_item_id number; v_mtl_transactions_inter mtl_transactions_interface%rowtype; v_mtl_transaction_lot_inter mtl_transaction_lots_interface%rowtype;begin null; --防呆 for v_item in c_item loop begin select count(*) into v_num from mtl_parameters mp where mp.organization_id = v_item.organization_id; if v_num = 0 then raise R_J; end if; select count(*) into v_num1 from mtl_system_items_b msib where msib.organization_id = v_item.organization_id and msib.segment1 = TRIM(v_item.new_item) and msib.inventory_item_status_code <> 'Inactive'; if v_num1 = 0 then raise R_J; end if; select count(*) into v_num2 from mtl_secondary_inventories msi where msi.organization_id = v_item.organization_id and msi.secondary_inventory_name = TRIM(v_item.sub_code) and msi.disable_date is null; if v_num2 = 0 then raise R_J; end if; select msib.lot_control_code,msib.inventory_item_id into v_lot_flag,v_item_id from mtl_system_items_b msib where msib.organization_id = v_item.organization_id and msib.segment1 = TRIM(v_item.new_item) and msib.inventory_item_status_code <> 'Inactive'; if (v_lot_flag = 2) and v_item.lot_number is null then raise R_J; end if; select fnd_flex_ext.get_ccid(application_short_name => 'SQLGL', key_flex_code => 'GL#', structure_number => '50348', validation_date => to_char(SYSDATE, 'YYYY-MM-DD'), concatenated_segments => TRIM(v_item.account1)) into v_mtl_transactions_inter.DISTRIBUTION_ACCOUNT_ID from dual; SELECT mtl_material_transactions_s.nextval INTO v_mtl_transactions_inter.transaction_interface_id FROM dual; v_mtl_transactions_inter.transaction_mode := '3'; --3 v_mtl_transactions_inter.process_flag := '1'; --1 v_mtl_transactions_inter.transaction_type_id := 42; --1 40 -- v_mtl_transactions_inter.DISTRIBUTION_ACCOUNT_ID := , --1034 --zw:6381 v_mtl_transactions_inter.organization_id := v_item.organization_id; -- 86 102 --85 v_mtl_transactions_inter.inventory_item_id := v_item_id; --3501 v_mtl_transactions_inter.subinventory_code := TRIM(v_item.sub_code); --QXCPLPC 22102 --v_mtl_transactions_inter.LOC_SEGMENT1, --BA1R12 v_mtl_transactions_inter.transaction_quantity := ABS(v_item.quantity); --入是正,出是负 v_mtl_transactions_inter.transaction_uom := 'PCS'; --PCS v_mtl_transactions_inter.transaction_date := v_item.transaction_date; --DATE v_mtl_transactions_inter.source_code := '11'; --MANUAL_INSERT v_mtl_transactions_inter.source_header_id := '11'; --11 v_mtl_transactions_inter.source_line_id := '11'; --11 v_mtl_transactions_inter.transaction_reference := v_item.description1; v_mtl_transactions_inter.LAST_UPDATE_LOGIN := null; v_mtl_transactions_inter.LAST_UPDATE_DATE := sysdate; v_mtl_transactions_inter.LAST_UPDATED_BY := 1111; v_mtl_transactions_inter.CREATION_DATE := sysdate; v_mtl_transactions_inter.CREATED_BY := 1111; v_mtl_transactions_inter.LAST_UPDATE_LOGIN := null; insert into mtl_transactions_interface values v_mtl_transactions_inter; if v_lot_flag = 2 then v_mtl_transaction_lot_inter.transaction_interface_id := v_mtl_transactions_inter.transaction_interface_id; v_mtl_transaction_lot_inter.source_code := '11'; v_mtl_transaction_lot_inter.source_line_id := 11; v_mtl_transaction_lot_inter.last_update_date := sysdate; v_mtl_transaction_lot_inter.last_updated_by := 1111; v_mtl_transaction_lot_inter.creation_date := sysdate; v_mtl_transaction_lot_inter.created_by := 1111; v_mtl_transaction_lot_inter.last_update_login := null; v_mtl_transaction_lot_inter.lot_number := TRIM(v_item.lot_number); v_mtl_transaction_lot_inter.transaction_quantity := ABS(v_item.quantity); v_mtl_transaction_lot_inter.primary_quantity := ABS(v_item.quantity); v_mtl_transaction_lot_inter.process_flag := '1'; insert into mtl_transaction_lots_interface values v_mtl_transaction_lot_inter; end if; update JW_IMPORT_ITEM_20150611 j set j.flag = 'Y' where j.rowid = v_item.rowid; commit; NULL; exception when R_J then ROLLBACK; update JW_IMPORT_ITEM_20150611 j set j.flag = 'E' where j.rowid = v_item.rowid; COMMIT; null; end ; end loop;end;
0 0
- interface批量导入库存现有量
- interface批量导出库存现有量
- 库存现有量
- 库存事务处理现有量检查
- 标准库存现有量界面取值
- 库存---历史结存量计算方法
- 库存---历史结存量计算方法
- 现有量,在途量,可用量,可保留量
- MyEclipse导入现有项目
- 导入现有Android工程
- 导入现有Android工程
- Django导入现有数据库
- Django-导入现有数据库
- 利用Receiving Open Interface批量导入Oracle EBS接收表单实例
- EBS INV计算现有量(标准API)
- 批量导入
- 批量导入
- myeclipse导入现有项目出错
- 在线编程--相同子树问题
- Java中Properties类的操作
- C++中如何在指定的内存中创建新对象
- Matlab中凸优化工具包CVX的安装、注册与使用
- 同时装了Python3和Python2,怎么用pip?
- interface批量导入库存现有量
- RxJava笔记
- iOS打包app发给测试人员测试
- 异常处理的原则:
- 国内外三个不同领域巨头分享的Redis实战经验及使用场景
- 当打开studio没有android项目时
- win10获得system权限(超级管理员)
- 读《Git 版本控制管理第2版》迷你书 pdf(不全)
- Class CSVParser