如何更新ABAP哈希表

Tho*_*ues 2 abap hashtable updates

如何更新ABAP Hased表?

什么是Java语句的等价物:

hashMap.put("myKey", "myValue");
Run Code Online (Sandbox Code Playgroud)

在ABAP?

Ger*_*ema 7

假设您只对put()对hashMap内容的影响感兴趣并且不关心它返回的值,则等价物将是:

INSERT VALUE #( KEY = 'myKey' VALUE = 'myValue' ) INTO TABLE hashMap.
Run Code Online (Sandbox Code Playgroud)

不同的是,对于现有密钥,条目不会更新,但SY-SUBRC将设置为4,因此您必须做一些额外的工作.需要将内部表hashMap定义为具有UNIQUE KEY KEY的HASHED TABLE以及至少具有KEY和VALUE字段的类型.

另请参阅:SAP帮助


小智 6

工作范例:

TYPES: BEGIN OF LINE,
    COL1,
    COL2,
  END OF LINE.

DATA:   WA TYPE LINE,
      ITAB TYPE HASHED TABLE OF LINE WITH UNIQUE KEY COL1.

WA-COL1 = 'X'. INSERT WA INTO TABLE ITAB.
WA-COL1 = 'Y'. INSERT WA INTO TABLE ITAB.
WA-COL1 = 'Y'. INSERT WA INTO TABLE ITAB. "Not added
Run Code Online (Sandbox Code Playgroud)