SAP中的开发事项

1.
开启透明表前端编辑功能时,如果显示界面字段显示不全或者为+号,需要在表维护生成器中对字段进行维护。
     点击屏幕号->格式->画屏幕中输入维护的字段
  此外,还要在zview中对该表和对应事务码进行维护
KEY值是不允许修改的
2.
建表时,要定义mandt的默认字段,否则表是跨client的。实际更新表或者取数时,不用管mandt字段,系统会根据当前client自动赋值。
3.
oop嵌套时,大表放在里边,小表放在外边,提高效率。但是,针对A表中不存在的数据需要通过B表更新时,需要loop B表,read A表,sy-subrc = 0时存在该数据,对其更新;sy-subrc NE 0时,A表不存在该数据,可插入该数据。
4.
内连接与外连接区别:当存在两个表的数据字段是一对多时(通常情形),内连接不会丢失数据但会有重复数据,外连接则以主表为主,副表按照ON条件拼接至右边,主表不会丢失数据但副表会丢失数据。主表记录保留,副表会将符合连接条件的数据全部查出来。外连接包含内连接的数据。
right join 为新语法,在select时需要使用逗号和@。left join 为旧语法,副表字段不能出现在where中,否则当主表数据包含副表数据时会丢失数据,此时会转为内连接或者右连接。所以,要保证外连接时,副表字段不出现在where中。
5.
read 中 assigning 与 transporting 和 comparing不可联合使用
6.
FORM中,tables参数为过时语句,形参表示带表头的内表,不管实参带不带表头,FORM中的形参都带表头,FORM中可直接操作
7.
curr quan dec 等实际的P类型,在涉及小数位数的精度控制时,会四舍五入
8.
read NE 0 时,表示内表中没有该条数据,可以直接跟添加、创建代码
9.
字符串截取时,可通过字符串翻转、左移实现右截取
10.
SET PF-STATUS 时必须复制同名GUI
11.
SELECT 不能与 FOR ALL ENTIES IN 、HAVING 、GROUP BY 、ORDER BY连用
12.
类中,不可使用on change of,不能使用带表头的表。
on change of 在实现一行对多行的内表插入数据时使用,替代 at new 因为at new 会将右侧字段换成* 无法实现表头行语句的赋值
13.
modify  修改内表时,
参考(6条消息) ABAP 内表修改 MODIFY 和 MODIFY table 的区别_james-lx的博客-CSDN博客_abap modify
   modify table 必须有主键,不然无法执行,用在loop外      
    modify 可以没有主键,不带where条件必须用在LOOP内,处理当前line;带where条件,用在loop外可以处理内表中满足条件的多条语句。
modify 修改透明表时
modify ztf123 from itab  一次修改多条语句
14.
如果一个表是新创建的,数据库中的所有字段都会被设计成非NULL,此时与钩不钩上“Initial Values”框没有关系,且都会设置默认值,并且所有的主键都会强制将“Initial Values”框钩上
该标示只在修改表结构且在现有表结构增加一个字段时,才起作用,并且只对新增的字段有影响
如果在给现已有的表中增加一个字段,调整表结构时,如果新加的字段没有钩上“Initial Values”,则对应到数据库表设计中表示该字段则为NULL;如果钩上了,则数据库中的相应字段不为NULL,并且会设置一个默认值
15.
alv 报表中,gt_fieldcat_LVC等内表用完需要refresh,否则显示界面会越来越长。
16.
实际上PARAMETERS 类型的参数完全可以使用SELECT-OPTIONS来替代,下面就是使用这种替换方式,外表看上去与PARAMETERS是一样的,但双击后可以出现操作符选择界面,所以唯一不同点就是这个可以选择操作符,而且这样做的好处是:当不输入值时,查询所有的,但PARAMETERS值为空是查询就是为空(或0)的值(如果此时要忽略这个条件,则要将单值转换为Range或者是分两种情况来写SQL条件
17.form的参数类型缺省时,如果是数据元素,例如sy-ucomm时,形参与实参类型相同,如果是结构时,程序不会报错,但会将实参结构及值作为一个string传入,形参不能使用 ‘结构-字段’语法,否则会报错。
18.ALV中获取用户选择内容时,即根据用户选择写对应功能时,要注意:
(1)function方式实现的alv,通过预先在gt_data中定义一个c类型sel字段,然后设置layout-box_fname = ' sel',用户选择时,sel自动赋值‘X’.
具体可看REUSE_ALV_GRID_DISPLAY_LVC-行选择功能 | 摆渡SAP (baidusap.com)
(2)oo方式实现的alv,通过ALV_GRID1->GET_SELECTED_ROWS方法获取,具体可看
OOALV 和function alv使用左侧标准选择框判断数据是否选中_Lisson 3的博客-CSDN博客_ooalv选择行
————————————————
版权声明:本文为CSDN博主「ABAP_adapter」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/TJF7727/article/details/127126495
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值