LXRPIA14 指定文字削除
サブルーチンID |
機能分類 |
サブルーチン名 |
テーブル名 |
---|---|---|---|
LXRPIA14 |
文字列処理 |
LXRCIA14 |
インタフェース
入力(区分:INPUT-PARM=I,CONSTANT=C) |
||||
---|---|---|---|---|
レベル |
項目名 |
属性 |
説明および設定値 |
区分 |
03 |
I-LENG |
P(3) |
長さ |
OL |
03 |
I-STR |
X(200) |
文字列 |
I |
03 |
I-DEL-STR |
X(200) |
削除文字 |
C |
03 |
I-DEL-LENG |
P(3) |
削除文字数 |
C |
03 |
I-SHFT-KBN |
X(1) |
シフト方向 |
C |
− |
− |
− |
'L':左詰め |
− |
− |
− |
− |
'R':右詰め |
− |
− |
− |
− |
上記以外:シフトしない |
− |
出力(区分: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 削除する方向は,次のとおり。
シフトする方向が,
'L'のとき
削除対象文字より右の文字列を左に詰める。
'R'のとき
削除対象文字より左の文字列を右に詰める。
上記以外
削除対象文字を半角空白1個に置換する(置換した空白は,編集結果の文字列長に含む)。
例1
I-STR :'\123△456,789.12' I-LENG :15 I-DEL-STR :'△\,.' I-DEL-LENG:4 I-SHFT-KBN:'R' ↓ O-STR :'△△△△12345678912' O-RTN-CD :SPACE
注意事項
-
削除文字は,入力文字列から削除する文字を直接指定する(上記の例では,'A¥,.'と指定する)。
-
I-LENGおよびI-DEL-LENGについてNUMERICチェックを行い,数値でないときはリターンコード'LXREA024'を返す。出力文字列は入力文字列をそのまま転記する。
-
1≦I-LENG≦200かつ1≦I-DEL-LENG≦200でなければ,リターンコードに'LXREA020'を返す。出力文字列には入力文字列をそのまま転記する。
-
編集結果の文字列長が,I-LENGより長いとき,エラーコード'LXREA018'を返す。出力文字列には編集結果を返す。
-
このサブルーチンから(文字列有効桁数算出:LXRPIA09)を呼び出す。
-
EUC対応版,Unicode対応版で文字列,削除文字に半角カナを入力する場合,文字数は実バイト長(EUC:2バイト/文字,Unicode:3バイト/文字)で指定する。