ebs 11i 订单相关表结构学习及销售到出仓所经历的表

1接口表:
a)OE_HEADERS_IFACE_ALL:此表为多组织表,用于将销售订单头插入开放接口。
该表存储来自于其他子系统需要导入OM模块的订单头信息,
  该表导入时必须输入的字段/条件:
ORDER_SOURCE_ID      : Order source id                         可选
ORIG_SYS_DOCUMENT_REF: Original system document reference      必须
ORDER_SOURCE         : Order source                            可选
OPERATION_CODE       : Operation code                          必须
ORDER_TYPE_ID        : Order type id                           可选
ORDER_TYPE           : Order type                              可选
RETURN_REASON_CODE   : Return reason code                      仅用于订单退回
SALESREP_ID          : Salesrep id 
PRICE_LIST_ID        : Price list id                           用于已经booking的订单
PRICE_LIST           : Price list                              用于已经booking的订单
example:
  insert into oe_headers_iface_all(
        ORDER_SOURCE_ID
       ,orig_sys_document_ref
       ,ORG_ID
       ,order_type_id
       ,PRICE_LIST_ID
       ,TRANSACTIONAL_CURR_CODE
       ,SOLD_TO_ORG_ID
       ,SHIP_TO_ORG_ID
       ,created_by
       ,creation_date
       ,last_updated_by
       ,last_update_date
       ,operation_code 
       )select ooha.order_source_id
              ,ooha.orig_sys_document_ref
              ,ooha.org_id
              ,ooha.order_type_id
              ,ooha.price_list_id
              ,ooha.TRANSACTIONAL_CURR_CODE
              ,ooha.SOLD_TO_ORG_ID
              ,ooha.SHIP_TO_ORG_ID
              ,ooha.created_by
              ,ooha.creation_date
              ,fnd_global.user_id
              ,sysdate
              ,p_operation_code
          from oe_order_headers_all ooha
         where order_number=p_order_number;
b)OE_LINES_IFACE_ALL此表为多组织表,用于将销售订单行插入开放接口。
该表存储来自于其他子系统需要导入OM模块的订单行信息,
  该表导入时必须输入的字段/条件:
ORDER_SOURCE_ID            : Order source id                    必须
ORIG_SYS_DOCUMENT_REF      : Original system document reference 必须
ORIG_SYS_LINE_REF          : Original system line reference     必须
ORIG_SYS_SHIPMENT_REF      : Original system shipment reference 必须
INVENTORY_ITEM             : Inventory Item                     必须
INVENTORY_ITEM_ID          : Inventory Item ID                  可选
TOP_MODEL_LINE_REF         : Top model line reference           可选
LINK_TO_LINE_REF           : Link to line reference             可选
REQUEST_DATE               : Request Date                       必须
DELIVERY_LEAD_TIME         : Delivery lead time                 必须
DELIVERY_ID                : Delivery id                        必须    
ORDERED_QUANTITY           : Ordered quantity                   必须
ORDER_QUANTITY_UOM         : Order quantity uom                 必须
SHIPPING_QUANTITY          : Quantity which has been shipped by Shipping in Shipping UOM. 可选
SHIPPING_QUANTITY_UOM      : The UOM for Shipping Quantity      可选
SHIPPED_QUANTITY           : Shipped quantity                   可选
CANCELLED_QUANTITY        
FULFILLED_QUANTITY         : The fulfilled quantity for the line可选
PRICING_QUANTITY           : Pricing quantity                   可选
PRICING_QUANTITY_UOM       : Pricing quantity uom               可选
example:
insert into OE_LINES_IFACE_ALL
      ( ORDER_SOURCE_ID ,
       ORIG_SYS_DOCUMENT_REF,
       ORIG_SYS_LINE_REF ,
       ORIG_SYS_SHIPMENT_REF ,
       org_id   ,
       line_number
       ,line_type_id ,
       item_type_code ,
       INVENTORY_ITEM_ID  ,
       source_type_code  ,
       price_list_id ,
       sold_to_org_id   ,
       sold_from_org_id  ,
       ship_to_org_id
       ,ship_from_org_id   ,
       operation_code  ,
       ORDERED_QUANTITY ,
       ORDER_QUANTITY_UOM  ,
       CREATED_BY  ,CREATION_DATE  ,LAST_UPDATED_BY  ,LAST_UPDATE_DATE   ,LAST_UPDATE_LOGIN  )
       values 
       (l_line_tbl(j).order_source_id,
        l_line_tbl(j).orig_sys_document_ref,
        l_line_tbl(j).orig_sys_line_ref ,
        l_line_tbl(j).orig_sys_shipment_ref
        ,l_line_tbl(j).org_id, 
        l_line_tbl(j).line_number,
        l_line_tbl(j).line_type_id,
        l_line_tbl(j).item_type_code, 
        p_new_item,
         l_line_tbl(j).source_type_code ,
         l_line_tbl(j).price_list_id,
         l_line_tbl(j).sold_to_org_id,
         l_line_tbl(j).sold_from_org_id,
         l_line_tbl(j).ship_to_org_id,
         l_line_tbl(j).ship_from_org_id ,
         p_operation_code,
         l_line_tbl(j).ordered_quantity ,
         l_line_tbl(j).order_quantity_uom,
        l_line_tbl(j).Created_By ,   l_line_tbl(j).creation_date   ,fnd_global.USER_ID   ,sysdate  ,fnd_global.user_id
         );
