采购订单审批与撤销审批BAPI
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" REFERENCE(IN_EBELN) TYPE BAPIMMPARA-PO_NUMBER
*" REFERENCE(IN_FLAG) TYPE CHAR01
*" REFERENCE(IN_FRGCO) TYPE BAPIMMPARA-PO_REL_COD
*" EXPORTING
*" REFERENCE(OUT_MSG) TYPE STRING
*"----------------------------------------------------------------------
CLEAR:OUT_MSG.
IF IN_FLAG = 'Y'.
CALL FUNCTION 'BAPI_PO_RELEASE'
EXPORTING
PURCHASEORDER = IN_EBELN
PO_REL_CODE = IN_FRGCO
EXCEPTIONS
AUTHORITY_CHECK_FAIL =
DOCUMENT_NOT_FOUND =
ENQUEUE_FAIL =
PREREQUISITE_FAIL =
RELEASE_ALREADY_POSTED =
RESPONSIBILITY_FAIL =
OTHERS = .
IF SY-SUBRC <> .
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
OUT_MSG = 'S'.
ENDIF.
ELSEIF IN_FLAG = 'N'.
CALL FUNCTION 'BAPI_PO_RESET_RELEASE'
EXPORTING
PURCHASEORDER = IN_EBELN
PO_REL_CODE = IN_FRGCO
EXCEPTIONS
AUTHORITY_CHECK_FAIL =
DOCUMENT_NOT_FOUND =
ENQUEUE_FAIL =
PREREQUISITE_FAIL =
RELEASE_ALREADY_POSTED =
RESPONSIBILITY_FAIL =
NO_RELEASE_ALREADY =
NO_NEW_RELEASE_INDICATOR =
OTHERS = .
IF SY-SUBRC <> .
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
OUT_MSG = 'S'.
ENDIF.
ENDIF.
相关表:
透明表 T16FS 批准策略

T16FE 批准标识的描述:采购凭证

使用ME25K 审批按钮跟踪:
标准事物: ME29N 采购订单审批
ME35K 采购合同审批
都会走程序 SAPLMEREP
包含文件 LMEREPI20
调用函数 BAPI_PO_RELEASE


