2015-08-28 96 views
2

如何更新ABAP哈希表?如何更新ABAP哈希表

什麼是Java語句相當於:

hashMap.put("myKey", "myValue"); 

在ABAP?

+2

通常表運營商也同樣適用,有一些(記錄)restictions。到目前爲止你嘗試了什麼,確切的問題是什麼? – vwegert

+0

正如@vwegert所說,你必須付出一些努力,比如發佈你試過的東西。 *請記住,散列表也是一個內部表。* – Christian

回答

5

工作例如:

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 
+0

Thx爲帶有註釋的完整代碼示例。我會進一步測試 - 但請接受 –

6

假設你只在效果認沽(興趣)對的HashMap的內容和不關心它返回的值,相當於將是:

INSERT VALUE #(KEY = 'myKey' VALUE = 'myValue') INTO TABLE hashMap. 

不同之處在於爲現有鍵的條目將不會被更新,但SY-SUBRC將設置爲4,所以你必須做一些額外的工作。內部表hashMap需要定義爲HASHED TABLE WITH UNIQUE KEY KEY和至少具有KEY和VALUE字段的類型。

另見:SAP Help

+0

Thx作爲簡短說明和鏈接。這應該有幫助(因此+1) –