EBS 批次付款的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了EBS 批次付款的问题相关的知识,希望对你有一定的参考价值。
详细情况如下:
在一个invoicebatch 里面创建4笔发票:
1。 type:标准的 amount:3000 supplier:A
2。type:标准 amount:2000 supplier:B
3。type:credit amount:-1500 supplier:B
4。type:credit amoint:-1000 supplier:c
在批次付款的时候,根据条件我只能选出前三笔发票,而第四笔发票怎么也选不出来不能付款,请指教。
需要说明的是第四笔发票供应商是没问题的,因为标准的是可以选出数据的。第二笔与第三笔金额总和为正所以也是可以付款的。
请问,这个check金额是负数的能在批次里面付款吗?还是说只能在form的界面付款?如果可以批次付款,请问如何设置?
谢谢
批次付款的时候是你设定某些条件,选出选出符合条件的一些invoice,比如说你输入invoicebatch name,他就会把这个发票批里面的发票全部选出来,所以是根本没有什么先匹配什么后匹配什么的。
参考技术A 检查一下第四笔的供应商币别...追问第四笔供应商币种是没有问题的,以为我做表type为标准的发票是可以选出来的。谢谢回答
ORACLE EBS 物料事务处理开发接口案例 - 其物料启用了序列和批次
DECLARE
l_iface_rec inv.mtl_transactions_interface% ROWTYPE;
l_iface_lot_rec inv.mtl_transaction_lots_interface%ROWTYPE ;
l_iface_serial_rec inv.mtl_serial_numbers_interface%ROWTYPE ;
l_cur_mfg_org_id NUMBER := fnd_global.org_id ; --Current Inv Organization
l_user_id NUMBER := fnd_global.user_id; --User ID, Sysadmin here
l_serial_seq_id NUMBER;
l_product_id NUMBER;
l_return_count NUMBER;
x_trans_count NUMBER;
x_return_status VARCHAR2(100 );
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000 );
BEGIN
fnd_global.apps_initialize(user_id => fnd_global.user_id
,resp_id => fnd_global.resp_id
,resp_appl_id => fnd_global.resp_appl_id);
l_iface_rec.last_update_date := SYSDATE;
l_iface_rec.last_updated_by := fnd_global.user_id;
l_iface_rec.creation_date := SYSDATE;
l_iface_rec.created_by := fnd_global.user_id;
l_iface_rec.last_update_login := fnd_global.last_update_login ;
SELECT mtl_material_transactions_s.nextval
INTO l_iface_rec.transaction_interface_id
FROM dual;
l_iface_rec.transaction_header_id := l_iface_rec.transaction_interface_id;
l_iface_rec.transaction_mode := 3;
l_iface_rec.process_flag := 1;
l_iface_rec.transaction_type_id := 42; --mtl_transaction_types 42->杂项接受 32-> 杂项发放
l_iface_rec.organization_id := l_cur_mfg_org_id;
l_iface_rec.inventory_item_id := 309978;
l_iface_rec.subinventory_code := 'RPK';
l_iface_rec.locator_id := 3877;
l_iface_rec.transfer_locator := 3900;
l_iface_rec.transfer_organization := l_cur_mfg_org_id;
l_iface_rec.transfer_subinventory := '11204';
l_iface_rec.transaction_quantity := 3;
l_iface_rec.transaction_uom := 'Ea';
l_iface_rec.transaction_date := SYSDATE;
l_iface_rec.source_code := 'Test Miscellaneous receipt API';
l_iface_rec.source_header_id := l_iface_rec.transaction_interface_id;
l_iface_rec.source_line_id := l_iface_rec.transaction_interface_id;
INSERT INTO inv.mtl_transactions_interface
VALUES l_iface_rec;
--第一批
l_serial_seq_id := mtl_material_transactions_s.nextval;
l_iface_lot_rec.last_update_date := SYSDATE;
l_iface_lot_rec.last_updated_by := l_user_id;
l_iface_lot_rec.creation_date := SYSDATE;
l_iface_lot_rec.created_by := l_user_id;
l_iface_lot_rec.last_update_login := - 1;
l_iface_lot_rec.lot_number := 'A112';
l_iface_lot_rec.transaction_interface_id := l_iface_rec.transaction_interface_id;
l_iface_lot_rec.transaction_quantity := 2;
l_iface_lot_rec.product_transaction_id := l_iface_rec.transaction_interface_id;
--启用虚列时必输,否则不能给值
l_iface_lot_rec.serial_transaction_temp_id := l_serial_seq_id;
INSERT INTO inv.mtl_transaction_lots_interface
VALUES l_iface_lot_rec;
l_iface_serial_rec.last_update_date := SYSDATE;
l_iface_serial_rec.last_updated_by := l_user_id;
l_iface_serial_rec.creation_date := SYSDATE;
l_iface_serial_rec.created_by := l_user_id;
l_iface_serial_rec.last_update_login := - 1;
l_iface_serial_rec.fm_serial_number := '10012';
l_iface_serial_rec.to_serial_number := '10013';
l_iface_serial_rec.transaction_interface_id := l_serial_seq_id;
INSERT INTO inv.mtl_serial_numbers_interface
VALUES l_iface_serial_rec;
---第二批
l_serial_seq_id := mtl_material_transactions_s.nextval;
l_iface_lot_rec.last_update_date := SYSDATE;
l_iface_lot_rec.last_updated_by := l_user_id;
l_iface_lot_rec.creation_date := SYSDATE;
l_iface_lot_rec.created_by := l_user_id;
l_iface_lot_rec.last_update_login := - 1;
l_iface_lot_rec.lot_number := 'A112';
l_iface_lot_rec.transaction_interface_id := l_iface_rec.transaction_interface_id;
l_iface_lot_rec.transaction_quantity := 1;
l_iface_lot_rec.product_transaction_id := l_iface_rec.transaction_interface_id;
--启用虚列时必输,否则不能给值
l_iface_lot_rec.serial_transaction_temp_id := l_serial_seq_id;
INSERT INTO inv.mtl_transaction_lots_interface
VALUES l_iface_lot_rec;
l_iface_serial_rec.last_update_date := SYSDATE;
l_iface_serial_rec.last_updated_by := l_user_id;
l_iface_serial_rec.creation_date := SYSDATE;
l_iface_serial_rec.created_by := l_user_id;
l_iface_serial_rec.last_update_login := - 1;
l_iface_serial_rec.fm_serial_number := '10017';
l_iface_serial_rec.to_serial_number := '10017';
l_iface_serial_rec.transaction_interface_id := l_serial_seq_id;
INSERT INTO inv.mtl_serial_numbers_interface
VALUES l_iface_serial_rec;
fnd_msg_pub.initialize;
x_return_status := fnd_api.g_ret_sts_success; --0 to indicate successful processing and value -1 to indicate failure processing
l_return_count := inv_txn_manager_pub.process_transactions(p_api_version => 1.0
,p_init_msg_list => fnd_api.g_false
,p_commit => fnd_api.g_false
,p_validation_level => fnd_api.g_valid_level_full
,x_return_status => x_return_status
,x_msg_count => x_msg_count
,x_msg_data => x_msg_data
,x_trans_count => x_trans_count
,p_table => 1
, --1==MTI,2==MMTT
p_header_id => l_iface_rec.transaction_interface_id);
dbms_output.put_line( 'l_return_count: ' || l_return_count);
IF l_return_count = - 1
OR x_return_status <> fnd_api.g_ret_sts_success THEN
FOR a_rec IN ( SELECT mti.transaction_interface_id
,mti.error_code
,mti.error_explanation
FROM mtl_transactions_interface mti
WHERE mti.transaction_header_id = l_iface_rec.transaction_header_id) LOOP
dbms_output.put_line('transaction_interface_id: ' || a_rec.transaction_interface_id);
dbms_output.put_line( 'error_code: ' || a_rec.error_code);
dbms_output.put_line( 'error_explanation: ' || a_rec.error_explanation);
END LOOP;
ROLLBACK;
END IF;
END;
以上是关于EBS 批次付款的问题的主要内容,如果未能解决你的问题,请参考以下文章