1、MB21创建预留

1.1MB21前台操作

输入物料等信息,保存即可

1.2调用BAPI:BAPI_RESERVATION_CREATE1

"-----------------------------------------@斌将军--------------------------------------------
DATA:ls_header TYPE bapi2093_res_head,
   ls_atpcheck    TYPE bapi2093_atpcheck,
ls_calcheck TYPE bapi2093_calcheck,
lv_res TYPE bapi2093_res_key-reserv_no,
lt_item TYPE TABLE OF bapi2093_res_item,
ls_item TYPE bapi2093_res_item,
lt_extensionin TYPE TABLE OF bapiparex WITH HEADER LINE,
ls_resb_append TYPE zwms_resb_append,
lt_pro TYPE TABLE OF bapi_profitability_segment,
ls_pro TYPE bapi_profitability_segment,
lt_return TYPE TABLE OF bapiret2,
ls_return TYPE bapiret2. *ls_header-plant = '1000'."工厂
ls_header-res_date = '20220316'."预订基准日期
ls_header-move_type = '311'."移动类型
ls_header-vendor_no = '0000100000'."供应商
ls_header-move_plant = '1000'."收货工厂/发货工厂
ls_header-move_stloc = '1029'."收货/发货库存地点
*ls_header-costcenter = '1000'."成本中心
*ls_header-orderid = '1000'."订单号
*ls_header-wbs_elem = '1000'."WBS 要素 ls_calcheck-calcheck = 'X'."标识,工厂日历是否应该检查
ls_atpcheck-atpcheck = 'X'."ATP检查 CLEAR:ls_item.
ls_item-material = 'HYM01'."物料编号(18 个字符)
ls_item-plant = '1000'."工厂
ls_item-stge_loc = '1001'."存储地点
ls_item-batch = ''."批次编号
ls_item-entry_qnt = 1."以录入项单位表示的数量
ls_item-entry_uom = 'ST'."条目单位
ls_item-req_date = '20220316'."组件的需求日期
ls_item-item_text = '111'."项目文本
APPEND ls_item TO lt_item. CLEAR:ls_resb_append.
ls_resb_append-rspos = '1'.
ls_resb_append-sobkz = 'Q'.
lt_extensionin-structure = 'ZWMS_RESB_APPEND'.
lt_extensionin-valuepart1 = ls_resb_append.
APPEND lt_extensionin. CALL FUNCTION 'BAPI_RESERVATION_CREATE1'
EXPORTING
reservationheader = ls_header
* TESTRUN =
   atpcheck             = ls_atpcheck
calcheck = ls_calcheck
* RESERVATION_EXTERNAL =
IMPORTING
reservation = lv_res
TABLES
reservationitems = lt_item
profitabilitysegment = lt_pro
extensionin = lt_extensionin
return = lt_return. IF lv_res IS NOT INITIAL.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.
"-----------------------------------------@斌将军--------------------------------------------

1.3、增强字段

里面涉及到特殊库存标识SOBKZ,在RESB表中存在,但是在BAPI中没有,需要用增强导入

创建结构:

BADI:MB_RES_BAPI_CREATE1

  
"-----------------------------------------@斌将军--------------------------------------------
METHOD if_ex_mb_res_bapi_create1~extensionin_to_resb.
DATA:ls_extension LIKE LINE OF it_extension_in.
DATA:ls_resb LIKE LINE OF resb.
DATA:ls_resb_append TYPE zwms_resb_append. LOOP AT it_extension_in INTO ls_extension.
IF ls_extension-structure = 'ZWMS_RESB_APPEND'.
ls_resb_append = ls_extension-valuepart1.
READ TABLE resb ASSIGNING FIELD-SYMBOL(<fs_resb>) INDEX ls_resb_append-rspos.
IF sy-subrc EQ 0.
<fs_resb>-sobkz = ls_resb_append-sobkz."特殊标识
ENDIF.
ENDIF.
ENDLOOP.
ENDMETHOD.
"-----------------------------------------@斌将军--------------------------------------------

调用BAPI时,传入特殊标识,RSPOS传入个行号就行

2、MB22修改预留

修改已完成标识

调用BAPI:BAPI_RESERVATION_CHANGE