c)OE_PRICE_ADJS_IFACE_ALL
d)导入接口的API: OE_ORDER_PUB
  常用过程:
(1)OE_ORDER_PUB.Process_Order:提供创建,修改,删除订单实体的操作,该方法通过记录集或者外部的请求,同样适用于对订单的其他操作,
(2)OE_ORDER_PUB.Get_Order    :返回单个订单对象的所有记录
(3)OE_ORDER_PUB.Lock_Order   :锁定订单对象.
可以使用get_order 来获取记录可以调用lock_order锁定该记录

e)记录error信息
OE_PROCESSING_MSGS
OE_PROCESSING_MSGS_TL
f)销售订单要经历登记、发放、挑库、交货四个主要环节,有些表在各个环节都有不同的特性,
几个主要的常用的表,其它好象还有些货物路线、停靠之类的信息表没有深究,就不列罗

下面是销售订单的四个主要环节和每个环节用到的常用表:
一、创建及登记
订单创建涉及2张表:oe_order_headers_all,oe_order_lines_all,当订单头的状态为enter时,订单行中的item状态也为enter;
订单登记:行状态将有如下2个变化:item 行item的状态将改为"Awaiting Shipping",同时在计划发运日期中会填入相应日期
在订单登记后,数据将插入WSH_DELIVERY_DETAILS及WSH_DELIVERY_ASSIGNMENTS
1、oe_order_headers_all
--订单头信息表
2、oe_order_lines_all
--header_id=oe_order_headers_all.header_id
--订单行信息表
3、mtl_sales_orders
--segment1=oe_order_headers_all.order_number
--sales_order_id=mtl_material_transaction.transaction_source_id
--记录订单编号的信息表
4、wsh_delivery_details
--source_header_id=oe_order_headers_all.header_id
--source_line_id=oe_order_lines_all.line_id
--记录订单的物料的发运明细信息,该表的记录在此阶段状态为R(Ready to release)
5、wsh_delivery_assignments
--delivery_detail_id=wsh_delivery_details.delivery_detail_id
--连接wsh_delivery_details和wsh_new_deliveries的信息表
--此阶段连接wsh_delivery_details
二、发放
订单发放时,将为指定订单中的item保留库存,该过程中会往记录订单的交货信息表wsh_new_deliveries 中插入数据
并生成delivery_id 与指定订单对应,发放前,wsh_delivery_details状态为S(Released to Warehouse)发放后
阶段状态为Y(Staged),同时更新WSH_DELIVERY_ASSIGNMENTS表中的 delivery_id.
如果此时库存中需要被订货的item无货,则此单将为延交,等到该item的库存量满足后将重新发放订单
发放后,行中item的状态为picked(挑库)
1、wsh_delivery_details
--该表的记录在此阶段状态为S(Released to Warehouse)
2、wsh_new_deliveries 
--source_header_id=oe_order_headers_all.header_id
--记录订单的交货信息表,此阶段为OP(Delivery is Open, has not been shipped)
3、wsh_delivery_assignments
--delivery_id=wsh_new_deliveries.delivery_id
--连接wsh_delivery_details和wsh_new_deliveries的信息表
--此阶段连接wsh_new_deliveries
4、wsh_picking_batches
--order_header_id=oe_order_headers_all.header_id
--记录订单的发放的信息表
三、挑库
1、wsh_delivery_details
--该表的记录在此阶段状态为Y(Staged)。如果启用了序列号,记录会按单个序列号拆分
2、mtl_material_transactions
--transaction_source_id=mtl_sales_orders.sales_order_id
--trx_source_line_id=oe_order_lines_all.line_id
--记录“销售订单挑库”阶段物料的存放位置发生变化的信息
3、mtl_onhand_quantities
--记录物料的现有数量信息表
4、mtl_transaction_lot_numbers
--transaction_id=mtl_material_transactions.transaction_id
--lot_number=mtl_onhand_quantities.lot_number
--记录物料的存放位置发生变化的所产生的批次信息表
5、mtl_serial_numbers
--last_txn_source_id=mtl_material_transactions.transaction_source_id
--记录物料序列号的当前状态的信息表
四、交货
当完成发放后,wsh_delivery_details状态将为C订单行状态中的item会发运
如果我们按特殊要求的数量发运,系统将会把OE_ORDER_LINES_ALL 拆分,并且发运的数量为shipped,其余的数量为等待
当完成发运后,系统将在后台运行workflow进程,一旦进程结束,订单行状态将为close
一旦订单行状态为close,将会运行开票程序,可以运行AR模块中自动开票程序创建开票
1、wsh_delivery_details
--该表的记录在此阶段状态为C(Shipped)
2、wsh_new_deliveries
--该表的记录在此阶段为CL(Delivery has arrived at the destination)
3、mtl_material_transactions
--记录“销售订单发放”阶段物料的存放位置发生变化的信息
--如果启用了序列号,记录会按单个序列号拆分
在后台完成workflow后,数据将导入RA的接口表
RA_INTERFACE_LINES_ALL
RA_INTERFACE_SALESCREDITS_ALL
当数据导入后,运行自动开票,数据将导入以下各表
RA_CUSTOMER_TRX
RA_CUSTOMER_TRX_LINES
AR_PAYMENT_SCHEDULES
(五)oracle OM在以下2层中支持开票进程
1.订单头层级的开票:即将整个订单数据倒入结果,或返还AR
2.订单行层级的开票:即将订单行中的数据倒入结果,或返还AR
(六)自动开票
Navigation: Interface-> Run Autoinvoice
Program : Autoinvoice Master Program

