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. vue+node+mongodb实现的功能

    用vue+node +mongodb实现前后台交互的页面代码,已经上传到github上, 地址是: https://github.com/GainLoss/vue-node-mongodb https ...

  2. ABAP的权限检查跟踪(Authorization trace)工具

    事务码 STAUTHTRACE 1. 点击"Activate Trace" button激活跟踪: 可以看到跟踪状态已经处于打开状态. 在同一个application server ...

  3. IOS CoreData的(增删查改)

    (1).CoreDataa>什么是CoreDatab>CoreData增删改查 "什么时候使用COredata 什么时候使用FMDatabases"CoreData 在 ...

  4. 多层感知机训练minist数据集

    MLP .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1p ...

  5. Uva 11491 暴力贪心

    题意:给一个n长度的整数,删掉 k 个数字,使得剩下的数字最大. 分析:还剩 n-k 个数字,就是在原序列里面,相对顺序不变的情况下,这个n-k个数字组成的数最大. 感觉没有什么特别好的方法策略,看了 ...

  6. [19/03/23-星期六] 容器_ 泛型Generics

    一.概念 生活中的容器不难理解,是用来容纳物体的,程序中的“容器”也有类似的功能,就是用来容纳和管理数据. 数组就是一种容器,可以在其中放置对象或基本类型数据. ---优势:是一种简单的线性序列,可以 ...

  7. 安卓extends和implements

    extends是继承类 implements是实现接口

  8. Javascript中==和===的区别

     一.JavaScript"=="的作用 1.当==两边的内容是字符串时,则比较字符串的内容是否相等. 2.当==两边的内容是数字时,则比较数字的大小是否相等. 3.当==两边的内 ...

  9. git上传过滤忽略文件

    有些时候我们不想把某些文件纳入版本控制中,比如数据库文件,临时文件,设计文件等 在主目录下建立".gitignore"文件,此文件有如下规则: 忽略文件中的空行或以井号(#)开始的 ...

  10. AOE网络的关键路径问题

    关于AOE网络的基本概念可以参考<数据结构>或者search一下就能找到,这里不做赘述. 寻找AOE网络的关键路径目的是:发现该活动网络中能够缩短工程时长的活动,缩短这些活动的时长,就可以 ...