2012-02-19 24 views
1

我一直在嘗試爲選擇製作動態列。這只是爲了學習。 我已經做出了一些選擇選項和複選框參數的選擇屏幕。每當我有一個複選框我想串聯一個字符串到我的lineselection var。ABAP - CONCATEN聲明

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'並且說同樣的事情。我不明白我的錯誤在哪裏。

+0

:)傻了。我只是將一個對象連接起來,並注意到lineselect。我迅速趕到這裏... CONCATENATE text-cb1 lineselect INTO lineselect SEPARATED BY space。 抱歉打擾。 – kookies 2012-02-19 19:55:58

+1

當你發現你的錯誤時,你可以刪除你的問題。 – knut 2012-02-19 20:11:37

回答

4

的串連的語法如下:

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

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

正如你已經注意到,您至少需要兩個源變量來連接。

完整文檔,可以發現here

由於Netweaver中的釋放7.02,你也可以這樣做:

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

在這種情況下,你失去了「分隔符」功能,雖然。

+0

與連字符的連接僅適用於字符串文字,而不適用於變量,因此它不是真正有效的解決方案。 – mydoghasworms 2012-02-20 10:32:01

+2

@mydoghasworms嘎,你讓我看起來!從Netweaver Release 7.02開始,它也適用於變量。 – Esti 2012-02-20 19:09:37

+0

那麼,我虛心承認:-)感謝您的信息! – mydoghasworms 2012-02-20 21:25:40