热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

OracleEBS订单的流程(OrderAR)

目录(?)[-]基本流程创建订单PickReleasePickConfirmShipConfirmDeliveriesInterfaceTripStop-SRSWorkflowba

目录(?)[-]

  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 OrderEnteredEnteredBook Order ManualEnter – Line                             N/A 
2. Book the OrderBookedAwaiting ShippingClose OrderSchedule ->Create Supply ->Ship – Line                      Ready to Release(R) 
3. Pick the OrderBookedPickedClose OrderShip – Line1.Released to Warehouse(S)(Pick Release but not pick confirm)
2.Staged/Pick Confirmed(Y)(After pick confirm)
 
4. Ship the OrderBookedShippedClose OrderFulfill – Deferred1.Shipped(After ship confirm)
2.Interfaced(C)(After ITS)
 
BookedClosedClose OrderFulfill ->Invoice Interface ->Close Line -> End  
5. Close the OrderClosedClosedEndEnd  

 

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

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

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


转:https://www.cnblogs.com/quanweiru/archive/2013/05/15/3079593.html



推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • 本文讨论了在openwrt-17.01版本中,mt7628设备上初始化启动时eth0的mac地址总是随机生成的问题。每次随机生成的eth0的mac地址都会写到/sys/class/net/eth0/address目录下,而openwrt-17.01原版的SDK会根据随机生成的eth0的mac地址再生成eth0.1、eth0.2等,生成后的mac地址会保存在/etc/config/network下。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • 深入解析Linux下的I/O多路转接epoll技术
    本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ... [详细]
  • [翻译]PyCairo指南裁剪和masking
    裁剪和masking在PyCairo指南的这个部分,我么将讨论裁剪和masking操作。裁剪裁剪就是将图形的绘制限定在一定的区域内。这样做有一些效率的因素࿰ ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • 基于分布式锁的防止重复请求解决方案
    一、前言关于重复请求,指的是我们服务端接收到很短的时间内的多个相同内容的重复请求。而这样的重复请求如果是幂等的(每次请求的结果都相同,如查 ... [详细]
  • python+selenium十:基于原生selenium的二次封装fromseleniumimportwebdriverfromselenium.webdriv ... [详细]
author-avatar
张浩杰_Hh
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有