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_UPDATE_REQUISITION 前加上

ENHANCEMENT 1  ZME54N_PR.    "active version
DATA:LY_EBAN TYPE UEBAN.
DATA:LU_EBAN TYPE UEBAN.
DATA:LV_TABIX TYPE I.
DATA:LT_EKPO TYPE TABLE OF EKPO.
CLEAR:LY_EBAN,LU_EBAN,LV_TABIX,LT_EKPO[].
LOOP AT LT_YEBAN INTO LY_EBAN.
  READ TABLE LT_UEBAN INTO LU_EBAN WITH KEY BANFN = LY_EBAN-BANFN BNFPO = LY_EBAN-BNFPO.
  IF SY-SUBRC = 0.
    LV_TABIX = SY-TABIX.
    IF LY_EBAN-FRGKZ = ‘X‘ AND LU_EBAN-FRGKZ = ‘A‘."一审
      LU_EBAN-ANAME = SY-UNAME.
      LU_EBAN-ADATE = SY-DATUM.
      LU_EBAN-ATIME = SY-UZEIT.
      MODIFY LT_UEBAN FROM LU_EBAN INDEX LV_TABIX.
    ENDIF.
    IF LY_EBAN-FRGKZ = ‘A‘ AND LU_EBAN-FRGKZ = ‘B‘."二审
      LU_EBAN-BNAME = SY-UNAME.
      LU_EBAN-BDATE = SY-DATUM.
      LU_EBAN-BTIME = SY-UZEIT.
      MODIFY LT_UEBAN FROM LU_EBAN INDEX LV_TABIX.
    ENDIF.
*    IF LY_EBAN-FRGKZ = ‘B‘ AND LU_EBAN-FRGKZ = ‘A‘."取消二审
*      SELECT * INTO TABLE LT_EKPO FROM EKPO WHERE BANFN = LU_EBAN-BANFN AND BNFPO = LU_EBAN-BNFPO.
*        IF SY-SUBRC = 0.
*          MESSAGE ‘已经产生采购订单,不能取消!‘ TYPE ‘E‘.
*          EXIT.
*        ENDIF.
*    ENDIF.
  ENDIF.
ENDLOOP.
ENDENHANCEMENT.

ME55或者自开发的都是在函数 BAPI_REQUISITION_RELEASE中

开头或者结尾

ENHANCEMENT 1  ZME55_PR.    "active version
*DATA:LT_EKPO TYPE TABLE OF EKPO,
*     LS_EKPO TYPE EKPO.
*
*SELECT EBELN EBELP INTO CORRESPONDING FIELDS OF TABLE LT_EKPO
*  FROM EKPO WHERE BANFN = NUMBER AND BNFPO = ITEM AND LOEKZ <> ‘X‘.
*  IF SY-SUBRC = 0.
*    MESSAGE E689(06).
*  ENDIF.

  IF REL_CODE = ‘Z1‘.
  UPDATE EBAN SET ANAME = SY-UNAME
                  ADATE = SY-DATUM
                  ATIME = SY-UZEIT
              WHERE BANFN = NUMBER
              AND   BNFPO = ITEM.
  COMMIT WORK.
  ELSEIF REL_CODE = ‘Z2‘.
    UPDATE EBAN SET BNAME = SY-UNAME
                    BDATE = SY-DATUM
                    BTIME = SY-UZEIT
              WHERE BANFN = NUMBER
              AND   BNFPO = ITEM..
    COMMIT WORK.
ENDIF.

ENDENHANCEMENT.

如果已有审批记录,可通过下面代码批量更新

*****************************************************************
*  System      :  正业科技 ERP项目
*  Module      :  BC
*  Program ID  :  ZBCR001
*  Program     :  事业部核算利润表(新)
*  Author      :  李渊
*  Date        :  20160510
*  Description :
*****************************************************************
*  Modified Recorder :
*  Date         C#NO        Author                Content
*  -----------  -------    ------------------     ---------------
*  修改日期     C票或变更文档ID   修改者              修改内容
REPORT ZBCR001.

TYPES : BEGIN OF GS_CDHDR ,
          OBJECTCLAS TYPE CDPOS-OBJECTCLAS,
          OBJECTID   TYPE CDPOS-OBJECTID,
          CHANGENR   TYPE CDPOS-CHANGENR,
          TABNAME    TYPE CDPOS-TABNAME,
          TABKEY     TYPE CDPOS-TABKEY,
          FNAME      TYPE CDPOS-FNAME,
          CHNGIND    TYPE CDPOS-CHNGIND,
          VALUE_NEW  TYPE CDPOS-VALUE_NEW,
          VALUE_OLD  TYPE CDPOS-VALUE_OLD,
          USERNAME   TYPE CDHDR-USERNAME,
          UDATE      TYPE CDHDR-UDATE,
          UTIME      TYPE CDHDR-UTIME,
        END OF GS_CDHDR .

TYPES:BEGIN OF GS_EBAN,
        BANFN TYPE CDOBJECTV, "EBAN-BANFN,
        BNFPO TYPE EBAN-BNFPO,
        FRGKZ TYPE EBAN-FRGKZ,
        BADAT TYPE EBAN-BADAT,
      END OF GS_EBAN.

DATA:GT_CDHDR TYPE TABLE OF GS_CDHDR.
DATA:GW_CDHDR TYPE GS_CDHDR.
DATA:GT_EBAN TYPE TABLE OF GS_EBAN,
     GW_EBAN TYPE GS_EBAN.

