搜档网
当前位置:搜档网 › Oracle-ERP11i表结构、API接口笔记

Oracle-ERP11i表结构、API接口笔记

Oracle-ERP11i表结构、API接口笔记
Oracle-ERP11i表结构、API接口笔记

Oracle-ERP11i(OPM)

—表结构、API接口笔记

Author:Jarwang(王重东)

Create Date:July5th,2008

Update Date:

Control No:

Current Edition: 1.0

声明:本文可以任意免费转载、复制、传播。但您务必保持其完整性!If you copy this document,you ought to keep the document completely.

Document Control

Modify Record

Date Author Version Modified reference

July5th,2008jarwang 1.0

Approved

Name Position signature

Distribute

Num Name Location&Position

1

2

3

4

Index

Document Control2

Modify Record2

Approved2

Index3

Preface5

Application Developer6

Lookups6

Data Table6

E-R Diagram6

Frequently-Used SQL6

OPM Process Execution8

Formula8

Data Table8

E-R Diagram8

Recipe8

Data Table8

E-R Diagram9

Production Document9

Data Table9

E-R Diagram10

Frequently-Used SQL10

Frequently-Used API10

Create Batches API10 OPM Inventory15

Item Master15

Data Table15

E-R Diagram15 Purchase Order16

Requisition16

Data Table16

E-R Diagram16

Purchase Document16

Data Table16

E-R Diagram17

Receiving17

Data Table17

E-R Diagram18

Position Hierarchy18

Data Table18

E-R Diagram19 Order Management20

Sales Orders20

Data Table20

E-R Diagram20

Deliver20

Data Table20

E-R Diagram21

Frequently-Used API21

Create Sales Order API22

Query Profit Center26

Data Table27 E-R Diagram28

General Legder30

Journals30 Data Table30 E-R Diagram30

Account Receivable32

Customer32 Data Table32 E-R Diagram32 Transaction33 Data Table33 E-R Diagram34 Receipts34 Data Table34 E-R Diagram35 Frequently-Used API35 Create AR Invoices API35 Create AR Receipts API35 Apply AR Receipts API37 Accounts Payable39 Supplier39 Data Table39 E-R Diagram39 Invoices39 Data Table39 E-R Diagram40 Payment40 Data Table40 E-R Diagram41 Frequently-Used SQL41 Query Vendor Liability41 Query Unpaid Prepayment42 Query UnApplied Prepayment42 Frequently-Used API45 Create AP Invoice API45 Other Notes46

Preface

Oracle ERP本身异常庞大,因此Oracle ERP的表结构也异常庞大。使用下述语句,可以得到Oracle ERP的表数量有1W多(此方法不精确,但也可以说明表的庞大)。

select count(*)from dba_tables dt where dt.tablespace_name='APPS_TS_TX_DATA'

另外,EBS大多数表都没有Primary Key,Foregin Key,并且大多数表都会有100多列。熟悉EBS全部的表结构有点不太可能,事实上要画出Oracle ERP完整E-R图几乎不可能。对于常用模块的表结构还是得掌握的,否则不熟悉表结构,对Oracle ERP进行二次开发,就无异于难上加难。

本文是基于Oracle EBS11.5.10.2。

参考文档:https://www.sodocs.net/doc/1011466555.html,/pls/etrm/etrm_search.search

https://www.sodocs.net/doc/1011466555.html,/technology/documentation/applications.html

Application Developer

Lookups

Data Table

EBS中所谓Lookups主要是指提供给LOV组件作为数据源。例如:AP发票的Invoice Type。主要

涉及二张表:APPLSYS.FND_LOOKUP_TYPES和APPLSYS.FND_LOOKUP_VALUES,由于EBS

的多语言,所以还有一张多语言表APPLSYS.FND_LOOKUP_TYPES_TL。

另外Lookups定义时分为系统级、用户级、可扩展级。对于系统级Lookups是不允许修改的。

