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

DATA: V_CHAR(15) TYPE C.
CONCATENATE 'ABC' 'DEF' 'GHI' INTO V_CHAR.
この例では単純に文字列の結合を行った。
‘ABC’、’DEF’、’GHI’の文字を変数:V_CHARに結合して挿入した事になるので
結果は’ABCDEFGHI’となる。
 
DATA: V_CHAR(15) TYPE C.

CONCATENATE 'ABC' 'DEF' 'GHI' INTO V_CHAR
SEPARATED BY ';'.
この例では文字列の結合を行う際にSEPARATED BYオプションにより;(セミコロン)で区切った。
‘ABC’、’DEF’、’GHI’の文字間に;(セミコロン)が挿入されるので
結果は’ABC;DEF;GHI’となる。
区切る文字はSpace(空白)、,(カンマ)等どのような文字でも可能である。
 
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当たりでは使用する事ができない。
      CONCATENATE i_wk_key1
i_wk_key2
i_wk_key3
INTO e_wk_key RESPECTING BLANKS.

  

CONCATENATE命令(文字列の結合)的更多相关文章

  1. CONDENSE命令により、文字列から冗長スペースが削除

    CONDENSE 命令により.文字列から冗長スペースが削除されます. CONDENSE c [NO-GAPS]. この命令により.項目 c に先行空白が含まれる場合は削除され.その他の空白列がある場合 ...

  2. SHIFT(文字列の指定位置数の移動)

    文字ごとの項目内容の移動 以下のような SHIFT 命令のバリアントを使用すると.項目内容を移動することができます.SHIFT を使用すると.文字ごとに項目内容が移動します. 文字列の指定位置数の移動 ...

  3. JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet (转帖)

    JavaFX結合 JDBC, Servlet, Swing, Google Map及動態產生比例圖 (1):NetBeans 寫 Servlet 功能:這支程式的主要功能是將 javafx 與 swi ...

  4. linux ll 命令各列的含义

    linux ll 命令各列的含义:

  5. AD域控Dsquery查询命令实列

    注:请以管理员的身份运行cmd程序,要不然某些命令不生效 AD域控Dsquery查询命令实列 查询技术支持二部的所有用户          dsquery user OU=技术支持二部,OU=技术部, ...

  6. 怎么取cxgrid某一列的合计值

    怎么取cxgrid某一列的合计值   1.cxGrid1DBTableView1->optionsview->Footer 设为True 2.cxGrid1DBTableView1-> ...

  7. ORACLE列值合併

    合併列值最通用的方法就是寫一個自定義函數去實現,這裏介紹的是其它方法. 在SQL Server中合併列值能够使用For Xml Path,在Oracle中則能够使用wm_concat 或 ListAg ...

  8. [Xamarin.Android] 結合Windows Azure與Google cloud message 來實現Push Notification (转帖)

    這一篇要討論如何使用Xamarin.Android 整合GCM以及Windows Azure來實作Android手機上的推播通知服務. 這篇文章比較著重概念的部分,在開始讀這篇之前,也可以先參考一下X ...

  9. SPLIT(文字列の分割)

    概要 SPLIT命令は特定の文字で値を分割する命令だ.タブ区切りや.カンマ区切り等のファイルからデータを取得し値を各項目に振り分けたい時に使用する事が多いだろう.また.XMLファイル等を使用してインタ ...

随机推荐

  1. how find a record import other database.

    question:how find a record import other database. answer: solution one:you user insert into table_na ...

  2. SpringMvc-reset风格

    reset风格就是不用加?或者&等等符号直接通过地址栏向后台发送数据的方法 rest风格是实现 1.需要在web.xml中配置一个filter <filter> <filte ...

  3. Sql Server中一次更新多列数据

    UPATE yourTableName SET column1 = xx, column2 = yy , column3 = zz WHERE yourCondition 举个例子,比如有这样一张表: ...

  4. LeetCodeOJ刷题之12【Integer to Roman】

    Integer to Roman Given an integer, convert it to a roman numeral. Input is guaranteed to be within t ...

  5. 每天一个linux命令(22):tar命令

    通过SSH访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就是是必不可少的一个功能强大的工具.linux中最流行的tar是麻雀虽小,五脏俱全,功能强大. tar命令可以为linux ...

  6. 03_P52 课后作业

    1. 软件开发的早期阶段为什么进行可行性研究?应该从哪些方面研究系统的可行性? 1.进行可行性研究是为了该软件项目是否值得开发?是否具有经济效益?是否违反法律道德?是否技术可以实现?是否风险性高? 2 ...

  7. n对mod求模整除时转化成mod的数学式

    n对mod求模,它的值在0到mod-1之间,如果要求模整除的时候转化成mod可以用下面的式子: n = (n - 1 % mod + mod) % mod +1 这里先减一,模上mod再加一,这样如果 ...

  8. c++一些总结

    1.if和else if后面并没有要求一定要接else(即以else来结尾),可以直接if语句然后接其他语句,也可以if语句之后加else if语句再接其他语句

  9. php new self()关键字的用法

    今天开框架源码,发现有用到new self()的用法  有点不懂  在网上查了一下,给大家说一下: 在类中 self的用法 和this的用法差不多 , php  new self() 一般在类内部使用 ...

  10. ubuntu14.04下搜狗拼音输入法不正常的解决方法

    在终端输入ibus-daemon –drx命令,可以解决该问题.