修改采购订单BAPI学习研究-BAPI_PO_CHANGE

ops/2024/12/25 14:41:21/

这里是修改采购订单BAPI,修改订单数量和交货日期的简单应用

文章目录

  • 修改数量
    • 代码
    • 运行结果
  • 修改交货日期
    • 代码
    • 运行结果

修改数量

代码

*&---------------------------------------------------------------------*
*& Report Z_BAPI_PO_CHANGE
*&---------------------------------------------------------------------*
*& Creator:LiuHongyu
*& Create On:2024.12.24 17:04:09
*& Type:
*& Description:采购订单修改BAPI调用-BAPI_PO_CHANGE
*&---------------------------------------------------------------------*
*         Changed History
*--------------   ---------------   ------------------   --------------*
* Version         Changed By        Changed Date         Description
*--------------   ---------------   ------------------   --------------*
* N               LiuHongyu         24.12.2024 17:04:09
*&---------------------------------------------------------------------*REPORT Z_BAPI_PO_CHANGE.DATA PURCHASEORDER          TYPE BAPIMEPOHEADER-PO_NUMBER.
DATA POITEM                 TYPE STANDARD TABLE OF BAPIMEPOITEM.
DATA POITEMX                TYPE STANDARD TABLE OF BAPIMEPOITEMX.
DATA RETURN                 TYPE STANDARD TABLE OF BAPIRET2.
DATA LS_POITEM             TYPE BAPIMEPOITEM.
DATA LS_POITEMX            TYPE BAPIMEPOITEMX.PURCHASEORDER = '4500005963'. "采购订单BAPILS_POITEM-PO_ITEM = '00010'.
LS_POITEM-QUANTITY = 10.
APPEND LS_POITEM TO POITEM.LS_POITEMX-PO_ITEM = '00010'.
LS_POITEMX-QUANTITY = 'X'.
APPEND LS_POITEMX TO POITEMX.CALL FUNCTION 'BAPI_PO_CHANGE'EXPORTINGPURCHASEORDER = PURCHASEORDERTABLESRETURN        = RETURNPOITEM        = POITEMPOITEMX       = POITEMX.LOOP AT RETURN INTO DATA(LS_RETURN) WHERE TYPE = 'E' OR TYPE = 'A'.WRITE:LS_RETURN-MESSAGE.
ENDLOOP.IF SY-SUBRC <> 0. "没有发送错误WRITE:'采购订单修改成功!'.COMMIT WORK AND WAIT.
ELSE.WRITE:'采购订单修改失败!'.ROLLBACK WORK.
ENDIF.

运行结果

在这里插入图片描述

修改交货日期

代码

*&---------------------------------------------------------------------*
*& Report Z_BAPI_PO_CHANGE
*&---------------------------------------------------------------------*
*& Creator:LiuHongyu
*& Create On:2024.12.24 17:04:09
*& Type:
*& Description:采购订单修改BAPI调用-BAPI_PO_CHANGE
*&---------------------------------------------------------------------*
*         Changed History
*--------------   ---------------   ------------------   --------------*
* Version         Changed By        Changed Date         Description
*--------------   ---------------   ------------------   --------------*
* N               LiuHongyu         24.12.2024 17:04:09
*&---------------------------------------------------------------------*REPORT Z_BAPI_PO_CHANGE.DATA PURCHASEORDER         TYPE BAPIMEPOHEADER-PO_NUMBER.
DATA POITEM                TYPE STANDARD TABLE OF BAPIMEPOITEM.
DATA POITEMX               TYPE STANDARD TABLE OF BAPIMEPOITEMX.
DATA RETURN                TYPE STANDARD TABLE OF BAPIRET2.
DATA LS_POITEM             TYPE BAPIMEPOITEM.
DATA LS_POITEMX            TYPE BAPIMEPOITEMX.
DATA LS_POSCHEDULE         TYPE BAPIMEPOSCHEDULE.
DATA LS_POSCHEDULEX        TYPE BAPIMEPOSCHEDULX.
DATA LT_POSCHEDULE         TYPE TABLE OF BAPIMEPOSCHEDULE.
DATA LT_POSCHEDULEX        TYPE TABLE OF BAPIMEPOSCHEDULX.PURCHASEORDER = '4500005963'. "采购订单BAPILS_POITEM-PO_ITEM = '00010'.
LS_POITEM-QUANTITY = 10.
APPEND LS_POITEM TO POITEM.LS_POITEMX-PO_ITEM = '00010'.
LS_POITEMX-QUANTITY = 'X'.
APPEND LS_POITEMX TO POITEMX."交货计划
LS_POSCHEDULE-PO_ITEM = '00010'.
LS_POSCHEDULE-SCHED_LINE = 1.
LS_POSCHEDULE-DELIVERY_DATE = '20291001'.
APPEND LS_POSCHEDULE TO LT_POSCHEDULE."交货计划的更改计划行
LS_POSCHEDULEX-PO_ITEM = '00010'.
LS_POSCHEDULEX-SCHED_LINE = 1.
LS_POSCHEDULEX-PO_ITEMX = 'X'.
LS_POSCHEDULEX-SCHED_LINEX = 'X'.
LS_POSCHEDULEX-DELIVERY_DATE = 'X'.
APPEND LS_POSCHEDULEX TO LT_POSCHEDULEX.CALL FUNCTION 'BAPI_PO_CHANGE'EXPORTINGPURCHASEORDER = PURCHASEORDERTABLESRETURN        = RETURNPOITEM        = POITEMPOITEMX       = POITEMXPOSCHEDULE    = LT_POSCHEDULEPOSCHEDULEX   = LT_POSCHEDULEX.LOOP AT RETURN INTO DATA(LS_RETURN) WHERE TYPE = 'E' OR TYPE = 'A'.WRITE:LS_RETURN-MESSAGE.
ENDLOOP.IF SY-SUBRC <> 0. "没有发送错误WRITE:'采购订单修改成功!'.COMMIT WORK AND WAIT.
ELSE.WRITE:'采购订单修改失败!'.ROLLBACK WORK.
ENDIF.

