1. 代码

DATA: it_methods     TYPE TABLE OF bapi_alm_order_method WITH HEADER LINE,ls_methods     TYPE TABLE OF bapi_alm_order_method WITH HEADER LINE,it_component   TYPE TABLE OF bapi_alm_order_component WITH HEADER LINE,it_componentup TYPE TABLE OF bapi_alm_order_component_up WITH HEADER LINE,lt_return      TYPE TABLE OF bapiret2,ls_return      TYPE bapiret2.DATA: l_rspos     TYPE i.       "预留行号DATA: it_component_old TYPE TABLE OF bapi_alm_order_component_e.*---------------------------------删除旧组件---------------------------------*
CALL FUNCTION 'BAPI_ALM_ORDER_GET_DETAIL'EXPORTINGnumber        = '000004004946'TABLESet_components = it_component_oldreturn        = lt_return.it_methods-refnumber  = 1.
it_methods-method = 'SAVE'.
it_methods-objectkey = '000004004946'.
APPEND it_methods.
CLEAR it_methods.MOVE-CORRESPONDING it_component_old TO it_component[] .LOOP AT it_component_old ASSIGNING FIELD-SYMBOL(<fs_component_old>).l_rspos = l_rspos + 1.IF <fs_component_old>-delete_ind = ''.        "跳过被删除的项目it_methods-refnumber = l_rspos.                "参照组件编号it_methods-objecttype = 'COMPONENT'.it_methods-method = 'DELETE'.it_methods-objectkey = '000004004946'.          "订单号APPEND it_methods.ENDIF.
ENDLOOP.CALL FUNCTION 'BAPI_ALM_ORDER_MAINTAIN'TABLESit_methods   = it_methods[]
*   IT_HEADER_SRV   =
*   IT_HEADER_SRV_UP       =
*   IT_USERSTATUS   =
*   IT_PARTNER   =
*   IT_PARTNER_UP   =
*   IT_OPERATION =
*   IT_OPERATION_UP =
*   IT_RELATION  =
*   IT_RELATION_UP  =it_component = it_component[]
*   it_component_up = it_componentup[]
*   IT_TEXT      =
*   IT_TEXT_LINES   =
*   EXTENSION_IN =return       = lt_return.UNASSIGN <fs_component_old>.
CLEAR: l_rspos,it_methods[],it_methods,it_component,it_component[],it_component_old.IF line_exists( lt_return[ type = 'A' ] ) ORline_exists( lt_return[ type = 'E' ] ) ORline_exists( lt_return[ type = 'X' ] ).ROLLBACK WORK.EXIT.
ELSE.COMMIT WORK AND WAIT.
ENDIF.*---------------------------------新增组件---------------------------------*
it_methods-refnumber  = 1.
it_methods-method = 'SAVE'.
it_methods-objectkey = '000004004946'.
APPEND it_methods.
CLEAR it_methods.DO 2 TIMES.l_rspos = l_rspos + 1.*    it_component-reserv_no = ''.                  "预留号it_component-res_item = l_rspos.                 "预留项目it_component-material = '000000010000000010'.    "物料编码it_component-requirement_quantity = '10'.it_component-requirement_quantity_unit = 'EA'.
*    it_component-withdrawn = abap_true.           "完成标识APPEND it_component.it_componentup-material = 'X'.                  "物料编码it_componentup-requirement_quantity = 'X'.it_componentup-requirement_quantity_unit = 'X'.
*  it_componentup-withdrawn = abap_true.APPEND it_componentup.it_methods-refnumber = l_rspos.                "参照组件编号it_methods-objecttype = 'COMPONENT'.it_methods-method = 'CREATE'.it_methods-objectkey = '000004004946'.          "订单号APPEND it_methods.CLEAR it_methods.ENDDO.CALL FUNCTION 'BAPI_ALM_ORDER_MAINTAIN'TABLESit_methods      = it_methods[]
*   IT_HEADER_SRV   =
*   IT_HEADER_SRV_UP       =
*   IT_USERSTATUS   =
*   IT_PARTNER      =
*   IT_PARTNER_UP   =
*   IT_OPERATION    =
*   IT_OPERATION_UP =
*   IT_RELATION     =
*   IT_RELATION_UP  =it_component    = it_component[]it_component_up = it_componentup[]
*   IT_TEXT         =
*   IT_TEXT_LINES   =
*   EXTENSION_IN    =return          = lt_return.IF line_exists( lt_return[ type = 'A' ] ) ORline_exists( lt_return[ type = 'E' ] ) ORline_exists( lt_return[ type = 'X' ] ).ROLLBACK WORK.ELSE.COMMIT WORK AND WAIT.
ENDIF.

