用于修改内部表的新ABAP语法

2020-09-05 14:31发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, 是否有可能使用新的...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

是否有可能使用新的abap语法修改内部表,可能在FOR ... IN迭代中? 我需要修改现有内部表的每一行的列中的值,并将其分配给新的内部表。 我正在尝试使用类似这样的东西:

类型:tt_1带空键的YGT_COST类型表。

DATA:lr_gen TYPE REF TO data。

场符号:类型标准表。

FIELD-SYMBOLS: TYPE ANY。

使用空密钥创建YGT_COST的数据lr_gen类型标准表。

ASSIGN lr_gen-> *至

创建数据lr_gen类型YGT_COST。

ASSIGN lr_gen-> *至。 *

= ct_table。

DATA(lt_table)=值tt_1(FOR IN (new_update ='X'))。

*//但是,上面的语句创建的内部表lt_table的行类型为,但是只在 new_update 列中填充了" X"。 其余的列将作为初始内容渲染到新的内部表 lt_table 中。

我期望的是仅用'X'更新列 new_update ,其余列应具有结构中的值。 请注意,由于涉及大量列,从到lt_table对应字段的列到列映射是不可行的。

最佳Rgds

愿望

6条回答
太Q了
2020-09-05 15:08

使用LET表达式,您可以分配值或分配 使用逻辑将字段设置为意图值。

类型:
   ty_tab1的开头,
     val1类型char1,
     val2类型i,
   ty_tab1的结尾,
   tt_tab1使用空键键入ty_tab1的标准表。

 数据(lt_tab1)=值tt_tab1(
                    (val1 ='A'val2 = 100)
                    (val1 ='B'val2 = 200))。

 cl_demo_output => write(lt_tab1)。

 *让
 数据(lt_tab2)=值tt_tab1(
                   用于lt_tab1索引中的wa进入idx
                   令x = wa-val2 + idx
                   in(val1 = wa-val1 val2 = x))。

 cl_demo_output => write(lt_tab2)。
 cl_demo_output => display()。

一周热门 更多>