LXRPIA25 英数字チェック/編集
サブルーチンID |
機能分類 |
サブルーチン名 |
テーブル名 |
---|---|---|---|
LXRPIA25 |
項目編集 |
LXRCIA25 |
インタフェース
入力(区分:INPUT-PARM=I,CONSTANT=C) |
||||
---|---|---|---|---|
レベル |
項目名 |
属性 |
説明および設定値 |
区分 |
03 |
I-LENG |
P(3) |
長さ |
IL |
03 |
I-STR |
X(200) |
文字列 |
I |
03 |
I-CHK-PARM |
X(50) |
チェック条件パラメータ |
C |
− |
'ENT=入力モード指定,CHK=(文字指定〔,文字指定〕)' |
− |
||
− |
− |
− |
(詳細はLXRPIZ11およびLXRPIA27の補足説明を参照のこと) |
− |
03 |
I-EDIT-PARM |
X(50) |
編集条件パラメータ |
C |
− |
'CHG=変換指定,SHT=シフト指定' |
(詳細はLXRPIZ11およびLXRPIA27の補足説明を参照のこと) |
− |
|
− |
− |
− |
− |
− |
出力(区分:OUTPUT-PARM=O,RTN-CODE=R) |
||||
---|---|---|---|---|
レベル |
項目名 |
属性 |
説明および設定値 |
区分 |
03 |
O-STR |
X(200) |
文字列 |
O |
03 |
O-RTN-CD |
X(10) |
リターンコード |
R |
− |
− |
− |
SPACE:正常終了 |
− |
− |
− |
− |
LXREA024:NUMERICエラー |
− |
− |
− |
− |
LXREA020:入力長が範囲外 |
− |
− |
− |
− |
LXREA008:入力文字列がスペース |
− |
− |
− |
− |
LXREA027:全桁満たされていない |
− |
− |
− |
− |
LXREA030:指定以外の文字あり |
− |
処理基準
-
注意事項1.〜3.に従ってチェックする。
-
I-STRを次のように変換した結果を作業領域W-STR-1,W-STR-2(ともにPIC X(200))にセットする。
2.1 LOW-VALUEをSPACEに置き換えて,その結果をW-STR-1にセットする。
2.2 さらに左詰め処理を行った結果をW-STR-2にセットする。
-
W-STR-1に対してI-EDIT-PARMで指定した編集を行い,結果をO-STRにセットする。
-
I-CHK-PARMに'ENT=MENT'または'ENT=MFILL'の指定があり,かつW-STR-1がSPACEの時,O-RTN-CDに'LXREA008'を返す。
-
そのほかの時,次の処理を行う。
5.1 I-CHK-PARMに'ENT=MFILL'の指定があり,かつI-LENGがW-STR-2の有効桁数より大きい
時,O-RTN-CDに'LXREA027'を返す。
5.2 そのほかの時,W-STR-2(1:有効桁数)に対してI-CHK-PARMのCHKパラメータで指定した
チェックを行う。
5.2.1 エラーの時,O-RTN-CDに'LXREA030'を返す。
5.2.2 エラーでない時,O-RTN-CDにSPACEを返す。
例1
I-LENG :6 I-STR :'△A11△△' I-CHK-PARM :'CHK=(ALPHA,ALNUM)' I-EDIT-PARM:'SFT=LEFT' ↓ O-STR :'A11△△△' O-RTN-CD :SPACE
例2
I-LENG :6 I-STR :'△a11△△' I-CHK-PARM :'CHK=CAPS,ENT=MENT' I-EDIT-PARM:'SET=LEFT,CHG=STOC' ↓ O-STR :'A11△△△' O-RTN-CD :'LXREA030'
注意事項
-
I-LENGについてNUMERICチェックを行い,数値でないときはリターンコードに'LXREA024'を返す。O-STRにはSPACEをそのまま返す。
-
1≦I-LENG≦200でなければリターンコードに'LXREA020'を返す。O-STRにはSPACEを返す。
-
(パラメータ解析:LXRPIZ11)を呼び出してI-CHK-PARM,I-EDIT-PARMをチェックする。エラーの時は,リターンコードをそのまま返し,O-STRにはSPACEを返す。
-
I-STRの中のLOW-VALUEは,半角空白と同様に扱う。
-
このサブルーチンから,3.の他に(文字列左詰め:LXRPIA06),(文字列右詰め:LXRPIA07),(文字列有効桁数算出:LXRPIA09)を呼び出す。