带你来SAP程序员的快乐星球

2021-10-29 23:21发布


          点击此处--->   EasySAP.com 群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)





什么是程序员快乐星球?

什么是ABAP的快乐星球

我现在就带你研究

茫茫的序列里

到底有没有存在程序的不二义性

人类是否能够全部掌握开源开发



ABAP CLUB

ABAP技巧与实战群


前言

————


建群以来

群主本着为ABAP实战答疑解惑的初心

一直为广大ABAP程序员总结着他的项目成果

并指导和探讨小伙伴们提出的各种问题

希望ABAPer少走弯路


在“ABAP技巧与实战”群里

大家积极提问

积极解答

很少看到这样务实的群

诚请同样务实的你来参加。


本文作为一个引子

通过一些平时容易忽略的小问题

来纠正一下大家的代码习惯

之后会陆续有更多较为复杂的群内答疑记录


欢迎大家来到我们

属于“ABAP程序猿”的快乐星球。




Q1


"表 " 操作  



来到程序世界的大门,最早了解的是算法(数据结构)和数据库。


先来看看SAP的 Table。通用的关系型数据库,会定义表、视图等,SAP在SE11的数据定义中还有结构、其他数据字典(数据元素、锁对象等等……)



上图是发生在群里4.6日的一个小问题。



更改表结构异常




小知识Tips

更改表结构行为准则

1、任何异常先稳住(不要跑路!面对错误,才能成长,虽然背锅的程序猿也有去里面的了)

2、积极思考程序异常事件原理。

3、及时求救。(ABAP技巧与实战群 是您居家旅游必备良药哈)


4、更改表结构需要备份表及对应数据(SAP复制表非常简单,再通过简单代码进行原数据备份

5、重点字段类型特别注意(SAP的23种数据类型中,1.非CHAR的类型的变更,如dec,fltp,curr等字段类型变化、2.CHAR类型或其他类型变短 等操作都会导致数据异常)


从安全角度,仍然建议备份数据!备份数据!备份数据!虽然basis...


Q2

 " 程序 " 语言  



SAP的程序几乎绕不开SQL语句,这里仅根据小伙伴的提问,强调一下For all entries 的用法里的关键注意点。



下图是5.10日,初学的小伙伴犯的错误




读表程序异常




小知识Tips

采用For all entries in 读表行为准则

1、必须要判断For all entries in后面的内表是否为空,如果它为空的话,那么在where条件中的与内表中字段进行比较的结果全部为真,也就是全部满足条件,这会导致取出非常多的数据,极大地影响系统的性能。

2、For all entries in 语句自带 disdistinct 功能,如果所选的结果集指定字段有重复,只选出一行。如果需要每条数据进行处理,建议主键必须全包含。

3、最好能够将for all entries in 后面内表中的重复项去除,能够更大的增强速度,后面内表中的数据不要过多,最好不要超过5000行,当然,系统是按照结果集的大小,超出老版本系统也会dump。

4、查询完的SQL数据,第一时间写出 if sy-subrc = 0. 良好的习惯能减少很多意外的错误。把所有可能Dump的情形都提前设想,并获取。DUMP对关键用户的打击杀伤性极强。

5、查询中不要写硬代码,尽量从相关关系表中获取,不要相信当前项目的FS,代码会留存得比某次项目时间更长,不是一个项目的顾问能够确定的








下列清单是群里近期各种问题

请大家积极留言

一起来发掘欢乐和答案


ABAP实战与技巧,群内问题收集如下:


1、SAP如何与手写板做接口,接收手写板的签名图片?

2、MIRO中发票类型字段如何隐藏?(SAPLMR1M SAPLFDCB)

3、视图簇 SE54 视图簇一般用来配置有层级关系的配置表(当然也可以不用视图簇, 自行添加层级关系,只是不够严谨) . 有些人用视图簇作为配置管理树管理的一种方式, 就不太合适了.  建议你看看公众号文章 关于配置树的. 

4、LT数据同步配置 ?ERP->CAR/POSDM/BW 传输 怎么进入这个视图界面/ LTRC

"5、咨询个问题,想不通 CDS为什么一定要ADT写

感觉这种代码,SAP GUI 里面也能写啊"

6、如何修改采购订单中的会计汇率?

7、各位大佬 ME38下的 行项目的标准的 table control  要加列,你们做过类似的吗?是直接改标准屏幕做吗? 

8、请教个问题,BDC前台执行可以,丢到SM35里去执行为何报错功能吗不能被执行,同一份数据

9、破解登录密码的文章里,密码能否写个程序生成?给个算法。

10、循环中的表定位,ASSIGN用法

 11、XML的信息如何快速解析?

12、求PIPO资料

13、为啥SOAMANAGER进来会出现异常报错?

14、请教一下,webservice接口传照片数据时候,数据大,有什么办法能优化一下这个数据吗?500多条数据300多M?

15、请教一下屏幕上两个复选框,怎么实现二选一的情况?







Ending

 " 吃瓜 " 小编的日常  



什么是快乐星球,一星球已满员,二星球建设中,会定期将一星球的问题清单发布给二星球,积极提问与解答,专属红包同样有哈。




小编仅仅是群内打杂吃瓜,就已经觉得很欢乐了,快来一起领取这个夏日的程序员专属快乐福利。





群内有答题专属红包奖励







赞赏支持