
还有left outer join,前些日期才解决了一个性能优化的问题,跟这个有关。当内连接的数据表超过3个时,最好创建一个视图,对运行速度的优化非常明显,我就是这样解决的。我当时是四张表连接的,并在视图中添加筛选条件过滤数据,这样使程序取值时垃圾数据的数量减少了20万条之多,大大减少了ABAP内存的占用,程序处理时间也从1个小时减少到了20分钟。你也可以试试。for all entries in 当条件内表数据量很大时,也会使速度变的很慢,不得不用时,最好是多次取值,每次条件内表数量设定为5000条左右,RANGE TABLE也一样。
使用PERFORM FORM1 IN PROGRAM ('ZMM001')等价于PERFORM FORM1(ZMM001)
使用FIELD-SYMBOLS使用其他程序的数据,
FIELD-SYMBOLS <F1> TYPE ANY
DATA XX(50)
XX = '(ZMM002)G_DATA' "程序ZMM001中G_DATA的数据
ASSIGN (XX) TO <F1>
<F1> = 'SDFAS' "这样就可以将主程序中ZMM001的变量G_DATA的值修改为SDFAS了。
虽然我不懂MM模块,但是你可以在LOOP里面写个AT END OF XXX来完成这个动作,希望我的回答对你有所帮助
LOOP AT itab INTO wa
If wa-SHKZG = 'S'
wa-YI = wa-MENGE
Else
wa-YI = wa-MENGE -1
Endif
MODIFY itab from wa
clear : wa
endloop
因为不懂模块,所以我只能在程序方面上给你解答,模块方面请教别人吧
定义IS两个变量,为I型,即整数形。从后面的code可以看出,I是代表循环多少次,S是代表想加的1,2,3自然数连加后的结果。
DATA: I TYPE I,
S TYPE I
赋初值,I的值为1,S的值0。
I = 1
S = 0
Whileend while这是一个循环。"WHILE" 顾名思义,就是当什么什么条件满足的时候,才去做什么事情。
初值: I = 1 S = 0
第一次进whileendwhile里面。 S = S + I,于是S变成了1 I = I + 1 于是, I变成了2。
这时I是《= 10的,继续做循环哦。
第二次进whileendwhile里面。 S = S + I,于是S变成了3 I = I + 1 于是, I变成了3。
实现了1 + 2 的功能,结果存在S里。 这时I是《= 10的,继续做循环哦。
第三次进whileendwhile里面。 S = S + I,于是S变成了6 I = I + 1 于是, I变成了4。
实现了1 + 2 +3的功能,结果存在S里。 这时I是《= 10的,继续做循环。
第四次进whileendwhile里面。 S = S + I,于是S变成了10 I = I + 1 于是, I变成了5。
实现了1 + 2 +3 +4的功能,结果存在S里。 这时I是《= 10的,继续做循环。
继续第五次,第六次。。。。
第十次进whileendwhile里面。I = I + 1 于是, I变成了11。这时已经不满足I《= 10了条件了,结束循环。
WHILE I <= 10
S = S + I
I = I + 1
ENDWHILE
结束循环,将S结果输出在报表上。 over
WRITE: / '1+2+3+…+10=',S
创建TR(请求号)------->开发程序(左右的动作放到对应的TR)------>释放------->传输!
1:创建TR T-CODE SE10 点击创建按钮左上角第二个按钮 选择工作台请求 然后写入描述
2: 开发程序的时候点击保存会让你输入TR号
3: 测试成功后你选择要释放的TR 然后点击一个图标为红色的小车的按钮就可以了 注意 先释放子TR 然后释放主TR
4: 把TR告诉BASIS组的人员就行了
可执行程序的特点是可以直接执行,而无需事务码,这个也是一般报表开发最常用的程序类型。我们可以在 SE38 中直接点击执行按钮或按 F8 键来运行一个可执行程序。
可执行程序包含一些预定义的过程块,比如 INITIALIZATION、AT SELECTION-SCREEN、START-OF-SELECTION、END-OF-SELECTION 等等,有一个后台系统程序会控制可执行程序,按照规定的顺序依次调用这些过程块。首先显示一个选择屏幕,最后输出一个列表。可执行程序还能指定一个逻辑数据库,逻辑数据库也是一种程序,它按照预定义好的数据库表结构,依次根据主键读取相关的业务数据,可以用 SE36 查看逻辑数据库。
以上就是关于怎么提高ABAP程序的性能,你一般采用什么方法处理多表连查的问题全部的内容,包括:怎么提高ABAP程序的性能,你一般采用什么方法处理多表连查的问题、ABAP 调用另一个程序的子程序、SAP ABAP 程序 解读等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)