LXRPIA05 文字列シフト
サブルーチンID |
機能分類 |
サブルーチン名 |
テーブル名 |
---|---|---|---|
LXRPIA05 |
文字列処理 |
LXRCIA05 |
インタフェース
入力(区分:INPUT-PARM=I,CONSTANT=C) |
||||
---|---|---|---|---|
レベル |
項目名 |
属性 |
説明および設定値 |
区分 |
03 |
I-STR |
X(200) |
文字列 |
I |
03 |
I-SHFT-LENG |
P(3) |
シフトする文字数 |
C |
− |
− |
− |
正数:右方向にシフト |
− |
− |
− |
− |
負数:左方向にシフト |
− |
− |
− |
− |
ゼロ:シフトしない |
− |
− |
− |
− |
− |
− |
出力(区分:OUTPUT-PARM=O,RTN-CODE=R) |
||||
---|---|---|---|---|
レベル |
項目名 |
属性 |
説明および設定値 |
区分 |
03 |
O-STR |
X(200) |
出力文字列 |
O |
03 |
O-RTN-CD |
X(10) |
リターンコード |
R |
− |
− |
− |
SPACE:正常終了 |
− |
− |
− |
− |
LXREA024:NUMERICエラー |
− |
− |
− |
− |
LXREA020:シフトする文字数が範囲外 |
− |
処理基準
-
入力文字列の内容を指定文字数シフトする。
1.1 シフトする文字数(I-SHFT-LENG)によって,次の処理を行う。
正数:I-SHFT-LENGの値だけ,右方向にシフトする。
負数:I-SHFT-LENGの絶対値だけ,左方向にシフトする。
ゼロ:入力文字列をそのまま出力文字列とする。
例1
I-STR :'ABCDE' I-SHFT-LENG:2 ↓ O-STR :'△△ABCDE' O-RTN-CD :SPACE
例2
I-STR :'ABCDE' I-SHFT-LENG:-2 ↓ O-STR :'CDE' O-RTN-CD :SPACE
注意事項
-
I-SHFT-LENGについてNUMERICチェックを行い,数値でない時はエラーコード'LXREA024'をリターンコードとして返す。出力文字列は入力文字列をそのまま転記する。
-
-200≦I-SHFT-LENG≦200でなければ,I-SHFT-LENGを200として処理を続行する。エラーコード'LXREA020'をリターンコードとして返す。
-
シフトした結果が出力文字列X(200)の範囲からはみだす時は切り捨てる。リターンコードには,スペースを出力する。
-
EUC対応版,Unicode対応版で半角カナを編集する場合,文字数は実バイト長(EUC:2バイト/文字,Unicode:3バイト/文字)で指定する。