Hitachi

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


LXRPIZ04 チェックディジット計算

サブルーチンID

機能分類

サブルーチン名

テーブル名

LXRPIZ04

項目処理

チェックディジット計算

LXRCIZ04

〈このページの構成〉

インタフェース

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

レベル

項目名

属性

説明および設定値

区分

03

I-LENG

P(2)

長さ

IL

03

I-NUM

X(37)

数字列

I

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

レベル

項目名

属性

説明および設定値

区分

03

O-STR

X(38)

文字列

O

03

O-CHK-DGT

X(1)

チェックディジット

O

03

O-RTN-CD

X(1)

リターンコード

R

SPACE:正常終了

LXREZ009:NUMERICエラー

LXREZ011:入力長が範囲外

LXREZ008:入力数字列に数字以外がある

処理基準

  1. 入力された数値データ(最大37バイト)から,チェックディジット(モジュラス11)を求め出力する。

例1

 I-LENG   :5
 I-NUM    :'12345'
 ↓
 O-STR    :'123455'
 O-CHK-DGT:'5'
 O-RTN-CD :SPACE
 
 (計算例)
   データ   重み
    1 × 6 =  6
    2 × 5 = 10
    3 × 4 = 12
    4 × 3 = 12
    5 × 2 = 10 (+
        -----------
           50
    50 ÷ 11 = 4…6
    11 −  6 = 5

注意事項

  1. 1≦入力バイト長≦37の範囲外の場合は,結果は評価しない。

  2. 重みは,最右端から上位桁に向かって2,3,4,5,6,7の繰り返しとする。

  3. 剰余が0,1の場合,チェックディジットは0とする。2〜10の場合は,(11−剰余)をチェックディジットとする。