2. 效果

  • IW32查看工单
  • RESB表中旧的组件被打删除标记,新增两个新组件

BAPI_ALM_ORDER_MAINTAIN 修改维修工单组件示例相关推荐

  1. jsf tree组件_JSF表单组件示例教程

    jsf tree组件 JSF Form component is a collection of fields along with the data and submit functionality ...

  2. 微信小程序学习之路——表单组件(一)

    radio组件 1.radio-group 在小程序中<radio/>不能单独使用,同一组<radio/>需要包含在一个<radio group/>中,这样才能形成 ...

  3. 【转】修改static控件背景颜色和文字颜色

    当 static 控件或具有 ES_READONLY 风格的 edit 控件被绘制时,会向父窗口发送 WM_CTLCOLORSTATIC 消息.如果我们在窗口过程中处理该消息,就必须返回一个画刷句柄, ...

  4. android支付 form表单,支付宝小程序表单组件 表单·Form

    当点击 form 表单中 form-type 为 submit 的 button 组件时,会将表单组件值进行提交,需要在表单组件中加上 name 来作为 key. 说明: 预览效果建议以真机为准. 目 ...

  5. flutter - 图文讲解表单组件基本使用 注册实战

    图文讲解表单组件,创建表单组件.校验表单.复杂表单.复杂校验规则.动态控制表单 实现一个注册界面 创建表单组件 创建form组件 Form组件函数(准确说叫widget),然后写一个key,因为我们等 ...

  6. 表单引擎之表单组件详细说明

    简介 表单组件是表单引擎的核心,下面将对常用表单组件进行详细的说明. 文档约定 字符"●"标识"是". 字符"○"表示"否&quo ...

  7. 微信小程序开发教程:项目三表单组件 课后习题

    <微信小程序开发教程>主编/黄寿孟 易芳 陶延涛 湖南大学出版社 目录 一.单选题 二.多选题 三.判断题 四.填空题 五.简答题 1.请简单描述搭建node后台服务器的过程. 2.在调查 ...

  8. Vue form-create的基本使用 和 自定义表单组件的数据通迅

    前言 由于之前有个Web项目,大部分都是表单,而且这些表单是通过请求后端接口返回的数据,动态生成对应的DOM(表单类型),以及表单的初始数据渲染,和修改表单后的数据提交. 根据以上项目情况,所以这次就 ...

  9. 用友二次开发 用友控件 Js宿主脚本 调用用友T6 登录 参照 控件示例

    用友二次开发 用友控件 Js宿主脚本 调用用友T6 登录 参照 控件示例 /*****************************************, code by 张朋 ' Email: ...

最新文章

  1. 【CTS】几个serialno失败项
  2. 突破磁盘低级检测实现文件隐藏
  3. APM - 零侵入监控JDBC服务
  4. mybatis实现反向工程
  5. 关于浮动float属性和position:absolute属性的区别
  6. JS之字符串分割方法split
  7. MySQL进阶篇(02):索引体系划分,B-Tree结构说明
  8. 黑马程序员—————— 随机访问流
  9. yocto生成各种格式的文件系统
  10. Python学习(二十) —— 前端之CSS
  11. 高中信息技术python讲义
  12. 航信3.0开票模拟系统
  13. 四川省内二本计算机公立好的大学排名,盘点四川省最好的几所二本大学
  14. 【Java愚公】gitlab关闭注册功能
  15. 【Hadoop学习笔记】大数据框架原理及主要工具概述
  16. 参加了feedsky的blog挑战赛
  17. tx2上装scikit-image
  18. 关于计算机系统的基本组成
  19. Js加载百度热点新闻
  20. 1982年版《茶馆》内容简要回顾

热门文章

  1. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException异常产生的原因及解决办法
  2. symantec忘记了密码时如何卸载?
  3. linux命令之unzip
  4. 基于采样的路径规划算法RRT和代码实现
  5. APP设计尺寸规范大全,APP界面设计新手教程【官方版】
  6. EXCEL显示 文件未保存 解决方法
  7. 二叉排序树(二叉搜索树)
  8. Linux安装mql
  9. MySQL - 用户管理
  10. GlobalMapper20转换KML为GeoJson,保留名称