zoukankan      html  css  js  c++  java
  • 销售订单的流程(销售订单导入-->挑库-->发运-->AR)

    创建订单

    路径: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实际上包含两部分:Inventory Interface  SRS(产生库存出货事务)和 Order Management Interface  SRS(更新发运行状态、以准备生成AR发票)。

    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。

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

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

    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

    select * from oe_order_lines_all            销售行
     1. oe_order_lines_all.FLOW_STATUS_CODE: 
         - AWAITING_RETURN
         - AWAITING_SHIPPING
         - BOOKED
         - CANCELLED
         - CLOSED
         - ENTERED    
         - FULFILLED  实施
         - SHIPPED
     2. line_category_code:
         - ORDER
         - RETURN 退货标记

     参考文档:https://www.cnblogs.com/AI-xiaocai/p/11888950.html

  • 相关阅读:
    NVelocity实现违反了LSP法则,使我的一个低级错误排查了一个下午。
    ADO.NET EF 4中 query.Where().Where()和动态组合lambda实现组合查询的不同。
    发现blend4的一个导致崩溃的BUG!!!
    代码回滚:git reset、git checkout和git revert区别和联系
    精确获取函数运行时间,精确到微秒
    在github分支上上传空文件夹
    VS2010 LINK1123:failure during conversion to COFF:file invalid or corrupt
    同步github上fork出来的分支
    未能找到任何适合于指定的区域性或非特定区域性的资源。请确保在编译时已将“XXXXX.resources”正确嵌入或链接到程序集“XX”,或者确保所有需要的附属程序集都可加载并已进行了完全签名。
    决定以后把写博客转的主要平台转到cnblogs了
  • 原文地址:https://www.cnblogs.com/AI-xiaocai/p/11820340.html
Copyright © 2011-2022 走看看