NO.TableName Description Note

1APPLSYS.FND_LOOKUP_TYPES查找代码题头表

2APPLSYS.FND_LOOKUP_VALUES查找代码行明细表

3APPLSYS.FND_LOOKUP_TYPES_TL查找代码多语言表

E-R Diagram

Lookups关联E-R图

Frequently-Used SQL

根据类别查找Lookup的值

select FLV.LOOKUP_CODE,FLV.MEANING,FLV.DESCRIPTION

from APPLSYS.FND_LOOKUP_VALUES flv

where flv.lookup_type='VENDOR TYPE'--查找代码类别

and language=userenv('LANG');

OPM Process Execution

Formula

Data Table

配方关联表:

NO.TableName Description Note

1GMD.FM_FORM_MST_B配方题头表Formula_NO与GMI.IC_ITEM_MST_B的

ITEM_NO实现弱关联。

2GMD.FM_FORM_MST_TL配方题头多语言表

3GMD.FM_MATL_DTL配方行明细包括配料、副产品、产品的定义

E-R Diagram

配方关联E-R图

Recipe

Data Table

处方关联表:

NO.TableName Description Note

1GMD.GMD_RECIPES_TL处方题头多语言表

2GMD.GMD_RECIPES_B处方题头表

3GMD.GMD_RECIPE_ROUTING_STEPS处方步骤数量表

4GMD.GMD_RECIPE_PROCESS_LOSS处方组织表

5GMD.GMD_RECIPE_VALIDITY_RULES处方有效性规则表不同工厂的处方生产规则。通过有

效性规则来创建工单。

E-R Diagram

处方关联E-R图

Production Document

Data Table

1.生产工单创建的业务过程:

n要加工什么?这涉及到车间任务的来源。)

n怎样加工?(用到处方,包括配方和工艺路线)

ü工艺路线:工艺路线定义了生产该产品所采用的方法或步骤。工艺路线由工序步骤组

成。

ü工序:工序是一条工艺路线的一道工序步骤。工序步骤由活动组成。

ü活动:活动就是一道工序步骤中所做的各种动作活动。

ü资源:资源指的是对应活动所使用的生产设备以及相关设备所耗用的各种费用构成(例

如水、电、汽、人工等)。

n怎样控制加工过程?(物料控制、资源控制、步骤控制)

2.生产工单关联的表(常用):

NO.TableName Note

1GME.GME_BATCH_HEADER生产工单表

2GME.GME_MATERIAL_DETAILS生产工单物料明细表

3GME.GME_BATCH_STEPS生产工单批步骤表

4GME.GME_BATCH_STEP_ACTIVITIES生产工单批活动表

5GME.GME_BATCH_STEP_RESOURCES生产工单批资源表

E-R Diagram

生产工单关联E-R图

Frequently-Used SQL

PE模块常用SQL语句

Frequently-Used API

PE常用的API接口

Create Batches API

通过处方的有效性规则来创建生产工单。

创建生产工单

declare

l_api_version CONSTANT NUMBER:=gme_api_pub.api_version;

l_validation_level NUMBER:=gme_api_pub.max_errors;

l_init_msg_list BOOLEAN:=FALSE;

l_commit BOOLEAN:=FALSE;

x_message_count NUMBER;

x_message_list V ARCHAR2(100);

x_return_status V ARCHAR2(2);

l_msg_index_out NUMBER;

--生产工单

l_batch_header gme_batch_header%ROWTYPE;

--返回生产工单

x_batch_header gme_batch_header%ROWTYPE;

--工单数量

l_batch_size NUMBER:=10;

--单位

l_batch_size_uom V ARCHAR2(10):='箱';

--工单创建模式:RECIPE、PRODUCT、TOTAL_OUTPUT、TOTAL_INPUT

l_creation_mode V ARCHAR2(50):='PRODUCT';

--当工单超过能力计划时,是否仍要创建工单

