采购订单审批与撤销审批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. *"------------------------------------------------------------ ...
随机推荐
- 突然萌发关于 redis 的想法(2)
接着上篇的说.. 上一篇 : 突然萌发关于 Redis 的想法(1) 今天写商城的时候突然发现,其实商城这种 频繁操作,频繁更新, 等操作,都只需要全部存储在 Redis 中就行了, 可能有部分数据会 ...
- Spring核心概念和案例
一.Spring概念 1.Spring框架概述 轻量级的Java EE开源框架,它是由Rod Johnson为了解决企业应用程序开发的复杂性而创建, Spring框架提供了一个开发平台,用于整合其他技 ...
- man与info
Linux系统中在线求助命令:man page 与info page 还有--help . --help没有man的详细,首先我们来看mna 命令.在linux中输入 man + 相关的文件 ,就可以 ...
- perfectpixel 加载PSD图到网页中和已经写好的网页进行对比
perfectpixel 这是火狐的插件: 用途:加载设计图,和 已经编写好的网页进行对比,看是否完美还原. 谷歌也有类似的插件,但是无法下载.
- 脚本put数据到hdfs
1.vim putdata.sh 脚本功能: 每小时的第15分钟把上一小时的数据put到hdfs相应目录 为了避免大量的小文件,我们把文件夹下的文件cat到一个临时文件里,put成功后删除这个临时文件 ...
- hive基础及系统架构
1.hive是什么 hive是建立在hadoop上的数据仓库,提供数据的提取.转化和加载. 2.hive的数据存储 1]hive的数据存储基于hdfs 2]存储结构主要包括:数据库.文件.表.索引.视 ...
- JQuery制作网页——表单验证
1. 表单验证:减轻服务器的压力.保证输入的数据符合要求: 2. 常用的表单验证:日期格式.表单元素是否为空.用户名和密码.E-mail地址.身份证号码等: 3. 表单验证的思路: 1. ...
- Dao的扩展
题目: 1.查询所有学生记录,包含年级名称2.查询S1年级下的学生记录 一.项目目录 package com.myschool.entity; import java.util.ArrayList; ...
- REST与RPC区别
OSI网络七层模型 第一层:应用层.定义了用于在网络中进行通信和传输数据的接口: 第二层:表示层.定义不同的系统中数据的传输格式,编码和解码规范等: 第三层:会话层.管理用户的会话,控制用户间逻辑连接 ...
- Linq找不到行或行已更改
1.发生这种情况第一时间是确认了database明明存在这条数据 2.然后确认了Linq查找的条件中是否有连接条件使得连续更新中发生变化 3.最后发现原来是Linq使用的表实际中有个field由not ...