読者です 読者をやめる 読者になる 読者になる

タイガー!タイガー!じれったいぞー!(SE編)

AS400,WAS,GlassFish,Java,JavaEE,JSF等の開発における日々の気づきをまとめたブログ(備忘録)。

【AS400】CL-文字ストリング式

概要

  • 文字ストリング式とは、2つの文字列を連結(結合)する命令です。操作対象の変数は、いずれも文字ストリングでなければなりません。

命令の種類

(1) *CAT演算子 (連結、記号||)

  • 普通に2つの文字列を連結します。 

(2) *BCAT演算子(ブランク挿入連結、記号|>)

  • 最初の文字列の後書きブランクはすべて切り捨てられ、1つのブランクが挿入された上で、2つの文字列が連結されます。
  • 後ろの文字列の先行ブランクは切捨てられません。

(3) *TCAT(後書きブランク切捨て連結、記号|<)

  • 最初の文字列のすべての後書きブランクが切り捨てられた上で、2つの文字列が連結されます。

サンプルソース

TIGER/CLLESRC SAMP04C

PGM
    DCL VAR(&PARM1)  TYPE(*CHAR) LEN(08) VALUE('HELLO   ')
    DCL VAR(&PARM2)  TYPE(*CHAR) LEN(08) VALUE('WORLD ! ')
                    
  /* 演算子による文字連結 */
    SNDPGMMSG  MSG(&PARM1 *CAT  &PARM2)  MSGTYPE(*COMP)
    SNDPGMMSG  MSG(&PARM1 *BCAT &PARM2)  MSGTYPE(*COMP)
    SNDPGMMSG  MSG(&PARM1 *TCAT &PARM2)  MSGTYPE(*COMP)
              
  /* 記号による文字連結 */
    SNDPGMMSG  MSG(&PARM1  ||   &PARM2)  MSGTYPE(*COMP)
    SNDPGMMSG  MSG(&PARM1  |>   &PARM2)  MSGTYPE(*COMP)
    SNDPGMMSG  MSG(&PARM1  |<   &PARM2)  MSGTYPE(*COMP)
ENDPGM

実行結果

> CALL SAMP04C
HELLO   WORLD!
HELLO WORLD! 
HELLOWORLD!
HELLO   WORLD!
HELLO WORLD!
HELLOWORLD!