SAP-ABAP
文章平均质量分 64
ERP文库
多年SAP从业经历让我深感它的博大精深!借此平台与业内人士互相交流和学习,同时也为了记录、总结和分享经验,与大家共同进步!欢迎大家加我微信交流和探讨SAP的前沿技术, 微信号:saplib ,更多价值文章可关注微信公众号:ERP文库 .
展开
-
如何使用屏幕变式控制SAP系统操作界面字段的必输、显示或隐藏
如何使用屏幕变式控制SAP系统操作界面字段的必输、显示或隐藏原创 2024-04-06 12:12:24 · 1368 阅读 · 0 评论 -
如何DEBUG ABAP程序中的循环语句
如何DEBUG ABAP程序中的循环语句原创 2024-04-06 12:01:13 · 576 阅读 · 0 评论 -
ABAP调试器的一些高级用法
这样,我们只需要在该方法设置断点,单步调试即可。最笨的办法,就是在第14行设置断点,然后进行21次单步调试,走完前21次循环,然后进入第22次,也就是我们需要仔细调试的循环体。比如我写了一个名为insert_table的宏,在宏的实现体里,第12行先检查传入宏的第一个参数长度是否大于等于5, 如果确实是,将该参数插入一个由第二个参数指定的内表里。相应的,ABAP顾问如果能花费一些时间更深入了解自己每天都几乎会使用到的调试器,可以提高ABAP问题排查的效率,在面对一些比较复杂问题时,能够更加从容。转载 2023-03-10 21:15:00 · 2176 阅读 · 0 评论 -
ABAP调试小技巧
SAP ABAP调试小技巧转载 2023-03-10 11:17:26 · 1570 阅读 · 0 评论 -
SAP ERP系统MM模块常用增强之四:采购申请输入字段的校验检查
SAP系统创建成本中心采购申请必须要填写会计科目,但通常需求申请人并不清楚应该填写那个会计科目,SAP标准解决方案通过物料组去关联会计科目,创建采购申请时候,当输入物料组后会自动带出会计科目,不需要用户填写(关于这方面配置可以参考如下文章),但是这公司的申请人在创建采购申请时候还是会经常选错物料组,因为选错物料组,带不出会计科目,创建不了采购申请,所以提出这样的增强需求,保证会计科目能自动带出。在上面界面写上增强代码,点击保存->激活,最后激活增强项目。下面详细介绍下使用二代功能模块增强的详细实施步骤。原创 2023-03-01 19:00:00 · 1399 阅读 · 0 评论 -
SAP ERP系统SD模块常用增强之一:VA01/VA02创建或修改SO的输入检查
本文通过一个例子详细介绍SD模块常用增强之一:销售订单保存前检查的增强。原创 2023-02-13 12:49:14 · 5497 阅读 · 0 评论 -
将SAP SCRIPT FORM打印内容下载为PDF格式文件
【代码】将SAP SCRIPT FORM打印内容下载为PDF格式文件。转载 2023-01-17 16:04:14 · 743 阅读 · 0 评论 -
SAP-检查多个关联字段输入,以及有条件地调用模块
在该示例子中,只有当列表(C)中的最后字段包含非初始值的值时,才调用模块X。但是,如 果 X 发现错误,则在错误对话框中重新打开这三个字段(A,B,C)并等待输入。链内发现错误时,会重新显示屏幕,并允许输出链中任何地 方发现的字段,但仍不允许输入任何非链字段。在此,如果字段A、B、C、D、E、F中任何一个具有不同于初始值的值,则调用模块 X。使用 FIELD 语句的条件形式,可以防止不必要的模块调用。该条件功能类似于 ON REQUEST,但是如果链中的任一字段的值发生更改,则调用ABAP/4模 块。转载 2023-01-14 14:18:04 · 511 阅读 · 0 评论 -
[ABAP] 六种调试技巧,帮你找到源代码
[ABAP] 六种调试技巧,帮你找到源代码转载 2023-01-03 11:06:37 · 1562 阅读 · 0 评论 -
内存管理(SAP和ABAP内存)缓存设定以及程序memory管理等
内存有两种,一种是SAP内存,一种是ABAP内存:(这两种内存都是针对同一个用户,如果要针对不用用户就要使用共享object,请参考后面内容)他们两者的关系如下图:还有一个概念需要理解的:用户登陆后,最多一个系统可以开6个窗口,这在SAP中称为External Mode。而同一个窗口中,运行某程序后,可以通过CALL TRANSACTION/SUBMIT或其他代码跳转到其他程序,这个称为Internal Mode。Internal Mode的调用栈最多为9层。转载 2022-12-29 16:55:42 · 1758 阅读 · 0 评论 -
SAP Memory & ABAP Memory
SAP Memory & ABAP Memory 详细介绍转载 2022-12-29 15:00:25 · 537 阅读 · 0 评论 -
SAP如何重置已释放请求的状态
SAP如何重置已释放请求的状态转载 2022-12-25 20:07:46 · 1099 阅读 · 2 评论 -
SAP 预制发票MIR7抬头行项目检查BADi-MRM_HEADER_CHECK
预制发票MIR7抬头行项目检查BADi-MRM_HEADER_CHECK转载 2022-12-03 19:21:34 · 870 阅读 · 0 评论 -
SAP ABAP弹出选择框函数汇总
SAP 弹出选择框函数汇总转载 2022-12-03 19:07:35 · 2364 阅读 · 1 评论 -
SAP 修改物料移动平均价格程序
SAP 修改物料移动平均价格程序原创 2022-11-30 15:39:24 · 853 阅读 · 0 评论 -
【三代增强干货一枚】外向交货单Delivery (VL01N)Header屏幕增强
【三代增强干货一枚】外向交货单Delivery (VL01N)Header屏幕增强转载 2022-11-25 15:36:18 · 1266 阅读 · 0 评论 -
ABAP如何获取当前月的第一天和最后一天
ABAP如何获取当前月的第一天和最后一天转载 2022-11-24 15:20:15 · 1994 阅读 · 0 评论 -
ABAP中提高程序性能的方法总结
ABAP中提高程序性能的方法总结转载 2022-11-23 09:23:57 · 1111 阅读 · 0 评论 -
ABAP新语法: MOVE-CORRESPONDING新语法
ABAP新语法——MOVE-CORRESPONDING新语法转载 2022-07-18 16:52:11 · 2150 阅读 · 0 评论 -
DEMO:交货单过账WS_DELIVERY_UPDATE
交货单过账BAPI_OUTB_DELIVERY_CONFIRM_DEC 会有冲销不掉的问题,具体可以查看:外向交货单发货过账BAPI:BAPI_OUTB_DELIVERY_CONFIRM_DEC一般使用WS_DELIVERY_UPDATEDEMO比较简单:*&---------------------------------------------------------------------**& Report ZDEMO_VL02N_POST*&---------转载 2020-10-19 10:18:39 · 697 阅读 · 0 评论 -
BAPI--BOM导入(感谢依风提供)
*& Author : **& Create date : 2007/03/31 **& Program type : Report **& Report name : ZPPPR_BOM_INPUT **&转载 2020-07-14 09:15:22 · 444 阅读 · 0 评论 -
SAP各模块表清单及逻辑关系介绍
分享韩国同行总结的各模块的表清单及逻辑关系,这对ABAP顾问和各模块业务顾问应该非常有用的物料主数据SD与MMPS模块PP模块QM模块CO模块FI模块原创 2020-06-12 16:25:34 · 7026 阅读 · 1 评论 -
SAP ABAP新旧语法对比
原创 2020-05-18 18:51:55 · 700 阅读 · 0 评论 -
SAP ABAP新语法之LOOP GROUP BY
通过下面2个实例代码来理解 LOOP GROUP BY效果测试代码如下:REPORT ZENG_T06.TYPES: BEGIN OF struct, key1 TYPE string, key2 TYPE string, col TYPE i, END OF struct, itab TYPE STANDARD TABLE OF struct WITH EMPTY KEY.DATA(itab) = VALUE itab( ( key1 = `a`原创 2020-05-18 18:51:37 · 14433 阅读 · 0 评论 -
SAP ABAP新语法
变量及对象声明1.1 变量声明Before:DATA text TYPE string.text = ....After:DATA(text) = ....1.2 使用工作区Before:DATA wa like LINE OF itab.LOOP AT itab INTO wa.…ENDLOOP.After:LOOP AT itab INTO DATA(wa).…ENDLOOP.1.3 返回参数Before:DATA xml TYPE xstring.CALL TR转载 2020-05-15 17:08:14 · 1537 阅读 · 0 评论 -
SAP增强实施-通过一个例子了解隐式增强
1.如何查找隐式增强隐式增强点一遍存在于SAP程序,子程序,功能模块,方法中的开过或结尾处。以如下图标标示。要查看SAP程序,子程序,功能模块,方法隐式增强点, 以功能模块Z_CALC_PRICE 为例说明。打开SAP程序编辑器,进入程序编辑界面。2 实施隐式增强点例子以下面程序为例说明上面一个简单程序要实现功能,用户输入一个 净价和 折扣 ,自动计算全价 和 折扣价执行后如下 ,输入1000 和 10 结果如下折扣价,功能模块Z_CALC_PRICE没有进行计算,所以为输入原创 2020-05-11 22:19:15 · 4555 阅读 · 1 评论 -
SAP 域增强步骤-给“域”值范围增加固定值
以SAP ECC6.0 EPH6 IDES 系统中例子程序BC427_00_EPS来做说明域S_WEEKDAY_00 值范围 只有1-5,如下下面现在通过实施域增加来实现增加6和7固定值步骤如下输入Tcode se11 进入如下界面点击显示点击固定附件值,进入如下界面激活后返回,可以看到域S_WEEK_00 值范围,已增加了固定值6和7域增强实施后效果测试测试代码如下...原创 2020-05-08 19:40:18 · 1389 阅读 · 0 评论 -
SAP增强实施-第四代显式和隐式增强技术介绍
概念介绍SAP第四代增强- Enhancement-Point,分为2种显式增强和隐式增强,显式增强就是手动加入到程序中的Enhancement options,隐式增强就是系统内置的Enhancement options。 第四代增强其实是第三代上的加强,都属于面向对象语言的接口技术的应用,但第四代增强使SAP增强实施更具灵活性,四代增强可以直接在源代码里面写增强了代码了,输入参数也不像 二代...原创 2020-05-08 19:39:34 · 6035 阅读 · 1 评论 -
SAP增强实施步骤-三代增强BADI技术
步骤1:查找增强点,即要找到对应事务码的BADI的名称和它的方法,它的方法也就所谓的增强点,写增强代码的地方.先运行SE24,查看类对象CL_EXITHANDLER, 在其方法:GET_INSTANCE的14行( CALL METHOD CL_EXITHANDLER=>GET_CLASS_NAME_BY_INTERFACE)打上一个断点。退出或另开页面,输入需要查询是否存在bad...原创 2020-04-27 20:07:34 · 5584 阅读 · 0 评论 -
SAP增强实施步骤--二代增强
二代增强实施步骤1.找到增强出口原创 2020-04-24 20:56:05 · 1821 阅读 · 0 评论 -
ABAP =>、->和?=符号的含义
=> 调用类的静态方法在OO ALV(面向对象ALV报表)中使用CL_SALV_TABLE的静态方法Factory()来创建类的实例时需要用到=>具体的代码如下:TRY. cl_salv_table=>factory( IMPORTING r_salv_table = lr_table CHANGING...转载 2020-04-14 11:49:01 · 1739 阅读 · 0 评论 -
ABAP中的异常处理
在平时的ABAP开发中,需要捕获的异常通常为两种,一种是执行SQL,比如主键重复,INSERT语句字段类型不匹配等。还有就是RFC的通信错误,比如不能进行远程连接等。通常可以这么处理:1.数据库异常: DATA: lcx_error TYPE REF TO cx_root. "cx_sy_sql_error . "cx_sy_open_sql_db. DATA i_tab LIKE TA...转载 2020-04-14 11:38:45 · 1563 阅读 · 0 评论 -
几种sap增强的查找方法
方法一*************************************通过SE30,运行TCODE后,点Evaluate后,查看运行时间分析评估:命中清单。找以“exit”开头的SAP程序,如:EXIT_SAPLIE01_007,这个FUNCTION就是TCODE提供的一个出口。至于如何查看这个增强是属于哪个SMOD,能够查阅 MODSAP这个表(SAP Enhancements...转载 2020-04-10 20:36:18 · 730 阅读 · 0 评论 -
如何通过Tcode查找SAP各事务码对应的增强出口清单
通过Tcode 查找 sap增强的代码代码如下:&---------------------------------------------------------------------*& Report ZBB_FIND_EXIT&------------------------------------------------------------------...原创 2020-04-10 20:19:32 · 1992 阅读 · 0 评论 -
根据一个STO创建多个DN的功能函数
有个项目要求系统实现自动创建STO DN ,并且要求可以根据一个STO创建多个DN.最开始想到是这个BAPI 'BAPI_OUTB_DELIVERY_CREATE_STO 但是经过测试发现此BAPI创建DN时候只能交货数量等于STO订单数量,也就是不能根据一个STO的行项目,创建多个DN。所以最终使用如下功能模块解决这个问题功能模块名称:SHP_DELIVERY_CREATE_FRO...原创 2020-01-08 20:10:42 · 1033 阅读 · 0 评论 -
外向交货单发货过账BAPI:BAPI_OUTB_DELIVERY_CONFIRM_DEC
前面说过,可以使用 WS_DELIVERY_UPDATE进行外向交货单的发货过账,当然,这个可实现的很多,过账,冲销,删除都可以但是这个不是bapi,是个函数,则会缺少bapi自带的那些校验为了更安全,其实建议是使用 BAPI_OUTB_DELIVERY_CONFIRM_DEC但同时遇到一个问题,就是使用BAPI_OUTB_DELIVERY_CONFIRM_DEC发货过账,不能冲销提示啥...转载 2020-01-06 12:29:10 · 3568 阅读 · 0 评论 -
SAP参照sto订单创建外向交货BAPI
REPORT zlm_test_024.PARAMETERS: vbeln LIKE vbak-vbeln OBLIGATORY MEMORY ID aun.DATA: SHIP_POINT TYPE TVST-VSTEL, "装运点/接收点NUM_DELIVERIES TYPE VBNUM,STOCK_TRANS_ITEMS LIKE BAPI...转载 2020-01-06 12:21:41 · 529 阅读 · 0 评论