浅谈PP模块常用函数、程序、增强

mac2025-04-07  13

(一) 生产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 后,生产订单相对应的字段才真正地被更新。(三) 计划独立需求相关 计划独立需求(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 等) 其他字段略……

最新回复(0)