SAP ABAP BAPI函数50之15-BAPI_PLANNEDORDER_CREATE

上一个文章我们讲了如何使用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 】 或者在这个链接联系我

微信原文《全文完》

今日热点在看SAP HOT583