转:Oracle EBS订单的流程(Order->AR)

Posted pompeii

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转:Oracle EBS订单的流程(Order->AR)相关的知识,希望对你有一定的参考价值。

目录(?)[-]

  1. 基本流程
  2. 创建订单
  3. Pick Release
    1. Pick Confirm
  4. Ship Confirm Deliveries
  5. Interface Trip Stop - SRS
  6. Workflow background Process
  7. AutoInvoice
  8. Closing the Order
  9. OrderShipping Transactions Status Summary
 

基本流程

技术分享

创建订单

路径:Order Management > Orders,Returns > Sales Orders

填写订单头信息,客户,订单类型,销售人员

技术分享

填写订单体信息,输入物料,数量...

技术分享

然后Book Order,订单Book之后,你会发现订单头的Status的状态变成了“Booked”,订单行的状态为"Awaiting Shipping",记录下来你的订单号,后边的每一步都需要这个订单号。

状态:订单Book之后,这个时候发运单也就产生了,如果你去Shipping Transactions Form,查找订单,你就会发现发运单的Line Status为Ready to Release,Next Step为Pick Release

Pick Release

路径:Order Management > Shipping > Release Sales Orders > Release Sales Orders

Pick Release俗称挑库(即从仓库中挑选货物).在Order  Number中输入待挑库的订单号

技术分享

Auto Pick Confirm设置为No

技术分享

Auto Allocate设置为N

技术分享

Auto Allocate和Auto Pick Confirm都可以设置为Yes,只不过为了讲的更加详细,这里都设置为No,设置为Yes的话,那么后边的Allocate和Pick Confirm两步,系统就会自动帮你完成。

这里有两个按钮来执行Pick  Release,”Concurrent“是把Pick Release的任务发给Concurrent Request来执行,"Execute Now"是系统再前段执行Pick Release,直到执行结束才把控制权返还给User,这里我们点击Concurrent按钮。

Pick Release后台做了什么事情?Pick Release会创建一个Pick Wave类型Move Order,这个Move Order就是用来把库存中的货物搬到一个临时发货区(Staging),如果打开INV日志就能看到系统是调用INV_MOVE_ORDER_PUB.CREATE_MOVE_ORDER_HEADER来创建Move Order的。(对于Pick Release的后台流程可以参见我的总结:Pick Release Process)

另外需要提到的是,在Pick Release之后,系统会针对你的订单生成一条Reservation(预留),这个时候的预留称为Soft Reservations,因为还没有明确从哪个库出货,所以会在Org级别创建物料的保留。

状态:这个时候,Shipping Transaction的Line Status为"Released to Warehouse",Next Step为"Transact Move Order";订单头的状态仍为Booked,行状态仍为”Awaiting Shipping“。

Pick Confirm

Pick Confirm(挑库确认)的动作实际上是在Transact Move Order中完成的,先Allocate挑选货物,再Transact Move Order.

路径:Inventory > Move Orders > Transact Move Orders

查询页面,Pick Wave那个Tab,输入订单号

技术分享

进入TMO主界面后,点击Allocate,Allocate会根据你系统默认的Picking Rule来挑选货物,然后给你一个Suggestion的挑库项,Suggestion记录会保存在MTL_MATERIAL_TRANSACTIONS_TEMP表(即Pending Transactions)。

另外完成Allocate之后,你会看到界面Allocation项会出现Single,Multiple或者None的标识,Single表示,系统给你了产生了一条Suggestion的Transaction记录,Multiple表示产生了多条;None表示没有产生Suggestion记录(很可能是因为你系统中库存数量不足)

技术分享

接下来一步就是去Transact这个Move Order

技术分享

按Transact之后,Inventory Transaction Manager 会处理Suggestion Transactions(MMTT),然后物料转移的动作就真实发生了,物料就从正式Subinventory到临时存货区(Staging)。这个Transction可以从Material Transaction的Form中查询到。

技术分享

另外对于Reservation来说,在Transact之后,因为库存明确了,Reservation就会变得更加明确,是对哪个Sub,locator做保留。

