是否可以使用Value Operator将表数据转换为类似类型



我认为最好用一个示例来说明这个问题。我有2个不同数据类型的表(但是table_type1很容易转换为table_type2(

i_tab1 type table_type1(字段:matnrmaktxspras(
i_tab2 type table_type2(字段:mandtmatnr(

是否可以使用VALUE运算符,可能与FOR line in i_tab1(或类似的直列命令(一起将I_TAB1的数据转换为I_TAB2?我在想以下内容:

i_tab2 = VALUE # (for line in i_tab1 
                        BASE = gt_itab2 (
                           MANDT = sy-mandt;
                           MATNR = line-matnr
                        )
                  ).

您很接近。这是您可能会发现有用的解决方案。

REPORT ZZZ.
TYPES: BEGIN OF tab1_line,
    matnr TYPE mara-matnr,
    maktx TYPE makt-maktx,
    spras TYPE makt-spras,
  END OF tab1_line,
  BEGIN OF tab2_line,
    mandt TYPE t000-mandt,
    matnr TYPE mara-matnr,
  END OF tab2_line,
  table_type1 TYPE STANDARD TABLE OF tab1_line WITH EMPTY KEY,
  table_type2 TYPE STANDARD TABLE OF tab2_line WITH EMPTY KEY.
DATA:
g_tab1 TYPE table_type1,
g_tab2 TYPE table_type2.
START-OF-SELECTION.
g_tab2 = VALUE #( BASE g_tab2 FOR i IN g_tab1 ( mandt = sy-mandt matnr = i-matnr ) ).

相关内容

  • 没有找到相关文章

最新更新