RPG

93. RPGで *TCAT を実行するには?

CLP で2つの文字列を「*TCAT」を使って結合すると、前の変数値の後続のブランクを
除去(トリム)して結合することができる。
例えば

CJHVAR &VALUE  VALUE('ABC    ')
CHGVAR VAR(&VALUE) VALUE(&VALUE *TCAT '123')

を実行すると &VALUE には「ABC123」という値が入る。

これと同じことを RPG の CAT 命令だけでは、実現することはできない。
そこで RPG で CLP の *TCAT を実現するには %TRIM を使って次のように演算する。

C                   EVAL      VALUE = 'ABC      '
C                   EVAL      VALUE = %TRIM(VALUE)
C     VALUE         CAT       '123':0        VALUE