业务需要,开发就搞。。。。

EBAN中增强结构:CI_EBANDB

ANAME     类型    UNAME    CHAR            用户名
ADATE 类型 AEDAT DATS 更改日期
ATIME 类型 UZEIT TIMS 时间
BNAME 类型 UNAME CHAR 用户名
BDATE 类型 AEDAT DATS 更改日期
BTIME 类型 UZEIT TIMS 时间

二级审批

ME54N的增强:

LMEREQF06

在函数:ME_UPDATE_REQUISITION 前加上

ENHANCEMENT   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 = .
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   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 >= ''
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+() = GW_EBAN-BNFPO.
UPDATE EBAN SET BNAME = GW_CDHDR-USERNAME
BDATE = GW_CDHDR-UDATE
BTIME = GW_CDHDR-UTIME.
ENDIF.
ENDLOOP.
ENDLOOP.

酌情修改!!!!

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

  1. SAP采购订单审批记录增强

    采购订单审核函数: BAPI_PO_RELEASE 结尾加上 ENHANCEMENT ZME28_PO. "active version DATA:LS_EKKO TYPE EKKO. DA ...

  2. SAP MM 无料号采购申请单中'评估价格'之填写

    SAP MM 无料号采购申请单中'评估价格'之填写 1),SAP系统中,采购申请里的'评估价格'来源有二, a)如果是有物料号的采购,则该价格来自于物料主数据里里的成本价(移动平均价或者标准价),自动 ...

  3. SAP MM已经转成PO的采购申请Item依旧可以被删除?

    SAP MM已经转成PO的采购申请Item依旧可以被删除? 笔者测试发现,我们可以删除已产生PO的PR item, 系统只是给一个警告信息,不阻止保存. Purchase orders already ...

  4. SAP MM 根据采购订单反查采购申请?

    SAP MM 根据采购订单反查采购申请? 前日微信上某同行发来一个message,说是想知道如何通过采购订单号查询到其前端的采购申请号. 笔者首先想到去检查采购订单相关的常用报表ME2L/ME2M/M ...

  5. 【MM系列】SAP 采购订单收货后不能修改价格的增强

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 采购订单收货后不能修改价格的 ...

  6. 【ABAP系列】SAP ABAP BAPI_REQUISITION_CREATE创建采购申请

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP BAPI_RE ...

  7. 详解EBS接口开发之采购申请导入

    更多内容可以参考我的博客  详解EBS接口开发之采购订单导入 http://blog.csdn.net/cai_xingyun/article/details/17114697 /*+++++++ ...

  8. ERP采购申请管理(三十九)

    获取当前表单在流程中的状态: /// <summary> /// 获取当前表单在流程表中的状态 /// </summary> /// <param name=" ...

  9. ERP产品采购申请管理(三十八)

    BLL层代码: public class BioPurchaseBLL { /// <summary> /// 购进申请添加 /// </summary> /// <pa ...

随机推荐

  1. [YY]已知逆序列求原序列(二分,树状数组)

    在看组合数学,看到逆序列这个概念.于是YY了一道题:已知逆序列,求出原序列. 例子: 元素个数 n = 8 逆序列 a={5,3,4,0,2,1,1,0} 则有原序列 p={4,8,6,2,5,1,3 ...

  2. JBOSS批量扫描

    exploit-db提供出了EXP,如下: /* * JBoss JMXInvokerServlet Remote Command Execution * JMXInvoker.java v0.3 - ...

  3. Beaglebone Black 和树莓派

    我不是创客.我买了个 Beaglebone Black 来玩,主要是拿来学习. 入手前,看过好几个树莓派 (Raspi - 2 Model B)和 Beaglebone Black (BBB) 比较, ...

  4. ABAP Enhancement:第二部分

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  5. nancy的诊断2

    接上文. 一 再看看第二个面板内容 点击带文号 的  Interactive Diagnostics 这个面板 如下 上面的是诊断程序,默认是系统提供的测试用的诊断程序.  你可以 通过实现IDiag ...

  6. Codeforces Round #135 (Div. 2) E. Parking Lot 线段数区间合并

    E. Parking Lot time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...

  7. mypc--------------->lspci,lsusb,meminfo cpuinfo ioports filesystems interrupts mounts net partitions pagetypeinfo slabinfo timer_list uptime version zoneinfo 等配置信息

    [user@username home]$ lspci00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM Contro ...

  8. hibernate对象关系实现(四)继承实现

    继承实现方式分为三种:subclass; joined-subclass;union-subclass a.类中体现   b.库中体现分为三种: b.1:一种方式:人和学生公用一张表,添加一个辨别字段 ...

  9. alloc && afree

    #define ALLOCSIZE 10000 static char allocbuf[ALLOCSIZE]; static char *allocp = allocbuf; char *alloc ...

  10. 转 git使用命令, 特别:git checkout -b a 与 git branch a区别

    创建分支: $ git branch mybranch 切换分支: $ git checkout mybranch 创建并切换分支: $ git checkout -b mybranch 更新mast ...