目録システムコーディングマニュアル(NCR2018対応版)
[目次]
[前ページ]付録1.7 その他のコード表
[次ページ]付録2.2 正規化処理
付録2.1 データチェック
〔データ登録コマンドとデータチェック〕
データ登録コマンドが発行されると、目録システムは、当該コマンドの発行画面(入力画面/修正画面)に記入されているデータを対象にして、データチェックを行う。
データチェックは、6種類に分けられる。
- 1) データ長のチェック
- 2) フィールドの繰り返し数のチェック
- 3) コード表によるデータチェック
- 4) チェックディジットによるデータチェック
- 5) 重複チェック
- 6) 必須1のフィールドに対する存在チェック
〔データ長のチェック〕
データ長のチェックは、すべてのフィールド(及びデータ要素)において行われる。
固定長フィールドにおいては、データ長がフィールド長と一致しない場合、当該データは不正である。
可変長フィールドにおいては、データ長がフィールド長を越えている場合、当該データは不正である。
〔フィールドの繰り返し数のチェック〕
フィールドの繰り返し数のチェックは、すべてのフィールドについて行われる。
すべてのフィールドにおいて、当該フィールドの数がフィールドの繰り返し数を越えている場合、当該フィールドに記入されているデータは不正である。
〔コード表によるデータチェック〕
コード表によるデータチェックは、コード表(→ 付録 1.1~付録1.7)を使用してデータ記入を行うべきフィールド(及びデータ要素)において行われる。
当該フィールド(及びデータ要素)においては、使用すべきコード表に記載されていないデータが記入されている場合、当該データは不正である。
〔チェックディジットによるデータチェック〕
チェックディジットによるデータチェックは、次のフィールド(データ要素)において行われる。
- ア) ID
- イ) ISBN
- ウ) ISSN
- エ) CODEN
- オ) BHNT(前後誌データID)
(1) ID及びBHNT(前後誌データID)
IDフィールド及びBHNTフィールド(前後誌データID)においては、データチェックは次の要領で行われる。
- ア) 10桁の文字列を「n9n8n7n6n5n4n3n2n1c」とする
- イ) 「n9」及び「n8」について次の変換を行う
n |
n' |
A~I J~S T~Z |
1~9 0?9 0~6 |
- ウ) 変換後の新しい文字列「n9'n8'n7n6n5n4n3n2n1c」について次の計算を行う
ただし、「c」が「X」の場合は「c=10」とみなす
9×n9'+8×n8'+7×n7+6×n6+5×n5+4×n4+3×n3+2×n2+n1-c=N
- エ) Nが「11」で割り切れない場合、当該データは不正である
(2) ISBN
ISBNフィールドにおいては、データチェックは次の要領で行われる。
- ア) ハイフンが記入されている場合は、ハイフンを無視する
- 【ISBNが10桁の場合】
イ) 10桁の文字列「n9n8n7n6n5n4n3n2n1c」について次の計算を行う
ただし、「c」が「X」の場合は「c=10」とみなす
10×n9+9×n8+8×n7+7×n6+6×n5+5×n4+4×n3+3×n2+2×n1+c=N
ウ) Nが「11」で割り切れない場合、当該データは不正である
- 【ISBNが13桁の場合】
イ) 13桁の文字列「97n10n9n8n7n6n5n4n3n2n1c」について次の計算を行う
《奇数桁》
奇数桁合計= 9 + n10 + n8 + n6 + n4 + n2
《偶数桁》
偶数桁合計= (7 + n9 + n7 + n5 + n3 + n1) × 3
チェック数字 = 10 - ( ( 奇数桁合計 + 偶数桁合計 ) % 10 )
※ % は剰余を示す
チェック数字 = 10 の場合, チェック数字 = 0 とする
ウ) チェック数字 ≠ c の場合,当該データは不正である
(3) ISSN
ISSNフィールドにおいては、データチェックは次の要領で行われる。
- ア) ハイフンが記入されている場合は、ハイフンを無視する
- イ) 8桁の文字列「n7n6n5n4n3n2n1c」について次の計算を行う
ただし、「c」が「X」の場合は「c=10」とみなす
8×n7+7×n6+6×n5+5×n4+4×n3+3×n2+2×n1+c=N
- ウ) Nが「11」で割り切れない場合、当該データは不正である
(4) CODEN
CODENフィールドにおいては、データチェックは次の要領で行われる。
- ア) 6桁の文字列「n1n2n3n4n5c」について次の変換を行う
n
|
n’
|
A~Z
1~9
0
|
1~26
27~35
36
|
- イ) 変換後の新しい文字列「n1'n2'n3'n4'n5'c」について次の計算を行う
11×n1'+7×n2'+5×n3'+3×n4'+n5'=N
- ウ) Nを「34」で割った余り「c'」について次の変換を行う
c’
|
c"
|
0
1~26
27~33
|
9
A~Z
2~8
|
- エ) 「c"」が「c」と一致していない場合、当該データは不正である
チェックディジットのない5桁のCODENについては、データチェックを行わない。
〔重複チェック〕
重複チェックは、次のフィールド(データ要素)において行われる。
(1) HDNG
HDNGフィールドにおいては、重複チェックは次の要領で行われる。
- ア) データ中にストローク2つ又はダブルストローク(||)が存在しない場合は、全データをチェック対象とする
データ中に「||」が存在する場合は、「||」の直前までのデータをチェック対象とする
- イ) チェック対象データについて、すべての既存著者名典拠データ又はすべての既存統一書名典拠データの該当部分との比較を行う
- ウ) チェック対象データが既存著者名典拠データ又は既存統一書名典拠データの該当部分と同一である場合、当該データは不正である
(2) LOC
LOCフィールドにおいては、重複チェックは次の要領で行われる。
- ア) 全データをチェック対象とする
- イ) チェック対象データについて、同一書誌データID、及び同一参加組織IDを持つすべての既存所蔵データの該当部分との比較を行う
- ウ) チェック対象データが既存所蔵データの該当部分と同一である場合、当該データは不正である
〔必須1のフィールドに対する存在チェック〕
必須1のフィールドについては、データが記入されているかどうかのチェックを行う。
必須1のフィールドは、次のとおりである。
- ア) TXTL (図書/雑誌書誌データ)
- イ) TTLL (図書/雑誌書誌データ)
- ウ) TR (図書/雑誌書誌データ)
- エ) PUB (図書書誌データ)
- オ) HLYR (雑誌所蔵データ)
- カ) HLV (雑誌所蔵データ)
- キ) HDNG (著者名/統一書名典拠データ)
- ク) NOTE (著者名/統一書名典拠データ)
〔エラーメッセージ〕
データの不正を発見した場合、システムは、データ登録コマンドの実行を保留し、不正の種類に応じて、次のエラーメッセージのうちの1つを表示する。
- ア) CAT302302 mandatory field missing (フィールド名)
- イ) CAT302304 mandatory group missing (<グループ名>)
- ウ) CAT302305 mandatory field(フィールド名) missing in group (<グループ名>)
- エ) CAT302403 group mandatory field missing in group (<グループ名>)
- オ) CAT302001 field length over (フィールド名)
- カ) CAT302002 illegal code in フィールド名
- キ) CAT302004 check digit error in フィールド名
- ク) CAT303002/CAT303103 too many fields フィールド名
- ケ) CAT303102 too many groups <グループ名>
- コ) CAT306xxx year expected for フィールド名
- サ) CAT306xxx inconsistency in フィールド名 and フィールド名
- シ) CAT30xxxx syntax error in フィールド名
- ス) CAT307602 Record is already existent in DB (HDNG重複)
- セ) CAT307408/CAT307409 Record is already existent in DB (LOC重複)
これらのエラーメッセージが表示された場合は、該当するフィールド(データ要素)に記入したデータを修正する必要がある。
《注意事項》
データチェックは、その種類ごとに順番に行われる。
即ち、目録システムは、最初のデータチェックによって不正なデータを発見した場合、即座に、対応するエラーメッセージを表示する。
当該不正データの修正が完了すると、目録システムは、次のデータチェックを実行する。
このため、エラーメッセージに従って該当するフィールド(データ要素)に記入したデータを修正しても、別のエラーメッセージが表示されることがある。
データ長のチェックにおいては、一部のフィールド(データ要素)について、該当する項目に示されている値よりも厳しい条件が適用されることがある。(→ 2.1.1 ~8.1.5の〔形式〕)
「TAP3325E」のエラーメッセージ中で、画面項目名として「UNKNOWN」が表示される場合がある。この「UNKNOWN」は、追加されたフィールドに不正な画面項目名が記入されていることを示している。
当該メッセージが表示された場合は、「フィールド拡張」のつもりで「フィールド追加」を行っている可能性が高い。誤って「フィールド追加」を行ったときは、拡張するはずだったフィールドを正しく拡張して、データ記入をやり直す。誤って追加したフィールドについては、「フィールド削除」を行うか、又は当該フィールドに記入したデータをすべて削除する必要がある。
重複チェックにおけるエラーメッセージは、チェック対象データ同士が完全に一致している場合にのみ表示される。
チェック対象データ同士がほんの一部分でも相違する場合は、エラーメッセージは表示されない。
例えば、HDNGフィールド中のデータにおいて読点(、)とコンマ(, )のみが違う場合は、エラーメッセージは表示されない。また、データ中(データの先頭、及び末尾を除く)にスペースが存在するかどうかの違いだけでは、エラーメッセージは表示されない。
HDNGフィールド中に「||」が存在する場合、「||」以降のデータは、一切、チェック対象とはならない。したがって、当該データの有無及び違いによってエラーメッセージが表示されることはない。
[ページの先頭]