- 博客(81)
- 收藏
- 关注
原创 ABAP 内表数据传递优化:FIELD-SYMBOLS vs. 结构体逐行传输
在 ABAP 开发中,经常需要将一个内表的数据传递给另一个内表,比如数据转换、数据缓存或者报表处理。那么,这两种方式的核心区别是什么?哪种方式在不同场景下更适合?本文将深入探讨这两种方式的优缺点,并提供最佳实践方案。也能完成相同的任务,且性能更优。如果希望 追加数据,可以使用。
2025-03-04 09:27:16
332
原创 ABAP开发实践——Dialog输入长度
最近在开发功能时,用到了Dialog屏幕开发,遇到一个问题,当进行到输入框的实现时,由于最终展示的屏幕大小仅和手机屏幕相当,这就使得输入框的长度无法设置得太长。但输入字段却是一段长度远超输入框能容纳范围的文本。这就导致程序在运行时,根本无法获取到完整的输入内容。为了解决这个问题,我开始了对输入框设置的探索。发现这个问题可以通过将输入框的定义长度和可见长度分别设置就能解决。将属性设为可滚动,然后分别设置定义长度与可见长度。设置成功后可以看到输入框1后面多了一个箭头标识。
2025-02-26 11:38:30
169
原创 ABAP开发技术分享——功能函数TH_SERVER_LIST
函数主要用于获取与 SAP 系统中任务处理相关的服务器列表信息。在 SAP 系统里,很多后台任务、批处理作业等需要在不同的应用服务器上执行,该函数可以帮助你了解当前系统中有哪些可用的服务器来处理这些任务。
2025-02-19 11:57:26
310
原创 ABAP 中 TRY - CATCH 异常处理实战分析
这段代码的核心功能是尝试更新数据库表zppt019中的记录。具体来说,它会把满足特定条件的记录的zpg字段值更新为布尔值TRUE(即abap_true同时,为了应对可能出现的数据库操作错误,使用了语句块进行异常处理。通过这个具体的代码示例,我们可以看到语句块在 ABAP 编程中对于异常处理的重要性。合理使用异常处理机制,可以帮助我们捕获和处理程序运行时的错误。
2025-02-17 11:24:49
397
原创 ABAP开发技术分享——结构化异常处理
在 ABAP 里,大家一般熟悉的是TRY-CATCH异常处理机制, 结构化异常处理(的组合用得比较少。它可以在异常处理时让程序在处理异常后继续从抛出异常的位置接着执行。
2025-02-15 09:30:00
142
原创 ABAP开发技术分享——动态 SQL 中的 USING 子句
在 ABAP 开发里,SQL 语句通常可以分为静态 SQL 和动态 SQL。静态 SQL 是指在编译时就已经确定好的 SQL 语句,而动态 SQL 则是在程序运行时才构建的 SQL 语句。动态 SQL 提供了更大的灵活性,允许根据不同的条件和用户输入来生成不同的 SQL 查询。
2025-02-15 08:30:00
351
原创 ABAP开发分享——间接字段符号
在 ABAP 里,字段符号(Field Symbols)是一种特殊的指针,它可以在运行时动态地指向数据对象(如变量、内表行、结构体的组件等),而不需要在编译时就确定具体指向哪个对象。间接字段符号则是在字段符号的基础上,允许一个字段符号指向另一个字段符号,进一步增强了动态引用数据的能力。通过间接字段符号,你可以在运行时灵活地改变数据的引用路径,处理一些复杂的动态数据操作场景。
2025-02-14 15:36:12
670
原创 立体库与 WCS(仓库控制系统)简要介绍
定义:立体库,即自动化立体仓库(AS/RS),是物流技术的革命性成果,能充分利用空间储存货物,一般由高层货架、巷道堆垛机、输送机、控制系统和计算机管理系统等构成,可以在计算机系统控制下完成单元货物的自动存取作业。优势空间利用率高:通过高层货架存储货物,能在有限的土地上实现更大的存储量,空间利用率可达普通平库的 2-5 倍。自动化程度高:采用自动化物料搬运设备,如巷道堆垛机、输送机、AGV 等,可自动完成货物的出入库操作,减少人工干预,提高作业效率。管理水平提升。
2025-02-13 13:48:12
455
原创 ABAP开发获取随机数:方法与实践
在ABAP中生成随机数非常简单,只需使用CL_ABAP_RANDOM类即可。通过合理设置种子,可以控制随机数的生成行为,满足不同的业务需求。本文介绍了生成随机整数、浮点数、动态种子、固定种子等内容,并扩展了生成64位随机整数和随机字符串的方法。
2025-02-13 10:35:24
1004
原创 SAP WMS:提升仓储效能与空间优化
SAP WMS 通过减少人工操作、提升作业效率以及与立体仓储协同实现空间高效利用,为企业打造了智能、高效、低成本的仓储管理模式。在竞争激烈的商业环境中,企业引入 SAP WMS,能有效优化仓储环节,增强供应链竞争力,为企业的长远发展奠定坚实基础。
2025-02-12 14:47:35
902
原创 WM 模块与 AGV 结合:智能仓储
WM 模块作为仓储管理系统的核心部分,集成了物联网、大数据、人工智能等先进技术,实现了仓储作业的全面数字化、自动化和智能化。它能够实时监控库存状态,优化作业流程,通过精准的数据分析,为企业提供科学的决策依据,从而大幅提升仓储作业效率,降低运营成本。例如,在库存管理方面,WM 模块可以实时跟踪货物的入库、出库和存储位置,确保库存数据的准确性,避免缺货或积压的情况发生。
2025-02-12 14:00:00
1020
原创 SAP 关于误删程序或表等内容的恢复
在sap中开发程序时如果因为某些原因误删了程序、底表等内容,可以通过下面的方法进行恢复首先,在创建程序时,该程序会自动生成一个版本误删以后首先要先创建一个同名程序或者底表,然后进入下图的版本管理可以看到之前的版本,点击检索确认即可将原来的代码恢复。该方法也可以用于平时开发程序,可以灵活的将程序在不同版本间进行切换。删除前删除后新建同名结构可以看到原来的版本
2025-01-03 11:57:15
722
原创 SAP ABAP中ALV标准按钮FCode查看
如图中的‘&IC1' 'ZCODE'是自己定义的按钮,如果想查看标准按钮,需要通过SE24查看类CL_GUI_ALV_GRID。这里就可以看到不同属性的功能描述,后面对应的初始值就是其FCode。
2024-12-31 13:50:53
509
原创 SAP ABAP日常问题处理(报表显示报错:字段目录没找到)
上面代码中it_fieldcatalog = gt_fieldcat如果没有正确获取到值就会报该错误,去核对宏定义时有没有将定义的gs_fieldcat增加到gt_fieldcat中 (APPEND gs_fieldcat TO gt_fieldcat.)
2024-12-27 08:43:26
331
原创 SAP QM创建检验计划
进入“创建检验计划:表头详细信息”维护界面并开始维护;常规数据中“用途”固定选择“5 货物接收”,“状态”选择“4 已审批(常规)”,然后回车进行下一步。点击“工序”按钮,进入”创建检验计划:工序总览”界面;点击维护“控制码”:固定选择“QM01: 检验计划”检验工序;1、点击维护“主检验特性”:选择已维护的检验特性,该物料实际有多少检验特性均需勾选维护到此物料的检验计划中;进入“创建检验计划:初始屏幕”界面,选择待维护检验计划的物料编码,选择“关键日期”后回车进入下一步。1、选择已维护好的“采样过程”
2024-12-26 10:42:55
597
原创 SAP QM创建检验特性
进入“建立主检验特性:初始屏幕”,选择工厂,输入“主检验特性名称”及“有效期”(有效期一般建议维护到前一天或者当月初,避免当天维护的检验特性当天无法使用),确认后点击回车下一步。2、一般信息中“状态”选择“2 已发布”及“1 完全复制模型”(选其他项将影响检验特性使用);3、根据实际需求设置并输入检验特性“短文本”及“搜索字段”,回车开始下一步。2、“结果确认”默认选择“汇总记录”、“所需特性”,然后回车进行下一步。3、“检验范围”无需设定,直接回车进去下一步。1、勾选“样品”选项为“采样过程”;
2024-12-26 10:32:14
426
原创 查找物料缺失视图的方法及应用
需要注意的是这里查出的物料只代表该物料在该工厂级别下的相关视图没有维护,并不一定表示该物料没有相关视图,以为物料可以挂靠在多个工厂下,所以当其他工厂下该物料维护了某个试图,那即使这个工厂下没有维护但是视图还是会存在,只不过点击时会提示不存在相关信息,需要到MM01或者MM02中进行添加。用户查看物料信息通常使用MM03,该事务可以通过视图展示物料的详细信息,,也可以查看哪些视图缺少维护,如果想要同时查询多个物料的视图缺失情况,可以使用数据库表MARC来实现。销售:销售组织数据 1。销售:一般/工厂数据。
2024-11-27 09:36:40
404
原创 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
585
原创 ABAP开发实战——SMARTFORMS输出字段长度问题
同时,这里涉及到了数量的输出问题,数量如果是参考某个数据元素,那么就会有一个初始长度,这里举个例子初始长为20,读入数据为11,那么输出时11前面就会空出18个空格,当输出行设置的长度和高度不够时,数据直接就看不到,如果高度足够,数据一般就会呈现出和其他文本不同行的情况,解决办法是再smartforms中将数量的输出格式转换成c类型,如图。这样输出数量时就不会产生空格。
2024-11-26 16:42:49
467
原创 ABAP开发实战——报表刷新
后面定义了GUI状态和点击功能按钮触发的时间,当我点击删除按钮以后,数据库中数据被调用的函数删除,单内表中数据并没有被删掉,而且要在数据行最后添加图标,一开始我是通过再次调用REUSE_ALV_GRID_DISPLAY将修改后的内表输出,但这样就会出现一个问题就是,此时点击。最近开发一个功能报表,要实现选中数据行后点击删除按钮,将数据删除,同时报表最后一列作为图标,成功显示绿灯,失败显示红灯。删除功能通过调用sap函数实现,这里不赘述,下面说一下删除完成后报表的刷新如何实现。
2024-11-25 11:10:53
933
原创 ABAP开发学习——标准GUI状态模板的复制
另外需要注意,功能键中的三个图标的代码并不是习惯性写的”BACK、EXIT、CANCEL",在这个标准模板中是“&F03,&F15,&F12”,所以在程序中如果需要设置按钮事件是,注意不要因为思维惯性写错。补充一下创建了GUI状态后复制标准状态的方法。应用成功,下一步点击激活即可。点击顶部的附加-调整模板。此时按钮全部都是空的。
2024-11-25 10:46:01
362
原创 ABAP开发实战——表单打印单位输出问题
在之前的文章中有提到过ABAP开发报表程序时会出现单位显示未转化值,就是说在中文环境下,用户希望看到的单位是“套”,但是报表程序输出的确是“SUI”,这时候需要取数时添加语句进行转化,但是,最近开发表单打印程序时发现,转化后的中文单位在打印的单据上会显示 “”,同时发现如果在程序中未使用转化单位,则打印的单据上会显示中文单位,查找未果后,想到在报表部分和smartform表单输出时使用两个单位字段,来实现单位正常显示。
2024-11-22 15:02:57
296
原创 ABAP开发学习——SNRO
SAP凭证号码的指定分为外部给号和内部给号。Internal number range即内部给号,指系统根据预先维护好的号码范围(只能是阿拉伯数字)依序给号,给出已有数字的下一个编号。External number range即外部给号,后台配置时指指定一个号码范围(可以仅含阿拉伯数字,也可以阿拉伯数字和字母混合,前台业务处理时,操作者仍需要人为指定给系统一个可用编号。SAP提供了自动编号工具,能根用户需求设定并自动生成一组唯一的编号。在这里进行发布即可将自己创建的编号传输到其他系统。
2024-11-18 13:57:57
741
原创 ABAP开发学习——内外部转换
如图可以看到在SAP中数据有时会出现不同的未转换值,在数据库中存储未转换值,但在。开发报表时可以考虑使用该函数实现内外部值的转换。报表中需要更改成转化的值,方便用户的浏览。
2024-11-18 12:12:22
482
原创 ABAP开发学习——ST05 ABAP SQL跟踪工具
第一步使用ST05之前,将要查的程序停留想要看的操作的前一步,这里想看到取数操作,所以停留在选择界面。第二步进入ST05 选择SQL Trace 然后激活。第四步ST05取消激活。
2024-11-15 08:41:56
500
原创 ABAP开发学习——权限控制
SU22:查看事物码中的权限对象(SU20,SU21,SU22)SU01:创建用户(SU01,SU02,SU03)SU53:权限测试(确认用户缺少权限)这里看到该权限根据采购组织来判断。su21可以直接查看某个权限对象。这里可以看其他用户是否有权限问题。
2024-11-14 10:32:55
680
原创 SAP ABAP开发学习记录——报表选择界面初始值
程序中定义选择界面的部分只是创建输入框,在后续使用中需要自行添加搜索条件,而有关时间或者日期这种,希望自动创建一个默认值,有两种方法,一种是在选择界面初始化时增加语句另外一种是通过在选择界面创建变式实现。1.代码方式选择界面代码(这里的参考字段是我的报表参考底表中的字段,可以自行修改)上图位置修改选择界面文本初识效果初始条件修改月份和时间的设置2.创建变式方式在选择界面点击保存进入下图界面在下图自由
2024-11-13 09:48:37
499
原创 SAP ABAP开发学习——function alv复选框设置
这里参照SLIS_LAYOUT_ALV定义字段。需要在内表定义需要的名称,这里使用‘BOX'box_fieldname就是复选框。1.关于报表复选框的创建。首先该报表要调用功能函数。双击这两个查看需要的字段。
2024-11-13 08:35:17
376
原创 SAP ABAP开发学习——凭证录入及增强
在之前创建的替换中重新加一个step并删掉之前的或者重新创建一个替换添加step。进入 prerequisite填写替换的前提条件。此时去录入凭证,行项目文本自动获取抬头文本。这里选U101,选择后双击U101进入程序。新建一个STEP,这里要选择要替换的字段。下面介绍前提条件多时,使用代码实现的方法。选exit可以写代码实现,这里选第三个。双击蓝色去选择字段,然后双击添加。substitution 替换。exit可选内容,可以自己添加。VALIDATION 检查。此时选择exit替换方式。
2024-11-12 14:18:06
1274
原创 SAP ABAP开发学习——事务SCI 代码分析器
如果回车后显示了版本,该数字是最新版本,将数字加一再新建。这里显示的检查项是自己选择的。点击后可以去程序中查看。
2024-11-11 11:35:28
451
原创 SAP ABAP开发学习——SQVI 自动生成报表
quick viwer不能再开发和生产环境传输。测试执行 这里是自动生成的选择界面。创建,先添加要查看的表。
2024-11-11 11:34:31
355
原创 SAP ABAP开发学习——登录语言问题
英文环境下编写的系统,中文环境下部分内容也会显示英文,这里可以用到ABAP中自带的翻译工具,让这些内容在不同环境显示不同语言内容。
2024-11-08 12:06:45
779
原创 SAP ABAP开发学习——WDA 八 组件的模块化与复用
基本概念建立引用组建的实例把接口视图嵌入到窗体中调用接口方法定义一个子界面的组件定义一个消费者组件界面中的设置值的修改
2024-11-07 08:25:17
231
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人