SAP采购订单审批记录增强

采购订单审核函数:

BAPI_PO_RELEASE

结尾加上

ENHANCEMENT 1  ZME28_PO.    "active version
DATA:LS_EKKO TYPE EKKO.
DATA:LS_ZEKKOADD TYPE ZEKKOADD.
CLEAR:LS_EKKO,LS_ZEKKOADD.
SELECT SINGLE * INTO LS_ZEKKOADD FROM ZEKKOADD WHERE EBELN = PURCHASEORDER.
SELECT SINGLE * INTO LS_EKKO FROM EKKO WHERE EBELN = PURCHASEORDER.
  IF SY-SUBRC = 0.
    IF LS_ZEKKOADD IS INITIAL.
      LS_ZEKKOADD-EBELN = LS_EKKO-EBELN.
      LS_ZEKKOADD-FRGGR = LS_EKKO-FRGGR.
      LS_ZEKKOADD-FRGSX = LS_EKKO-FRGSX.
       IF LS_EKKO-FRGSX = ‘ZB‘."三级审批
          IF PO_REL_CODE = ‘ZY‘.
            LS_ZEKKOADD-FRGKE = ‘2‘.
            LS_ZEKKOADD-BNAME = SY-UNAME.
            LS_ZEKKOADD-BDATE = SY-DATUM.
            LS_ZEKKOADD-BTIME = SY-UZEIT.
          ELSEIF PO_REL_CODE = ‘ZZ‘.
            LS_ZEKKOADD-FRGKE = ‘3‘.
            LS_ZEKKOADD-CNAME = SY-UNAME.
            LS_ZEKKOADD-CDATE = SY-DATUM.
            LS_ZEKKOADD-CTIME = SY-UZEIT.
          ELSEIF PO_REL_CODE = ‘ZX‘.
            LS_ZEKKOADD-FRGKE = ‘1‘.
            LS_ZEKKOADD-ANAME = SY-UNAME.
            LS_ZEKKOADD-ADATE = SY-DATUM.
            LS_ZEKKOADD-ATIME = SY-UZEIT.
          ENDIF.
       ELSEIF LS_EKKO-FRGSX = ‘ZC‘."2级审批
          IF PO_REL_CODE = ‘ZX‘.
            LS_ZEKKOADD-FRGKE = ‘1‘.
            LS_ZEKKOADD-ANAME = SY-UNAME.
            LS_ZEKKOADD-ADATE = SY-DATUM.
            LS_ZEKKOADD-ATIME = SY-UZEIT.
          ELSEIF PO_REL_CODE = ‘ZY‘.
            LS_ZEKKOADD-FRGKE = ‘3‘.
            LS_ZEKKOADD-CNAME = SY-UNAME.
            LS_ZEKKOADD-CDATE = SY-DATUM.
            LS_ZEKKOADD-CTIME = SY-UZEIT.
          ENDIF.
        ENDIF.
         MODIFY ZEKKOADD FROM LS_ZEKKOADD.
      ELSE.
        IF LS_EKKO-FRGSX = ‘ZB‘."三级审批
            IF PO_REL_CODE = ‘ZY‘.
            UPDATE ZEKKOADD SET FRGKE = ‘2‘
                                BNAME = SY-UNAME
                                BDATE = SY-DATUM
                                BTIME = SY-UZEIT
                                WHERE EBELN = PURCHASEORDER.
            ELSEIF PO_REL_CODE = ‘ZZ‘.
            UPDATE ZEKKOADD SET FRGKE = ‘3‘
                                CNAME = SY-UNAME
                                CDATE = SY-DATUM
                                CTIME = SY-UZEIT
                                WHERE EBELN = PURCHASEORDER.
            ELSEIF PO_REL_CODE = ‘ZX‘.
            UPDATE ZEKKOADD SET FRGKE = ‘1‘
                                ANAME = SY-UNAME
                                ADATE = SY-DATUM
                                ATIME = SY-UZEIT
                                WHERE EBELN = PURCHASEORDER.
            ENDIF.

          ELSEIF LS_EKKO-FRGSX = ‘ZC‘."2级审批
          IF PO_REL_CODE = ‘ZX‘.
            UPDATE ZEKKOADD SET FRGKE = ‘1‘
                                ANAME = SY-UNAME
                                ADATE = SY-DATUM
                                ATIME = SY-UZEIT
                                WHERE EBELN = PURCHASEORDER.
            ELSEIF PO_REL_CODE = ‘ZY‘.
            UPDATE ZEKKOADD SET FRGKE = ‘3‘
                                CNAME = SY-UNAME
                                CDATE = SY-DATUM
                                CTIME = SY-UZEIT
                                WHERE EBELN = PURCHASEORDER.
          ENDIF.
          ENDIF.
        ENDIF.
  ENDIF.

ENDENHANCEMENT.
时间: 2024-11-02 05:13:03

SAP采购订单审批记录增强的相关文章

SAP采购申请审批记录增强

