EDTCDEについて
AS400の画面ファイルにて、EDTCDE(編集コード)をよく使われることと思います。
EDTCDEは、数値を読みやすくするためのカンマ編集などを記述するためのコードのこと。
iSeries Infomation Center - DDS 解説書: 表示装置ファイル - 表示装置ファイルのEDTCDEキーワード
コード例としては、下記のような感じです。EDTCDEのJは、カンマ付き数値。ただし、5250画面では、マイナス数値の符号が、右側になってしまいますが・・・(ex: 123,456 100-)。
A 03 02' 値1 :' A DSPATR(HI) A D2VAL1 3 0O +1 A TEXT(' 値1 ') A OVRDTA A EDTCDE(J)
ユーザー独自定義の作成
さらに、このEDTCDEではユーザー独自定義の表示記述を設定できるようになっています!
EDTCDE(5)~EDTCDE(9)がユーザー定義可能な領域のようです。
まずは、WRKEDTDコマンドにて登録されている内容を確認できます。
WRKEDTD EDTD(*ALL)
今回、YY/MM/DD と YY/MM(MM/DD) の独自定義を作成しました。
EDTCDE(5)作成 - YY/MM/DD
CRTEDTD EDTD(5) INTMASK('0 / / ') ZEROBAL(*NO) TEXT(' 日付表示用書式 YY/MM/DD 0=BLANK')
EDTCDE(6)作成 - YY/MM(MM/DD)
CRTEDTD EDTD(6) INTMASK('0 / ') ZEROBAL(*NO) TEXT('日付表示用書式 YY/MM または MM/DD 0=BLANK')
DSPFでの使い方
A S1YYMM 4 0O 07 67 A TEXT('更新年月') A EDTCDE(6)
5250画面は、領域に制限があるので、こういう省略して表示できる機能は、本当に助かりますね!