(一) 生产BOM 相关
先介绍与生产BOM 查询有关的函数,而查询主要分为正查和反查,正查BOM 是模拟事务
代码CS12 那样的多层展开,而反查BOM 则是模拟CS15。
1 正查BOM
函数:CS_BOM_EXPL_MAT_V2
功能:BOM 展开
关键参数说明:
IMPORT:
CAPID : Application ID(BOM 应用程序)
DATUV : Validity date(有效开始日)
EMENG : Required quantity(需求数量)
MEHRS : Multi-level explosion(X:BOM 多层展开;空:单层展开)
MTNRV : Material(物料专用号)
STLAN : BOM usage (BOM 用途)
STLAL : Alternative BOM(BOM 可选)
WERKS : Plant(工厂)
TOPMAT:
抬头明细
STB:
BOM 子件行项目明细,包含子件编码、子件描述、子件物料类型、需求数量等
MATCAT:
BOM 下挂E 类型且带子件的半成品明细。
另一个函数“CS_BOM_EXPLOSION_MAT”,其功能及关键参数与上面介绍的函数
CS_BOM_EXPL_MAT_V2 差不多,在此就不展开介绍了。
2 反查BOM
函数:CS_WHERE_USED_MAT
功能:单层反查物料BOM
关键参数说明:
IMPORT:
DATUB : Date 'valid to'(有效日期至)
DATUV : Date 'valid from'(有效日期从)
MATNR : Material(物料专用号)
STLAN : BOM usage(BOM 用途)
WERKS : Plant(工厂)
TOPMAT:
抬头明细表
WULTB:
反查出的子件上层物料明细,包含上层编码、上层编码描述、上层需求数量(默认是BOM
抬头基本数量)、子件需求数量等。
MATCAT:
反查出的子件上层物料明细(按物料号汇总后的结果)
3 BOM 删除
函数:CSAP_MAT_BOM_DELETE
功能:物料BOM 删除
关键参数说明:
IMPORT:
MATERIAL : Material(物料)
PLANT :Plant(工厂)
BOM_USAGE :BOM Usage(BOM 用途)
ALTERNATIVE :Alternative BOM(BOM 可选)
VALID_FROM :Valid-from date(有效起始日期)
CHANGE_NO :Change number(BOM 更改号)
注:上述函数功能强大,在没有启用ECM 的情况下,需要慎用,在进行调用开发时,建议
至少将MATERIAL、PLANT、BOM_USAGE、ALTERNATIVE 这四个字段对应的输入项设
置成必填。
(二) 生产订单相关
本小节将挑选三个具有代表性的BAPI 进行简要介绍,希望对读者起到抛砖引玉的作用。
4 生产订单查询
BAPI: BAPI_PRODORD_GET_LIST
功能:生产订单抬头信息查询
关键参数说明:
输入TABLE: ORDER_NUMBER_RANGE
SIGN:范围包含标识符,I(包含范围),E(排除范围)
OPTION:操作运算符
EQ:等于
NE:不等
GT:大于
GE:大于等于
LE:小于等于
LT:小于
BT:在…之间
NB:不在…之间
CP:包含
NP:不包含
LOW:下阶生产订单号
HIGH:上阶生产订单号
其他输入TABLE不做介绍,按实际查询需求选择输入TABLE即可。
输出TABLE:ORDER_HEADER
订单抬头信息基本都在此表中进行存放了,如:生产订单日期、生产版本、生产订单
状态等都在此输出表可获取到,科按实际业务需求挑选相关的字段应用即可,本文不再做详
细介绍。
5 生产订单创建
BAPI:BAPI_PRODORD_CREATE
功能:生产订单创建
关键参数说明:
Import:在结构ORDERDATA 中进行参数的输入
ORDER_NUMBER:生产订单号(可输入自定义的订单号,前提是配置订单编号为外部
输入;若订单号自动生成,则此参数为空即可)
MATERIAL:物料号
PLANT:工厂
PLANNING_PLANT:计划工厂
ORDER_TYPE:生产订单类型
BASIC_START_DATE:基本开始日期
BASIC_START_TIME:基本开始时间
BASIC_END_DATE:基本结束日期
BASIC_END_TIME:基本结束时间
QUANTITY:需求数量
PROD_VERSION:生产版本
SALES_ORDER:销售订单号
SALES_ORDER_IT:销售订单行项目
其他参数略
补充:当调试BAPI 的时候,需要增加COMMIT 操作,这样才能真正使BAPI 在系统中
创建数据。
SE37:
1. 输入Function Module:BAPI_PRODORD_CREATE
2. 指定Test Sequence
按正常的步骤测试后,在BAPI_TRANSACTION_COMMIT 执行界面下对WAIT 字段赋予
X 值,即可完成数据的创建。
6 生产订单修改
BAPI:API_PRODORD_CHANGE
功能:生产订单修改
关键参数说明:
Import:
NUMBER:生产订单号
ORDERDATA:需要更改的订单抬头信息结构,有多个字段值可以填写
BASIC_START_DATE:基本开始日期
BASIC_END_DATE:基本结束日期
QUANTITY:数量
PROD_VERSION:生产版本
其他略……
ORDERDATAX:确认ORDERDATA 中要更新的字段
BASIC_START_DATE:X 或空,如果选X 则表示需要更新基本开始日期为
ORDERDATA- BASIC_START_DATE 的值
其他略……
Export:
RETURN:返回值信息
注:在生产订单更改的BAPI 中增加了更新控制机制。此机制原则:并不是在ORDERDATA
中的字段输入值就可以更新生产订单信息,而必须在ORDERDATAX 中相对应的字段值输
入X 后,生产订单相对应的字段才真正地被更新。
(三) 计划独立需求相关
BAPI_REQUIREMENTS_CREATE:创建独立计划需求
计划独立需求(Planning Independent Requirements)是需求的一种体现形式,属于PP 的需求管
理的范畴,本段讲解PIR 的查询、创建、修改等。
7 计划独立需求查询
BAPI:BAPI_REQUIREMENTS_GETDETAIL
功能:显示计划独立需求细节
关键参数说明:
Import
MATERIAL:物料专用号
PLANT:工厂
REQUIREMENTSTYPE:需求类型
VERSION:需求版本(可以用需求版本来区分不同的业务需求)
REQMTSPLANNUMBER:需求计划号(唯一区分一个PIR 抬头)
MRP_AREA:MRP 区域
TABLE:REQUIREMENTS_OUT
此表按输入的MRP 区域、需求版本、需求类型、需求计划号等而输出一条PIR 抬头信息
所对应的所有的行项目。输出字段有:需求日期、需求数量、是否激活等。
注:唯一确定一条PIR 抬头信息的主键应为:物料专用号+MRP 范围+需求版本+需求类
型+需求计划号。PIR 可以存在多个抬头信息,但每个抬头之间是不能重复的。
8 计划独立需求创建
BAPI:BAPI_REQUIREMENTS_CREATE
功能:计划独立需求创建
关键参数介绍:
Import:在结构REQUIREMENTS_ITEM 中进行PIR 抬头参数的输入
MATERIAL:物料专用号
PLANT:工厂
REQU_TYPE:需求类型
VERSION:需求版本
VERS_ACTIV:版本是否激活(X:表示版本激活,空:表示版本不激活)
REQ_NUMBER:需求计划号
MRP_AREA:MRP 范围
输入TABLE:在表REQUIREMENTS_SCHEDULE_IN 中输入行项目信息
DATE_TYPE:日期类型(常用的日期类型值包括“1:日格式,2:周格式,3:月格式
“)
REQ_DATE:需求日期(输入的格式与用户维护的日期格式相关,本文作者使用的日期
格式为YYYY.MM.DD。不管DATE_TYPE 输入的是何种类型值,需求日期字段均按日期格
式进行输入,系统存入底表时会自动地解析成相对应的日格式或周格式或月格式)。
REQ_QTY:需求数量
UNIT:计量单位(若不填写按默认单位创建)
BOMEXPL:BOM 展开号
PROD_VES:生产版本
注:
① 如果要在已经存在的抬头下创建新的行项目时不能调用
BAPI_REQUIREMENTS_CREATE 这个BAPI,因为抬头已经存在,所以再创建相同的抬头
就会报错,此时应调用BAPI_REQUIREMENTS_CHANGE 这个BAPI 进行修改行项目。
②判断物料是否存在某PIR 抬头的方法:
工厂级区域:到表PBIM 中进行判断
MRP 区域级:到表PBID 中进行判断
9 计划独立需求修改
BAPI:BAPI_REQUIREMENTS_CHANGE
功能:计划独立需求修改
关键参数介绍:
Import:
MATERIAL:物料号
PLANT:工厂
REQUIREMENTSTYPE:需求类型
VERSION:需求版本
REQMTSPLANNUMBER:需求计划号
VERS_ACTIV:版本是否激活
MRP_AREA:MRP 区域
输入TABLE:在REQUIREMENTS_SCHEDULE_IN 中进行行项目的输入
DATE_TYPE:日期类型
REQ_DATE:需求日期
REQ_QTY:需求数量
UNIT:计量单位
BOMEXPL:BOM 展开号
PROD_VES:生产版本
注: 系统以抬头信息为主键, 以行项目为索引进行更改; 在
REQUIREMENTS_SCHEDULE_IN 中若存在相同日期的需求,则更新为新的条目信息;若
无相同日期的需求,则新增为新的条目信息。
(四) 计划订单相关
10 计划订单查询
BAPI:BAPI_PLANNEDORDER_GET_DETAIL
功能:计划订单查询
关键参数介绍:
Import:
PLANNEDORDER:计划订单号
输出参数:
RETURN 结构:此结构输出了BAPI 执行的状态;
HEADERDATA 结构:计划订单抬头信息
输出表:
COMPONENTSDATA 表:顾名思义,此表中存放的是计划订单组件信息。
11 计划订单创建
BAPI:BAPI_PLANNEDORDER_CREATE
功能:计划订单创建
关键参数介绍:
Import:结构HEADERDATA,计划订单创建的抬头信息
PLANNEDORDER_NUM:计划订单号(非外部订单号留空即可)
PLDORD_PROFILE:计划参数文件
MATERIAL:物料
PLAN_PLANT:计划工厂
PROD_PLANT:生产工厂
TOTAL_PLORD_QTY:需求数量
ORDER_START_DATE:基本开始日期
ORDER_FIN_DATE:基本结束日期
VERSION:生产版本
MRP_AREA:MRP 范围
FIRMING_IND:计划订单的确定标示(X:标示固定计划订单标示;空:表示计划订单
不固定)
输出参数:
RETURN:此表存放了BAPI 执行状态;
PLANNEDORDER:BAPI 执行成功时创建的计划订单号;
CREATEDHEADERDATA:计划订单抬头信息
输出表:
CREATEDCOMPONENTSDATA:计划订单组件信息
12 计划订单修改
BAPI:BAPI_PLANNEDORDER_CHANGE
功能:计划订单修改
关键参数介绍:
Import:
PLANNEDORDER:计划订单号
HEADERDATA 结构:
PROD_PLANT:生产工厂
TOTAL_PLORD_QTY:需求数量
VERSION:生产版本等
其他略…
HEADERDATAX 结构:
确认HEADERDATA 结构中要更新的字段,此结构中的字段要与HEADERDATA 输入
的要更改的字段一一对应。
输出表:
COMPONENTSDATA:计划订单组件
(五) 库存/需求清单相关
13 库存/需求清单查询
函数:MD_STOCK_REQUIREMENTS_LIST_API
功能:此函数功能可取出MD04 查询出的所有MRP 元素记录。强大的功能,特别推荐~~~
关键参数介绍:
Import:
MATNR:物料专用号
WERKS:工厂
BERID: MRP 范围
ERGBZ:选择规则(此值在 “定义选择规则”中定义)
AFIBZ:过滤器的名称(此值在“定义显示过滤器”中定义)
输出参数:
E_MT61D:物料MRP 主记录表(包括:物料描述、物料类型、基本计量单位、MRP 类型等)
输出表:
MDPSX(MRP 凭证中的项目表,存放的是凭证的相关信息,数据与MDEZX 中数据是按顺
序是一条条对应的)
DELNR:相关需求号
DEL12:MRP 元素号(如果是生产订单预留,则显示为上层需求生产订单号)
其他字段略……
MDEZX(MRP 要素的行项目表,按MRP 元素行项目进行数据存放)
DELB0:MRP 元素的缩写(如:OrdRes、PlnOrd、PrdOrd 等)
其他字段略……
MD04数据查询的BAPI:
BAPI_MATERIAL_STOCK_REQ_LIST