2020-08-20 22:19发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我需要将2个标准表(KNA1和adrc)中的数据插入到ZDBTable中。
zdbtable只有4列(kna1中有3列,adrc中有1列)。
我需要知道推荐的方法。 使用带或不带标题的内部表...
PS:我是ABAP的初学者。
谢谢。
嗨,
您可以使用类似这样的选择(根据自己的需要):
选择c〜kunnr,c〜name1,a〜country 来自kna1 as c INNER JOIN adrc AS a ON a〜addrnumber = c〜adrnr 插入表@DATA(lt_customer_data) 从〜=的<〜@ sy-datum 和a〜date_to> = @ sy-datum。
我不建议将此数据复制到新的z表中,因为您将存储两次数据(并且您可能会遇到 实际数据与z表之间存在差异。
如果要创建单独的z表的唯一原因是易于访问数据,则建议创建数据库视图或 CDS视图(如果有CDS,这是最好的方法。)这样就不必两次存储数据,不必担心差异,并且可以轻松访问所需的数据。 您可以使用上面的选择来创建视图)
如果您打算将数据读入内部表中,那么您就不应再使用标题行,因为这些标题行已经过时了。
最诚挚的问候,
Geert-Jan Klaps
唯一的一栏是mandt。
应该将其添加到"选择"中吗?
嗨,扬,
我应该在" @DATA(lt_customer_data)"中添加什么?
这是ztable的线型吗? 像这样:
types:line_type的开头, 像ztclient99-client这样的客户端, 像ztclient99-client_id一样的client_id, name_last就像ztclient99-name_last一样, name_first就像ztclient99-name_first一样, 类似ztclient99-addrnumber的addrnumber, line_type的结尾。
这是我的代码,它可以工作,但是我得到警告:
工作区" LT_CLIENT99"具有比所选更多的字段。
数据:ztclient99的lt_client99类型表。 选择k〜kunnr作为client_id k〜name1作为name_last k〜name2作为name_first a〜addrnumber作为addrnumber 最多220行 来自kna1 as k 内部连接adrc作为 在a〜addrnumber = k〜adrnr上 到表lt_client99的对应字段中 其中a〜addrnumber = k〜adrnr。 如果sy-subrc = 0。 从表lt_client99中插入ztclient99。 endif。
最多设置5个标签!
嗨,
您可以使用类似这样的选择(根据自己的需要):
我不建议将此数据复制到新的z表中,因为您将存储两次数据(并且您可能会遇到 实际数据与z表之间存在差异。
如果要创建单独的z表的唯一原因是易于访问数据,则建议创建数据库视图或 CDS视图(如果有CDS,这是最好的方法。)这样就不必两次存储数据,不必担心差异,并且可以轻松访问所需的数据。 您可以使用上面的选择来创建视图)
如果您打算将数据读入内部表中,那么您就不应再使用标题行,因为这些标题行已经过时了。
最诚挚的问候,
Geert-Jan Klaps
唯一的一栏是mandt。
应该将其添加到"选择"中吗?
嗨,扬,
我应该在" @DATA(lt_customer_data)"中添加什么?
这是ztable的线型吗? 像这样:
这是我的代码,它可以工作,但是我得到警告:
工作区" LT_CLIENT99"具有比所选更多的字段。
一周热门 更多>