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

devtools/2024/12/26 13:03:53/

这里是修改采购订单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/devtools/145532.html

相关文章

Halcon 的标定

*窗口坐标 宽度 dev_update_window(off)Halcon winw:=10000 winh:=10000 dev_open_window(0, 0, 1000, 1000, black, WindowHandle) dev_set_part(0,0,winw,winh) set_system (clip_region, false) dev_clear_window() dev_set_draw (margin) gen_region_line(xaxis, 0, 0, …

《战神:诸神黄昏》游戏运行时提示找不到gamede.dll文件怎么办?gamede.dll丢失的修复指南

在沉浸于《战神&#xff1a;诸神黄昏》的壮阔世界时&#xff0c;突然弹出的“找不到gamede.dll文件”错误提示可能会让玩家措手不及。作为一名经验丰富的软件开发从业者&#xff0c;我深知这类问题对游戏体验的影响。今天&#xff0c;我将为大家详细解析gamede.dll文件丢失的原…

Redis基础(1)--基本全局指令与架构

1. 基本全局命令 Redis有5种数据结构&#xff0c;但它们都是键值对中的值&#xff0c;对于键来说有⼀些通用的命令。 1.1KEYS 返回所有满足样式&#xff08;pattern&#xff09;的key。支持如下统配样式。 h?llo 匹配 hello , hallo 和hxlloh*llo 匹配 hllo 和 heeeelloh[…

Java操作Xml

一、数据准备 1、文件头实体类 package com.xiaobai.xmlpractice;import lombok.AllArgsConstructor; import lombok.Data;/*** Author 王天文* Date 2024/12/18 21:46* Description: xml头*/ AllArgsConstructor Data public class Head {private String desc;private Strin…

whisper.cpp: Android端测试 -- Android端手机部署音频大模型

whisper.cpp: Android端测试 1.环境需要2.构建项目3.Android测试 1.环境需要 以下是经实验验证可行的环境参考&#xff0c;也可尝试其他版本。 &#xff08;1&#xff09;PC&#xff1a;Ubuntu 22.04.4 &#xff08;2&#xff09;硬件设备&#xff1a;Android 手机 &#x…

肿瘤电场治疗费用

肿瘤电场治疗作为一种前沿的肿瘤治疗方法&#xff0c;近年来备受关注。该方法通过利用特定频率的交流电场&#xff0c;作用于恶性肿瘤细胞&#xff0c;以达到抑制肿瘤生长的目的。然而&#xff0c;随着这种治疗方法的普及&#xff0c;其费用问题也逐渐成为患者和家属关注的焦点…

低代码开发中 DDD 领域驱动的页面权限控制

在低代码开发的领域中&#xff0c;应用安全与灵活性是两大关键考量因素。领域驱动设计&#xff08;DDD&#xff09;作为一种在软件设计领域广泛应用且颇具影响力的方法论&#xff0c;正逐渐在低代码开发的页面权限控制方面展现出其独特的价值与潜力。本文旨在客观地探讨如何借助…

选择排序:简单算法的实现与优化探索

目录 一、选择排序的基本步骤 二、时间复杂度 三、优缺点 四、Java 实现选择排序 总结 选择排序是一种简单直观的排序算法。它的基本思想是每次从未排序的部分中选择最小&#xff08;或最大&#xff09;元素&#xff0c;将其放到已排序部分的末尾。尽管选择排序的时间复杂…