运行结果

在这里插入图片描述


http://www.ppmy.cn/ops/144865.html

相关文章

网络安全(一)主动攻击之DNS基础和ettercap实现DNS流量劫持

alittlemc&#xff0c;个人原创&#xff0c;个人理解和观点。若有错误、不理解请与我联系&#xff0c;谢谢&#xff01; 介绍了DNS的解析过程。DNS劫持的思路和实践。 DNS 域名 以为live.bilibili.com为例子&#xff0c;从后到前依次为顶级&#xff08;一级&#xff09;域名…

渗透测试学习路线

渗透测试学习之前基础&#xff1a; 计算机网络、操作系统&#xff08;对Windows、Linux操作系统熟悉&#xff0c;对常用命令了解&#xff09;、数据库、编程语言、web应用开发&#xff08;前端后端&#xff09; ⼊门级别的《Web安全渗透剖析》 进阶级别的《⽩帽⼦讲web安全》…

部署前后端分离若依项目--Window版本

1、准备条件 nssm&#xff0c;nginx&#xff0c;win11&#xff0c;后端jar包&#xff0c;前端html文件&#xff0c;可用的redis与mysql 2、后端启动 1、编写run.bat文件 echo off echo. echo run start echo.cd %~dp0set JAVA_OPTS-Xms256m -Xmx1024m -XX:MetaspaceSize12…

【蓝桥杯——物联网设计与开发】基础模块8 - RTC

目录 一、RTC &#xff08;1&#xff09;资源介绍 &#x1f505;简介 &#x1f505;时钟与分频&#xff08;十分重要‼️&#xff09; &#xff08;2&#xff09;STM32CubeMX 软件配置 &#xff08;3&#xff09;代码编写 &#xff08;4&#xff09;实验现象 二、RTC接口…

Rasa框架的优点和缺点

优点 1. 开源和免费 Rasa 是开源的&#xff0c;无需支付许可费用&#xff0c;可自由下载和修改源码&#xff0c;适合预算有限或需要定制化解决方案的团队。企业可以完全掌控自己的对话系统&#xff0c;无需依赖外部服务。 2. 数据隐私和安全 Rasa 支持完全本地部署&#xf…

【华为OD-E卷-木板 100分(python、java、c++、js、c)】

【华为OD-E卷-木板 100分&#xff08;python、java、c、js、c&#xff09;】 题目 小明有 n 块木板&#xff0c;第 i ( 1 ≤ i ≤ n ) 块木板长度为 ai。 小明买了一块长度为 m 的木料&#xff0c;这块木料可以切割成任意块&#xff0c;拼接到已有的木板上&#xff0c;用来加…

决策树(理论知识1)

目录 何为决策树决策树的组成决策树的构建 何为决策树 决策树(Decision Tree)是一种分类和回归方法&#xff0c;是基于各种情况发生的所需条件构成决策树&#xff0c;以实现期望最大化的一种图解法。由于这种决策 分支画成图形很像一棵树的枝干&#xff0c;故称决策树。它的运…

《解锁 Python 数据分析的强大力量》

《 解锁 Python 数据分析的强大力量》 一、Python 数据分析的崛起二、Python 数据分析基础&#xff08;一&#xff09;编程基础&#xff08;二&#xff09;数据分析相关库 三、数据分析流程全解析&#xff08;一&#xff09;数据获取&#xff08;二&#xff09;数据存储&#x…