BAPI_ALM_ORDER_MAINTAIN 修改维修工单组件示例
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 修改维修工单组件示例相关推荐
- jsf tree组件_JSF表单组件示例教程
jsf tree组件 JSF Form component is a collection of fields along with the data and submit functionality ...
- 微信小程序学习之路——表单组件(一)
radio组件 1.radio-group 在小程序中<radio/>不能单独使用,同一组<radio/>需要包含在一个<radio group/>中,这样才能形成 ...
- 【转】修改static控件背景颜色和文字颜色
当 static 控件或具有 ES_READONLY 风格的 edit 控件被绘制时,会向父窗口发送 WM_CTLCOLORSTATIC 消息.如果我们在窗口过程中处理该消息,就必须返回一个画刷句柄, ...
- android支付 form表单,支付宝小程序表单组件 表单·Form
当点击 form 表单中 form-type 为 submit 的 button 组件时,会将表单组件值进行提交,需要在表单组件中加上 name 来作为 key. 说明: 预览效果建议以真机为准. 目 ...
- flutter - 图文讲解表单组件基本使用 注册实战
图文讲解表单组件,创建表单组件.校验表单.复杂表单.复杂校验规则.动态控制表单 实现一个注册界面 创建表单组件 创建form组件 Form组件函数(准确说叫widget),然后写一个key,因为我们等 ...
- 表单引擎之表单组件详细说明
简介 表单组件是表单引擎的核心,下面将对常用表单组件进行详细的说明. 文档约定 字符"●"标识"是". 字符"○"表示"否&quo ...
- 微信小程序开发教程:项目三表单组件 课后习题
<微信小程序开发教程>主编/黄寿孟 易芳 陶延涛 湖南大学出版社 目录 一.单选题 二.多选题 三.判断题 四.填空题 五.简答题 1.请简单描述搭建node后台服务器的过程. 2.在调查 ...
- Vue form-create的基本使用 和 自定义表单组件的数据通迅
前言 由于之前有个Web项目,大部分都是表单,而且这些表单是通过请求后端接口返回的数据,动态生成对应的DOM(表单类型),以及表单的初始数据渲染,和修改表单后的数据提交. 根据以上项目情况,所以这次就 ...
- 用友二次开发 用友控件 Js宿主脚本 调用用友T6 登录 参照 控件示例
用友二次开发 用友控件 Js宿主脚本 调用用友T6 登录 参照 控件示例 /*****************************************, code by 张朋 ' Email: ...
最新文章
- 【CTS】几个serialno失败项
- 突破磁盘低级检测实现文件隐藏
- APM - 零侵入监控JDBC服务
- mybatis实现反向工程
- 关于浮动float属性和position:absolute属性的区别
- JS之字符串分割方法split
- MySQL进阶篇(02):索引体系划分,B-Tree结构说明
- 黑马程序员—————— 随机访问流
- yocto生成各种格式的文件系统
- Python学习(二十) —— 前端之CSS
- 高中信息技术python讲义
- 航信3.0开票模拟系统
- 四川省内二本计算机公立好的大学排名,盘点四川省最好的几所二本大学
- 【Java愚公】gitlab关闭注册功能
- 【Hadoop学习笔记】大数据框架原理及主要工具概述
- 参加了feedsky的blog挑战赛
- tx2上装scikit-image
- 关于计算机系统的基本组成
- Js加载百度热点新闻
- 1982年版《茶馆》内容简要回顾