LXRPIA08 文字列中央揃え
サブルーチンID |
機能分類 |
サブルーチン名 |
テーブル名 |
---|---|---|---|
LXRPIA08 |
文字列処理 |
LXRCIA08 |
インタフェース
入力(区分:INPUT-PARM=I,CONSTANT=C) |
||||
---|---|---|---|---|
レベル |
項目名 |
属性 |
説明および設定値 |
区分 |
03 |
I-LENG |
P(3) |
出力フィールドの長さ |
OL |
03 |
I-STR |
X(200) |
入力文字列 |
I |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
− |
出力(区分:OUTPUT-PARM=O,RTN-CODE=R) |
||||
---|---|---|---|---|
レベル |
項目名 |
属性 |
説明および設定値 |
区分 |
03 |
O-STR |
X(200) |
出力文字列 |
O |
03 |
O-RTN-CD |
X(10) |
リターンコード |
R |
− |
− |
− |
SPACE:正常終了 |
− |
− |
− |
− |
LXREA024:NUMERICエラー |
− |
− |
− |
− |
LXREA020:入力長が範囲外 |
− |
− |
− |
− |
LXREA008:入力文字列がスペース |
− |
− |
− |
− |
LXREA018:切り捨てが発生した |
− |
処理基準
-
入力文字列をセンタリング編集する。
1.1 (文字列有効桁数算出:LXRPIA09)によって,入力文字列の最右文字位置を求める。
1.2 入力文字列の最左文字位置(半角空白以外の最初の文字の位置)を求める。
1.3 入力文字列の最右文字位置と最左文字位置から実文字数を求め,(出力フィールドの長さ:
I-LENG)に収まらなければ,エラーコード'LXREA018'をリターンコードとして返し,
左詰めを行う。
1.4 (出力フィールドの長さ − 実文字数)を2で割り(余り切り捨て),その商で表される出力文字列
上の位置に入力文字列の最左文字位置からの文字列を転送する。
例1
I-STR :'A△B△C△△△△△△' I-LENG :10 ↓ O-STR :'△△A△B△C△△△' O-RTN-CD :SPACE
注意事項
-
左右の空白が等しくならないときは,左側の空白を1つ少なくする。
-
I-LENGについてNUMERICチェックを行い,数値でなければエラーコード'LXREA024'をリターンコードとして返す。入力文字列をそのまま出力とする。
-
1≦I-LENG≦200でなければエラーとし,エラーコード'LXREA020'をリターンコードとして返す。入力文字列をそのまま出力とする。
-
入力文字列がスペースの場合,エラーコード'LXREA008'をリターンコードとして返す。出力はスペースとする。
-
このサブルーチンから(文字列有効桁数算出:LXRPIA09)を呼び出す。
-
EUC対応版,Unicode対応版で半角カナを編集する場合,文字列長は実バイト長(EUC:2バイト/文字,Unicode:3バイト/文字)で指定する。