DATA: lt_items_old    LIKE TABLE OF bapiebanv   WITH HEADER LINE.
  DATA: lt_items_new    LIKE TABLE OF bapiebanv   WITH HEADER LINE.
  DATA: lt_account_old  LIKE TABLE OF bapiebknv   WITH HEADER LINE.
  DATA: lt_account_new  LIKE TABLE OF bapiebknv   WITH HEADER LINE.
  DATA: lt_items        LIKE TABLE OF bapieban    WITH HEADER LINE.
  DATA: lt_account      LIKE TABLE OF bapiebkn    WITH HEADER LINE.
  DATA: lt_bapireturn   LIKE TABLE OF bapireturn  WITH HEADER LINE.
  DATA: t_eban LIKE eban OCCURS 0 WITH HEADER LINE.
  DATA: t_ebkn LIKE ebkn OCCURS 0 WITH HEADER LINE.

CALL FUNCTION 'BAPI_REQUISITION_GETDETAIL'
    EXPORTING
      number             = lt_zmlprtopo-banfn
      account_assignment = 'X'
    TABLES
      requisition_items  = lt_items.
* requisition_account_assignment = lt_account.

LOOP AT lt_items.
    MOVE-CORRESPONDING lt_items TO lt_items_old.
    MOVE-CORRESPONDING lt_items TO lt_items_new.
*&->add.
*& X-固定供应商
    IF lt_zmlprtopo-flag = 'X'.
      lt_items_new-fixed_vend = lt_zmlprtopo-flief.
    ELSE .
      lt_items_new-des_vendor = lt_zmlprtopo-flief."期望供应商
    ENDIF.

APPEND:lt_items_old, lt_items_new.
    CLEAR lt_items_old.
    CLEAR lt_items_new.
    CLEAR lt_items.
  ENDLOOP.

CALL FUNCTION 'BAPI_REQUISITION_CHANGE'
    EXPORTING
      number                  = lt_zmlprtopo-banfn
    TABLES
      requisition_items_old   = lt_items_old
      requisition_items_new   = lt_items_new
      requisition_account_old = lt_account_old
      requisition_account_new = lt_account_new
      return                  = lt_bapireturn.
  READ TABLE lt_bapireturn WITH KEY type = 'E'. "or type = 'A'.
  IF sy-subrc EQ 0.
    l_flag = 'X'.
    LOOP AT lt_bapireturn WHERE type = 'E'.
      lt_zmlprtopo-req_qty_total = '更改PR供应商失败!'.
      CONCATENATE lt_zmlprtopo-req_qty_total lt_bapireturn-message INTO lt_zmlprtopo-req_qty_total SEPARATED BY '&'.
    ENDLOOP.
    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.

ELSE.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
  ENDIF.

PR修改例子的更多相关文章

  1. PR 修改保存的增强 ME_UPDATE_REQUISITION

    FUNCTION me_update_requisition."""""""""""&qu ...

  2. Arduino UNO 键盘记录器中时钟接到2口或3口,其它接口不行。马上就要放弃了。要修改例子中时钟的引脚。

  3. 修改PR Cs6,PS Cs6,AU Cs6的启动界面

    转载来源:https://jingyan.baidu.com/article/09ea3ede00aeedc0aede39ca.html 百度了很多,只见PS Cs6的启动界面修改教程,PR,AU C ...

  4. shell脚本学习之case例子

    case和select结构在技术上说并不是循环, 因为它们并不对可执行代码块进行迭代. 但是和循环相似的是, 它们也依靠在代码块顶部或底部的条件判断来决定程序的分支.  在代码块中控制程序分支  ca ...

  5. 修改ncnn的openmp异步处理方法 附C++样例代码

    ncnn刚发布不久,博主在ios下尝试编译. 遇上了openmp的编译问题. 寻找各种解决方案无果,亲自操刀. 采用std::thread 替换 openmp. ncnn项目地址: https://g ...

  6. vue 项目全局修改element-ui的样式

    引入了element-ui,但是和我们自己的样式颜色有很大的不同, 修改例子:在src文件下创建 element-var.scss,代码如下 $--color-primary: yellow;  /* ...

  7. React Native for Android应用名及图标修改

    应用开发完了,总不能顶着MyProject和小机器人图标就发布了吧?在发布之前,有多处需要修改的地方.今天我们来全面的看一下 应用ID 俗称PackageName,或APP ID.注意,在gradle ...

  8. SAP 常用增强记录文档

    转自:http://blog.csdn.net/budaha 20170215需要一个PR 修改保存时候的增强,目的是同步PR的处理状态 EBAN-STATU 到一个自建表ZTPRTOPO,记得有个P ...

  9. IOS Core Animation Advanced Techniques的学习笔记(五)

    第六章:Specialized Layers   类别 用途 CAEmitterLayer 用于实现基于Core Animation粒子发射系统.发射器层对象控制粒子的生成和起源 CAGradient ...

随机推荐

  1. BZOJ 1016 [JSOI2008]最小生成树计数 ——Matrix-Tree定理

    考虑从小往大加边,然后把所有联通块的生成树个数计算出来. 然后把他们缩成一个点,继续添加下一组. 最后乘法原理即可. 写起来很恶心 #include <queue> #include &l ...

  2. Spoj-BIPCSMR16 Team Building

    To make competitive programmers of BUBT, authority decide to take regular programming contest. To ma ...

  3. angular实时显示checkbox被选中的元素

    /** * Created by zh on 20/05/15. */ // Code goes here var iApp = angular.module("App", []) ...

  4. JSP表单提交中文乱码

    简要笔记:由于jsp默认表单提交编码方式是:ISO-8859-1,而我们需要的是utf-8或者是gbk码,故需要转化. 具体方法是:在表单处理文件中,将获取到的变量进行转换. String userN ...

  5. Codevs 1043 ==洛谷 P1004 方格取数

    题目描述 设有N*N的方格图(N<=9),我们将其中的某些方格中填入正整数,而其他的方格中则放 人数字0.如下图所示(见样例): A 0 0 0 0 0 0 0 0 0 0 13 0 0 6 0 ...

  6. gulp 环境搭建

    wind+r弹出cmd命令窗口 要先安装node及npm,检查是否安装成功,node -v,npm -v可查看nod及npm的版本号. 安装gulp之前我们需要安装nodejs的环境,检测能够正常使用 ...

  7. HUNAN 11562 The Triangle Division of the Convex Polygon(大卡特兰数)

    http://acm.hunnu.edu.cn/online/?action=problem&type=show&id=11562&courseid=0 求n边形分解成三角形的 ...

  8. Flutter学习(一)——搭建开发环境(Windows)

    久闻 Flutter 大名,今天终于有时间体验一下了 ٩(๑>◡<๑)۶ 官网:https://flutter.dev/ 中文官网:https://flutterchina.club/ 一 ...

  9. spring解决乱码

    spring提供的工具类解决乱码问题 在web.xml配置中添加如下代码: <!--乱码处理--> <filter> <filter-name>encodingFi ...

  10. linux 系统命令----修改主机名

    1. hostname    ***** 2.修改/etc/sysconfig/network 3./etc/hosts 最后第三步没有必要!