Oracle EBS 处理物料搬运单使用 INV_PICK_WAVE_PICK_CONFIRM_PUB.Pick_Confirm API
Goal
使用 API INV_PICK_WAVE_PICK_CONFIRM_PUB.Pick_Confirm 来处理搬运单
Sample Code:
Please review the below instructions and sample code document. The API call looks something like this using INV_PICK_WAVE_PICK_CONFIRM_PUB from INVPCPWB.pls. See the sample code for a complete example but here is a snippet of the call:
...
INV_PICK_WAVE_PICK_CONFIRM_PUB.Pick_Confirm
(
p_api_version_number => l_api_version
, p_init_msg_list => l_init_msg_list
, p_commit => l_commit
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data
, p_move_order_type => l_move_order_type
, p_transaction_mode => l_transaction_mode
, p_trolin_tbl => l_trolin_tbl
, p_mold_tbl => l_mold_tbl
, x_mmtt_tbl => x_mmtt_tbl
, x_trolin_tbl => x_trolin_tbl
, p_transaction_date => l_transaction_date
);
...
Steps:
1) 创建移动订单并批准。
2) 查询移动订单并为移动订单项目分配数量
3) 运行应用程序接口,以移动订单行 ID 作为参数,从分配的子库存中进行物料交易。
Move Order Type:
Value Move Order Type
1 Requisition
2 Replenishment
3 Pick Wave
4 Receipt
5 Manufacturing Component Pick
6 Put Away
FAQ
#1) How to transact partial qty on a move order line ?
Partial allocation through the API is currently not available. There is an enhancement request Bug 4506481 logged requesting the feature. You can use a combination of the API and form to get the results. Here are the steps:
1) Create , book and release the sales order with Auto Allocate = Yes, Auto Pick Confirm = No.
2) Go to Transact Move Orders, Query for the move order, Click on View/ Update Allocations.
3) Reduce the allocation qty, and click save. *
* Note that API INV_REPLPENISH_DETAIL_PUB.Line_Details_Pub does have a limitation where it cannot allocate quantity lesser than requested quantity, so, this can be done only from forms.
4) Now transact the move order using the same API code as before.
5) See that the reduced qty on the move order line is transacted, and rest on the order line is back ordered.
This needs to be released again, as the current move order would be closed after its transacted.
This is same as front-end functionality, when clicking on 'Transact' button it will try to transact all the lines that are allocated on that form.
Note: If requested_qty = detailed_qty on the Move Order Line, the API would transact all the detailed_qty. If the detailed_qty < requested_qty, only detailed_qty will be transacted, and the rest would be back-ordered.
#2) Is under-picking supported using API ?
Under picking is not supported through the api. It can only be done manually via the Transact move orders form.
#3) Can you split allocations using API ?
The public API INV_PICK_WAVE_PICK_CONFIRM_PUB.PICK_CONFIRM() is only meant
for transacting allocation against the move order. 'Splitting Allocation' kind of functionality through
public API is not supported.
#4) After allocating user-defined serials for a lot-serial controlled item following Note 1332302.1 seeing error "Lot-serial quantity does not match transaction quantity" error while transacting using API ?
Please review if the lot and serial information is correct on the allocation from Transact Move Orders form -> Query for the move order -> Click on View/ Update Allocations. It is more likeky that the lot - serial - subinventory - locator information may be incorrect on the allocation. Please correct the same and then, run the transact API again.
#5) Do we need to pass header_id also to the Pick confirm API ?
This issue was fixed in Patch 21796706:R12.INV.B - In Oracle Inventory Management parameter Move order header is mandatory when calling INV_PICK_WAVE_PICK_CONFIRM_PUB.PICK_CONFIRM API
Fixed file version INVPCPWB.pls 120.1.12010000.10 , For more information - Please check Note 1900798.1 / Note 2076025.1 - Inv_pick_wave_pick_confirm_pub.pick_confirm Doesn't Work After Applying Patch:20299616:R12.INV.B
To confirm your file versions, you can use below query -
select * from all_source
where name = 'INV_PICK_WAVE_PICK_CONFIRM_PUB'
and line < 4;
-- 刘轶鹤
标签:move,CONFIRM,INV,PICK,API,Pick,order From: https://blog.csdn.net/AlexLiu_2019/article/details/143889973