SAP ABAP将数据结构到内部表

时间:2012-06-20 12:35:48

标签: structure sap abap

我是ABAP代码和SAP编程的新手(实际上是3天的经验,周一首先听到了所有这些事情)。我目前正在使用ABAP代码编写报告。这就像将一些数据从特定的SAP数据库移动到商业智能临时区域......

讨论主题 - 因此核心难点是SAP服务器上的某些数据采用字典结构的格式(直接,数据来自FMOIX,FMCOX等)我需要将这些数据移到内部程序运行时期间的表。我被告知在这种情况下OPEN SQL不起作用。

如果你仍然不理解我的意思,我可以提出几种方法,实际上由我的主管给出。首先是使用GET事件,比方说     获得FMOIX。         IF FMOIX-zhdlt> From_dat和FMOIX-zhdlt< to_dat的。             将FMOIX附加到itab。         万一。 问题是我对这个GET事件仍然不太清楚。它只是一个事件处理程序,还是可以遍历数据记录?

我用Google搜索了两天以上的东西给了我类似的东西     循环在FMOIX。         移动FMOIX到itab。     ENDLOOP。

那么将事务结构(如FMOIX)移动到内部表中的方法是什么,比如说内部表名是ITAB? 非常感谢您的回答。虽然我有时间,但我还是全新的。 (更重要的是,我的SAP虚拟机仍然给我带来麻烦。) 非常感谢。

2 个答案:

答案 0 :(得分:2)

如果您的主管建议您使用GET事件,则表示您的程序(或应该)使用逻辑数据库 - 在这种情况下可能是FMF或FMF_BCS。

执行GET FMOIX读取逻辑数据库中定义的一组字段(作为节点)。在您的GET语句下面,您可以将FMOIX用作结构,例如WRITE FMOIX-field1。程序将(隐含地,它不是像LOOP...ENDLOOP那样在代码中明确定义)循环遍历根据您的选择标准返回的所有行。您应该能够使用MOVE-CORRESPONDING将每行的内容移动到适当的结构中,然后将APPEND结构移动到您的itab。

GET上的快速链接:SAP Library

注意:这个答案有点猜测,因为我只使用过一次逻辑数据库,与那里有关于标准SELECT和s的卷相比,文档有点薄。内部表格。

答案 1 :(得分:0)

您可以在该结构的类型中创建内部表,例如:

data: itab like table of fmoix with header line.

您可以使用此内部表填充使用选择代码的任何位置。 如:

select * from ____
   into corresponding fields of itab 
   where zhdlt gt from_dat
   and   zhdlt lt to_dat.

我不确定这是你在寻找什么,但我可以告诉你创建itab的结构类型可以填充来自你的选择的所有相应数据。你不能循环FMOIX因为它不是一个表,它是一个结构。那么有没有具体的理由将数据保存在结构中?

希望它有用。

塔尔哈