SELECT  BANFN AS BANFN "TYPE EBAN-BANFN,
        BNFPO "TYPE EBAN-BNFPO,
        FRGKZ "TYPE EBAN-FRGKZ,
        BADAT "TYPE EBAN-BADAT,
  INTO CORRESPONDING FIELDS OF TABLE GT_EBAN
  FROM EBAN WHERE FRGKZ = ‘B‘
  AND  BADAT >= ‘20160408‘
  AND  BNAME = ‘‘.

CHECK GT_EBAN[] IS NOT INITIAL.

SELECT
       CDPOS~OBJECTCLAS
       CDPOS~OBJECTID
       CDPOS~CHANGENR
       CDPOS~TABNAME
       CDPOS~TABKEY
       CDPOS~FNAME
       CDPOS~CHNGIND
       CDPOS~VALUE_NEW
       CDPOS~VALUE_OLD
       CDHDR~USERNAME
       CDHDR~UDATE
       CDHDR~UTIME
        INTO TABLE GT_CDHDR
        FROM CDPOS
        INNER JOIN CDHDR
        ON CDHDR~OBJECTCLAS =  CDPOS~OBJECTCLAS
        AND CDHDR~OBJECTID   =  CDPOS~OBJECTID
        AND CDHDR~CHANGENR   =  CDPOS~CHANGENR
        FOR ALL ENTRIES IN GT_EBAN
        WHERE CDPOS~OBJECTID = GT_EBAN-BANFN
          AND CDPOS~OBJECTCLAS = ‘BANF‘
          AND CDPOS~TABNAME = ‘EBAN‘
          AND CDPOS~FNAME = ‘FRGKZ‘
          AND CDPOS~CHNGIND = ‘U‘
          AND CDPOS~VALUE_NEW = ‘B‘
          AND CDPOS~VALUE_OLD = ‘A‘ .
SORT GT_CDHDR BY UDATE DESCENDING UTIME DESCENDING .

LOOP AT GT_EBAN INTO GW_EBAN.
  LOOP AT GT_CDHDR INTO GW_CDHDR WHERE OBJECTID = GW_EBAN-BANFN.
    IF GW_CDHDR-TABKEY+13(5) = GW_EBAN-BNFPO.
      UPDATE EBAN SET BNAME = GW_CDHDR-USERNAME
                      BDATE = GW_CDHDR-UDATE
                      BTIME = GW_CDHDR-UTIME.
    ENDIF.
  ENDLOOP.
ENDLOOP.

酌情修改!!!!

时间: 2024-07-29 21:31:28

SAP采购申请审批记录增强的相关文章

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

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

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

采购申请审批流程多效率低,你的采购流程该信息化啦!!!

什么是采购申请审批流程? 采购申请批准流程是指请求批准购买某商品或服务的过程.管理者在根据企业政策购买原材料.设备设施.产品服务等业务需求时,会使用它来批准或拒绝采购申请. 采购申请审批流程步骤 在手动申请管理流程中,一旦确定需求,就会产生纸质的采购申请单并附加如报价和产品规格等支持性单据材料:然后通过申请审批流程转发此采购申请单,请求获得批准后,将生成采购订单. 虽然每个企业都有自己独特的采购业务流程,但是大多数公司关键的采购流程步骤是相似的.以下是采购申请批准流程中涉及的四个关键步骤: 1.

采购单据审批研究

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

SAP R3 采购申请相关简单操作 :附Oracle后台数据库对应表明细。

SAP R3 ,ME51N创建采购申请,ME52N修改采购申请,ME53N查看采购申请明细,ME54N单独审批:附Oracle后台数据库对应表明细.(简单了解一下数据库后台和前台的对应关系. input T-code: ME53N, open any Purchasing request. many table , careful edit data in oracle ( complex table releationship). 点 修改按钮可以更改哟,如下图.

sap 采购审批策略解析

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

采购申请科目分配校验增强-MEREQ001-EXIT_SAPLMEREQ_010

1,MEREQ001 用户出口(user-exit)MEREQ001是针对采购申请的增强,其中FM EXIT_SAPLMEREQ_010可以对采购申请的账户分配进行校验. &amp;lt;img class="alignnone size-full wp-image-6442" src="http://www.baidusap.com/wp-content/uploads/2019-06-05_9-20-25.jpg" width="689&quo

[BAPI]采购申请PR审批-BAPI_REQUISITION_RELEASE_GEN

1,BAPI简介 可以使用BAPI_REQUISITION_RELEASE_GEN对采购申请进行整体的审批,也就是说,无论采购申请有多少行项目,使用此BAPI可以统一审批. &lt;img class="alignnone size-full wp-image-6158" src="http://www.baidusap.com/wp-content/uploads/2019-05-05_11-23-15.jpg" width="702"

采购申请搭建审批流程

1.创建特征. 使用CT04或者路径:物料管理-采购-采购申请-审批过程-含分类的过程-编辑特性 2.编辑类. 使用CL01或者路径:物料管理-采购-采购申请-审批过程-含分类的过程-编辑类 3.定义审批流程. 路径:物料管理-采购-采购申请-审批过程-含分类的过程-用分类建立过程 3.1 批准组 3.2批准代码 3.3发布标识 双击进去里面也可以详细设置 3.4批准策略 复杂的可以如下设置 批准状态显示如下 分类显示如下:这里是维护的具体哪些采购组织或者什么采购类型,就是带出的前面类的特性值里