2015-08-28 8 views
2

Как обновить таблицу ABAP Hased?Как обновить таблицу абаров 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) –

Смежные вопросы