FUNCTION zrfc_mm006.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(CALLNO) TYPE ZCALLNO
*" VALUE(SHEET_NO) LIKE ESSR-LBLNI OPTIONAL
*" VALUE(BLDAT) LIKE ESSR-BLDAT DEFAULT SY-DATUM
*" VALUE(BUDAT) LIKE ESSR-BUDAT DEFAULT SY-DATUM
*" VALUE(OPERATE) TYPE CHAR1
*" VALUE(EBELN) LIKE BAPIESSRC-PO_NUMBER OPTIONAL
*" VALUE(EBELP) LIKE BAPIESSRC-PO_ITEM OPTIONAL
*" EXPORTING
*" VALUE(E_SHEET_NO) LIKE ESSR-LBLNI
*" VALUE(FLAG) LIKE BAPIRET2-TYPE
*" VALUE(MESSAGE) LIKE BAPIRET2-MESSAGE
*"----------------------------------------------------------------------
*备注:删除服务确定表单,必须先撤销 . DATA: lv_row LIKE essr-lblni,
lv_message LIKE bapiret2-message.
DATA lv_datano TYPE zdatano.
DATA lv_mode TYPE char1 VALUE 'N'.
DATA ls_sheetheader TYPE bapiessrc. *******数据检查
IF operate = 'R' OR operate = 'D'.
IF sheet_no IS INITIAL.
flag = 'E'.
message = '请输入确定表单号'.
RETURN.
ENDIF.
ELSEIF operate = 'F'.
IF ebeln IS INITIAL OR ebelp IS INITIAL .
flag = 'E'.
message = '请输入采购订单和项目'.
RETURN.
ENDIF.
ENDIF. ******撤销服务确定表单
IF operate = 'R'. PERFORM bdc_dynpro USING 'SAPLMLSR' ''.
PERFORM bdc_field USING 'BDC_OKCODE'
'=SELP'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RM11P-NEW_ROW'.
PERFORM bdc_field USING 'RM11P-NEW_ROW'
lv_row.
PERFORM bdc_dynpro USING 'SAPLMLSR' ''.
PERFORM bdc_field USING 'BDC_CURSOR'
'RM11R-LBLNI'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'RM11R-LBLNI'
sheet_no.
PERFORM bdc_dynpro USING 'SAPLMLSR' ''.
PERFORM bdc_field USING 'BDC_OKCODE'
'=AKCH'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RM11P-NEW_ROW'.
PERFORM bdc_field USING 'RM11P-NEW_ROW'
lv_row.
PERFORM bdc_dynpro USING 'SAPLMLSR' ''.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ACCR'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RM11P-NEW_ROW'.
PERFORM bdc_field USING 'RM11P-NEW_ROW'
lv_row.
PERFORM bdc_dynpro USING 'SAPLMLSR' ''.
PERFORM bdc_field USING 'BDC_OKCODE'
'=SAVE'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RM11P-NEW_ROW'.
PERFORM bdc_field USING 'RM11P-NEW_ROW'
lv_row.
PERFORM bdc_dynpro USING 'SAPLSPO1' ''.
PERFORM bdc_field USING 'BDC_OKCODE'
'=YES'.
PERFORM bdc_dynpro USING 'SAPLMLSR' ''.
PERFORM bdc_field USING 'BDC_CURSOR'
'IMKPF-BUDAT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'IMKPF-BLDAT'
bldat.
PERFORM bdc_field USING 'IMKPF-BUDAT'
budat.
REFRESH messtab. CALL TRANSACTION 'ML81N' USING bdcdata
MODE lv_mode
UPDATE 'L'
MESSAGES INTO messtab. CLEAR gt_return.
CALL FUNCTION 'CONVERT_BDCMSGCOLL_TO_BAPIRET2'
TABLES
imt_bdcmsgcoll = messtab
ext_return = gt_return. ******删除已撤销的服务确定表单
ELSEIF operate = 'D'.
CLEAR: gt_return.
CALL FUNCTION 'BAPI_ENTRYSHEET_DELETE'
EXPORTING
entrysheet = sheet_no
TABLES
return = gt_return. ******关闭服务采购订单
ELSEIF operate = 'F'.
ls_sheetheader-po_number = ebeln. "采购订单
ls_sheetheader-po_item = ebelp. "采购订单行项目
ls_sheetheader-doc_date = bldat. "凭证日期
ls_sheetheader-post_date = budat. "过账日期
ls_sheetheader-fin_entry = 'F'. "标识:关闭
CLEAR gt_return.
CALL FUNCTION 'BAPI_ENTRYSHEET_CREATE'
EXPORTING
entrysheetheader = ls_sheetheader
IMPORTING
entrysheet = e_sheet_no
TABLES
return = gt_return.
ENDIF. ******返回消息处理
CLEAR:gs_return, message, lv_message.
READ TABLE gt_return INTO gs_return WITH KEY type = 'E'.
IF sy-subrc NE .
flag = 'S'.
IF operate = 'R'.
CONCATENATE '服务确认表单:' sheet_no ' 撤销成功' INTO message.
ELSEIF operate = 'D'.
CONCATENATE '表单确认表单:' sheet_no ' 删除成功' INTO message.
ENDIF. ELSE.
LOOP AT gt_return INTO gs_return WHERE type CA 'AEX'.
MESSAGE ID gs_return-id
TYPE gs_return-type
NUMBER gs_return-number
WITH gs_return-message_v1 gs_return-message_v2
gs_return-message_v3 gs_return-message_v4
INTO lv_message.
CONCATENATE message lv_message INTO message SEPARATED BY '|'.
ENDLOOP.
SHIFT message LEFT DELETING LEADING '|'.
flag = 'E'. ENDIF. CLEAR:gt_log,gs_log.
lv_datano = lv_datano + .
gs_log-datano = lv_datano.
gs_log-name = 'ZRFC_MM006'.
gs_log-cdate = sy-datum.
GET TIME.
gs_log-ctime = sy-uzeit.
gs_log-callno = callno.
gs_log-flag = flag.
gs_log-log = message.
CONCATENATE sheet_no bldat budat operate ebeln ebelp e_sheet_no
INTO gs_log-content.
CONDENSE gs_log-content NO-GAPS.
gs_log-length = STRLEN( gs_log-content ).
APPEND gs_log TO gt_log. IF gt_log IS NOT INITIAL.
INSERT zrfc_mm01in_log FROM TABLE gt_log.
IF sy-subrc = .
COMMIT WORK.
ENDIF.
ENDIF. ENDFUNCTION.

