维修工单下达BAPI
IBAPI_ALM_ORDER_RELEASE
本BAPI可以将工单的状态设置为下达状态(REL)。但工单下达有一个前提:那就是工单必须已经维护了结算规则。本BAPI下达过的工单经过实测,在修改内容后保存时,会导致程序DUMP,因此,不建议使用此BAPI进行工单下达,建议使用BAPI:BAPI_ALM_ORDER_MAINTAIN 来进行工单下达。
BAPI的使用有通用的规则,比如BAPI在生成对象时,有最小的满足条件,即至少传入某些字段的值,才能保证生成相应的对象,上述表格中添加了黄色着色的字段的为本BAPI必须要传入的信息或者重要的传出信息;另外BAPI调用后,往往会至少返回一些个消息结构或者消息内表,这里需要根据返回的消息进行相应的处理:如果BAPI调用成功,则提交BAPI;如果BAPI调用失败,则回滚BAPI。
这里传入的工单需要带有前导0,如果没有,需要使用函数CONVERSION_EXIT_ALPHA_INPUT进行前导0补充,这里不详细说明,而对于传出的消息,需要逐条循环,使用MESSAGE_TEXT_BUILD函数来生成消息文本,以下为一个工单下达的完整示例代码:
"BAPI相关参数定义
DATA: LS_MSG TYPE BAL_S_MSG,
LT_MSG TYPE TABLE OF BAL_S_MSG. "BAPI调用返回消息
DATA: LV_AUFNR TYPE AUFNR. "待下达的工单号
DATA: LS_HEADER TYPE BAPI_ALM_ORDER_HEADER_E. "BAPI返回的工单头部信息
DATA: LV_MESSAGE TYPE STRING, "消息文本变量
EV_TYPE TYPE BAPI_MTYPE, "消息类型
EV_MESSAGE TYPE BAPI_MSG. "消息文本
CLEAR:EV_TYPE,EV_MESSAGE,LV_MESSAGE,LS_MSG,LV_AUFNR,LS_HEADER,LT_MSG.
*-----1 准备BAPI传入的参数
LV_AUFNR = '000004001837'.
*-----2 调用BAPI创建工单
CALL FUNCTION 'IBAPI_ALM_ORDER_RELEASE'
EXPORTING
IV_ORDERID = LV_AUFNR
IMPORTING
ES_HEADER_RESULT = LS_HEADER
TABLES
ET_MESSAGES = LT_MSG.
*-----3 根据BAPI执行结果,返回结果处理
LOOP AT LT_MSG INTO LS_MSG WHERE MSGTY CA 'EA'.
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
MSGID = LS_MSG-MSGID
MSGNR = LS_MSG-MSGNO
MSGV1 = LS_MSG-MSGV1
MSGV2 = LS_MSG-MSGV2
MSGV3 = LS_MSG-MSGV3
MSGV4 = LS_MSG-MSGV4
IMPORTING
MESSAGE_TEXT_OUTPUT = LV_MESSAGE.
IF EV_MESSAGE IS INITIAL.
EV_MESSAGE = LV_MESSAGE.
ELSE.
CONCATENATE LV_MESSAGE '/' EV_MESSAGE INTO EV_MESSAGE."拼接输出的失败消息
ENDIF.
ENDLOOP.
IF SY-SUBRC = 0.
EV_TYPE = 'E'.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. "回滚BAPI
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' "提交BAPI
EXPORTING
WAIT = 'X'.
EV_TYPE = 'S'. "将输出的消息类型设置为S
CONCATENATE '工单' LV_AUFNR '下达成功!' INTO EV_MESSAGE.
* MESSAGE EV_MESSAGE TYPE 'I'.
ENDIF.
- 本BAPI成功执行后,返回的消息内表ET_MESSAGES中,如果内表为空,则表示BAPI执行成功,则可以提交BAPI;如果消息中有A或者E类型的,则视为下达失败,先回滚BAPI,同时将消息内表中所有的E和A类型的消息拼接输出,用来告诉用户应该去纠正那些问题。
- 传入的工单号必须带有前导0。
本BAPI下达后的工单,有一定的BUG,当对下达的工单进行修改时,会造成程序DUMP。原因是BAPI的下达逻辑存在BUG,导致了工单的状态的不一致,从而造成修改时的DUMP。因此不建议使用此BAPI来进行工单下达,强烈建议使用BAPI:BAPI_ALM_ORDER_MAINTAIN 来进行工单下达
维修工单下达BAPI相关推荐
- SAP PM 初级系列之27 – SAP系统怎么知道某种类型的维修工单检验批上的检验类型是14?
SAP PM 初级系列之27 – SAP系统怎么知道某种类型的维修工单检验批上的检验类型是14? 比如在SAP系统中,Calibration类型的维修工单,工单下达后自动触发了检验批,检验类型是14. ...
- SAP PM 初级系列24 - 发料到维修工单
SAP PM 初级系列24 - 发料到维修工单 SAP PM模块里,对于维修工单的发料,跟对于生产订单的发料操作类似的,也是使用MIGO事务代码,移动类型261. 执行MIGO,选A07(Goods ...
- SAP PM 初级系列22 - IW38可以批量处理维修工单
SAP PM 初级系列22 - IW38可以批量处理维修工单 SAP PM模块的事务代码IW38功能强大,可以作为维修部门计划人员的一个很重要的主工作台.在这里他可以针对各种类型的维修工单,尤其是未完 ...
- SAP PM 初级系列25 - 维修工单与采购单据之间LINK?
SAP PM 初级系列25 - 维修工单与采购单据之间LINK? SAP系统是一个高度集成的软件系统,各个业务单据之间的LINK关系,都能在系统上很方便的查找到. SAP PM模块与采购业务之间也是有 ...
- SAP PM 初级系列23 - IW22 事务代码里创建维修工单
SAP PM 初级系列23 - IW22 事务代码里创建维修工单 SAP PM模块里,事务代码IW22用于修改一个已经存在的维修通知单. 实际上在这个界面里,不仅可以修改维修通知单相关的数据,而且可以 ...
- SAP PM 初级系列21 - 一个技术关闭的维修工单不能再被修改了!
SAP PM 初级系列21 - 一个技术关闭的维修工单不能再被修改了! 维修工单号:102333362已经被Techical completion了, 试图执行IW32去修改它, 系统提示说:Noti ...
- SAP PM 初级系列20 - 维修工单的检验批
输入事务代码IW33, 进入维修工单的显示界面, 点击屏幕右上边的Inspection Lot按钮 ,进入如下界面, 点击检验批号码右边的显示按钮 ,进入检验批显示界面(QA03), 可以看到该检验批 ...
- SAP PM 初级系列19 - IP10为维修计划触发维修工单的同时也自动触发了维修通知单!
SAP PM 初级系列19 - IP10为维修计划触发维修工单的同时也自动触发了维修通知单! 执行事务代码IP10, 输入维修计划代码,回车, 点击Manual call按钮,如上图.进入如下界面, ...
- SAP PM 初级系列18 - 为维修工单分配Permit
SAP PM 初级系列18 - 为维修工单分配Permit IW32在维修工单的修改界面, 通过菜单Goto -> Permits- ,系统进入如下界面, 点Permit输入框右侧的按钮,系统弹 ...
最新文章
- linux下安装ftp服务器
- easyui toolbar分隔线
- laravel 分页php_laravel 分页 seo浅谈
- quartus 修改 时钟_Clock Quartus II 开发的多功能数字时钟,有计时、调 闹铃、警报等 Other systems 其他 274万源代码下载- www.pudn.com...
- android 锁屏音量,Android锁屏状态获取音量按键事件
- 中国公司占据VVC专利贡献榜4席
- dbms支持哪几种数据模型_DBMS中不同类型的数据模型
- Java(4)---Java 对象和类
- java扫码盒_[腾讯 TMQ] JAVA 代码覆盖率工具 JaCoCo-实践篇
- 计算机组成原理基本概念,《计算机组成原理》教学中几个基本概念的分析
- android xml未能解析文件夹,无法在styles.xml(Android Studio)中解析符号'Theme'
- IOS把图片做成圆形效果
- 【现代信号处理】 15 - 谱分析基础和周期图谱分析
- Spring Boot Actuator自定义健康检查
- 产品需求文档到底该怎么写?
- EUI学习之自定义皮肤
- oracle fnd global,Oracle EBS fnd_request.submit_request 与 Fnd_concurrent.wait_for_ruqest
- MySQL第41题怎么评分_MYSQL练习题54道(包含尽可能多的解决方法及思路)
- error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file
- 计算机二级msoffice选择题知识,2017计算机二级MSoffice选择题练习(含答案)
热门文章
- matlab自协方差函数,自协方差函数,自相关函数,协方差矩阵
- Excel表格的打开密码如何设置和取消?
- CSDN编程挑战赛第六期参赛心得
- 什么是SCI期刊分区,让你一次搞懂!
- win10msmpeng占内存_微软win10吃内存,CPU占用高,没有优化好?做好这3点系统快如飞...
- SpringCloud Alibaba 微服务架构(十一)- 分布式事务解决方案及理论基础篇
- 计算机需要什么才能连接网络,计算机必须安装网卡,才可以连接到Internet 。
- cpcorr matlab,corr(corr是什么函数)
- Linux菜鸟笔记【基本命令汇总】
- 电表电压电流数据(某用户2年的电流表记录,6.8w条数据)