上一个文章我们讲了如何使用BAPI创建物料主数据,
今天我们来学习一下PP模块的BAPI创建计划订单,BAPI_PLANNEDORDER_CREATE属于生产计划里面的。
对应的前台事务代码TCODE是:MD11 ,Create Planned order
感兴趣的朋友欢迎关注微信公众号hot583第一时间接收消息哦。
专注于SAP升级,运维,实施。苦海无边,回头是岸~
首先我们要知道参数BAPIPLAF_I1的内容:
字段 | 主键 | 数据元素 | 数据类型 | 长度 | 小数位 | 短文本 |
PLANNEDORDER_NUM | PLNUM | CHAR | 10 | 0 | 计划订单 | |
PLDORD_PROFILE | PASCH | CHAR | 4 | 0 | 计划订单参数文件 | |
PLNG_SCENARIO_LT | PLSCN | NUMC | 3 | 0 | 长期计划中的计划场景 | |
MATERIAL | MATNR18 | CHAR | 18 | 0 | 物料编号(18 个字符) | |
PLAN_PLANT | PLWRK | CHAR | 4 | 0 | 计划工厂 | |
PROD_PLANT | PWWRK | CHAR | 4 | 0 | 计划订单中的生产工厂 | |
TOTAL_PLORD_QTY | GSMNG | QUAN | 13 | 3 | 计划的订单总数量 | |
FIXED_SCRAP_QTY | AVMNG | QUAN | 13 | 3 | 计划报废数量 | |
ORDER_START_DATE | PSTTR | DATS | 8 | 0 | 计划订单开始日期 | |
ORDER_FIN_DATE | PEDTR | DATS | 8 | 0 | 计划订单结束日期 | |
PLAN_OPEN_DATE | PERTR | DATS | 8 | 0 | 计划订单中的计划期初日期 | |
GR_PROC_TIME | PLWEZ | DEC | 3 | 0 | 以天计的收货处理持续时间 | |
CONVERSION_IND | PLUMS | CHAR | 1 | 0 | 计划订单转换标识 | |
FIRMING_IND | PLAFX | CHAR | 1 | 0 | 计划订单数据的固定标识 | |
BOM_EXP_FIX_IND | PLSFX | CHAR | 1 | 0 | 物料清单展开的固定标识 | |
ACCTASSCAT | KNTTP | CHAR | 1 | 0 | 科目分配类别 | |
STGE_LOC | LGORT_D | CHAR | 4 | 0 | 库存地点 | |
BOMEXPL_NO | SERNR | CHAR | 8 | 0 | BOM展开号 | |
VERSION | VERID | CHAR | 4 | 0 | 生产版本 | |
BASE_UOM | MEINS | UNIT | 3 | 0 | 基本计量单位 | |
BASE_UOM_ISO | ISOCD_UNIT | CHAR | 3 | 0 | 计量单位的 ISO 代码 | |
MANUAL_COMPONENT | BAPCO | CHAR | 1 | 0 | 为BAPI调用处理标识符 | |
SALES_ORD | KDAUF | CHAR | 10 | 0 | 销售订单数 | |
S_ORD_ITEM | KDPOS | NUMC | 6 | 0 | 销售订单中的条款数 | |
INT_PROJECT_NUM | PS_POSNR | NUMC | 8 | 0 | WBS 要素 | |
AGREEMENT | KONNR | CHAR | 10 | 0 | 重要的采购协议号 | |
FIXED_VEND | FLIEF | CHAR | 10 | 0 | 固定供应商 | |
AGMT_ITEM | KTPNR | NUMC | 5 | 0 | 基本采购协议的项目编号 | |
PURCH_ORG | EKORG | CHAR | 4 | 0 | 采购组织 | |
DET_SCHEDULE | TERMX | CHAR | 1 | 0 | 引导时间计划(细节定单) | |
MATERIAL_EXTERNAL | MGV_MATERIAL | CHAR | 40 | 0 | MATERIAL 字段的长物料号 | |
MATERIAL_GUID | MGV_MATERIAL | CHAR | 32 | 0 | MATERIAL 字段的外部 GUID | |
MATERIAL_VERSION | MGV_MATERIAL | CHAR | 10 | 0 | MATERIAL 字段的版本编号 | |
USE_COLL_UPD | MD_COLL_UPD | CHAR | 1 | 0 | BAPI:计划文件条目的汇总更新 | |
LAST_ORDER | MD_LAST_ORD | CHAR | 1 | 0 | BAPI:标识符-汇总更新的最后计划订单 | |
MRP_AREA | BERID | CHAR | 10 | 0 | MRP 范围 | |
SUPPL_STLOC | RESLO | CHAR | 4 | 0 | 库存运输订单发货存储地点 | |
STOCK_SEGMENT | SGT_SCAT16 | CHAR | 16 | 0 | 库存细分 | |
MATERIAL_LONG | MATNR40 | CHAR | 40 | 0 | 物料编号 | |
STK_SEG_LONG | SGT_SCAT40 | CHAR | 40 | 0 | 库存细分 |
然后,这个bapi的导出参数如下:
参数名称 | 关联类型 | 值传递 | 说明 |
RETURN | BAPIRETURN1 | 是 | 返回参数,消息类型: S 成功,E 错误,W 警告,I 信息,A 中断
(关联类型见下文) |
PLANNEDORDER | BAPI_PLDORD-PLDORD_NUM | 是 | 计划订单号
BAPI_PLDORD:转换结构:BAPI 计划订单号码 (关联类型见下文) |
CREATEDHEADERDATA | BAPIPLAF_E1 | 是 | 抬头信息
BAPIPLAF_E1:传送结构:计划订单 (关联类型见下文) |
CAPACITYHEADERDATA1 | BAPI_KBKO | 是 | 详细计划
Capacity header data (detailed scheduling) BAPI_KBKO:转换结构:计划订单能力抬头 (关联类型见下文) |
CAPACITYHEADERDATA2 | BAPI_KBKO | 是 | 基于速率的计划
BAPI_KBKO:转换结构:计划订单能力抬头 Capacity header data (rate-based scheduling) (关联类型见下文) |
CAPACITYHEADERDATA3 | BAPI_KBKO | 是 | 粗略计划
BAPI_KBKO:转换结构:计划订单能力抬头 Capacity header data (rough-cut scheduling) (关联类型见下文) |
以上是相关参数和注意事项的介绍。
作者HOT583.com曾经也是SAP ABAP beginners ,开始学习DELPI,后面师从SAP,到处去找Tutorial for Constant。
需要自学很久,没人给咱免费培训。写个测试代码DEMO举例子。下面是代码。希望您喜欢~
DATA:
ld_return TYPE BAPIRETURN1 ,
ld_plannedorder TYPE BAPI_PLDORD-PLDORD_NUM ,
ld_createdheaderdata TYPE BAPIPLAF_E1 ,
ld_capacityheaderdata1 TYPE BAPI_KBKO ,
ld_capacityheaderdata2 TYPE BAPI_KBKO ,
ld_capacityheaderdata3 TYPE BAPI_KBKO ,
it_componentsdata TYPE STANDARD TABLE OF BAPI_PLDORDCOMP_I1,”TABLES PARAM
wa_componentsdata LIKE LINE OF it_componentsdata ,
it_createdcomponentsdata TYPE STANDARD TABLE OF BAPI_PLDORDCOMP_E1,”TABLES PARAM
wa_createdcomponentsdata LIKE LINE OF it_createdcomponentsdata ,
it_capacitydata1 TYPE STANDARD TABLE OF BAPI_PLDORDCAPA_E1,”TABLES PARAM
wa_capacitydata1 LIKE LINE OF it_capacitydata1 ,
it_capacitydata2 TYPE STANDARD TABLE OF BAPI_PLDORDCAPA_E1,”TABLES PARAM
wa_capacitydata2 LIKE LINE OF it_capacitydata2 ,
it_capacitydata3 TYPE STANDARD TABLE OF BAPI_PLDORDCAPA_E1,”TABLES PARAM
wa_capacitydata3 LIKE LINE OF it_capacitydata3 .
DATA(ld_headerdata) = ‘Check type of data required’.
“populate fields of struture and append to itab
append wa_componentsdata to it_componentsdata.
“populate fields of struture and append to itab
append wa_createdcomponentsdata to it_createdcomponentsdata.
“populate fields of struture and append to itab
append wa_capacitydata1 to it_capacitydata1.
“populate fields of struture and append to itab
append wa_capacitydata2 to it_capacitydata2.
“populate fields of struture and append to itab
append wa_capacitydata3 to it_capacitydata3.
CALL FUNCTION ‘BAPI_PLANNEDORDER_CREATE’
EXPORTING
headerdata = ld_headerdata
IMPORTING
return = ld_return
plannedorder = ld_plannedorder
createdheaderdata = ld_createdheaderdata
capacityheaderdata1 = ld_capacityheaderdata1
capacityheaderdata2 = ld_capacityheaderdata2
capacityheaderdata3 = ld_capacityheaderdata3
* TABLES
* componentsdata = it_componentsdata
* createdcomponentsdata = it_createdcomponentsdata
* capacitydata1 = it_capacitydata1
* capacitydata2 = it_capacitydata2
* capacitydata3 = it_capacitydata3
. ” BAPI_PLANNEDORDER_CREATE
IF SY-SUBRC EQ 0.
“All OK
ENDIF.
4.2.创建计划订单示例代码
代码说明 创建计划订单
注意事项
DATA ls_headerdata TYPE bapiplaf_i1.
DATA ls_return TYPE bapireturn1.
DATA ls_plannedorder TYPE bapi_pldord-pldord_num.
DATA lt_componentsdata TYPE STANDARD TABLE OF bapi_pldordcomp_i1 WITH HEADER LINE.
ls_headerdata-pldord_profile = ‘LA’.
ls_headerdata-material = l_tcpn. “‘K000128’.
ls_headerdata-plan_plant = gw_out-plwrk.
ls_headerdata-prod_plant = gw_out-plwrk.
ls_headerdata-order_start_date = gw_out-jhsj.
ls_headerdata-order_fin_date = gw_out-jhsj + 2.
ls_headerdata-total_plord_qty = gw_out-gamng.”dwyl.
“以下是需要复制BOM时需要选择的参数(组件直接从BOM复制,不需要增加组件)
if l_copy = ‘X’.
ls_headerdata-conversion_ind = ‘X’.
ls_headerdata-firming_ind = ‘X’.
ls_headerdata-bom_exp_fix_ind = ‘X’.
else.
”以下是不需要复制BOM时需要选择的参数(组件不从BOM复制,需要增加组件参数信息)
ls_headerdata-manual_component = ‘1’.
ls_headerdata-firming_ind = ‘X’.
LOOP AT lt_ali_ato INTO lw_ali_ato.
lt_componentsdata-plant = gw_out-plwrk.
lt_componentsdata-material = lw_ali_ato-sjpn.
lt_componentsdata-entry_qty = lw_ali_ato-ddzyl.
APPEND lt_componentsdata.
ENDLOOP.
endif.
“调用BAPI创建计划订单
CALL FUNCTION ‘BAPI_PLANNEDORDER_CREATE’
EXPORTING
headerdata = ls_headerdata
IMPORTING
return = ls_return
plannedorder = ls_plannedorder
TABLES
componentsdata = lt_componentsdata[].
本文链接 :http://www.hot583.com/2022/04/13/bapi_material_savereplica/
本文为作者原创,如果这篇文章对您有用,欢迎转载,
转载请务必注明来源《今日热点在看》http://www.hot583.com/
我的微信公众号【 hot583 】 或者在这个链接联系我
微信原文《全文完》