l_ignore_qty_below_cap BOOLEAN:=TRUE;

--当然为TRUE时,不返回未分配的物料

l_ignore_shortages BOOLEAN:=FAlSE;

x_unallocated_material gme_api_pub.unallocated_materials_tab;

p_orgn_code varchar2(10);

p_recipe_validity_rule_id number;

begin

DBMS_OUTPUT.ENABLE(1000000);

APPS.FND_GLOBAL.apps_initialize

(

user_id=>1115,--ERP用户的ID

resp_id=>APPS.FND_GLOBAL.resp_id,

resp_appl_id=>APPS.FND_GLOBAL.resp_appl_id

);

--工厂

select https://www.sodocs.net/doc/1011466555.html,n_code

into p_orgn_code

where https://www.sodocs.net/doc/1011466555.html,er_id=https://www.sodocs.net/doc/1011466555.html,er_id

and https://www.sodocs.net/doc/1011466555.html,er_name='FELIX'--用户名

and https://www.sodocs.net/doc/1011466555.html,n_code='F001';--制造厂

l_batch_header.plant_code:=p_orgn_code;

--工单类型:0批、1l固定计划单

l_batch_header.batch_type:=0;

--工单计划日期

l_batch_header.plan_start_date:=sysdate+1;

--工单完工日期

l_batch_header.plan_cmplt_date:=sysdate+2;

--工单必须完工日期

l_batch_header.due_date:=sysdate+2;

--处方的有效规则

select grvr.recipe_validity_rule_id

into p_recipe_validity_rule_id

from GMD_RECIPE_V ALIDITY_RULES grvr

where grvr.recipe_id in

(select gr.RECIPE_ID

from gmd_recipes gr

where gr.RECIPE_NO='2101001001'and gr.RECIPE_STATUS=700)--已审批

and rownum=1;--如果有多个有效性规则,则要选择一个

l_batch_header.recipe_validity_rule_id:=p_recipe_validity_rule_id;

--创建生产工单

gme_api_pub.create_batch(--standard input parameters

p_api_version=>l_api_version

,p_validation_level=>l_validation_level

,p_init_msg_list=>l_init_msg_list

,p_commit=>l_commit

--stand output parameters

,x_message_count=>x_message_count

,x_message_list=>x_message_list

,x_return_status=>x_return_status

--Batch parameters

,p_batch_header=>l_batch_header

,x_batch_header=>x_batch_header

,p_batch_size=>l_batch_size

,p_batch_size_uom=>l_batch_size_uom

,p_creation_mode=>l_creation_mode

,p_ignore_shortages=>l_ignore_shortages

,x_unallocated_material=>x_unallocated_material);

--创建是否成功

dbms_output.put_line('x_return_status:'||x_return_status);

IF x_return_status<>FND_API.g_ret_sts_success THEN

--输出错误提示信息

if X_message_count>0then

apps.FND_MSG_PUB.Get(p_msg_index=>apps.FND_MSG_PUB.G_LAST,

p_data=>X_message_list,

p_encoded=>apps.FND_API.G_FALSE,

p_msg_index_out=>l_msg_index_out);

dbms_output.put_line('工单创建失败:'||X_message_list);

end if;

ROLLBACK;

ELSE

DBMS_OUTPUT.PUT_LINE('A new batch'||x_batch_header.batch_no||'has been created');

IF x_unallocated_material.count>0THEN

DBMS_OUTPUT.PUT_LINE('Items failing auto allocation:');

FOR i IN1..x_unallocated_material.COUNT LOOP

DBMS_OUTPUT.PUT_LINE('Line Type:'||x_unallocated_material(i).line_type||'Line No:'||x_unallocated_material(i).line_no||

'Item:'||x_unallocated_material(i).item_no||'

Allocated:'||x_unallocated_material(i).alloc_qty||

'Unalloc:'||x_unallocated_material(i).unalloc_qty||' UOM:'||x_unallocated_material(i).alloc_uom);

