SAP采购申请审批记录增强
业务需要,开发就搞。。。。
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采购申请审批记录增强的更多相关文章
- SAP采购订单审批记录增强
采购订单审核函数: BAPI_PO_RELEASE 结尾加上 ENHANCEMENT ZME28_PO. "active version DATA:LS_EKKO TYPE EKKO. DA ...
- SAP MM 无料号采购申请单中'评估价格'之填写
SAP MM 无料号采购申请单中'评估价格'之填写 1),SAP系统中,采购申请里的'评估价格'来源有二, a)如果是有物料号的采购,则该价格来自于物料主数据里里的成本价(移动平均价或者标准价),自动 ...
- SAP MM已经转成PO的采购申请Item依旧可以被删除?
SAP MM已经转成PO的采购申请Item依旧可以被删除? 笔者测试发现,我们可以删除已产生PO的PR item, 系统只是给一个警告信息,不阻止保存. Purchase orders already ...
- SAP MM 根据采购订单反查采购申请?
SAP MM 根据采购订单反查采购申请? 前日微信上某同行发来一个message,说是想知道如何通过采购订单号查询到其前端的采购申请号. 笔者首先想到去检查采购订单相关的常用报表ME2L/ME2M/M ...
- 【MM系列】SAP 采购订单收货后不能修改价格的增强
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[MM系列]SAP 采购订单收货后不能修改价格的 ...
- 【ABAP系列】SAP ABAP BAPI_REQUISITION_CREATE创建采购申请
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP BAPI_RE ...
- 详解EBS接口开发之采购申请导入
更多内容可以参考我的博客 详解EBS接口开发之采购订单导入 http://blog.csdn.net/cai_xingyun/article/details/17114697 /*+++++++ ...
- ERP采购申请管理(三十九)
获取当前表单在流程中的状态: /// <summary> /// 获取当前表单在流程表中的状态 /// </summary> /// <param name=" ...
- ERP产品采购申请管理(三十八)
BLL层代码: public class BioPurchaseBLL { /// <summary> /// 购进申请添加 /// </summary> /// <pa ...
随机推荐
- java运行期类型鉴定
运行期类型识别?RTTI? 假如我们有一个基类的引用,这个引用也可以作为子类的引用嘛,现在我们想知道这个引用的类型到底是啥? 当从子类到基类之后有很多的信息都会丢失掉,比如有一个人类的对象可以看成普遍 ...
- SELECT时为何要加WITH(NOLOCK)
此文章非原创,仅为分享.学习!! 要提升SQL的查询效能,一般来说大家会以建立索引(index)为第一考虑.其实除了index的建立之外,当我们在下SQL Command时,在语法中加一段WITH ( ...
- Codeforces Round #380 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 2) E. Subordinates 贪心
E. Subordinates time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- 不同浏览器对document.documentElement和document.body的scrollheight ,scrollTop,clientHeight以及判断滚动条是否滚动到页面最底部 【转载】
前段时间学习怎么写一个瀑布流的时候,就接触到document.documentElement和document.body的区别,然后今天查资料的时候看到这篇博客,遂转载记录在此. 两种特殊的文档属性可 ...
- Jconsole 监控tomcat
通过jconsole监控可以获取监控tomcat的相关的数据信息 如何通过代码来获取其中的线程和内存状况呢? 首先要配置好jconsole监控的相关配置,一搜基本就是那一个, 配置配不好的话接下来的工 ...
- intanceof以及引出的__proto__和prototype
instanceof运算代码 function instance_of(L, R) { //L 表示左表达式,R 表示右表达式 var O = R.prototype; // 取 R 的显示原型 L ...
- iOS - OC Enum 枚举
前言 iOS 5.0 之后,提供了新的枚举定义方式,定义枚举的同时,可以指定枚举中数据的类型. typedef NS_OPTIONS(_type, _name) new; -> 位移的,可以使用 ...
- facebook 开源文件传输 lib
https://github.com/facebook/wdt WDT is an embeddedable library (and command line tool) aiming to tra ...
- SG 复习全部 (全部SG 总览)
1. SQL 基础 进入查缺补漏阶段 2. PL/SQL 进入 practice 阶段 3. Fundamental 1 这部分还是比较重要 architecture 数据库启动与关闭步骤 insta ...
- Linux crontab 定时任务
http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/crontab.html 19. crontab 定时任务 通过crontab 命令,我们 ...