服务确定撤销/删除/关闭 (ml81n)的更多相关文章

  1. linux下tomcat服务的启动、关闭与错误跟踪

    linux下tomcat服务的启动.关闭与错误跟踪,远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务: 1).启动tomcat服务 进入tomcat主目录下的bin目录,然后执行如下 ...

  2. 利用 bat 批量处理命令实现手动控制mysql /Oracle 服务的开启和关闭

    利用 bat 批量处理命令实现手动控制mysql /Oracle 服务的开启和关闭 因为最近在学习数据库的知识,主要学习的是oracle 数据库,然而好巧啊,java也是在学习,我们老师现在要我们做一 ...

  3. CentOS下SVN服务的启动与关闭

    CentOS下SVN服务的启动与关闭 操作系统:CentOS 6.5  SVN版本:1.8.11 启动SVN服务:  svnserve -d -r /home/svn /home/svn 为版本库的根 ...

  4. centos 6 与 centos 7 服务开机启动、关闭设置的方法

    简单说明下 centos 6 与 centos 7 服务开机启动.关闭设置的方法: centos 6 :使用chkconfig命令即可. 我们以apache服务为例: #chkconfig --add ...

  5. Linux 服务的加入删除,自己主动执行及状态

    CAMS 在安装过程中会自己主动加入相关的服务.在安装的最后过程中会提示用户是否启动服务使服务生效,须要注意的是一个服务被加入后并不表示该服务在系统启动过程中会自己主动执行,仅表示能够使用servic ...

  6. C# ASP.NET 控制windows服务的 开启和关闭 以及重启

    用ASP.NET控制Windows服务的开启与关闭效果如图 代码 首页页面需要添加引用 页面的pageload中 实例化windows服务 protected void Page_Load(objec ...

  7. mysql 使用zip包进行安装以及服务启动后立即关闭问题

             本实例使用的mysql版本为 mysql-8.0.15-winx64 1.下载zip包 官网地址:https://dev.mysql.com/downloads/mysql/ 2.安 ...

  8. leaflet结合geoserver利用WFS服务实现图层删除功能(附源码下载)

    前言 leaflet 入门开发系列环境知识点了解: leaflet api文档介绍,详细介绍 leaflet 每个类的函数以及属性等等 leaflet 在线例子 leaflet 插件,leaflet ...

  9. 应用场景:vue表格撤销删除与保存按钮的显隐

    应用场景:vue表格撤销删除与保存按钮的显隐

随机推荐

  1. 基于visual Studio2013解决C语言竞赛题之0202坐标转换

    题目

  2. C# 操作Excel (二)

    根据翻阅LTP.Net知识库系列之四中Office操作功能: 一.记录常用如下 (1)“在自己的程序中宿主Office”的意思就是在我们自己开发的应用程序的窗体上,显示一个就像Office应用程序那样 ...

  3. [上海] 携程 门票事业部 招聘.NET 架构师 2 名 - V2EX

    [上海] 携程 门票事业部 招聘.NET 架构师 2 名 - V2EX [上海] 携程 门票事业部 招聘.NET 架构师 2 名

  4. 邀请朋友富途开户赢iPhone6的史上最强攻略

    最近有关沪港通的消息很多,加上阿里巴巴马上IPO,所以上个月我在朋友推荐下,来富途开了个户.本来对邀请不太感兴趣,但这次的奖品实在诱人,因为超级想要iPhone6,所以也加入了邀请大队.到发贴的时候, ...

  5. PHP7特性概览

    了解了PHP7的一些特性,搭建PHP7源码编译环境,并运行官网这些新特性的代码. 在64位平台支持64位integer 在64位平台支持64位integer,长度为2^64-1 字符串. 更详细查看 ...

  6. 写一个方法完成如下功能,判断从文本框textbox1输入的一个字符,如果是数字则求该数字的阶乘,如果是小写字条,则转换为大写,大写字符不变,结果在文本框textbox2中显示

    窗体设计: 代码: using System; using System.Collections.Generic; using System.ComponentModel; using System. ...

  7. Currency System in Geraldion (Codeforces 560A)

    A  Currency System in Geraldion Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64 ...

  8. 安装centos7注意事项

    1,安装centos7注意1和l的区分 2,每一次对/boot/grub2/或者/boot/grub或者/etc/grub/下的文件修改一定要重新编译配置文件sudo grub2-mkconfig - ...

  9. java读取远程url图片,得到宽高

    链接地址:http://blog.sina.com.cn/s/blog_407a68fc0100nrb6.html import java.io.IOException;import java.awt ...

  10. Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建(转)

    这篇文章主要讲解使用eclipse对Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建过程,包括里面步骤和里面的配置文件如何配置等等都会详细说明. 如果还没有搭建好环境( ...