diaoyudao 发表于 2015-9-23 08:31:50

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

  目录(?)[-]
                           
[*]基本流程               
[*]创建订单               
[*]Pick Release                               
[*]Pick Confirm               
               
[*]Ship Confirm Deliveries               
[*]Interface Trip Stop - SRS               
[*]Workflow background Process               
[*]AutoInvoice               
[*]Closing the Order               
[*]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俗称挑库(即从仓库中挑选货物).在OrderNumber中输入待挑库的订单号               


  Auto Pick Confirm设置为No               

               

  Auto Allocate设置为N               


  Auto Allocate和Auto Pick Confirm都可以设置为Yes,只不过为了讲的更加详细,这里都设置为No,设置为Yes的话,那么后边的Allocate和Pick Confirm两步,系统就会自动帮你完成。
  这里有两个按钮来执行PickRelease,”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 InterfaceSRS(更新发运行状态、以准备生成AR发票)和 Inventory InterfaceSRS(产生库存出货事务)               

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

            
Inventory InterfaceSRS会根据Shipping Transaction来插入记录到MTI,进而INV Manager会把这条MTI记录转到MMT表中,一条Sales Order Issue的transaction记录就产生了,并完成库存数量的扣减和Reservation的删除。Inventory InterfaceSRS运行完之后,会更新WSH_DELIVERY_DETAILS表的INV_INTERFACED_FLAG字段为Y。               
               
            
              
  状态:这个时候,Shipping Transaction的Line Status为"Interfaced",Next Step为"Not Applicable";订单头的状态仍为Booked,行状态变为了”Shipped“。
  关于ITS,还可以参见我的另一篇文章:http://blog.iyunv.com/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               

              
                                              Step                  Order Header Status                  Order Line Status                  Order Flow Workflow Status (Order Header)                  Line Flow Workflow Status (Order Line)                  Shipping TransactionStatus(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.iyunv.com/pan_tian/article/details/7696528               

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

  ======EOF======
页: [1]
查看完整版本: Oracle EBS订单的流程(Order->AR)