业务需要,开发就搞.... EBAN中增强结构:CI_EBANDB ANAME 1 类型 UNAME CHAR 12 0 用户名 ADATE 1 类型 AEDAT DATS 8 0 更改日期 ATIME 1 类型 UZEIT TIMS 6 0 时间 BNAME 1 类型 UNAME CHAR 12 0 用户名 BDATE 1 类型 AEDAT DATS 8 0 更改日期 BTIME 1 类型 UZEIT TIMS 6 0 时间 二级审批 ME54N的增强: LMEREQF06 在函数:ME_UP

采购订单审批/取消审批程序(BAPI_PO_RESET_RELEASE、BAPI_PO_RELEASE)

data:  gt_t16fs       TYPE STANDARD TABLE OF t16fs,            "批准策略 "定义采购订单对应的审批信息 BEGIN OF gt_ekko OCCURS 0, ebeln LIKE ekko-ebeln,                                "采购订单编号 frggr LIKE ekko-frggr,                                   "审批组

【MM系列】SAP 采购订单的批量修改

公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 采购订单的批量修改 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 现在有一个需求,我们需要冻结一批采购订单,但是由于批量冻结的后果无法预知,我们打算用一个折中的办法. 利用采购订单行项目中的“最近收货日期”字段,下面我们先看一下它的解释. 最近可能的收货这是收货(GR)的最近的可接受日期. 如果

SAP采购订单屏幕增强

转自<http://blog.csdn.net/heng0757/article/details/8073875> 为采购订单增加一个页标签,在其中放入客户自定义字段, 1. CMOD 增强接口: MM06E005 EXIT_SAPMM06E_006 为子屏幕参数传入出口(抬头) EXIT_SAPMM06E_008 为子屏幕参数传出出口(抬头) EXIT_SAPMM06E_012 为子屏幕参数传入出口(项目) EXIT_SAPMM06E_018 为子屏幕参数传出出口(项目) 屏幕出口 0101

ME_PROCESS_PO_CUST 实现采购订单行项目增强

转自:https://www.cnblogs.com/jinyin/p/10598124.html 用户希望创建采购订单时,输入行项目时,能根据采购订单类型,自动带出科目分类类别. 业务顾问看了一下配置,不能实现这个功能,所以用增强实现. 采购订单BADI增强:ME_PROCESS_PO_CUST.SE19创建BADI实现,进入实施类方法: IF_EX_ME_PROCESS_PO_CUST~PROCESS_ITEM ,添加代码. DATA: ls_item TYPE mepoitem, " 行项

采购单据审批研究

流程 采购模块允许你使用通用的流程审批很多不同单据类型. Oracle采购模块中的单据审批路径包括如下单据类型: 采购申请 内部申请 标准采购订单 计划采购订单 一揽子采购协议 全球采购协议 一揽子采购协议发放 计划发放 合同采购协议 全球合同采购协议 主要采购类型的审批路径被分解为以下两个工作流: 采购订单审批工作流(poxwfpoa.wft) 采购申请审批工作流(poxwfrqa.wft) 下面的项目类型在两个主要的工作流中都会讲到: poxwfpoa.wft - POAPPRV poxwf

sap 采购审批策略解析

在sap中,审批 使用到的表有: 审批组: T16FG 批准组                 (审批组的值表) T16FH 批准组的描述   (审批组的文本表) 审批组中审批代码: T16FC 批准代码           (审批组可用的审批代码) T16FD 批准代码的描述(审批代码文本描述) 审批策略: T16FS 批准策略            (审批策略值表,且定义了该审批策略所使用所在审批组下的审批代码) T16FT 批准策略的描述(审批策略文本表) 定义审批标识: T16FB 批准

【MM 非生产性物资采购】SAP实施项目中采购员在非生产性采购申请审批流中的角色安排(转)

非生产性物料,也叫间接物料,也有些企业称之为MRO物料.它主要包括而不限于如下物料:办公用品,劳保用品,备品备件,服务,固定资产等等.这些物料在很多企业以及项目实践中,是不用建料号的,也不在SAP里做库存管理的.若要采购这些物料,需求业务部门有专人提交采购申请,然后走各级审批流程,完成了审批之后,由采购部门帮忙完成后续的采购业务. 每个SAP实施项目里都要讨论这种非生产性物料的采购申请的审批流程,不管是在本地项目里还是GLOBAL ROLL-OUT的项目里.笔者是做后勤模块的,项目中要负责MM模

SAP收货时自动创建采购订单(或106 ,自动建立退货采购订单)

在实际业务中,常常出现到货物料没有订单或订单未批准的现象,按照SAP的标准流程,应该拒绝收货.但在实际业务中,这些物料可能是紧急采购的急件,如不及时处理,将会影响生产计划的安排.对于这种特殊情况,其实SAP有很灵活的处理方式,即由收货自动创建订单.需要说明的是,这种操作方式并不是SAP推荐的,不应在实际业务中大量采用. 具体流程如下: 1.移动类型101已在后台设置为自动创建定单.具体方法是:进入IMG后台,物料管理->库存管理和实际库存->收货->自动创建采购订单,双击进入后,将101