END LOOP;

END IF;

END IF;

EXCEPTION

WHEN OTHERS THEN

x_return_status:=FND_API.g_ret_sts_unexp_error;

x_message_count:=1;

x_message_list:=SQLERRM;

dbms_output.put_line('Have Error'||TO_CHAR(SQLCODE)||':'||SQLERRM);

END;

OPM Inventory

Item Master

Data Table

物料定义表:如果启用了OPM,就会有两个界面定义物料编码。从OPM界面录入或修改的物料,

会自动同步离散的物料定义表中。反之,就不可以啦。

NO.TableName Description Note

1GMI.IC_ITEM_MST_TL OPM物料编码多语言表一般使用IC_ITEM_MST_VL视图。

2GMI.IC_ITEM_MST_B OPM物料编码表

3GMI_ITEM_CATEGORIES OPM物料类别表

4INV.MTL_SYSTEM_ITEMS_TL离散物料编码多语言表

5INV.MTL_SYSTEM_ITEMS_B离散物料编码表如果ITEM有分配多个库存组织,

inventory_item_id会保持一致。

E-R Diagram

物料定义关联E-R图

提示:Item_id与inventory_item_id并不会相同,两都关联只能通过ITEM_NO来实现。

Purchase Order

Requisition

Data Table

请购订单

NO.TableName Description Note

1PO.PO_REQUISITION_HEADERS_ALL请购单题头表

2PO.PO_REQUISITION_LINES_ALL请购单行表

3PO.PO_REQ_DISTRIBUTIONS_ALL请购单分配表

E-R Diagram

请购订单关联E-R图

Purchase Document

Data Table

采购订单

NO.TableName Description Note

1PO.PO_HEADERS_ALL采购订单题头表

2PO.PO_LINES_ALL采购订单行明细表

3PO.PO_LINE_LOCATIONS_ALL采购订单的发运表PO科目的计算单价

Price_override

4PO.PO_DISTRIBUTIONS_ALL采购订单的分配表

5PO.PO_RELEASES_ALL订划订单或一揽子订单表只有为计划或一揽子订

单时,才会更新此表

E-R Diagram

采购订单关联E-R图

Receiving

Data Table

接收有三种方式:直接交货、标准接收、检验接收。

NO.TableName Description Note

1PO.RCV_TRANSACTIONS接收、接受、交货

事务表inspection_status_code 会记录当前的接收方式

2PO.RCV_SHIPMENT_HEADERS接收货物头表

4PO.RCV_SUPPLY已接收,但尚未接

受或检验的PO表

5PO.RCV_ACCOUNTING_EVENTS接收科目事件表

6PO.RCV_RECEIVING_SUB_LEDGER接收会计科目表

E-R Diagram

接收关联E-R图

Position Hierarchy

Data Table

PO层次结构相关的表:员工、职务、职位、职位层次、审批组、职位审批组分配。

NO.TableName Description Note

1HR.PER_ALL_PEOPLE_F HR员工定义表

2HR.PER_ALL_ASSIGNMENTS_F HR员工职位分配表

3HR.PER_ALL_POSITIONS HR职位定义表

4HR.PER_JOBS HR职务定义表PER_JOBS_TL多语言

5HR.PER_POSITION_STRUCTURES职位层级题头表

6HR.PER_POS_STRUCTURE_VERSIONS职位层级版本表

7HR.PER_POS_STRUCTURE_ELEMENTS职位层级关系表定义职位的上下级关系

E-R Diagram

PO层次结构关联E-R图

Order Management

Sales Orders

Data Table

销售订单

NO.TableName Description Note

1ONT.OE_ORDER_HEADERS_ALL订单题头表

2ONT.OE_ORDER_LINES_ALL订单行明细表

3ONT.OE_ORDER_HOLDS_ALL订单暂挂表信用额度超出,被暂

