SAP&Ehancement
Andrew.Liu
SAP/ABAP/.NET/VB/JAVA
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
SAP ABAP QA01 V0 104 申请功能 & 在此无效
QA01屏幕添加自定义按钮,点击按钮 报错V0104 申请功能 & 在此无效。经过上述过程后,可点击按钮,弹出自定义框。客制化屏幕添加按钮 “DETAILS”解决方法:SM30 V_T185。原创 2024-03-14 09:47:33 · 724 阅读 · 0 评论 -
销售凭证处理的User Exit
MV45ATZZMV45AOZZMV45AIZZNoteNoteExample。原创 2024-03-05 15:57:45 · 1070 阅读 · 0 评论 -
SAP-PP模块CO02生产订单修改日志增强开发明细
为了提高性能,SAP默认不开启修改日志功能,但是在日常操作中,经常会发现有人修改了生产订单的信息又不好查找当事人。为了追溯工单的修改历史,找到责任人,那么就需要在工单修改后记录日志,便于查找。SAP标准的功能并不做记录修改日志,因为会影响效率,涉及的字段太多。但是预留了出口,给客户做客制化的增强。增强程序:PPCO0001 开发应用程序: PP订单 增强函数:EXIT_SAPLCOBT_001 增强入口:ZXCO1U01。原创 2024-02-19 08:22:26 · 914 阅读 · 0 评论 -
SAP记录CO02生产订单修改日志的增强
出口函数EXIT_SAPLCOBT_001最大的好处就是TABLES参数中对AFKO、AFPO、AFVV、AFVC、RESB等主要的订单相关表都有记录,并且基本都有带_OLD后缀的表,记录的是修改前的值,一新一旧,用于比较太合适了!另外,在新表中(不带OLD)都有一个字段VBKZ,通过它可以判断记录是否修改过,是哪种修改(U-修改、I-插入、D-删除)?原创 2024-02-19 08:19:30 · 599 阅读 · 0 评论 -
BTEs – Business Transaction Events
Business Transaction Events (BTEs) have been available as of Release 4.0 and are another technique for implementing program exits, and only program exits.BTEs are generally found in the general ledger accounting (FI-GL), account receivable and payable (FI-原创 2024-01-24 15:38:09 · 948 阅读 · 0 评论 -
增强慎用commit语句
增强里面写commit相关语句,可能会造成严重问题。同样,rollback work也不能出现在增强中举例:在我们的MIGO操作时,首先产生物料凭证,同时去生成会计凭证。在中间书写commit语句(比如常用的增强点:MB_MIGO_BADI),可能造成生成物料凭证时,commit到了数据库,而后续凭证因为某些问题,没有产生成功,此时就造成了整体业务的不一致。提交数据库方式:1、显示提交。是指使用commit work或者这条语句触发的提交(包含封装这条语句的function module,如DB原创 2022-04-02 09:37:35 · 720 阅读 · 0 评论 -
ME59N 从PR自动创建PO,更改默认凭证类型NB为指定类型
ME59N 从PR自动创建PO,更改默认凭证类型NB为指定类型上述选择页面的增强如下所示:PARAMETERS:P_BSART TYPE EKKO-BSART MEMORY ID P_BSART OBLIGATORY.使用该指定凭证类型,BADI:ME_BSART_DET增强代码如下: METHOD if_ex_me_bsart_det~bsart_determine. DATA: lv_bsart TYPE ekko-bsart. .原创 2022-02-23 14:01:18 · 1505 阅读 · 0 评论 -
VOFM例程开发实现定价增强
例程,即Fomula,是使用在销售、采购、发票、交货等单据中定价过程的一小段程序。之所以有Fomula存在,是因为在不同的业务场景下,定价过程可能千差万别,但是却可以拆分为一些关键的组成部分,如复制请求、数据传输、要求、公式,每个例程就是一小段专用程序,这些例程程序会被标准程序动态调用:如:PERFORM XXX IN XXXX IF FOUND. 我们可以在例程中编写代码片段,修改运行环境中的数据。具体的每种例程都有不同的环境变量和接口数据。这里我们以mm物料模块的采购订单的增强为例。1、首先打开..原创 2021-09-07 15:16:33 · 932 阅读 · 0 评论 -
MM01、MM02、MM03物料主数据 基本数据1 TAB下做一个增强。
如何在事务代码:MM01、MM02、MM03物料主数据 基本数据1 TAB下做一个增强。首先我们需要再MARA表下,增强一个结构。(如何增强,请参考公众号里面的文章)选择后台路径 SPRO--后勤常规--物料主数据--配置物料主数据--创建定制子屏幕程序点击执行按钮,在选择屏幕上,我们去Copy标准的函数功能组MGD1.点击执行按钮,输入文本点击保存按钮,我们就创建好自定义的函数组。事务代码:SE80打开我们的的函数组。...原创 2020-10-05 11:39:24 · 3527 阅读 · 3 评论 -
四代增强方式和Enhancement查找方法
第一代:基于源码增强(子过程subroutine)第一代增强基于源代码,是SAP提供的一个空代码的子过程。在这个子过程中用户可以添加自己的代码,控制自己的需求。这类增强集中在一些文件名倒数第二个字符为Z的包含程序中。 一般是以UserExit_打头的子过程,因此形象地称其为用户出口。 用户出口Include在SAP标准程序的源代码里,可以说是源代码的一部分,更改用户出口就相当于更改SAP标准程序,是需要在SAP Service MarketPlace里申请对象键(Access Key)才能更改,不..原创 2020-09-15 15:21:40 · 1748 阅读 · 0 评论 -
基于函数模块的第二代增强 Customer Exits
SAP提供的是CUSTOMER-FUNCTION,它是通过SMOD和CMOD完成实现源代码增强以函数模块形式发布,在 SAP 的发行版本中,使用CALLCUSTOMER-FUNCTION<3位数字>调用这些函数模块,出口函数名称由三部分组成:EXIT_<程序名>_<3位数字>(注:这里的<程序名>即指调用此出口函数的程序名),它们在发布时只有一句代码 INCLUDE xxxxxxx。用户增强时,无需申请对象键,直接双击这个包含,然后回车,就可以...原创 2020-09-14 15:11:04 · 453 阅读 · 0 评论 -
【ABAP增强】基于函数的出口CMOD
与基于源码的出口不同的是,该类出口将依据函数结构指定具体的输入/输出参数。SAP已经为每一个该类出口对象分配了对应的函数,程序执行中,会调用该函数检查其对应的代码。如果需要实现某个程序的增强,首先必须找到其对应的出口。1、出口所对应函数的查找这里介绍一种逆向的查找法,首先通过源码找到函数,然后通过函数来找到出口对象。函数名称有三个部分组成,命名规则为:EXIT_<程序名>_<3位数字>。首四个字母一定是固定的EXIT,表示用户出口;第二个部分为程序名;第...原创 2020-09-14 15:05:58 · 1078 阅读 · 0 评论 -
ABAP 快速找到第二代增强的方法(基于函数出口增强function)
第一步:在检查出口增强函数中设置断点SE37-->MODX_FUNCTION_ACTIVE_CHECK第二步:执行对应功能(如检查,保存)时记录函数跳到断点:第三步:找增强SE16N --> 查看表:MODSAP在MEMBER中输入函数 EXIT_SAPLMEREQ_010等SMOD|CMOD激活增强F180A001激活函数EXIT_SAPLF048_001建立程序ZXF48U01,在该程序中写入增强逻辑并激活注意一个增强生效时必须同时激.原创 2020-09-14 15:01:06 · 736 阅读 · 0 评论 -
SAP第二代:基于函数出口增强(Function)
用SMOD(激活增强,只需一次激活)和CMOD(实现增强)维护;在SAP发布的版本中,使用CALLCUSTOMER-FUNCTION <3位数字>调用函数模块的,所以你可以通过在程序中查找cusomer-function来查找增强,出口函数名称由三部分组成:EXIT_<程序名>_<3位数字>(注:这里的<程序名>即指调用此出口函数的程序名),这样你就可以找到对应的增强函数了。针对数据表的增强出口是“CI_”打头的结构,这些结构将.INCLUDE...原创 2020-09-14 14:56:40 · 805 阅读 · 0 评论 -
SD--如何配置发票分割开票
在sap的开票业务中,用户常常需要根据自己的一些特殊需求分多张开具发票,这种需求是通过SD的单据复制来配置完成的。下面例子的配置是根据项目类别来开具发票,具体步骤如下:1、执行TCODE: VTFA;2、选中一个目标发票类型和源单据类型,双点击“Item”;3、在“Display View "Item":Overview"屏幕上,双击单据项目,系统就会弹出"Display View "Item":Detail"屏幕;4、查看Data VBRK/VBRP中指定的公式,公式代码如下:*---原创 2020-08-25 14:19:20 · 1186 阅读 · 0 评论 -
VOFM例程开发实现定价增强
例程,即Fomula,是使用在销售、采购、发票、交货等单据中定价过程的一小段程序。之所以有Fomula存在,是因为在不同的业务场景下,定价过程可能千差万别,但是却可以拆分为一些关键的组成部分,如复制请求、数据传输、要求、公式,每个例程就是一小段专用程序,这些例程程序会被标准程序动态调用:如:PERFORM XXX IN XXXX IF FOUND. 我们可以在例程中编写代码片段,修改运行环境中的数据。具体的每种例程都有不同的环境变量和接口数据。这里我们以mm物料模块的采购订单的增强为例。1、首先打开原创 2020-08-25 14:04:56 · 611 阅读 · 0 评论 -
VOFM(例程)
问题描述:SAP ERP 实施中,经常会用到例程开发(TCODE:VOFM)。创建例程需要ACCESS KEY,这个可以通过申请得到,创建后例程会被包含在一个REQUEST下,例程创建之后还不能马上使用,需要激活,如图所示。否则无法正常使用。文章转自http://blog.csdn.net/zeewjj/article/details/8656660REQUEST释放后可以传输到目标系统,但是问题就出现在传输。如果只是传输,是无法正常使用的。这是SAP的一个B...原创 2020-08-25 13:58:14 · 2033 阅读 · 0 评论 -
VF01 开票拆分
TCODE:VOFMVOFM->DATA TRANSFER->Billing Document-> NEW ROUTING (COPY FROM001)SPRO->Sales Distribution->Billing->Billing Document->Maintain Copying Control For Billing Document DELIVERY -> BILLING ...原创 2020-08-25 13:55:17 · 983 阅读 · 0 评论 -
BAPI_ACC_DOCUMENT_POST生成预制凭证增强
1、找该BAPI增强出口ACC_DOCUMENT(SE24跟踪);2、SE19对BADI实例化READTABLEc_extension2INTOwa_extensionWITHKEYstructure='PARK'.IFsy-subrc=0.MOVE'2'TOc_acchd-status_new.DELETEc_extensio...原创 2019-11-28 17:37:38 · 1304 阅读 · 0 评论 -
ABAP Short Dump on append of a sorted table ITAB_ILLEGAL_SORT_ORDER
The program short dumps when appending a sorted tablein the wrong sort orderdata: sorted_tab type sorted table of ty_tab with non-unique key key, line type ty_tab.line-key = 1.appen...原创 2019-10-31 09:41:58 · 1219 阅读 · 0 评论 -
Implementing Screen Exit for the transaction CO01
Implementing Screen Exit for the transaction CO01原创 2015-02-26 11:44:19 · 2238 阅读 · 0 评论 -
利用BADI WORKORDER_INFOSYSTEM在COOIS中添加自定义列办事处
test原创 2014-06-15 07:12:44 · 5587 阅读 · 0 评论 -
SAP 物料主数据屏幕增强 .
SAP 物料主数据屏幕增强 .原创 2014-05-26 15:29:37 · 3305 阅读 · 0 评论 -
SAP模块常用增强总结
SAP模块常用增强总结原创 2013-11-04 09:14:26 · 10195 阅读 · 0 评论 -
an example of enhancement framework
This scenario would work from ECC6.0 onwards. In Enhancement Framework, we can add our own Code at particular points. While debugging the standard SAP program, we have to decide at which place we原创 2013-06-16 12:00:44 · 7186 阅读 · 0 评论 -
The report is used to find enhancement and badi in sap.
REPORT Z_FIND_ENHANCEMENT .TABLES: TSTC,TADIR,MODSAPT,MODACT,TRDIR,TFDIR,ENLFDIR,SXS_ATTRT ,TSTCT.DATA: JTAB LIKE TADIR OCCURS 0 WITH HEADER LINE.DATA: FIELD1(30).DATA: V_DEV原创 2013-03-29 18:45:59 · 1202 阅读 · 0 评论 -
Sales Order 中的User Exit开发
关键字: user exit sapmv45a mv45afzz userexit_save_document在标准SAP业务应用中常会修改标准程序和增加一些自己的功能代码来满足特定化的需求,SAP提供了一些出口对特定的程序、屏幕、MENU以及Docuement进行扩展与修改,他们并不包含任何功能,并被分离存在特定的package里所以他既不会影响标准SAP源代码也不会妨碍升级。除了通过后原创 2012-06-14 09:37:44 · 1609 阅读 · 0 评论 -
SAP 三代增强badi的查找方法
<br />对于根据事务代码查找对应的BADI,网上介绍的方法很多,但总结下来无非就两种方法,在此把它记录下来,方便以后自己查阅了。<br />(1)通过SE24,输入CL_EXITHANDLER,然后在方法GET_INSTANCE中设置断点,然后运行事务代码判断 exit_name的值,操作过程如下:<br />输入se24,然后输入cl_exithandler<br /><br />进去双击get_instance设置断点查看exit_name的值:<br /> <br /><br />(2)通过st0转载 2011-01-21 16:19:00 · 2094 阅读 · 0 评论 -
Sales Order 中的User Exit开发
关键字: user exit sapmv45a mv45afzz userexit_save_document在标准SAP业务应用中常会修改标准程序和增加一些自己的功能代码来满足特定化的需求,SAP提供了一些出口对特定的程序、屏幕、MENU以及Docuement进行扩展与修改,他们并不包含任何功能,并被分离存在特定的package里所以他既不会影响标准SAP源代码也不会妨碍升级。除了通过后原创 2012-06-14 09:37:29 · 1807 阅读 · 0 评论 -
sap中 va02屏幕增强
我们需要对VA02的附加数据B标签页上加上几个字段,然后在保存销售订单的时候,将附加数据B标签页上的字段保存到VBAP表中。首先,附加字段一般来说都是增强字段,那么我们先对VBAP做增强字段。可以添加新的结构,这里我们借用一个已经建好的结构来示例。.APPEND下面就是已经增强进去的结构,我们双击.APPEND或者数据元素(即结构名)就可以进入结构。我们建立新增的字段,原创 2013-11-27 18:29:01 · 6843 阅读 · 0 评论 -
Sap Enhancement种类
增强(enhancement)的概念其实很广,SAP标准系统之上的所有二次开发,我们都可以理解为增强,做增强的目的就是标准的sap正常的业务系统 不能满足实际需求,所以我们在标准的系统基础进行增加不同的功能来达到不同企业的要求,换句话说我们今天开发过程中所有的ADD-ON都可以说是增强开发。原创 2015-04-24 12:59:29 · 2191 阅读 · 0 评论 -
如何查找Sap Enhancement
SAP 中如何寻找增强方法一、利用TCODE寻找增强(第二代的增强)执行一个程序(源代码后附),在选择屏幕处输入你所需要增强的程序TCODE,执行後,就会出现一个列表,那里就有关于如何增强这个的绝大部分SMOD增强。点击进去,自己手动寻找需要的增强。这是第二代增强方法二、利用系统函数寻找原创 2015-04-27 19:29:30 · 2991 阅读 · 0 评论 -
BADI
原创 2009-05-23 13:40:00 · 856 阅读 · 0 评论 -
SAP第四代增强(BTE实例详解)
★ 在创建或修改客户时做最终检查,不符合条件不允许保存● 查找合适的事件1、运行事务码XD02,查找到对应的程序为SAPMF02D,在此程序中搜索字符串“OPEN_FI_PERFORM”,可以找到此程序中的所有用到的BTE。2、运行事务码FIBF。由于此例只是做检查,因此要查找的是P/S型的事件,因此选择菜单“环境->信息系统(P/S)->F8运行程序”,根据事件描述和事件文档转载 2015-05-13 21:26:17 · 3216 阅读 · 0 评论 -
SAP第四代增强 BTE
SAP对FI模块真的做的非常透彻,所以称FI是SAP R/3 系统的中流砥柱啊,单就增强这块来看,之前有会计凭证的验证和替代,目前又出现了专为FI模块设计的增强方案BTE(OpenFI)。BTE的设计思路还是比较简单,和BADI有点类似。在标准程序中留有OPEN_FI的出口(以函数OPEN_FI_PERFORM_eventid_type的形式存在),然后提供一个可配置的TABLE,可以在里面针对某个特定的Event维护自己定义的出口函数,标准程序走到这里,如果查出用户定义了出口函数,则会调用,达到增强的目原创 2015-05-13 21:53:03 · 8604 阅读 · 0 评论 -
abap程序实现Enhencement增强
test原创 2015-05-14 14:59:37 · 3480 阅读 · 0 评论 -
abap查找增强的程序
REPORT ZTCODEUSEREXIT.TABLES : tstc, "SAP Transaction Codes(SAP 事务代码)tadir, "Directory of Repository Objects(资源库对象的目录)modsapt, "SAP Enhancements - Short Texts(SAP增强-短文件)modact, "Modificatio转载 2015-05-14 11:44:23 · 3336 阅读 · 0 评论 -
Overview of Enhancement Framework
Overview of Enhancement Framework Submitted to By Asit Gargasit_garg@infosys.com Document HeaderCreated byAsit GargCreated On26/Oct/2007转载 2015-05-14 17:36:52 · 994 阅读 · 0 评论 -
SAP校验和替代
一、校验:SAP校验是对在系统输入的数据按照规则设定检验是否正确,可以按抬头、行项目或完全凭证来判断,然后根据Validation设置的消息类型决定凭证是否允许保存(取消、错误、警告、信息),通过事物码OB28和GBB0实现。 二、替代:SAP一句话#SAP替代是指对某个字段或某个内容根据一定的条件判断后替代设定的值,该替代值可以为一个常量值,也可以为变量,根据实际业务而定,替代通过事物码OBBH和GBB1实现,其中可以按抬头、行项目或完全凭证来替换。原创 2015-05-18 12:29:04 · 10903 阅读 · 1 评论 -
ME21N,ME22N,ME23N之BADI增强ME_PROCESS_PO_CUST
一、需求背景:采购订单创建、修改时,根据所选订单类型不同,给抬头附加数据里的字段赋默认值。如下图所示: 二、实现方式:实现的方式可以有很多种,这里讲一下用BADI增强ME_PROCESS_PO_CUST实现的方式第一步:执行事务码se19,在BAdI Name处输入:ME_PROCESS_PO_CUST,然后点“Create Impl”按钮第二步:在Implementati...原创 2019-02-21 15:13:15 · 19748 阅读 · 0 评论
分享