Interface Table: RA_INTERFACE_LINES_ALL
Error Table: RA_INTERFACE_ERRORS_ALL
Base Tables: RA_BATCHES_ALL 
             RA_CUSTOMER_TRX_ALL
             RA_CUSTOMER_TRX_LINES_ALL 

OE_ORDER_HEADERS_ALL.ORDER_NUMBER =RA_CUSTOMER_TRX_ALL.INTERFACE_HEADER_ATTRIBUTE1
下面所列举的是通过自动开票将OM中的相关引用传递到AR的字段

Number Name Column
1 Order Number INTERFACE_LINE_ATTRIBUTE1
2 Order Type INTERFACE_LINE_ATTRIBUTE2
3 Delivery INTERFACE_LINE_ATTRIBUTE3
4 Waybill INTERFACE_LINE_ATTRIBUTE4
5 Count INTERFACE_LINE_ATTRIBUTE5
6 Line ID INTERFACE_LINE_ATTRIBUTE6
7 Picking Line ID INTERFACE_LINE_ATTRIBUTE7
8 Bill of Lading INTERFACE_LINE_ATTRIBUTE8
9 Customer Item Part INTERFACE_LINE_ATTRIBUTE9
10 Warehouse INTERFACE_LINE_ATTRIBUTE10
11 Price Adjustment ID INTERFACE_LINE_ATTRIBUTE11
12 Shipment Number INTERFACE_LINE_ATTRIBUTE12
13 Option Number INTERFACE_LINE_ATTRIBUTE13
14 Service Number INTERFACE_LINE_ATTRIBUTE14

发票分组规则(Invoice Grouping Rules )
Menu: Navigation > Setup > Transactions > Autoinvoice > Grouping Rule 
Autoinvoice uses grouping rules to group lines to create one transaction.