abap怎样抽取数据到内表? 顺便想求教关于ABAP程序执行效率和优化

 我来答
wrrybo5221
2011-05-20
知道答主
回答量:23
采纳率:0%
帮助的人:20.4万
展开全部
定义一个内表,然后按照内表中的字段进行select into到内表中。例如:
data:begin of gt_data occurs 0,
matnr like mard-matnr,
werks like mard-werks,
lgort like mard-lgort,
labst like mard-labst,
end of gt_data.
上面的表示一个内表gt_data定义出来了。然后我们在把对应的数据提取出来,
select matnr
werks
lgort
labst
into table gt_data
from mard
where werks = '1100'.
这样的话,数据就会按照物料号、工厂、库存地点、非限制库存 提取放到内表gt_data中了。
也可以写成:
select *
into corresponding fields of table gt_data
from mard
where werks = '1100'.
上面的这两种sql语句的区别在于: 第一种程序会只针对matnr werks lgort labst 这四个字段去提取数据,第二种,程序会提取mard表中所有字段,然后按照matnr werks lgort labst 来mapping上去。 相对效率而言,第一种效率好些。
至于程序优化上面,尽量减少对数据库的访问,尽量避开那几个大表,比如 mseg ,bseg 等这类的表。 尽量把数据放在内存中计算, 别的倒也没什么了,其实在内表上关于一些sort table 和 hash table 来说,虽然在速度上会快一些(“比如在处理几十万条数据”),如果在几万到十几万条数据的话,性能上其实没什么太大的变化,但是在后期程序修改上,会比较的麻烦一点,一般这种内表我们只是运用在比较大的表上用。OK。说完了。就这样吧。
tdzbq
2011-05-10 · TA获得超过153个赞
知道小有建树答主
回答量:128
采纳率:0%
帮助的人:133万
展开全部
第一个问题可以看F1帮助,关于select和内表部分的。
第二个问题很空泛,涉及到很多方面的内容,没有简单的答案。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ce213e046
2011-05-10 · TA获得超过277个赞
知道答主
回答量:115
采纳率:0%
帮助的人:19.6万
展开全部
ABAP程序执行效率和优化请参考ABAP标准教程BC490,这个很好,我学了之后感觉很多东西都懂了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hekiteak
2011-05-13 · TA获得超过184个赞
知道答主
回答量:83
采纳率:0%
帮助的人:35.4万
展开全部
买个黄皮书看吧,很多都有,要是能上sap系统打t-code :abapdocu ,里面什么都有自己研究吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式