%LEN は OS Ver6.1から使えるようになった文字列の中の実際に
含まれている文字の数を調べる関数である。
それまでは
24. 文字列の中の有効な文字数を調べるには?
で紹介した古典的な CHECKR を使って
' ' CHEKRSTRING LEN
のようにして調べるしか方法がなかったが %LEN は
一発で有効文字数を調べてくれる。

ソースはこちらから
0001.00 H DFTNAME(TESTLEN) DATEDIT(*YMD/) BNDDIR('QC2LE')
0002.00 F********** %LEN の使用方法 *******************************************
0003.00 F*
0004.00 F**********************************************************************
0005.00
0006.00 *( 作業変数 )
0007.00 D AR S 1A DIM(256)
0008.00 D LEN S 4S 0
0009.00 D MSG S 80
0010.00 D DSP40 S 40
0011.00
0012.00 C MOVEL(P) ' 電卓 ' MSG
0013.00 /FREE
0014.00 LEN = %LEN(%TRIMR(MSG));
0015.00 DSP40 = ' 電卓の長さは ' + %CHAR(LEN) +' 桁です ';
0016.00 /END-FREE
0017.00 C DSP40 DSPLY ANS 1
0018.00 C SETON LR
0019.00 C RETURN
[解説]
LEN = %LEN(%TRIMR(MSG)) は MSGの中に入れた「電卓」という文字の長さを
戻す。
実行してみると
プログラム・メッセージの表示
DSPLY 電卓の長さは 6 桁です
応答を入力して,実行キーを押してください。
応答 . . .
F3= 終了 F12= 取消し
となる。