技术分享

状态:这个时候,Shipping Transaction的Line Status为"Staged/Pick Confirmed",Next Step为"Ship Confirm/Close Trip Stop";订单头的状态仍为Booked,行状态变为了”Picked“。

Ship Confirm Deliveries

路径:Order Management > Shipping > Transactions

技术分享

切换到Delivery页签,准备Ship Confirm(发货确认),如果你在Pick Release的时候,没有选择Autocreate Delivery,那么系统会检查Define Shipping Parameters里边这两个的设置,如果shipping parameters里边也没有选择,那么你需要手工的在Ship Confirm的时候选择Action->Auto-create Deliveries.

Delivery信息实际上包含你要投递货物到哪里,使用哪家物流公司....

技术分享

Delivery页签,点击Ship Confirm按钮后,会弹出一个窗口,"Defer Interface"如果被勾上,说明你要手动的运行Interface Trip Stop SRS,我们勾上Defer Interface,点OK。

技术分享

Delivery was successfully confirmed!!!

技术分享

Ship Confirm这个动作会插入一条记录到MTL_TRANSACTIONS_INTERFACE表中,这个MTI记录的类型为Sales Order Issue,这条记录会被接下来的Interface Trip Stop来处理,最终从MTI转到MMT表中。

状态:这个时候,Shipping Transaction的Line Status为"Shipped",Next Step为"Run Interfaces";订单头的状态仍为Booked,行状态变为了”Shipped“。

Interface Trip Stop - SRS

因为我们在Ship Confirm的时候设置了Defer Interface,所以这里我们还需要手动的运行Interface Trip Stop - SRS。

路径:Order Management > Shipping > Interface > Run > Request:Interface Trip Stop - SRS

技术分享

Interface Trip Stop实际上包含两部分:Order Management Interface  SRS(更新发运行状态、以准备生成AR发票)和 Inventory Interface  SRS(产生库存出货事务)

Order Management Interface - SRS是在Inventory Interface  SRS之前运行的,这个Request更新发运行状态、以准备生成AR发票,OM Interface运行结束后会更新WSH_DELIVERY_DETAILS表的OE_INTERFACED_FLAG为Y。

Inventory Interface  SRS会根据Shipping Transaction来插入记录到MTI,进而INV Manager会把这条MTI记录转到MMT表中,一条Sales Order Issue的transaction记录就产生了,并完成库存数量的扣减和Reservation的删除。Inventory Interface  SRS运行完之后,会更新WSH_DELIVERY_DETAILS表的INV_INTERFACED_FLAG字段为Y。 技术分享

 

状态:这个时候,Shipping Transaction的Line Status为"Interfaced",Next Step为"Not Applicable";订单头的状态仍为Booked,行状态变为了”Shipped“。

关于ITS,还可以参见我的另一篇文章:http://blog.csdn.net/pan_tian/article/details/8624936

Workflow background Process

路径:Inventory > Workflow Background Engine

Item Type:OM Order Line

Process Deferred:Yes

Process Timeout:No

这个program用于处理Deffered状态的workflow,Workflow Background Process运行后,相关数据就会从Order表导入到RA Interface表中去(RA_INTERFACE_LINES_ALL,RA_INTERFACE_SALESCREDITS_ALL,RA_Interface_distribution)

技术分享

你可以通过下边的SQL来查看RA Interface信息:

1.SELECT * FROM RA_INTERFACE_LINES_ALL WHERE sales_order = ‘65961‘;

2.SELECT * FROM RA_INTERFACE_SALESCREDITS_ALL

WHERE INTERFACE_LINE_ID IN (SELECT INTERFACE_LINE_ID FROM RA_INTERFACE_LINES_ALL WHERE sales_order = ‘65961‘ );

3.SELECT * FROM RA_INTERFACE_DISTRIBUTIONS_ALL

WHERE INTERFACE_LINE_ID IN (SELECT INTERFACE_LINE_ID FROM RA_INTERFACE_LINES_ALL WHERE sales_order = ‘65961‘ );

