CONCATENATE命令(文字列の結合)

CONCATENATE命令とは文字列の結合を行う命令である。文字列を扱う
Char, Numeric, Dats, Time, Stringの変数で使用する事が可能だ。
単純に文字列の結合のみを行う方法、結合した文字列間に区切り文字を
挿入する方法、データ型の長さに応じてスペースを挿入する方法等がある。
それぞれについてサンプルコードで説明しよう。

1
2
DATA: V_CHAR(15) TYPE C.
CONCATENATE 'ABC' 'DEF' 'GHI' INTO V_CHAR.
この例では単純に文字列の結合を行った。
‘ABC’、’DEF’、’GHI’の文字を変数:V_CHARに結合して挿入した事になるので
結果は’ABCDEFGHI’となる。
 
1
2
3
4
DATA: V_CHAR(15) TYPE C.
 
CONCATENATE 'ABC' 'DEF' 'GHI' INTO V_CHAR
  SEPARATED BY ';'.
この例では文字列の結合を行う際にSEPARATED BYオプションにより;(セミコロン)で区切った。
‘ABC’、’DEF’、’GHI’の文字間に;(セミコロン)が挿入されるので
結果は’ABC;DEF;GHI’となる。
区切る文字はSpace(空白)、,(カンマ)等どのような文字でも可能である。
 
1
2
3
4
5
6
7
8
9
10
11
12
13
DATA: V_CHAR(15) TYPE C.
TYPES: BEGIN OF t_char,
         col1(5) type c,
         col2(10) type c,
         col3(5) type c,
       END of t_char.
DATA: wa_char type t_char.
wa_char-col1 = 'ABC'.
wa_char-col2 = 'DEF'.
wa_char-col3 = 'GHI'.
  
CONCATENATE wa_char-col1 wa_char-col2 wa_char-col3 INTO V_CHAR
RESPECTING BLANKS.
この例では文字列の結合を行う際にRESPECTING BLANKSオプションを使用した。
結果は’ABC DEF GHI ‘のようになる。

RESPECTING BLANKSオプションはデータ長に合わせて自動的にスペース埋めしてくれるオプションであり、
固定長のファイル出力等を行いたい際に重宝する事ができるのではないだろう。
但し、この命令は比較的新しく、ECC6.0当たりでは使用する事ができない。
1
2
3
4
CONCATENATE i_wk_key1
            i_wk_key2
            i_wk_key3
       INTO e_wk_key RESPECTING BLANKS.

  

posted @   Park_SAP  阅读(183)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示