我一直在尝试为一个select创建一个动态col。这只是为了学习。我制作了一个选择屏幕,其中包含一些选择选项和复选框参数。每当我选中复选框时,我都想将一个字符串连接到我的行选择变量
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.
当我检查错误时,编译器只会说"无法解释"text-cb1"。可能的原因:拼写错误或逗号错误。"
与text-cb1无关,我尝试过使用字符串"COUNTRYFR",并说了同样的话。我不知道我的错误在哪里。
连接的语法如下:
CONCATENATE c1 c2 [... cn] INTO targetc [SEPARATED by sep].
或
CONCATENATE lines of itab into targetc [SEPARATED by sep].
正如您已经注意到的,您至少需要两个源变量来连接。
完整的文档可以在这里找到
从Netweaver 7.02版本开始,您也可以执行以下操作:
targetc = c1 && [c2 ... && cn].
在这种情况下,您将失去"分隔符"功能。