"-----------------------------------------@斌将军--------------------------------------------
DATA:lv_reservation TYPE bapi2093_res_key-reserv_no,
lt_reservationitems_changed TYPE TABLE OF bapi2093_res_item_change,
ls_reservationitems_changed TYPE bapi2093_res_item_change,
lt_reservationitems_changedx TYPE TABLE OF bapi2093_res_item_changex,
ls_reservationitems_changedx TYPE bapi2093_res_item_changex,
lt_reservationitems_new TYPE TABLE OF bapi2093_res_item_new,
ls_reservationitems_new TYPE bapi2093_res_item_new,
lt_return TYPE TABLE OF bapiret2 WITH HEADER LINE. DATA:lv_check TYPE char1,
lv_message TYPE char200. lv_reservation = 2989. CLEAR:ls_reservationitems_changed.
ls_reservationitems_changed-res_item = 1."预留 / 相关需求的项目编号
ls_reservationitems_changed-withdrawn = 'X'."该预定的最后发货KZEAR
APPEND ls_reservationitems_changed TO lt_reservationitems_changed. CLEAR:ls_reservationitems_changedx.
ls_reservationitems_changedx-res_item = 1."预留 / 相关需求的项目编号
ls_reservationitems_changedx-withdrawn = 'X'."该预定的最后发货KZEAR
APPEND ls_reservationitems_changedx TO lt_reservationitems_changedx. CALL FUNCTION 'BAPI_RESERVATION_CHANGE'
EXPORTING
reservation = lv_reservation
TABLES
reservationitems_changed = lt_reservationitems_changed
reservationitems_changedx = lt_reservationitems_changedx
* RESERVATIONITEMS_NEW =
return = lt_return. CLEAR:lv_check,lv_message.
LOOP AT lt_return WHERE type CA 'EAX'.
lv_message = lv_message && lt_return-message.
lv_check = 'E'.
ENDLOOP. IF lv_check = 'E'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ENDIF.
"-----------------------------------------@斌将军--------------------------------------------

定期更文,欢迎关注

 
 
 
 
 
 
 
 
此页面的语言为英语
 
翻译为中文(简体)
 
 
 
 
  • 中文(简体)
  • 中文(繁体)
  • 丹麦语
  • 乌克兰语
  • 乌尔都语
  • 亚美尼亚语
  • 俄语
  • 保加利亚语
  • 克罗地亚语
  • 冰岛语
  • 加泰罗尼亚语
  • 匈牙利语
  • 卡纳达语
  • 印地语
  • 印尼语
  • 古吉拉特语
  • 哈萨克语
  • 土耳其语
  • 威尔士语
  • 孟加拉语
  • 尼泊尔语
  • 布尔语(南非荷兰语)
  • 希伯来语
  • 希腊语
  • 库尔德语
  • 德语
  • 意大利语
  • 拉脱维亚语
  • 挪威语
  • 捷克语
  • 斯洛伐克语
  • 斯洛文尼亚语
  • 旁遮普语
  • 日语
  • 普什图语
  • 毛利语
  • 法语
  • 波兰语
  • 波斯语
  • 泰卢固语
  • 泰米尔语
  • 泰语
  • 海地克里奥尔语
  • 爱沙尼亚语
  • 瑞典语
  • 立陶宛语
  • 缅甸语
  • 罗马尼亚语
  • 老挝语
  • 芬兰语
  • 英语
  • 荷兰语
  • 萨摩亚语
  • 葡萄牙语
  • 西班牙语
  • 越南语
  • 阿塞拜疆语
  • 阿姆哈拉语
  • 阿尔巴尼亚语
  • 阿拉伯语
  • 韩语
  • 马尔加什语
  • 马拉地语
  • 马拉雅拉姆语
  • 马来语
  • 马耳他语
  • 高棉语
 
随时将英语翻译为中文(简体)PRO
一律不翻译英语
一律不翻译i.cnblogs.com

