Hitachi

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


LXRPIA24 混在文字列チェック(含外字)

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIA24

文字列処理

混在文字列チェック(含外字)

LXRCIA24

〈このページの構成〉

インタフェース

入力(区分:INPUT-PARM=I,CONSTANT=C)

レベル

項目名

属性

説明および設定値

区分

03

I-LGC-LENG

P(3)

論理長さ

C

03

I-PHSC-LENG

P(3)

物理長さ

IL

03

I-STR

X(200)

文字列

I

03

I-SHR-KBN

X(1)

処理区分

C

出力(区分:OUTPUT-PARM=O,RTN-CODE=R)

レベル

項目名

属性

説明および設定値

区分

03

O-RTN-CD

X(10)

リターンコード

R

SPACE:正常

LXREA024:NUMERICエラー

LXREA020:入力長が範囲外

LXREA008:入力文字列がスペース

LXREA022:入力論理長誤り

LXREA021:入力物理長誤り

LXREA023:機能キャラクタ誤り

処理基準

PC・UNIX版

  1. NUMERICチェック,長さ範囲チェック,スペースチェックだけ行う。

VOS3版

  1. 次のチェックを行い,該当するエラーコードまたはスペースをリターンコードに返す。

    1.1 入力文字列の論理長と物理長が,入力論理長,入力物理長を超えていないことをチェックする。

    1.2 入力文字列の中で,X'0A42'がある(KEIS状態になる)と,その後方にはX'0A42'よりも前に

      必ず1つ以上のX'0A41'がある(EBCDIK状態に戻る)ことをチェックする。

    1.3 処理区分が'N'の場合,入力文字列の先頭からX'0A41'の直前までの文字と,X'0A42'〜X'0A41'間

      の文字に対して,KEISコードチェックを行う。

    1.4 処理区分が'N'以外の場合,入力文字列の先頭からX'0A42'の直前までの文字と,X'0A42'〜X'0A41'

      間の文字に対して,EBCDIKコードチェックを行う。

例1

 I-LGC-LENG :6
 I-PHSC-LENG:5
 I-STR      :X'414243444546'
 ↓
 O-RTN-CD   :'LXREA021'

例2

 I-LGC-LENG :5
 I-PHSC-LENG:1
 I-STR      :X'0A42A1A10A42'
 ↓
 O-RTN-CD   :'LXREA022'

例3

 I-LGC-LENG :4
 I-PHSC-LENG:2
 I-STR      :X'0A42A1A1'
 ↓
 O-RTN-CD   :'LXREA023'

注意事項

  1. 入力論理長,入力物理長の妥当性をチェックし,該当するリターンコードを返す。

  2. KEISコードチェックで,エラーと判明した場合,'LXREB006'をリターンコードに転送する。

  3. EBCDIKコードチェックで,エラーと判明した場合,'LXREA007'をリターンコードに転送する。

  4. このサブルーチンから(文字コードチェック:LXRPIA01),(文字列有効桁数算出:LXRPIA09),(漢字コードチェック(含外字):LXRPIB02)を呼び出す。

  5. X'40'は,KEISコードチェックの対象となる文字列中に,奇数個存在することを許される。