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