什么是程序员快乐星球?
什么是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
" 吃瓜 " 小编的日常
什么是快乐星球,一星球已满员,二星球建设中,会定期将一星球的问题清单发布给二星球,积极提问与解答,专属红包同样有哈。
小编仅仅是群内打杂吃瓜,就已经觉得很欢乐了,快来一起领取这个夏日的程序员专属快乐福利。
群内有答题专属红包奖励