如何更新 ABAP 散列 table
How to update a ABAP Hashed table
如何更新 ABAP Hased table?
Java 语句的等价物是什么:
hashMap.put("myKey", "myValue");
在 ABAP 中?
工作示例:
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
假设您只对 put() 对 hashMap 内容的影响感兴趣,而不关心它的值 returns,等价的是:
INSERT VALUE #( KEY = 'myKey' VALUE = 'myValue' ) INTO TABLE hashMap.
不同之处在于,对于现有密钥,条目不会更新,但 SY-SUBRC 将设置为 4,因此您必须做一些额外的工作。内部 table hashMap 需要定义为 HASHED TABLE WITH UNIQUE KEY KEY 和至少具有字段 KEY 和 VALUE 的类型。
另见:SAP Help
如何更新 ABAP Hased table?
Java 语句的等价物是什么:
hashMap.put("myKey", "myValue");
在 ABAP 中?
工作示例:
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
假设您只对 put() 对 hashMap 内容的影响感兴趣,而不关心它的值 returns,等价的是:
INSERT VALUE #( KEY = 'myKey' VALUE = 'myValue' ) INTO TABLE hashMap.
不同之处在于,对于现有密钥,条目不会更新,但 SY-SUBRC 将设置为 4,因此您必须做一些额外的工作。内部 table hashMap 需要定义为 HASHED TABLE WITH UNIQUE KEY KEY 和至少具有字段 KEY 和 VALUE 的类型。
另见:SAP Help