Заявление ABAP - CONCATEN

Я пытаюсь сделать динамический col для выбора. это просто для обучения. Я сделал экран выбора с некоторыми параметрами выбора и флажками. всякий раз, когда у меня установлен флажок check, я хочу объединить строку в мой список строк var.

lineselect = ' CARRID CONNID'.
SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME TITLE text-001.
[...]
SELECTION-SCREEN END OF BLOCK block1.

IF cbcofr EQ 'X'. "where cbcofr is checkbox
CONCATENATE text-cb1 INTO lineselect SEPARATED BY space. "where text-cb1 is 'CONTRYFR
ENDIF.

Когда я проверяю ошибку, компилятор просто говорит "Невозможно интерпретировать текст-cb1". Возможная причина: неправильная орфография или ошибка запятой ".

Не о text-cb1, я пробовал строку "COUNTRYFR" и говорит то же самое. Я не понимаю, где моя ошибка.

1 ответ

Синтаксис для конкатената выглядит следующим образом:

CONCATENATE c1 c2 [... cn] INTO targetc [SEPARATED by sep].

или

CONCATENATE lines of itab into targetc [SEPARATED by sep].

Как вы уже отметили, для конкатенации вам нужно как минимум две исходные переменные.

Полная документация может быть найдена здесь

Начиная с версии 7.02 Netweaver вы также можете сделать это:

targetc = c1 && [c2 ... && cn].

В этом случае вы теряете функциональность "разделитель".

licensed under cc by-sa 3.0 with attribution.