服务确定撤销/删除/关闭 (ml81n)
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)的更多相关文章
- linux下tomcat服务的启动、关闭与错误跟踪
linux下tomcat服务的启动.关闭与错误跟踪,远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务: 1).启动tomcat服务 进入tomcat主目录下的bin目录,然后执行如下 ...
- 利用 bat 批量处理命令实现手动控制mysql /Oracle 服务的开启和关闭
利用 bat 批量处理命令实现手动控制mysql /Oracle 服务的开启和关闭 因为最近在学习数据库的知识,主要学习的是oracle 数据库,然而好巧啊,java也是在学习,我们老师现在要我们做一 ...
- CentOS下SVN服务的启动与关闭
CentOS下SVN服务的启动与关闭 操作系统:CentOS 6.5 SVN版本:1.8.11 启动SVN服务: svnserve -d -r /home/svn /home/svn 为版本库的根 ...
- centos 6 与 centos 7 服务开机启动、关闭设置的方法
简单说明下 centos 6 与 centos 7 服务开机启动.关闭设置的方法: centos 6 :使用chkconfig命令即可. 我们以apache服务为例: #chkconfig --add ...
- Linux 服务的加入删除,自己主动执行及状态
CAMS 在安装过程中会自己主动加入相关的服务.在安装的最后过程中会提示用户是否启动服务使服务生效,须要注意的是一个服务被加入后并不表示该服务在系统启动过程中会自己主动执行,仅表示能够使用servic ...
- C# ASP.NET 控制windows服务的 开启和关闭 以及重启
用ASP.NET控制Windows服务的开启与关闭效果如图 代码 首页页面需要添加引用 页面的pageload中 实例化windows服务 protected void Page_Load(objec ...
- mysql 使用zip包进行安装以及服务启动后立即关闭问题
本实例使用的mysql版本为 mysql-8.0.15-winx64 1.下载zip包 官网地址:https://dev.mysql.com/downloads/mysql/ 2.安 ...
- leaflet结合geoserver利用WFS服务实现图层删除功能(附源码下载)
前言 leaflet 入门开发系列环境知识点了解: leaflet api文档介绍,详细介绍 leaflet 每个类的函数以及属性等等 leaflet 在线例子 leaflet 插件,leaflet ...
- 应用场景:vue表格撤销删除与保存按钮的显隐
应用场景:vue表格撤销删除与保存按钮的显隐
随机推荐
- poj 3295 Tautology(栈)
题目链接:http://poj.org/problem?id=3295 思路分析:判断逻辑表达式是否为永真式问题.根据该表达式的特点,逻辑词在逻辑变量前,类似于后缀表达式求值问题. 算法中使用两个栈, ...
- Yii Framework2.0开发教程(2)使用表单Form
第一步.接着教程(1).我们在controllers/ZhyoulunController.php中加入两处, 1) use app\models\EntryForm; 和 2) public fun ...
- ceph存储之ceph客户端
CEPH客户端: 大多数Ceph用户不会直接往Ceph存储集群里存储对象,他们通常会选择Ceph块设备.Ceph文件系统.Ceph对象存储之中的一个或多个: 块设备: 要实践本手册,你必须先完成存储集 ...
- PHP - 继承 - 子类使用父类方法
<?php class ShopProduct { private $FirstName; private $LastName; private $Title; private $Price; ...
- Currency System in Geraldion (Codeforces 560A)
A Currency System in Geraldion Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64 ...
- Android 应用内HttpClient 与 WebView 共享 Cookie
DefaultHttpClient httpclient=....; String toUrl="https://cap.cityu.edu.hk/studentlan/details.as ...
- eclipse处理长字符串拼接快捷方法类
情景: 你在后台写sql文访问数据库时是不是要这样写 String sql="select a," +"b," +"c " +"f ...
- Unity3d 网络编程(二)(Unity3d内建网络各项參数介绍)
这里是全部Unity3d在网络中能用到相关的类及方法.纵观參数功能, Unity3d来写一个手游是不二的选择: RPC 能够传递的參数 int float string NetworkPlayer N ...
- T-Sql中的pivot和unpivot
写在前面 今天休息,抽空了解下pivot和unpivot,记得老师讲行转列的时候,貌似提到过,不过他说的最多的就是“这个你们私下可以自己学,很简单的...”,简单你咋不讲呢,不吐槽他了,还是好好整理下 ...
- 离散傅立叶变换与快速傅立叶变换(DFT与FFT)
自从去年下半年接触三维重构以来,听得最多的词就是傅立叶变换,后来了解到这个变换在图像处理里面也是重点中的重点. 本身自己基于高数知识的理解是傅立叶变换是将一个函数变为一堆正余弦函数的和的变换.而图像处 ...