需找BADI方法有很多,据公司的牛人说,他知道的就不止5种 现在给出一些比较简单的方法 首先,大家要知道,一个程序的出口不会太多,需找出口,很多的时候都是在尝试 第二,方法:首先会给出事务码,然后通过SE93找出对应的程序Y 第三,se16里面,找到MODSAP这个表,在MENBER里面输入:*Y*查,会给出一些出口的NAME 第四,开一个新的窗口,运行smod,把这些NAME拷贝进去一个一个试试,应该可以找出. 第二种方法: 有时候第一种办法不行的时候,可以试试: 有时候,查到程序Y的时候拷贝…
先说需求:找出一个对象List中,某个属性值最大的对象. 1.定义对象 private class A { public int ID { get; set; } public string Name { get; set; } }  2.为两种方法定义两个时间段全局变量. 1 private static TimeSpan compare = new TimeSpan(); private static TimeSpan order = new TimeSpan();  3.第一种方法:对列表…
1.查找事物代码程序名 2.查找用户出口 T-CODE:SE80 在子例程中查找以USEREXIT开头的子程序.…
最近要写个程序,既有更新的,也有删除的,需要涉及到很多系统表,如果一个表一个表进行更新或者删除太慢了,于是就想通过创建动态内表来实现这些功能,在网上找了一些资料,经过多次尝试,终于测试成功了.网上讲述的创建动态内表的方法大致有两种.我做了一下测试,源代码附后.在这里提醒大家一点,在做动态更新程序的时候,要注意两点:      1.使用modify (p_tabname) from <dyn_wa>. 的时候,一定要确定要更新的字段是不是系统表的关键字段,如果是关键字段的话,需要先删除这条记录,…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP模块-查找系统出口或BADI的方法   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 1:找到类class:CL_EXITHANDLER 2:在1的类中找到方法method:GET_INSTANCE 3:然后在cl_exithandler=>get_class_name_by_int…
BADI这是第三代用户出口型.让我们来看看如何实现的细节. 一个,用户出口的类型 1,第一代 sap提供了一个空的子程序代码.在这个过程分,用户可以添加自己的代码.为了控制自己的需求.这样的改进是需要改变sap标准代码.演示样本:USEREXIT.. in SAPMV45A 2,第二代 sap提供的是CUSTOMER-FUNCTION,它是通过SMOD和CMOD完毕实现. 3,第三代 sap提供的第三代的用户出口就是BADI,他的调用方式是CALL METHOD (instance),(相关的T…
sap 三代出口(BADI)的查找方法 对于根据事务代码查找对应的BADI,网上介绍的方法很多,但总结下来无非就两种方法,在此把它记录下来,方便以后自己查阅了.(1)通过SE24,输入CL_EXITHANDLER,然后在方法GET_INSTANCE中设置断点,然后运行事务代码判断 exit_name的值,操作过程如下:输入se24,然后输入cl_exithandler 进去双击get_instance设置断点查看exit_name的值:   (2)通过st05跟踪,badi对应的数据表为 SXS…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4265513.html 17.             增强... 157 17.1.         第一代:基于源码增强(子过程subroutine)... 157 17.2.        …
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4260224.html   该文档是根据我过去多年学习与工作经验总结而成,项目开发过程中我都会参考此文档,主要ABAP很多细节上的东西还是还多,不可能你记得很牢固,或者你记得一时,但过不了几天就会…
转载自SAP师太技术博客,原文链接:http://www.cnblogs.com/jiangzhengjun/p/4260224.html 在原文上增加了链接,此文及此文的链接版权都归SAP师太所有. 1.      基础 1.1.           基本数据类型 1.1.1.        P类型(压缩型)数据 1.2.           TYPE.LIKE 1.3.           DESCRIBE 1.4.           字符串表达式 1.5.           Data…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4263619.html 字符串处理是每门应用语言里都要掌握的,在SAP ABAP语言里也不例外,说到字符串处理,必然少不了正则式的出现,有了正则式,字符串才可以灵活处理,不过我在ABAP项目中看到…
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将追究法律责任!原文链接:http://www.cnblogs.com/jiangzhengjun/p/4265581.html 19.             数据共享与传递... 222 19.1.         程序调用.会话.SAP/ABAP内存 关系... 222 19.2.       …
Prometheus是一套开源的系统监控报警框架.它启发于Google的borgmon 监控系统,由工作在 SoundCloud 的 google 前员工在 2012 年创建,作为社区开源项目进行开发,并于2015年正式发布.2016年,Prometheus 正式加入 Cloud Native Computing Foundation,成为受欢迎度仅次于Kubernetes 的项目. 我们可以利用Prometheus强大的监控功能来采集SAP ABAP Netweaver服务器上运行应用的各项日…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP BAPI_REQUISITION_CREATE创建采购申请   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 最近一个开发,在eban里追加了字段, 调用bapi赋值总是赋不进去 后来发现找的结构名称不对, 是:BAPI_TE_REQUISITION_ITEM 不是BAPI_TE_…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP替代校验全解析   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 GGB0是创建和维护验证的事务代码. 在GGB0验证中帮助和支持我们的一些其他t代码和组件是: 1.GS01:这个t代码是Create Set.2.SET:Set就像一个Range.我们也可以使用特定的价值.3.OB2…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 资产类BAPI过账 BAPI_ACC_DOCUMENT_POST   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 在使用BAPI:BAPI_ACC_DOCUMENT_POST进行资产过账的时候遇到了一些问题,过账的需求如下: 遇到的问题主要有三个: 第一个问题:如上图中的行项目,…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP MRKO增强   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 MRKO其实是个报表程序 这个报表程序存在着很多问题 很多时候满足不了使用 1:做增强 2:拷贝重写 我现在暂时做了增强 1:出口RMVKON00 2:隐士增强 出口增强借鉴了网上的例子 寄售记录表:rkwa , "C…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 关于BAPI的EXTENSIONIN 一点解释   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 其实EXTENSIONIN 相当于BAPI的一种增强 可以这样理解. 要传一下BAPI本身没有的数据 比如,自己增加的,或者是关联过来的数据 BAPI没有给提供这样的字段 那么就要自己…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 取两个内表的交集 比较两个内表的不同   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 SAP自带的函数:CTVB_COMPARE_TABLES和BKK_COMPARE_TABLES:似乎可以比较两个内表,得出第二个内表不同于第一个内表的部分(新增/删除了那些部分) 但是,具体的使…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP中使用for all entries in小结   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 ABAP开发中,使用for all entries in语句将不能使用join的聚集表(例如BSEG)或者需要使用select的内表与内表串联.以BSEG为例:select belnr…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 物料凭证增强   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 BADI:MB_DOCUMENT_BADI USER-EXIT:MBCF0002 实现功能1.当参照预留过帐时,检查填入数量是否小于预留数量 2.移动类型是***的时候,查看RSNUM是否为空 3.检查原始单据工厂和库…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 工单增强   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 工单增强:工单——工序——外部BADI:MRO_CONTRACT    实现功能:外部中填入的物料组和维护的物料组是否一致,不一致则报错BADI:WORKORDER_UPDATE  工单的很多判断都在这个里面来实现工单——…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP常用正则表达式大全   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 特殊表达式 : 1.货币格式: '123123211312.333333'.replace(/(?=(?!^)(?:\d{3})+(?:\.|$))(\d{3}(\.\d+$)?)/g, ',$1') //输出 1…
SAP ABAP学习路线图--标准教程 摘自:http://www.cnblogs.com/clsoho/archive/2010/07/05/1771400.html…
第二章SAP ABAP开发基础 1.ABAP数据类型及定义 ABAP程序中共包含8种基本数据类型定义, 类型名称 描述 属性 C Character Text (字符类型) 默认长度=1,默认值 = blank,最大长度无限 N Numeric Text (数字类型) 默认长度=1,默认值 =”0...“(随长度变动),最大长度无限制,该类型不能进行计算 如:电话号码 I Interger (整数类型) 默认长度=1, 默认值=0,取值范围为:-21477483648-+ D     P    …
SAP ABAP 的经常使用debug方式: 1. 直接在程序中设断点 在se38里面打上breakpoint,程序执行到该处即进入debug模式 2.background Job的debug 进入SM37 查找到自己想要debug的后台程序,这里执行完成或者正在执行的均可进入debug 查找到后打中job前面的勾 然后在控制框输入JDBG回车,即进入debug 3.在程序执行界面进入debug 在程序的控制框输入/H,执行程序的时候就会进入debug 4.正在执行的程序进入debug 进入sm…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 字符编码与解码.Unicode   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 本文为转载文章 DATA : xstr TYPE xstring .DATA :  l_codepage ( 4 ) TYPE n .DATA :  l_encoding ( 20 ).*******…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP下载带密码的Excel文件   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 REPORT ztest. , matnr TYPE matnr, maktx TYPE maktx, END OF li_makt. , field() TYPE c, END OF li_head. .…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP 高级业务应用程序编程(ABAP)   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 了解一下ABAP的含义. 高级业务应用程序编程(ABAP)的含义是什么? 高级业务应用程序编程(ABAP)是德国软件公司SAP在20世纪80年代开发的一种4GL特定于应用程序的编程语言. ABAP的…
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP Break Point   前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适. 正文部分 解释一下BREAK POINT是什么意思. Breakpoint是什么意思? 断点是ABAP程序中的一个区域,执行暂停并打开调试模式. 然后将控制转移到ABAP调试器,该调试器进一步控制程序的执行. 断点被分…