数据插入到RA Interface之后,再看OE_ORDER_LINES_ALL的INVOICE_INTERFACE_STATUS_CODE字段变成了Yes,INVOICED_QUANTITY变为了订单行的数量。并且你会发现订单行的状态变成了Closed,订单头的状态仍为Booked。

AutoInvoice

用于生成AR发票

路径:Account Receivable > Interface > AutoInvoice

Name:Autoinvoice Master Program

Invoice Source:Order Entry

Default Day:当前日期

技术分享

提交后,在request里能看到”Autoinvoice Import Program“在运行。

技术分享

技术分享

从上图,可以看出Auto Invoice Program用于处理RA的interface表,然后生成真正的营收发票信息,最终数据会插入AR正式表中(RA_CUSTOMER_TRX_ALL,RA_CUSTOMER_TRX_LINES,AR_PAYMENT_SCHEDULES).

可以到订单里 Order > Action > Additional Information > Invoices/Credit Memos中能看到发票信息,也可以通过下边SQL查看订单和AR信息,

SELECT ooha.order_number , oola.line_number so_line_number , oola.ordered_item , oola.ordered_quantity * oola.unit_selling_price so_extended_price , rcta.trx_number invoice_number , rcta.trx_date , rctla.line_number inv_line_number , rctla.unit_selling_price inv_unit_selling_price FROM oe_order_headers_all ooha , oe_order_lines_all oola , ra_customer_trx_all rcta , ra_customer_trx_lines_all rctla WHERE ooha.header_id = oola.header_id AND rcta.customer_trx_id = rctla.customer_trx_id AND rctla.interface_line_attribute6 = TO_CHAR (oola.line_id) AND rctla.interface_line_attribute1 = TO_CHAR (ooha.order_number) AND order_number = :p_order_number;

 

如果Autoinvoice Import Program有出现error的情况,你可以查看RA_INTERFACE_ERRORS_ALL表Message_text字段,来获取错误信息。

Closing the Order

订单的关闭是自动的,在所有行工作流结束(Close或者Cancel)后0.5天,订单头也将在Workflow Background Process的推动下关闭。

还有另外一种说法:you can wait until month-end and the “Order Flow – Generic” workflow will close it for you.

 

Order&Shipping Transactions Status Summary

StepOrder Header StatusOrder Line StatusOrder Flow Workflow Status (Order Header)Line Flow Workflow Status (Order Line) Shipping Transaction  Status(RELEASED_STATUS in WDD)  
1. Enter an Order Entered Entered Book Order Manual Enter – Line                              N/A  
2. Book the Order Booked Awaiting Shipping Close Order Schedule ->Create Supply ->Ship – Line                       Ready to Release(R)  
3. Pick the Order Booked Picked Close Order Ship – Line 1.Released to Warehouse(S)(Pick Release but not pick confirm) 2.Staged/Pick Confirmed(Y)(After pick confirm)  
4. Ship the Order Booked Shipped Close Order Fulfill – Deferred 1.Shipped(After ship confirm) 2.Interfaced(C)(After ITS)  
Booked Closed Close Order Fulfill ->Invoice Interface ->Close Line -> End    
5. Close the Order Closed Closed End End    

 

关于订单,shipping txn的状态,可以参见另外一篇文章:http://blog.csdn.net/pan_tian/article/details/7696528

 

========Update on 2015-07-14===========

Oracle Order Management Flow(Source Link)

技术分享

技术分享

技术分享

转载请注明出处:http://blog.csdn.net/pan_tian/article/details/7693447

======EOF======

以上是关于转:Oracle EBS订单的流程(Order->AR)的主要内容,如果未能解决你的问题,请参考以下文章

Oracle EBS OM 登记订单

Oracle EBS OM 保留订单

Oracle EBS OM 取消订单

Oracle EBS OM 取消订单行

Oracle EBS OM 删除订单行

求EBS高手,介绍EBS 中一个Order的具体流程.