挂。

4ONT.OE_TRANSACTION_TYPES_ALL订单类型表

E-R Diagram

销售订单关联E-R图

Deliver

Data Table

OM挑库表

NO.TableName Description Note

1WSH.WSH_DELIVERY_DETAILS订单出库明细表BOOK时写入订单数据。挑

库发放时写回物料搬运单

号(batch_id)。

订单行允许分解。

2WSH.WSH_DELIVERY_ASSIGNMENTS订单出库分配表BOOK时写入订单数据。挑

库发放时写回交货单号

(Delivery_id)。

3WSH.WSH_NEW_DELIVERIES订单交货表挑库发放后写入数据。

4WSH.WSH_DELIVERY_LEGS交货行程关联表发运确认后写入数据,关

联交货表、行程表。

5WSH.WSH_TRIPS行程表

6WSH.WSH_TRIP_STOPS行程停靠表

E-R Diagram

OM挑库关联E-R图

Frequently-Used API

OM常用的API接口

Create Sales Order API

创建销售订单

declare

--订单头

l_header_rec apps.oe_order_pub.header_rec_type:=

OE_ORDER_PUB.G_MISS_HEADER_REC;

--订单行

l_line_tbl apps.oe_order_pub.line_tbl_type:=OE_ORDER_PUB.G_MISS_LINE_TBL;

p_action_request_tbl apps.oe_order_pub.request_tbl_type:=

apps.oe_order_pub.g_miss_request_tbl;

l_action_request_tbl apps.oe_order_pub.request_tbl_type:=

apps.oe_order_pub.g_miss_request_tbl;

x_return_status VARCHAR2(30);

x_msg_count NUMBER;

x_msg_data VARCHAR2(2000);

x_debug_file VARCHAR2(100);

l_msg_data VARCHAR2(1000);

l_msg_index_out NUMBER;

l_header_val_rec apps.oe_order_pub.header_val_rec_type;--:=

OE_ORDER_PUB.G_MISS_HEADER_VAL_REC;

l_header_adj_tbl apps.oe_order_pub.header_adj_tbl_type;--:=

OE_ORDER_PUB.G_MISS_HEADER_ADJ_TBL;

l_header_adj_val_tbl apps.oe_order_pub.header_adj_val_tbl_type;--:=

OE_ORDER_PUB.G_MISS_HEADER_ADJ_VAL_TBL;

l_header_price_att_tbl apps.oe_order_pub.header_price_att_tbl_type;--:=

OE_ORDER_PUB.G_MISS_HEADER_PRICE_ATT_TBL;

l_header_adj_att_tbl apps.oe_order_pub.header_adj_att_tbl_type;--:=

OE_ORDER_PUB.G_MISS_HEADER_ADJ_ATT_TBL;

l_header_adj_assoc_tbl apps.oe_order_pub.header_adj_assoc_tbl_type;--:=

OE_ORDER_PUB.G_MISS_HEADER_ADJ_ASSOC_TBL;

l_header_scredit_tbl apps.oe_order_pub.header_scredit_tbl_type;--:=

OE_ORDER_PUB.G_MISS_HEADER_SCREDIT_TBL;

l_header_scredit_val_tbl apps.oe_order_pub.header_scredit_val_tbl_type;--:=

OE_ORDER_PUB.G_MISS_HEADER_SCREDIT_VAL_TBL;

l_line_val_tbl apps.oe_order_pub.line_val_tbl_type;--:=

OE_ORDER_PUB.G_MISS_LINE_VAL_TBL;

l_line_adj_tbl apps.oe_order_pub.line_adj_tbl_type;--:=

OE_ORDER_PUB.G_MISS_LINE_ADJ_TBL;

l_line_adj_val_tbl apps.oe_order_pub.line_adj_val_tbl_type;--:=

OE_ORDER_PUB.G_MISS_LINE_ADJ_VAL_TBL;

相关主题