Hitachi

SEWB+/標準サブルーチン ライブラリリファレンス


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.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

注意事項

  1. I-SHFT-LENGについてNUMERICチェックを行い,数値でない時はエラーコード'LXREA024'をリターンコードとして返す。出力文字列は入力文字列をそのまま転記する。

  2. -200≦I-SHFT-LENG≦200でなければ,I-SHFT-LENGを200として処理を続行する。エラーコード'LXREA020'をリターンコードとして返す。

  3. シフトした結果が出力文字列X(200)の範囲からはみだす時は切り捨てる。リターンコードには,スペースを出力する。

  4. EUC対応版,Unicode対応版で半角カナを編集する場合,文字数は実バイト長(EUC:2バイト/文字,Unicode:3バイト/文字)で指定する。