
ABAP开发
文章平均质量分 52
冰魄禾
这个作者很懒,什么都没留下…
展开
-
SAP工具栏隐藏
SAP隐藏应用程序工具栏的一种方法。原创 2025-04-15 13:52:08 · 91 阅读 · 0 评论 -
ABAP 内表数据传递优化:FIELD-SYMBOLS vs. 结构体逐行传输
在 ABAP 开发中,经常需要将一个内表的数据传递给另一个内表,比如数据转换、数据缓存或者报表处理。那么,这两种方式的核心区别是什么?哪种方式在不同场景下更适合?本文将深入探讨这两种方式的优缺点,并提供最佳实践方案。也能完成相同的任务,且性能更优。如果希望 追加数据,可以使用。原创 2025-03-04 09:27:16 · 387 阅读 · 0 评论 -
ABAP开发实践——Dialog输入长度
最近在开发功能时,用到了Dialog屏幕开发,遇到一个问题,当进行到输入框的实现时,由于最终展示的屏幕大小仅和手机屏幕相当,这就使得输入框的长度无法设置得太长。但输入字段却是一段长度远超输入框能容纳范围的文本。这就导致程序在运行时,根本无法获取到完整的输入内容。为了解决这个问题,我开始了对输入框设置的探索。发现这个问题可以通过将输入框的定义长度和可见长度分别设置就能解决。将属性设为可滚动,然后分别设置定义长度与可见长度。设置成功后可以看到输入框1后面多了一个箭头标识。原创 2025-02-26 11:38:30 · 222 阅读 · 0 评论 -
ABAP 中 TRY - CATCH 异常处理实战分析
这段代码的核心功能是尝试更新数据库表zppt019中的记录。具体来说,它会把满足特定条件的记录的zpg字段值更新为布尔值TRUE(即abap_true同时,为了应对可能出现的数据库操作错误,使用了语句块进行异常处理。通过这个具体的代码示例,我们可以看到语句块在 ABAP 编程中对于异常处理的重要性。合理使用异常处理机制,可以帮助我们捕获和处理程序运行时的错误。原创 2025-02-17 11:24:49 · 555 阅读 · 0 评论 -
ABAP开发技术分享——结构化异常处理
在 ABAP 里,大家一般熟悉的是TRY-CATCH异常处理机制, 结构化异常处理(的组合用得比较少。它可以在异常处理时让程序在处理异常后继续从抛出异常的位置接着执行。原创 2025-02-15 09:30:00 · 170 阅读 · 0 评论 -
ABAP开发技术分享——动态 SQL 中的 USING 子句
在 ABAP 开发里,SQL 语句通常可以分为静态 SQL 和动态 SQL。静态 SQL 是指在编译时就已经确定好的 SQL 语句,而动态 SQL 则是在程序运行时才构建的 SQL 语句。动态 SQL 提供了更大的灵活性,允许根据不同的条件和用户输入来生成不同的 SQL 查询。原创 2025-02-15 08:30:00 · 433 阅读 · 0 评论 -
ABAP开发分享——间接字段符号
在 ABAP 里,字段符号(Field Symbols)是一种特殊的指针,它可以在运行时动态地指向数据对象(如变量、内表行、结构体的组件等),而不需要在编译时就确定具体指向哪个对象。间接字段符号则是在字段符号的基础上,允许一个字段符号指向另一个字段符号,进一步增强了动态引用数据的能力。通过间接字段符号,你可以在运行时灵活地改变数据的引用路径,处理一些复杂的动态数据操作场景。原创 2025-02-14 15:36:12 · 679 阅读 · 0 评论 -
ABAP开发获取随机数:方法与实践
在ABAP中生成随机数非常简单,只需使用CL_ABAP_RANDOM类即可。通过合理设置种子,可以控制随机数的生成行为,满足不同的业务需求。本文介绍了生成随机整数、浮点数、动态种子、固定种子等内容,并扩展了生成64位随机整数和随机字符串的方法。原创 2025-02-13 10:35:24 · 1072 阅读 · 0 评论 -
SAP 关于误删程序或表等内容的恢复
在sap中开发程序时如果因为某些原因误删了程序、底表等内容,可以通过下面的方法进行恢复首先,在创建程序时,该程序会自动生成一个版本误删以后首先要先创建一个同名程序或者底表,然后进入下图的版本管理可以看到之前的版本,点击检索确认即可将原来的代码恢复。该方法也可以用于平时开发程序,可以灵活的将程序在不同版本间进行切换。删除前删除后新建同名结构可以看到原来的版本原创 2025-01-03 11:57:15 · 924 阅读 · 0 评论 -
SAP ABAP中ALV标准按钮FCode查看
如图中的‘&IC1' 'ZCODE'是自己定义的按钮,如果想查看标准按钮,需要通过SE24查看类CL_GUI_ALV_GRID。这里就可以看到不同属性的功能描述,后面对应的初始值就是其FCode。原创 2024-12-31 13:50:53 · 566 阅读 · 0 评论 -
SAP ABAP日常问题处理(报表显示报错:字段目录没找到)
上面代码中it_fieldcatalog = gt_fieldcat如果没有正确获取到值就会报该错误,去核对宏定义时有没有将定义的gs_fieldcat增加到gt_fieldcat中 (APPEND gs_fieldcat TO gt_fieldcat.)原创 2024-12-27 08:43:26 · 363 阅读 · 0 评论 -
SAP资源库浏览器乱码问题解决
勾选基于浏览器的输入字段,确认即可显示正常文字。如出现以上情况,可以点击实用程序-设置。原创 2024-12-17 13:33:04 · 330 阅读 · 0 评论 -
SAP 获取本地路径
调用函数WS_FILENAME_GET。原创 2024-11-27 14:44:04 · 394 阅读 · 0 评论 -
查找物料缺失视图的方法及应用
需要注意的是这里查出的物料只代表该物料在该工厂级别下的相关视图没有维护,并不一定表示该物料没有相关视图,以为物料可以挂靠在多个工厂下,所以当其他工厂下该物料维护了某个试图,那即使这个工厂下没有维护但是视图还是会存在,只不过点击时会提示不存在相关信息,需要到MM01或者MM02中进行添加。用户查看物料信息通常使用MM03,该事务可以通过视图展示物料的详细信息,,也可以查看哪些视图缺少维护,如果想要同时查询多个物料的视图缺失情况,可以使用数据库表MARC来实现。销售:销售组织数据 1。销售:一般/工厂数据。原创 2024-11-27 09:36:40 · 439 阅读 · 0 评论 -
ABAP开发学习——二分法查找问题记录
在ABAP中使用二分法查找之前需要注意内表需要提前经过排序,尤其注意根据哪个字段使用BINARY SEARCH,就要针对哪个字段进行排序。使用两个及以上字段更要注意这一点,不可以用A B排序,再用B C去二分法查找,这样通常是读不到所需数据的。TYPES: BEGIN OF ty_data, field1 TYPE i, field2 TYPE string, END OF ty_data.DATA: lt_table TYPE TABLE OF原创 2024-11-26 16:55:14 · 631 阅读 · 0 评论 -
ABAP开发实战——SMARTFORMS输出字段长度问题
同时,这里涉及到了数量的输出问题,数量如果是参考某个数据元素,那么就会有一个初始长度,这里举个例子初始长为20,读入数据为11,那么输出时11前面就会空出18个空格,当输出行设置的长度和高度不够时,数据直接就看不到,如果高度足够,数据一般就会呈现出和其他文本不同行的情况,解决办法是再smartforms中将数量的输出格式转换成c类型,如图。这样输出数量时就不会产生空格。原创 2024-11-26 16:42:49 · 525 阅读 · 0 评论 -
ABAP开发实战——报表刷新
后面定义了GUI状态和点击功能按钮触发的时间,当我点击删除按钮以后,数据库中数据被调用的函数删除,单内表中数据并没有被删掉,而且要在数据行最后添加图标,一开始我是通过再次调用REUSE_ALV_GRID_DISPLAY将修改后的内表输出,但这样就会出现一个问题就是,此时点击。最近开发一个功能报表,要实现选中数据行后点击删除按钮,将数据删除,同时报表最后一列作为图标,成功显示绿灯,失败显示红灯。删除功能通过调用sap函数实现,这里不赘述,下面说一下删除完成后报表的刷新如何实现。原创 2024-11-25 11:10:53 · 996 阅读 · 0 评论 -
ABAP开发学习——标准GUI状态模板的复制
另外需要注意,功能键中的三个图标的代码并不是习惯性写的”BACK、EXIT、CANCEL",在这个标准模板中是“&F03,&F15,&F12”,所以在程序中如果需要设置按钮事件是,注意不要因为思维惯性写错。补充一下创建了GUI状态后复制标准状态的方法。应用成功,下一步点击激活即可。点击顶部的附加-调整模板。此时按钮全部都是空的。原创 2024-11-25 10:46:01 · 417 阅读 · 0 评论 -
ABAP开发实战——表单打印单位输出问题
在之前的文章中有提到过ABAP开发报表程序时会出现单位显示未转化值,就是说在中文环境下,用户希望看到的单位是“套”,但是报表程序输出的确是“SUI”,这时候需要取数时添加语句进行转化,但是,最近开发表单打印程序时发现,转化后的中文单位在打印的单据上会显示 “”,同时发现如果在程序中未使用转化单位,则打印的单据上会显示中文单位,查找未果后,想到在报表部分和smartform表单输出时使用两个单位字段,来实现单位正常显示。原创 2024-11-22 15:02:57 · 305 阅读 · 0 评论 -
ABAP开发学习——AT NEW/AT END OF
可以在输出时实现一些分块。原创 2024-11-22 14:49:36 · 582 阅读 · 0 评论 -
ABAP开发学习——SNRO
SAP凭证号码的指定分为外部给号和内部给号。Internal number range即内部给号,指系统根据预先维护好的号码范围(只能是阿拉伯数字)依序给号,给出已有数字的下一个编号。External number range即外部给号,后台配置时指指定一个号码范围(可以仅含阿拉伯数字,也可以阿拉伯数字和字母混合,前台业务处理时,操作者仍需要人为指定给系统一个可用编号。SAP提供了自动编号工具,能根用户需求设定并自动生成一组唯一的编号。在这里进行发布即可将自己创建的编号传输到其他系统。原创 2024-11-18 13:57:57 · 774 阅读 · 0 评论 -
ABAP开发学习——内外部转换
如图可以看到在SAP中数据有时会出现不同的未转换值,在数据库中存储未转换值,但在。开发报表时可以考虑使用该函数实现内外部值的转换。报表中需要更改成转化的值,方便用户的浏览。原创 2024-11-18 12:12:22 · 523 阅读 · 0 评论 -
ABAP开发学习——ST05 ABAP SQL跟踪工具
第一步使用ST05之前,将要查的程序停留想要看的操作的前一步,这里想看到取数操作,所以停留在选择界面。第二步进入ST05 选择SQL Trace 然后激活。第四步ST05取消激活。原创 2024-11-15 08:41:56 · 557 阅读 · 0 评论 -
ABAP开发学习——权限控制 实例2
业务逻辑: 建立一个ZTMM_TEST1,表中插入几条数据,实现只能操作部门10的数据。原创 2024-11-15 08:57:15 · 592 阅读 · 0 评论 -
ABAP开发学习——权限控制 实例1
标准权限对象的使用原创 2024-11-14 10:54:11 · 324 阅读 · 0 评论 -
ABAP开发学习——权限控制
SU22:查看事物码中的权限对象(SU20,SU21,SU22)SU01:创建用户(SU01,SU02,SU03)SU53:权限测试(确认用户缺少权限)这里看到该权限根据采购组织来判断。su21可以直接查看某个权限对象。这里可以看其他用户是否有权限问题。原创 2024-11-14 10:32:55 · 712 阅读 · 0 评论 -
SAP ABAP开发学习记录——报表选择界面初始值
程序中定义选择界面的部分只是创建输入框,在后续使用中需要自行添加搜索条件,而有关时间或者日期这种,希望自动创建一个默认值,有两种方法,一种是在选择界面初始化时增加语句另外一种是通过在选择界面创建变式实现。1.代码方式选择界面代码(这里的参考字段是我的报表参考底表中的字段,可以自行修改)上图位置修改选择界面文本初识效果初始条件修改月份和时间的设置2.创建变式方式在选择界面点击保存进入下图界面在下图自由原创 2024-11-13 09:48:37 · 562 阅读 · 0 评论 -
SAP ABAP开发学习——function alv复选框设置
这里参照SLIS_LAYOUT_ALV定义字段。需要在内表定义需要的名称,这里使用‘BOX'box_fieldname就是复选框。1.关于报表复选框的创建。首先该报表要调用功能函数。双击这两个查看需要的字段。原创 2024-11-13 08:35:17 · 413 阅读 · 0 评论 -
SAP ABAP开发学习——实战准备
实战准备ABAP技能总结文档阅读能力对业务及事务的了解开发步骤信息系统结构SAP ERP 功能结构图原创 2024-11-12 14:18:44 · 296 阅读 · 0 评论 -
SAP ABAP开发学习——凭证录入及增强
在之前创建的替换中重新加一个step并删掉之前的或者重新创建一个替换添加step。进入 prerequisite填写替换的前提条件。此时去录入凭证,行项目文本自动获取抬头文本。这里选U101,选择后双击U101进入程序。新建一个STEP,这里要选择要替换的字段。下面介绍前提条件多时,使用代码实现的方法。选exit可以写代码实现,这里选第三个。双击蓝色去选择字段,然后双击添加。substitution 替换。exit可选内容,可以自己添加。VALIDATION 检查。此时选择exit替换方式。原创 2024-11-12 14:18:06 · 1463 阅读 · 0 评论 -
SAP ABAP开发学习——事务SCI 代码分析器
如果回车后显示了版本,该数字是最新版本,将数字加一再新建。这里显示的检查项是自己选择的。点击后可以去程序中查看。原创 2024-11-11 11:35:28 · 490 阅读 · 0 评论 -
SAP ABAP开发学习——SQVI 自动生成报表
quick viwer不能再开发和生产环境传输。测试执行 这里是自动生成的选择界面。创建,先添加要查看的表。原创 2024-11-11 11:34:31 · 378 阅读 · 0 评论 -
SAP ABAP开发学习——SE30 运行时间分析
执行程序 ,然后返回该界面点击评估。可以分析程序运行时间。原创 2024-11-08 12:07:05 · 668 阅读 · 0 评论 -
SAP ABAP开发学习——登录语言问题
英文环境下编写的系统,中文环境下部分内容也会显示英文,这里可以用到ABAP中自带的翻译工具,让这些内容在不同环境显示不同语言内容。原创 2024-11-08 12:06:45 · 883 阅读 · 0 评论 -
SAP ABAP开发学习——WDA 八 组件的模块化与复用
基本概念建立引用组建的实例把接口视图嵌入到窗体中调用接口方法定义一个子界面的组件定义一个消费者组件界面中的设置值的修改原创 2024-11-07 08:25:17 · 246 阅读 · 0 评论 -
SAP ABAP开发学习——WDA 七 使用文本与消息
目录从数据字典读取文本使用OTR文本从程序中调用OTR文本消息分类定义消息显示位置text类消息的使用T100 消息的使用 OTR消息实例消息内容修改可以自己创建OTR文本原创 2024-11-07 08:24:08 · 231 阅读 · 0 评论 -
SAP ABAP开发学习——WDA 六 控件与上下文数据编程
页面切换开始的时候执行before...,页面切换结束的时候执行post...先获得节点,通过get_element获取所有元素,根据元素获取属性。访问所有属性,以结构为单位。一个初始化,一个退出。原创 2024-11-06 08:48:00 · 385 阅读 · 0 评论 -
SAP ABAP开发学习——WDA 五 使用表格控件实例
所有用到的结构和表名要设置成context node/Attribute。接下来同样把to_input拖拽到from_output进行关联。这里把from_input拖拽到to_output进行关联。同样要勾选islayoutcontainer。对INPUT_VIEW。对OUTPUT_VIEW。把bapi方法再封装。原创 2024-11-06 08:47:37 · 688 阅读 · 0 评论 -
SAP ABAP开发学习——WDA 四
在container级声明占几列。显示内容根据界面大小进行自动适应。RowLayout有两种选项。这里的声明和上面相同可以注释。原创 2024-11-06 08:47:08 · 397 阅读 · 0 评论 -
SAP ABAP开发学习——WDA 三 Context
一起取数。原创 2024-11-05 08:47:24 · 451 阅读 · 0 评论