- 博客(99)
- 收藏
- 关注
原创 ABAP+在select的时候,可以A=B A=C B=C这样子JOIN吗?
摘要:本文展示了SAP系统中通过INNER JOIN关联MBEW、T001K、T030和SKAT表获取评估分类数据的SQL代码示例。代码演示了多表连接条件设定,包括评估类别(BKLAS)和评估模式(BWMOD)的匹配,以及后续LEFT JOIN获取科目文本。文中还提供了包含T030表与评估分组代码关联的完整查询示例,并推荐了更全面的SAP SELECT查询技术总结文章。
2025-11-07 20:55:40
216
原创 ABAP+如果在join的时候需要表1的字段某几位等于表2的字段的某几位,需要怎么做?
摘要:该SQL代码示例演示了如何使用SUBSTRING函数处理带前导零和不带前导零的数据匹配问题。通过在WHERE条件中使用SUBSTRING(C~KUNAG,5,6)=SUBSTRING(A~KUNNR,5,6)或C~KUNAG=SUBSTRING(A~KUNNR,5,6)的OR条件,可以同时匹配GT_ALV表中带前导零和不带前导零的记录与KNVV表中的数据,避免了额外补充前导零的操作。这种方法特别适用于需要关联两个字段格式不一致的表时使用,但执行效率需要进一步测试验证。
2025-11-06 17:13:56
247
原创 ABAP+内联声明和显示声明的内表有什么区别?
ABAP中内联声明(@DATA)和显式声明(TYPES)的内表在使用COLLECT时功能相同,主要区别在于维护性:内联声明的表结构直接继承数据库表,类型为临时匿名结构,仅限当前程序块使用;显式声明的表使用自定义命名类型,可全局复用且类型定义更清晰。COLLECT对两种方式都按非数值字段为键、数值字段累加的规则工作,但需确保数值字段类型正确(I/P/F)。最佳实践建议简单查询用内联声明,复杂逻辑用显式类型定义以提升可读性和维护性。(150字)
2025-11-06 17:11:31
435
原创 ABAP+WHERE字段长度不一致报错解决
本文讨论了SAP SELECT查询中当WHERE条件字段长度不一致时的报错问题。具体案例中,VBFA表的RFMNG字段(CURR13,3)与ACDOCA表的MSL字段(CURR23,3)类型不匹配导致错误。提出了两种解决方案:1) 将内表字段定义调整为与VBFA一致;2) 使用CAST转换数据类型,但需将FORALL ENTRIES IN改为JOIN。该案例总结了SELECT查询中的常见类型匹配问题及解决方法,更多详细内容可参考相关博客文章。 (字数:149字)
2025-11-05 10:12:44
411
原创 【案例总结】简直绝了——非常全面的SELECT总结
本文总结了ABAP开发中的常见SQL查询技巧,主要包括:1.字段截取(SUBSTRING)和连接(JOIN)的使用方法;2.处理字段前导零的两种方式(LPAD和截取);3.FOR ALL ENTRIES与JOIN的选择应用;4.不同长度字段匹配的解决方案(CAST转换)。文章通过具体代码示例,展示了如何优化查询语句、处理特殊连接条件以及避免常见错误,特别强调了SELECT SINGLE时需注意前导零问题。这些实用技巧来源于实际开发经验,能够有效提高ABAP程序开发效率。
2025-11-05 09:59:26
1517
原创 ABAP+拆分请求号
本文介绍了SAP系统中拆分请求的具体操作流程。主要步骤包括:1)新建目标请求号;2)打开原请求进入编辑模式;3)选中并移动需要拆分的对象;4)选择目标请求完成拆分。该流程适用于任意请求号的拆分练习。
2025-11-03 16:01:53
339
原创 ABAP+SELECT取数重复
我记得有时候我取数出来就直接被去重了,多条的数据如果没有把表的主键全部取出来,得到的数据就只有唯一一条,为什么自建表没有出现这个问题呢?这种情况后面使用DISTINCT就可以了,虽然不知道原因,但是还好有解决方法。这两种方式查询出来都是有重复项的必须手动去重。RBUKRS+RACCT是主键。
2025-10-23 15:02:25
212
原创 【ABAP函数】+CSAP_MAT_BOM_MAINTAIN更改BOM长文本
本文介绍了在SAP PP模块中如何使用程序更新BOM长文本字段,以解决标准BOM中缺少BOM点位字段的问题。通过调用CSAP_MAT_BOM_MAINTAIN函数,实现了对BOM项目文本和长文本的批量维护。文章详细说明了程序逻辑:包括数据准备、BOM查询匹配、文本分段处理(前80字符存入标准字段,超长内容存入长文本)以及事务提交等关键步骤。该方案为企业提供了一种有效的BOM扩展信息管理方法,解决了生产过程中特殊操作记录的存储需求。
2025-10-22 14:43:36
561
原创 【ABAP函数】+ALSM_EXCEL_TO_INTERNAL_TABLE批导长字段
本文介绍了SAP批导程序中处理长文本字段的方法。作者最初使用TEXT_CONVERT_XLS_TO_SAP函数时遇到字段长度限制问题,转而采用ALSM_EXCEL_TO_INTERNAL_TABLE函数。通过复制原函数并修改为Z开头的自定义函数ZALSM_EXCEL_TO_INTERNAL_TABLE_LONG,成功解决了500字符长文本的导入问题。文中提供了关键代码片段,展示了如何调整参数限制长度并实现长字段批导功能,最终完成了Excel数据到SAP系统的完整转换流程。
2025-10-22 14:31:16
285
原创 ABAP+ALV单元格编辑填充数字自动缩小了
在ALV报表开发中,当编辑单元格数值后出现数值自动缩小1000倍的问题,可通过设置字段目录(FIELDCAT)属性解决。具体方法是将DATATYPE设为'QUAN',同时将INTTYPE设为'C'。这种设置能确保数值显示和编辑时保持原始精度,避免系统自动进行单位转换导致的数值缩放问题。该解决方案适用于SAP ABAP开发中的ALV表格数值处理场景。
2025-09-30 11:12:02
227
原创 ABAP+SE11自建表的时候字段可以超过255长度吗?
摘要:SAP系统对表字段长度有限制,自建表、透明表和后台表在SE16N中显示时可能会被截断,但通过SELECT+READ仍可完整读取数据。文章还推荐了另一篇更详细的讨论SAP字符长度限制的文章《【案例总结】刻板印象——SAP里面的255个字符长度限制》。
2025-09-30 11:06:34
232
原创 ABAP+新值过长,仅可以传输255个元素
SAP GUI对字符输入存在255个字符的限制,导致手动填充3000长度的字段报错。解决方案是在代码中使用赋值语句(=)和连接符号(&&)分段拼接长字符串。示例展示了如何将长字符串分两段赋值给T_BOMLIST-POINT_STR字段,通过代码编辑器绕过GUI限制。这种方法适用于需要测试超长字符串的场景。
2025-09-30 11:00:40
188
原创 ABAP+字符串长度和字节长度如何计算
如果在sap中使用string类型的话,要注意这个语句:lv_s = lv_string+0(100),因为lv_string长度不是固定的,所以当lv_string长度没有100的时候,会报错。CL_ABAP_LIST_UTILITIES=>DYNAMIC_OUTPUT_LENGTH( 变量 ):是计算字节长度的。DATA:LV_D TYPE C LENGTH 500.这里的length指的是字符串长度500。STRLEN( 变量 ):是计算字符串长度的。
2025-09-30 10:52:07
254
原创 【案例总结】刻板印象——SAP里面的255个字符长度限制
【摘要】在对接外围系统接口时,发现元器件点位信息字段长度常超过255字符,起初误以为SAP字段长度限制为255。通过测试发现:1)SE11创建结构时CHAR类型可设500长度;2)调试模式手动输入会报错,但程序赋值可成功传输超长数据;3)透明表存储时SE16N显示截断但实际存储完整。测试证明SAP支持超255字符传输,STRING类型长度可变需注意截断报错。最终采用500长度方案,兼顾业务需求与系统性能。文章揭示了测试方法对结果的影响,并反思了开发者基础不牢导致认知偏差的问题。
2025-09-30 10:28:22
1397
原创 ABAP+计划订单、生产订单屏幕增强
本文总结了SAP PP模块中计划订单(MD11/MD12/MD13)和生产订单(CO01/CO02/CO03)的屏幕增强实现方法。两者分别使用PLAF和AUFK后台表,屏幕增强需先在后表结构中新增字段。PP模块增强较为简单,字段添加后即可自动保存到后台表。文中提供了计划订单增强案例,强调在结构CI_PLAFDB/CI_AUFK修改时需注意激活完整性,避免部分激活报错。同时提醒传输耗时较长(DEV到QAS可能需4-5小时),建议非上班时间或设置STMS定时传输以避免影响业务。
2025-09-16 10:50:29
320
原创 ABAP+ALV设置了DO_SUM但是仍然不能进行合计
在ALV中,设置了FILEDCAT的字段DO_SUM就可以将字段进行合计需要被合计的字段需要设置为I整型,N类型的数据也不能被合计
2025-08-05 09:22:49
386
原创 ABAP+测试序列(TEST SEQUENCE)
在SE37中测试连续调用多个BAPI时,可通过创建测试序列实现。具体步骤为:在SE37界面选择"功能模块>执行>测试序列",在弹出窗口中依次添加BAPI函数和BAPI_TRANSACTION_COMMIT(或COMMITWORK)函数。这样可以在BAPI调用成功后自动执行提交操作,模拟完整的业务流程。该方法是测试连续调用BAPI的标准解决方案,确保数据能正确提交到数据库。
2025-07-28 15:13:45
377
原创 【案例总结】幽灵单据——消失的交货单号
SAP幽灵单据,在SE37测试BAPI时成功生成了单据但是在后台表找不到,这是因为没有COMMIT WORK,需要创建测试序列来测试BAPI,文中有介绍相关方法~
2025-07-28 15:10:30
1331
1
原创 【与AI+】SAP WEBGUI集成开发与SAP INTERNET服务的关系
SAP WebGUI和Web Dynpro集成开发不完全等同于传统意义上的SAP Internet服务,但它们是SAP提供的不同技术方案,用于实现类似目标(通过Web访问SAP功能)。WebGUI/Web Dynpro是人机交互(HMI)的Web界面。Internet服务通常基于SAP NetWeaver的ICF框架。WebGUI依赖ITS服务,Web Dynpro有自己的运行时环境。Internet服务是机器对机器(M2M)的API调用。是SAP GUI的HTML版本。SAP的Web应用开发框架。
2025-07-05 09:13:11
220
原创 【与AI+】WebGUI集成开发
本次的内容是关于在SAP中将事务代码封装为Internet服务,使第三方系统可通过URL直接打开SAP事务的操作,属于。
2025-07-05 09:09:09
1590
原创 ABAP+未转换的值设置前导零/真实值
出现这个问题的原因是,我在MAKT里面看到的未转换值是ZH,我们都知道在开发时,如果使用查询语句,其实是查询对应的SE16N/SE11中未转换值,但是我使用ZH时,查询不到值,就特别疑惑。(但是呢,因为做了开发这么久了,我知道,这个未转换值在SE16N里面显示就是应该是1才对,所以一定是什么地方搞错了)在开发时,如果使用查询语句,其实是查询对应的SE16N/SE11中未转换值的。后面终于找到了更改配置的地方,下面这个截图就是正确的。这个改动只针对于自己的电脑/账号。
2025-07-04 13:29:17
376
原创 ABAP+&SFSY-FORMPAGES&变成星号
当总页数为个位数的时候不会出现星号,但是总页数为两位数的时候,10页之前就变成星号了。共几页:SFSY-FORMPAGE。这个问题可以通过设置2Z解决。第几页:SFSY-PAGE。
2025-07-04 11:51:11
210
原创 ABAP+记录一个BDC的BUG修改过程
摘要:业务顾问反馈BDC录屏代码在供应商配额(MEQ1)处理中存在数据行数限制问题,原代码仅支持3行数据录入,现需处理5行数据。通过调试发现BDCDATA中行号重复导致数据覆盖,修改方案有两种:1)直接递增行号(02→05);2)遵循原开发者意图,添加滚动条代码(BDC_OKCODE=NL)实现正确新增行。最终采用第二种方案,保留了原代码逻辑,成功实现动态行数处理。调试过程揭示了录屏时需注意滚动操作与回车操作的区别。
2025-07-02 09:49:44
701
原创 ABAP+MODIFY失败
文章摘要:作者遇到MODIFY不成功的问题,发现是由于变量作用域冲突导致。在第2529行定义的局部变量@DATA(GW_EBAN_PO-ZFZM)与工作区变量同名,导致修改无效。解决方法是改用@GW_EBAN_PO-ZFZM来访问全局变量。这个变量作用域问题让作者一度以为MODIFY功能失效,差点怀疑"代码学不存在了"。
2025-06-09 13:18:41
234
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