标准代码
METHOD rel_resetrel.
DATA: ls_outtab TYPE merep_outtab_purchdoc_rel,
l_model TYPE REF TO lcl_reporting_model,
l_datablade TYPE REF TO lcl_datablade_general,
l_frgab TYPE rm06b-frgab,
l_frgzu TYPE ekko-frgzu,
l_frgke TYPE ekko-frgke,
l_ebeln TYPE ekko-ebeln.
FIELD-SYMBOLS: <line> LIKE LINE OF gt_outtab_purchdoc_rel.
l_model = my_view->get_model( ).
l_datablade ?= l_model->get_current_datablade( ).
l_frgab = l_datablade->get_option( 'FRGAB' ).
CHECK NOT l_frgab IS INITIAL.
MOVE-CORRESPONDING im_wa TO ls_outtab.
CASE ls_outtab-icon_release.
WHEN lcl_datablade_purchdoc_rel=>my_icon_allowed.
* release
CALL FUNCTION 'BAPI_PO_RELEASE'
EXPORTING
purchaseorder = ls_outtab-ebeln
po_rel_code = l_frgab
use_exceptions = 'X'
IMPORTING
rel_status_new = l_frgzu
rel_indicator_new = l_frgke
EXCEPTIONS
error_message =
OTHERS = .
IF sy-subrc <> .
MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
* update output table
LOOP AT gt_outtab_purchdoc_rel ASSIGNING <line> WHERE
ebeln = ls_outtab-ebeln.
IF l_ebeln NE ls_outtab-ebeln.
<line>-icon_release = lcl_datablade_purchdoc_rel=>my_icon_done.
l_ebeln = ls_outtab-ebeln.
ELSE.
CLEAR <line>-icon_release.
ENDIF.
<line>-frgzu = l_frgzu.
<line>-frgke = l_frgke.
SELECT SINGLE frget FROM t16fe INTO <line>-frget WHERE
spras EQ sy-langu AND
frgke EQ l_frgke.
ENDLOOP.
ENDIF.
WHEN lcl_datablade_purchdoc_rel=>my_icon_done.
* reset release
CALL FUNCTION 'BAPI_PO_RESET_RELEASE'
EXPORTING
purchaseorder = ls_outtab-ebeln
po_rel_code = l_frgab
use_exceptions = 'X'
IMPORTING
rel_status_new = l_frgzu
rel_indicator_new = l_frgke
EXCEPTIONS
error_message =
OTHERS = .
IF sy-subrc <> .
MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
LOOP AT gt_outtab_purchdoc_rel ASSIGNING <line> WHERE
ebeln = ls_outtab-ebeln.
IF l_ebeln NE ls_outtab-ebeln.
<line>-icon_release = lcl_datablade_purchdoc_rel=>my_icon_allowed.
l_ebeln = ls_outtab-ebeln.
ELSE.
CLEAR <line>-icon_release.
ENDIF.
<line>-frgzu = l_frgzu.
<line>-frgke = l_frgke.
SELECT SINGLE frget FROM t16fe INTO <line>-frget WHERE
spras EQ sy-langu AND
frgke EQ l_frgke.
ENDLOOP.
ENDIF.
ENDCASE.
ENDMETHOD. "rel_resetrel
采购订单审批与撤销审批BAPI的更多相关文章
- 【MM系列】SAP 根据采购订单创建外向交货单的BAPI
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 根据采购订单创建外向交货单的 ...
- SAP采购订单审批记录增强
采购订单审核函数: BAPI_PO_RELEASE 结尾加上 ENHANCEMENT ZME28_PO. "active version DATA:LS_EKKO TYPE EKKO. DA ...
- Oracle EBS-SQL (PO-5):采购订单控制信息查询.sql
select distinct pla.po_header_id, --pha.type_lookup_code, pha.segment1 采购订单号, appf.full_name ...
- 详解EBS接口开发之采购订单导入
采购订单常用标准表简介 1.1 常用标准表 如下表中列出了与采购订单导入相关的表和说明: 表名 说明 其他信息 po.po_headers_all 采购订单头 采购订单号,采购类型,供应商,地点, ...
- 函数使用一:采购订单BAPI_PO_CREATE1
REPORT YTEST01. DATA:GS_POHEADER TYPE BAPIMEPOHEADER, GS_POHEADERX TYPE BAPIMEPOHEADERX, GT_RETURN T ...
- SAP采购订单入库后不允许修改单价增强
需求:在根据采购订单做了入库凭证之后,如果用户反审批采购订单去修改单价,系统提示‘已收货,不允许修改单价’. 判断流程:是否有入库凭证 如果采购订单条件按采购信息记录定价,这个价格本来就不能修改,只能 ...
- MM--发票校验 及基于采购订单的MIRO发票校验过程(
一.介绍发票校验是物料管理(MM)系统的一部分.它提供物料管理部分和财务会计, 成本控制和资产管理部分的连接.物料管理模块的发票校验为以下目的服务:它完成物料采购的全过程 - 物料采购从采购申请开始, ...
- SAP交货单过账自动生产采购订单、采购订单自动收货入库
公司间需要买卖操作,由于发货和收货都是同一批人在操作,为了减少业务人员的工作量,提高工作效率,特实现以上功能 1.增强实现:增强点为交货单过账成功时触发,在提交前触发,如果遇到不可预知问题,可能造成数 ...
- VL10B 采购订单转DN
传入采购订单项目建交货单 FUNCTION zmmfmXXXX. *"------------------------------------------------------------ ...
随机推荐
- Java:JVM的内存模型
JVM内存模型 JVM内存模型可以分为两个部分,如下图所示,堆和方法区是所有线程共有的,而虚拟机栈,本地方法栈和程序计数器则是线程私有的. 1. 堆(Heap) 堆内存是所有线程共有的,可以分为两 ...
- 001_matlab_变量打印
MATLAB输出变量方法很多,主要包括以下几类.(1)语句后面不加分号“;”,这是直接输出数值的比较简单的方法.(2)disp(a)直接在命令窗口显示a变量,这种方法输出和第一种差不多.(3)fpri ...
- How To Install Docker On Ubuntu 18.04
Docker is an increasingly popular software package that creates a container for application developm ...
- postgrepSQL psql基础操作
1.登录postgrepSQL psql 2.退出postgrepSQL \q 3.查看postgrepSQL里面的数据库 1)psql -l 2)\ l 4.切换DB \c db_name 5.查看 ...
- 067_查看 KVM 虚拟机中的网卡信息(不需要进入启动或进入虚拟机)
#!/bin/bash #该脚本使用 guestmount 工具,可以将虚拟机的磁盘系统挂载到真实机文件系统中#Centos7.2 中安装 libguestfs-tools-c 可以获得 guestm ...
- 四十.创建Redis集群 管理集群
环境准备 准备 6台(51-56) redis服务器 以默认配置运行redis服务即可 一.创建Redis集群 1.启用集群功能( 51-56 都要配置) ]# netstat -antupl ...
- maven下载与安装
1.下载地址:http://maven.apache.org/download.cgi(Windows平台下载*.zip压缩包,Linux平台下载*.gz压缩包) 2.解压到E:\JAVA\Maven ...
- Ubuntu输入ifconfig找不到IP地址,只有lo问题
首先我的问题是这样的 然后一顿神百度,要找到你之前用的网卡或者设备,ifconfig -a,然后好用,出来了 但是并没有IP地址什么的,网上给的重启命令也没有用 输入的命令是:ifconfig ens ...
- PHP sha1()函数
<!DOCTYPE html> <html> <body> <?php $str = "dashu"; echo sha1($str); ...
- python #!/usr/bin/python 的作用
在说之前,这里推荐写: #!/usr/bin/env python 进入正题,在 Python 里面第一行代码: #!/usr/bin/python 其他有的可能是 python2 或者 python ...