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. HDU 1071 The area ——微积分

    [题目分析] 求二次函数和一次函数围成的面积. 先解方程求出一次函数和二次函数. 然后积分. 现在还是不会积分. [代码] #include <cstdio> #include <c ...

  2. 「SDOI2010」古代猪文(bzoj1951)

    题目写了一大堆背景. 一句话题意就是求 $q^{\sum_{d|n}C_{n}^{d}} \mod 999911659$. 因为$n$是质数,只有当$q$是$n$的倍数时(此题数据范围原因,最多$q= ...

  3. 如何将一个int转换成cstring

    如:int a = 5;CString b;b.Format("%d",a);补充:如果a是double,或a是float的就是:b.Format("%f",a ...

  4. 将一个list均分成n个list

    /** * 将一个list均分成n个list,主要通过偏移量来实现的 * @param source * @return */ public <T> List<List<T&g ...

  5. ZOJ 3811 / 2014 牡丹江赛区网络赛 C. Untrusted Patrol bfs/dfs/并查集

    Untrusted Patrol Time Limit: 3 Seconds                                     Memory Limit: 65536 KB    ...

  6. .net core 使用 codegenerator 创建默认CRUD代码

    dotnet.exe aspnet-codegenerator controller --force --controllerName [controller-name] --relativeFold ...

  7. Executors

    提供了工厂方法: Factory and utility methods for Executor, ExecutorService, ScheduledExecutorService, Thread ...

  8. Linux下文件操作命令cat(转)

    语法格式: cat [-AbeEnstTuv] [--help] [--version] fileName 参数说明: -n 或 --number:由 1 开始对所有输出的行数编号. -b 或 --n ...

  9. 如何使用KeyChain保存和获取UDID - Flex/AS Programmer

    原文 http://www.cnblogs.com/yssgyw/p/3364370.html 本文是iOS7系列文章第一篇文章,主要介绍使用KeyChain保存和获取APP数据,解决iOS7上获取不 ...

  10. 【面试 AOP】【第八篇】AOP的问题

    1.AOP的原理以及应用场景 面向切面编程,不修改原有代码逻辑的情况下进行逻辑增强. 使用场景:短信业务,restful返回统一响应体等等. ============================= ...