MB21 预留的更多相关文章

  1. (转载整理)SAP ERP常用T-CODE

    其实最讨厌做ERP的项目了.不过,身不由己的嘛! 网上资料加一些整理. 与客户相关  VD01 建立客户 Create customerVD02 更改客户 Change customerVD03 显示 ...

  2. SAP 经常使用T-CODE

    Plant Maintenance (PM) IW32 - Change Plant Maintenance Order  IW33 - Display Plant Maintenance Order ...

  3. SAP MM 启用批次管理的物料MB21创建预留单据时批次号可以为空!

    SAP MM 启用批次管理的物料MB21创建预留单据时批次号可以为空! 如下预留, 批次号字段为空. 实际上该物料是有激活batch management的, For MB21, it is just ...

  4. SAP MM 预留单据的历史修改记录?

    SAP MM 预留单据的历史修改记录? 在笔者眼里,SAP系统是一个高度严谨的软件系统.用户在SAP系统里的相关操作,系统都会做记录.用户对于系统的相关单据的增删改,SAP系统都有保留change h ...

  5. 3.4.4 数据预留和对齐(skb_reserve, skb_push, skb_put, skb_pull)

    转自:http://book.51cto.com/art/201206/345043.htm <Linux内核源码剖析:TCP/IP实现>本书详细论述了Linux内核2.6.20版本中TC ...

  6. C++类功能扩展预留五招

    第一招虚函数 通过派生类来进行功能扩展是基本的面向对象的方式,这种方式大如下: class base { public: virtual ~base(){} virtual void fun() { ...

  7. AX2009按照批次生产日期预留

    AX2009如果想按照批处理号预留,它默认是按照InventBatchId排序的,但并不是InventBatchd小的批次的生产日期就早,所以这个逻辑得改一下,让它按照InventBatch的Prod ...

  8. 释放Linux系统预留的硬盘空间【转】

    http://www.cnblogs.com/ggjucheng/archive/2012/10/07/2714294.html 前言 大多数文件系统都会保留一部分空间留作紧急情况时用(比如硬盘空间满 ...

  9. 为DAG预留群集名称对象(CNO)

    在某些环境中,计算机帐户的创建受到限制或计算机帐户是在非默认计算机容器中创建的,则会预留群集名称对象 (CNO),然后通过为其分配权限来设置 CNO.此外,使用运行 Windows Server 20 ...

  10. 实践javascript美术馆的小案例,学习到的东西还是蛮多的,包括javascript编程中的预留退路、分离javascript、以及实现向后兼容等

    javascript美术馆(改进2) 一.javascript编程过程中的好习惯 1.实现预留退路 js被禁掉,图片也可以显示出来,href属性带有图片路径 <script src=" ...

随机推荐

  1. 8.0的新特性 -- invisible(不可见索引)

    版权声明:原创作品,谢绝转载!否则将追究法律责任. ----- 作者:kirin invisible index 不可见索引 以前的版本,假如这个索引无用了会怎么样?那就只能是drop掉了.但是dro ...

  2. 自学 --day9---js中的数学操作和时间日期

    typora-copy-images-to: media 一.数学处理 1.Math常用API 圆周率 Math.PI // 3.1415926535 生成随机数 Math.random() 生成的是 ...

  3. 使用funcgraph-retval和bpftrace/kprobe快速定位并解决cpu控制器无法使能的问题

    版本 Linux 6.5 背景 在学习cgroupv2的时候,想给子cgroup开启cpu控制器结果失败了: # 查看可以开启哪些控制器 root@ubuntu-vm:/sys/fs/cgroup# ...

  4. 【VMware vSAN】主机之间网络性能测试,提示“无法运行网络性能测试。请稍后重试。”的处理过程。

    vSAN集群监控,有一个主动测试功能,里面可以针对vSAN主机进行虚拟机创建测试.网络性能测试等. 官方解释: 虚拟机创建测试通常需要 20 至 40 秒时间,在超时情况下最长需要 180 秒时间.将 ...

  5. 【开源项目推荐】-支持GPT的智能数据库客户端与报表工具——Chat2DB

    2023年是人工智能爆火的一年,ChatGPT为首的一系列的大模型的出现,让生成式人工智能彻底火了一把.但有人会说,GPT对于我们数据开发来说并没有什么作用啊? 今天为大家推荐的开源项目,就是GPT在 ...

  6. 使用SPEL自定义表达式

    自定义表达式 Spring提供了一个可以自定义表达式的接口 package com.qbb.qmall.item; import org.junit.Test; import org.springfr ...

  7. CodeForces - 415B Mashmokh and Tokens

    Bimokh is Mashmokh's boss. For the following n days he decided to pay to his workers in a new way. A ...

  8. IIS下使用SSL证书

    IIS下使用SSL证书 本文介绍windowsServer下SSL证书配置及IIS站点配置 1.    生成SSL证书 在阿里云申请免费SSL证书 登录阿里云管理控制台,打开SSL证书管理 选择免费证 ...

  9. 【大语言模型基础】60行Numpy教你实现GPT-原理与代码详解

    写在前面 本文主要是对博客 https://jaykmody.com/blog/gpt-from-scratch/ 的精简整理,并加入了自己的理解. 中文翻译:https://jiqihumanr.g ...

  10. 数字孪生系统如何整合CesiumJS?整合后会产生怎样的化学反应?

    数字孪生有关的项目中,智慧城市一直是一个比较重要的类型,但是这类智慧城市项目往往包含了大量的GIS相关数据,例如倾斜摄影.DEM.DOM.地形数据等.这时,将GIS系统融合进数字孪生系统的需求就出现了 ...