プロジェクト

全般

プロフィール

レビュー指摘 #12105 » KS41020P_仕様書.md

幸塚 和久, 2026-10-26 04:13 午後

 

バッチ設計書(プログラム仕様書)【KS41020P】住所情報の付加

項目 内容
プログラムID KS41020P(PL/I プロシージャ名:KS41020)
プログラム名 住所情報の付加
業務ID NSSMMYXX
パターンID PPB0070P(ファイルのIO:VSAM・DBダイレクトREAD)/パターン作成 87/04/13
言語・形態 PL/I バッチ(OPTIONS(MAIN))、DB2 埋込みSQL(IKJEFT01 配下で DSN RUN により実行。PLAN=KS41020P、サブシステム DSNH)
作成元 ソース KS41020P.pl1、参考資料 KS41020P.xlsx(現行解析資料)
作成日 2026/10/26

1. 改訂履歴

改定日 改定者 改定箇所 改定内容
2026/10/26 全体 PL/Iソースより新規作成

2. プログラム概要

2.1 機能概要

住所DB2(RDADRN)を読み、管理台帳マスターデータに所在地名をセットする。

2.2 処理概要

  1. 管理台帳(SQSTENM)を先頭から1件ずつ順次読み込む。
  2. 所在地コード(11桁)(KAADCODA+KAADCODB)が前のレコードと変わったときだけ、住所DB2(RDADRN)を所在地コードで1行検索する(キーブレイク方式)。
  3. 検索結果から、データ区分(0:該当なし/1:該当あり・大字.通称_カナなし/2:該当あり・大字.通称_カナあり)と所在地名(都道府県・市区群町村・大字.通称+字.丁目のカナ/漢字)を編集する。
  4. 同じ所在地コードを持つすべてのレコードに、データ区分と所在地名6項目を設定して管理台帳(SQADRNM)へ出力する。レコード長は入力のまま(1200/1500バイト)とし、それ以外の項目は変更しない。
  5. 住所DB2の検索でエラー(SQLCODE が 0・100 以外)が発生した場合は、エラーメッセージを表示してプログラムを停止する。
  6. 件数表示などの正常時メッセージはない。

2.3 入出力概要図

flowchart LR
    STENM[("SQSTENM<br/>管理台帳(入力)<br/>可変長 1200/1500")]
    RDADRN[("RDADRN<br/>住所DB2<br/>DB2表")]
    PGM["KS41020P<br/>住所情報の付加"]
    ADRNM[("SQADRNM<br/>管理台帳(出力)<br/>可変長 1200/1500")]
    SYSOUT[/"SYSOUT(DISPLAY)<br/>DB2エラーメッセージ"/]

    STENM -- "順次読込" --> PGM
    RDADRN -- "SELECT(所在地コードで1行検索)" --> PGM
    PGM -- "順次出力(所在地名を設定)" --> ADRNM
    PGM -.-> SYSOUT

3. 入出力ファイル一覧

3.1 ファイル

No DD名 ファイル名称 入出力 編成 アクセス レコード長 エリア レイアウト(INCLUDE) キー 定義行
1 SQSTENM 管理台帳 入力 順次 順次読込 可変長(1200/1500。エリア長 1504) INAREA / INAREA1 KANBASED -(所在地コード順に整列済み※1) 18
2 SQADRNM 管理台帳 出力 順次 順次書出 可変長(入力と同じ長さ) INAREA / INAREA1(入力と同一エリア) KANBASED - 19

※1 JOB DAIMNT3J では、直前のステップ(No.6 SORT)で(13,11,CH,A)に整列している。RDW 4バイトを除くとデータ部 9〜19バイト目で、所在地コード(11桁)(KAADCODA+KAADCODB)にあたる。

参考(JOB DAIMNT3J ステップ KS41020P):SQSTENM=TEMP.DAIBAT00.WORK0040(DISP=SHR)、SQADRNM=TEMP.DAIBAT00.WORK0050(DISP=(NEW,KEEP,DELETE)、RECFM=VB、LRECL=1504、BLKSIZE=6300)。

3.2 DB2表

No 表名 表名称 操作 検索条件 取得項目 受取域 行番号
1 RDADRN 住所DB2 SELECT(1行検索) 住所コード(都道府県+市区群町村)(ADRNADC1)=DB2_KEY1 かつ 住所コード(大字・通称)(ADRNADC2)=DB2_KEY2 かつ 住所コード(字・丁目)(ADRNADC3)=DB2_KEY3 全列(SELECT *)17列 DCLRDADRN(EXEC SQL INCLUDE RDADRN) 79–84
  • 更新系SQL(INSERT/UPDATE/DELETE)、カーソル、COMMIT/ROLLBACK は使用していない。
  • 列の定義は付録B を参照。

4. 処理詳細

4.1 初期処理

項番 処理内容 条件・補足 行番号
1.1 管理台帳(SQSTENM)のファイル終了時、終了スイッチ(EOF_SW)を '0'B(終了)にし、現在キー(MKEY)に HIGH値(X'FF'×11)を設定する。 ENDFILE条件。HIGH値によりキーブレイクさせて内側ループを抜ける 57–61
1.2 管理台帳(SQSTENM)を入力で、管理台帳(SQADRNM)を出力でオープンする。 62–63
1.3 管理台帳(SQSTENM)を1件読み込む。 入力エリア INAREA(可変長) 67
1.4 入力ありの場合、所在地コード(11桁)の上5桁(KAADCODA)+所在地コード(11桁)の下6桁(KAADCODB)を現在キー(MKEY)に設定する。 入力0件のときは主処理を行わず終了処理へ 68–70

4.2 主処理

4.2.1 所在地コード単位の処理(外側ループ:EOF_SW='1'B の間繰返し)

項番 処理名 処理内容 条件・補足 行番号
2.1 編集ワーク初期化 データ区分ワーク(WK_KBN)に 0、大字カナワーク(WK_KNN3)と大字漢字ワーク(WK_VTN)にスペースを設定し、大字漢字ワーク(WK_VTN3)の先頭にシフトアウト '0E'X(WK_VTN_SO)、末尾にシフトイン '0F'X(WK_VTN_SI)を設定する。 変数の日本語名称は xlsx に無いため、ここでは用途で呼ぶ(7章参照) 72–75
2.2 検索キー編集 現在キー(MKEY)を分割し、1〜5桁目を DB2_KEY1、6〜8桁目を DB2_KEY2、9〜11桁目を DB2_KEY3 に設定する。 76–78
2.3 住所DB2 検索 住所DB2(RDADRN)を3つの住所コードで検索し、全列を受取域(DCLRDADRN)に取得する。 3.2 参照 79–84
2.4 検索結果判定(該当あり・大字あり) SQLCODE=0 かつ 大字.通称_カナ+字.丁目_カナ(ADRNKNN3)がスペース以外の場合:WK_KNN3 ← ADRNKNN3 の1〜47バイト目、WK_VTN ← 大字.通称_漢字+字.丁目_漢字(ADRNVTN3)の2〜37バイト目、WK_KBN ← 2。 後ろの桁は切り捨て(8章 No.1) 85–94
2.5 検索結果判定(該当あり・大字なし) SQLCODE=0 かつ ADRNKNN3 がスペースの場合:WK_KNN3・WK_VTN ← スペース、WK_KBN ← 1。 95–100
2.6 検索結果判定(該当なし) SQLCODE=100 の場合:受取域の都道府県名_カナ(ADRNKNN1)、都道府県_漢字(ADRNVTN1)、市区群町村_カナ(ADRNKNN2)、市区郡町村_漢字(ADRNVTN2)と WK_KNN3・WK_VTN をスペースにする。WK_KBN は 0 のまま。 メッセージは出さず処理続行 102–110
2.7 検索結果判定(エラー) 上記以外の SQLCODE の場合、DB2エラー処理(DB2_ERROR_RTN)を呼び出す。 4.3.2 参照。プログラム停止 111
2.8 比較キー退避 現在キー(MKEY)を比較キー(TKEY)に退避する。 113
2.9 レコード単位の処理 4.2.2 を TKEY=MKEY の間繰り返す。 所在地コードが変わるか入力終了で抜ける 114–129

4.2.2 レコード単位の処理(内側ループ:TKEY=MKEY の間繰返し)

項番 処理名 処理内容 条件・補足 行番号
2.9.1 所在地名設定 都道府県名_カナ(VNADKNN1)← ADRNKNN1、市区群町村_カナ(VNADKNN2)← ADRNKNN2、都道府県_漢字(VNADVTN1)← ADRNVTN1、市区群町村_漢字(VNADVTN2)← ADRNVTN2 を設定する。 5章参照 115–118
2.9.2 データ区分・大字設定 データ区分(VNADDTKB)← WK_KBN、大字.通称_漢字+字.丁目_カナ(VNADKNN3)← WK_KNN3、大字.通称_漢字+字.丁目_漢字(VNADVTN3)← WK_VTN3(SO+WK_VTN+SI)を設定する。 名称は xlsx のまま(8章 No.15) 119–121
2.9.3 出力 管理台帳(SQADRNM)に INAREA を1件出力する。 レコード長は入力のまま 122
2.9.4 次レコード読込 管理台帳(SQSTENM)を1件読み込み、入力ありなら MKEY ← KAADCODA+KAADCODB とする。 入力終了時は ENDFILE 条件で MKEY=HIGH値 124–128

4.3 終了処理

4.3.1 正常終了

項番 処理内容 条件・補足 行番号
3.1 管理台帳(SQSTENM・SQADRNM)をクローズし、プログラムを終了する。 件数表示はない 134–135, 140

4.3.2 DB2エラー処理(DB2_ERROR_RTN)

項番 処理内容 条件・補足 行番号
3.2 エラーメッセージ「<<< KS41020P DB2 ERROR-CODE =SQLCODE >>>」を表示する。 6章 No.1 137
3.3 プログラムを停止(STOP)する。 ファイルの CLOSE は行わない。リターンコードは明示的に設定していない 138

4.4 処理フロー

flowchart TD
    START(["開始"]) --> ON["ON条件を設定<br/>SQSTENM 終了時:EOF_SW ← '0'B、MKEY ← HIGH値"]
    ON --> OPEN["SQSTENM・SQADRNM をオープン"]
    OPEN --> READ1["管理台帳(SQSTENM)を読込"]
    READ1 --> K1["入力ありなら<br/>MKEY ← 所在地コード(KAADCODA+KAADCODB)"]
    K1 --> EOF{"入力終了?<br/>(EOF_SW = '0'B)"}
    EOF -- "No" --> INIT["編集ワーク初期化<br/>WK_KBN ← 0、WK_KNN3・WK_VTN ← スペース<br/>WK_VTN_SO ← '0E'X、WK_VTN_SI ← '0F'X"]
    INIT --> KEY["検索キー編集<br/>DB2_KEY1/2/3 ← MKEY の 1〜5/6〜8/9〜11桁"]
    KEY --> SQL["住所DB2(RDADRN)を SELECT"]
    SQL --> RC{"SQLCODE"}
    RC -- "0" --> KNN3{"ADRNKNN3<br/>≠ スペース?"}
    KNN3 -- "Yes" --> K2["WK_KNN3 ← ADRNKNN3 1〜47<br/>WK_VTN ← ADRNVTN3 2〜37<br/>WK_KBN ← 2"]
    KNN3 -- "No" --> K1B["WK_KNN3・WK_VTN ← スペース<br/>WK_KBN ← 1"]
    RC -- "100" --> NF["ADRNKNN1・ADRNVTN1・ADRNKNN2・ADRNVTN2<br/>WK_KNN3・WK_VTN ← スペース<br/>(WK_KBN は 0 のまま)"]
    RC -- "その他" --> ERR["DB2エラー処理<br/>(例外処理フロー参照)"]
    K2 --> TK
    K1B --> TK
    NF --> TK["TKEY ← MKEY"]
    TK --> SAME{"TKEY = MKEY?"}
    SAME -- "Yes" --> SET["所在地名6項目とデータ区分を設定<br/>VNADKNN1/KNN2/VTN1/VTN2 ← ADRNKNN1/KNN2/VTN1/VTN2<br/>VNADDTKB ← WK_KBN<br/>VNADKNN3 ← WK_KNN3、VNADVTN3 ← WK_VTN3"]
    SET --> WRITE["管理台帳(SQADRNM)を出力"]
    WRITE --> READ2["次の管理台帳(SQSTENM)を読込<br/>入力ありなら MKEY ← 所在地コード"]
    READ2 --> SAME
    SAME -- "No" --> EOF
    EOF -- "Yes" --> CLOSE["SQSTENM・SQADRNM をクローズ"]
    CLOSE --> FIN(["終了"])

DB2エラー時の処理(DB2_ERROR_RTN)

flowchart TD
    E(["SQLCODE が 0・100 以外"]) --> MSG[/"エラーメッセージ表示<br/>KS41020P DB2 ERROR-CODE = SQLCODE"/]
    MSG --> STOP(["プログラム停止(STOP)<br/>ファイルはクローズしない"])

5. 出力編集仕様(管理台帳 SQADRNM / KANBASED)

5.1 ブロック単位の編集

出力レコードは入力レコード(INAREA)をそのまま使い、下表の 1018〜1171バイト目だけを上書きする。レコード長は入力のまま。

出力位置 長さ 出力項目(KANBASED) 編集内容 編集元 出力条件
1〜1017 1017 顧客DB基本情報〜取引銀行(KACUBASE〜TTTTBANK) 入力のまま 管理台帳(SQSTENM)の同位置 全件
1018 1 データ区分(VNADDTKB) 設定 WK_KBN(5.2 参照) 全件
1019〜1086 68 都道府県_市区群町村(VNADADRA) 転記 住所DB2 の ADRNKNN1/ADRNKNN2/ADRNVTN1/ADRNVTN2。該当なし時はスペース 全件
1087〜1171 85 大字、丁目等(VNADADRB) 編集 WK_KNN3/WK_VTN3(5.2 参照) 全件
1172〜1200 29 (名称なし)(VNADSPAC) 入力のまま 管理台帳(SQSTENM)の同位置 全件
1201〜1500 300 委託料情報(KBTTGRUP〜KBPC0000) 入力のまま 管理台帳(SQSTENM)の同位置 入力が1500バイトのレコードのみ

5.2 検索結果別の設定値

設定先 位置 長さ 該当あり・大字あり(SQLCODE=0、ADRNKNN3≠スペース) 該当あり・大字なし(SQLCODE=0、ADRNKNN3=スペース) 該当なし(SQLCODE=100) 行番号
データ区分(VNADDTKB) 1018 1 2 1 0 72, 93, 99, 119
都道府県名_カナ(VNADKNN1) 1019 8 ADRNKNN1 ADRNKNN1 スペース 104, 115
市区群町村_カナ(VNADKNN2) 1027 24 ADRNKNN2 ADRNKNN2 スペース 106, 116
都道府県_漢字(VNADVTN1) 1051 10 ADRNVTN1 ADRNVTN1 スペース 105, 117
市区群町村_漢字(VNADVTN2) 1061 26 ADRNVTN2 ADRNVTN2 スペース 107, 118
大字.通称_漢字+字.丁目_カナ(VNADKNN3) 1087 47 ADRNKNN3(60バイト)の1〜47バイト目 スペース スペース 91, 97, 108, 120
大字.通称_漢字+字.丁目_漢字(VNADVTN3) 1134 38 '0E'X+ADRNVTN3(62バイト)の2〜37バイト目+'0F'X '0E'X+スペース36+'0F'X '0E'X+スペース36+'0F'X 74–75, 92, 98, 109, 121

5.3 データ区分(VNADDTKB)の値

値 意味(ソースの判定) xlsx 備考
0 住所DB2に該当する所在地コードなし (記載なし)
1 該当あり。大字.通称_カナ+字.丁目_カナ(ADRNKNN3)がスペース 1:89 BYTE
2 該当あり。ADRNKNN3 に値あり 2:174 BYTE

5.4 項目単位の対応表

付録A を参照。


6. メッセージ一覧(DISPLAY)

No メッセージ 出力条件 意味 後続処理 行番号
1 <<< KS41020P DB2 ERROR-CODE =(SQLCODE) >>> 住所DB2の検索で SQLCODE が 0・100 以外 住所DB2の検索エラー プログラム停止(STOP) 137
  • 件数表示などの正常時メッセージ、該当なし(SQLCODE=100)時のメッセージはない。

7. 変数一覧

xlsx(変数定義・主要な変数シート)に日本語名称の記載が無いワーク変数は「(名称なし)」とした。

No 変数名 日本語名称 属性 初期値 用途 定義行
1 SQSTENM 管理台帳(入力) FILE RECORD INPUT 管理台帳の順次読込 18
2 SQADRNM 管理台帳(出力) FILE RECORD OUTPUT 所在地名設定後の管理台帳の出力 19
3 INAREA (名称なし) CHAR(1504) VARYING 入出力共用のレコードエリア(ソースコメントは「インプット エリア」) 23
4 INAREA1 (名称なし) DEFINED INAREA(構造体) INAREA の再定義。ILENG1 の後ろに KANBASED(管理台帳)を展開 24, 26
5 ILENG1 (名称なし) FIXED BIN(15) INAREA の長さ部(2バイト)に重なる。本処理では参照しない 25
6 DCLRDADRN 住所DB2(受取域) 構造体(EXEC SQL INCLUDE RDADRN) SELECT 結果の受取域(付録B) 30, 80
7 SQLCODE DB2処理結果コード SQLCA 内(EXEC SQL INCLUDE SQLCA) 検索結果の判定、エラーメッセージ 31, 85, 137
8 EOF_SW (名称なし) BIT(1) STATIC '1'B 入力終了スイッチ。'1'B:継続、'0'B:終了 35
9 ADDR, SUBSTR, HIGH, LOW, LENGTH, STRING, VERIFY, UNSPEC (名称なし) BUILTIN 組込み関数。使用は SUBSTR・HIGH のみ 36
10 TKEY (名称なし) CHAR(11) 比較キー(処理中の所在地コード) 37
11 MKEY (名称なし) CHAR(11) 現在キー(読込レコードの所在地コード。入力終了時は HIGH値) 38
12 DB2_KEY1 (名称なし) CHAR(5) 検索キー1(MKEY 1〜5桁目 → ADRNADC1) 39
13 DB2_KEY2 (名称なし) CHAR(3) 検索キー2(MKEY 6〜8桁目 → ADRNADC2) 40
14 DB2_KEY3 (名称なし) CHAR(3) 検索キー3(MKEY 9〜11桁目 → ADRNADC3) 41
15 WK_AREA (名称なし) 構造体 設定値の編集ワーク 42
16 WK_KBN (名称なし) PIC'(01)9' データ区分の編集(0/1/2) 43
17 WK_KNN3 (名称なし) CHAR(47) VNADKNN3 への設定値の編集 44
18 WK_VTN3 (名称なし) CHAR(38) VNADVTN3 への設定値(SO+漢字36バイト+SI) 45
19 WK_VTN3_DF (名称なし) DEFINED WK_VTN3(構造体) WK_VTN3 の再定義 46
20 WK_VTN_SO (名称なし) CHAR(1) シフトアウト '0E'X(xlsx SRC 備考:全角開始つまりSO) 47
21 WK_VTN (名称なし) CHAR(36) 漢字データ部(全角18文字分) 48
22 WK_VTN_SI (名称なし) CHAR(1) シフトイン '0F'X(xlsx SRC 備考:全角終了つまりSI) 49

7.1 本プログラムで参照するレイアウト項目

変数名 日本語名称 所属レイアウト 位置 属性・桁 用途 行番号
KAADCODA 所在地コード(11桁)の上5桁 KANBASED(管理台帳) 9 数字 5 現在キー(MKEY)の1〜5桁目 69, 127
KAADCODB 所在地コード(11桁)の下6桁 KANBASED(管理台帳) 14 文字 6 現在キー(MKEY)の6〜11桁目 69, 127
VNADDTKB データ区分 KANBASED(管理台帳) 1018 数字 1(1:89 BYTE 2:174 BYTE) 設定先 119
VNADKNN1 都道府県名_カナ KANBASED(管理台帳) 1019 文字 8 設定先 115
VNADKNN2 市区群町村_カナ KANBASED(管理台帳) 1027 文字 24 設定先 116
VNADVTN1 都道府県_漢字 KANBASED(管理台帳) 1051 文字 10 設定先 117
VNADVTN2 市区群町村_漢字 KANBASED(管理台帳) 1061 文字 26 設定先 118
VNADKNN3 大字.通称_漢字 + 字.丁目_カナ KANBASED(管理台帳) 1087 文字 47 設定先 120
VNADVTN3 大字.通称_漢字 + 字.丁目_漢字 KANBASED(管理台帳) 1134 文字 38 設定先 121
ADRNADC1 住所コード(都道府県+市区群町村) RDADRN(住所DB2) 1 文字 5 検索条件(KEY1) 82
ADRNADC2 住所コード(大字・通称) RDADRN(住所DB2) 6 文字 3 検索条件(KEY2) 83
ADRNADC3 住所コード(字・丁目) RDADRN(住所DB2) 9 文字 3 検索条件(KEY3) 84
ADRNKNN1 都道府県名_カナ RDADRN(住所DB2) 43 文字 8 VNADKNN1 の転記元。該当なし時スペースクリア 104, 115
ADRNKNN2 市区群町村_カナ RDADRN(住所DB2) 51 文字 24 VNADKNN2 の転記元。該当なし時スペースクリア 106, 116
ADRNVTN1 都道府県_漢字 RDADRN(住所DB2) 75 文字 10(SOSI有) VNADVTN1 の転記元。該当なし時スペースクリア 105, 117
ADRNVTN2 市区郡町村_漢字 RDADRN(住所DB2) 85 文字 26(SOSI有) VNADVTN2 の転記元。該当なし時スペースクリア 107, 118
ADRNKNN3 大字.通称_カナ + 字.丁目_カナ RDADRN(住所DB2) 111 文字 60 スペース判定、WK_KNN3 の編集元(1〜47バイト目) 88, 91
ADRNVTN3 大字.通称_漢字 + 字.丁目_漢字 RDADRN(住所DB2) 171 文字 62(SOSI有) WK_VTN の編集元(2〜37バイト目) 92

位置は KANBASED がレコードのデータ部先頭(長さ部を除く)を1、RDADRN が受取域先頭を1とした値。


8. 留意事項(ソース解析で判明した事項)

No 区分 内容 行番号
1 データ編集 大字・丁目の名称は桁落ちする。住所DB2側はカナ(ADRNKNN3)60バイト、漢字(ADRNVTN3)62バイト(SO+全角30文字+SI)だが、管理台帳側はカナ47バイト、漢字は全角18文字(36バイト)分しか転記しない。カナの後ろ13バイト、漢字の後ろ全角12文字分が切り捨てられ、切り捨ての有無は出力されない。 91–92
2 データ編集 漢字の切り出しは、ADRNVTN3 の1バイト目がシフトアウトで、2バイト目から全角文字が続く前提になっている。名称が全角18文字より短いと、元データのシフトイン(SI)が WK_VTN の途中に入り、その後ろにスペースと本プログラムが付けた SI が続く(SI が2回入る)。後続処理で問題にならないか確認が必要。 74–75, 92
3 データ編集 データ区分 1/2 の判定は ADRNKNN3(カナ)がスペースかどうかだけで行う。カナがスペースで漢字(ADRNVTN3)だけ値がある場合は、漢字名も出力されない。また判定は60バイト全体で行うが、転記は先頭47バイトである。 88–100
4 データ編集 データ区分の値 0(該当なし)は、xlsx のレイアウト備考(1:89 BYTE 2:174 BYTE)に記載がない。 72, 102–110
5 データ編集 該当なしの場合、VNADVTN1/VNADVTN2 は全部スペースになるが、VNADVTN3 は前後にシフトコード('0E'X/'0F'X)が付いたスペースになり、扱いが揃っていない。該当あり・大字なし(区分1)も同じ。 74–75, 97–98, 104–109
6 データ編集 設定先の7項目(1018〜1171バイト目)は、検索結果にかかわらず全レコードで上書きする。入力時点の値は残らない。それ以外の項目とレコード長は入力のまま出力する。 115–122
7 例外処理 住所DB2に該当がない(SQLCODE=100)場合は、メッセージも件数も出さずに所在地名をスペースにして処理を続ける。該当なしの件数を確認する手段がない。 102–110
8 例外処理 SQLCODE が 0・100 以外は、警告(正の値)を含めてすべてエラーとして STOP する。複数行該当(-811)や NULL 値の取得(-305。標識変数なし)もこれに含まれるため、住所DB2のキー(ADRNADC1〜3)が一意で、取得列に NULL が無いことが前提になる。 79–85, 111
9 例外処理 DB2エラー時は STOP で即時終了し、リターンコードを明示的に設定していない。JOB 側は COND=(9,LT) で後続を止めるため、STOP 時に10以上のコードが返るか確認が必要。また CLOSE せずに終わるため、出力ファイルは途中まで書かれた状態になる。ファイルの入出力エラーには ON条件がなく、PL/I 標準の動作(ERROR 条件で異常終了)になる。 136–138
10 DB2 SELECT * で全17列を取得し、構造体 DCLRDADRN で受けている。表の列数・並び・属性が受取域と一致していることが前提で、列の追加・変更時は INCLUDE 部品の修正と再コンパイル・再バインドが必要になる。17列のうち使用するのは検索条件の3列と名称の6列だけである。 30, 79–84
11 入力順 所在地コードが変わったときだけ検索する方式のため、入力は所在地コード順に並んでいる必要がある(並んでいなくても結果は正しいが、検索回数が増える)。JOB では直前の SORT(13,11,CH,A)で整列している。 113–114
12 入力順 入力終了時は MKEY に HIGH値(X'FF'×11)を入れてキーブレイクさせている。最後のレコードの所在地コードが HIGH値だと内側ループを抜けられない。KAADCODA は数字項目のため、通常のデータでは起こらない。 60, 114
13 エリア 可変長文字列 INAREA に構造体 INAREA1 を重ね、先頭2バイトの長さ部(ILENG1)の後ろに KANBASED を対応させている。可変長文字列の内部形式に依存した書き方で、コンパイラの変更や移行時には動作確認が必要。設定する項目はすべて1171バイト目までにあるため、1200バイトのレコードでもエリア外にはならない。 23–26
14 構造 DB2エラー処理(DB2_ERROR_RTN)は CLOSE の後ろに内部手続きとして置かれている。PL/I では手続きの定義は順に実行されないため、正常時に CLOSE の後でこの処理が動くことはない(終了処理は 134–135行の CLOSE で終わる)。 134–140
15 名称 xlsx では VNADKNN3 の名称が「大字.通称_漢字 + 字.丁目_カナ」となっているが、内容はカナ(ADRNKNN3 の転記)である。また RDADRN の ADRNVTN2 は「市区郡町村_漢字」、KANBASED の VNADVTN2 は「市区群町村_漢字」と表記が違う。本書は xlsx の名称のまま記載した。 118, 120
16 コメント INAREA のコメントは「インプット エリア」、その前後のコメントは「出力エリアの定義」だが、実際は入出力共用のエリアである。 21–29
17 未使用定義 組込み関数 ADDR/LOW/LENGTH/STRING/VERIFY/UNSPEC は宣言のみで使っていない。ILENG1 も参照していない。RDADRN の ADRNPVNO〜ADRNUPKB(8列)は取得するが使っていない。 25, 36, 79
18 件数 入力1件につき必ず1件出力するため、正常終了時は入力件数=出力件数となる。ただし件数の表示はない。入力0件のときは出力0件で正常終了する。 67–71, 122

付録A 出力項目対応表(管理台帳 KANBASED ← 編集元)

LV=レベル番号。属性・桁・Byte は参考資料(現行解析資料)の定義による。位置はレコードのデータ部先頭を1とした値(RDW・長さ部を含む位置は+4)。

# 位置 日本語名称 LV 変数名 属性 桁 Byte 編集元 編集元項目 編集元位置 編集内容・備考
1 1 顧客DB基本情報 2 KACUBASE 入力(SQSTENM) 顧客DB基本情報(KACUBASE) 1 入力のまま
2 1 登録顧客コード 3 KACUSTCD 数字 7 7 入力(SQSTENM) 登録顧客コード(KACUSTCD) 1 入力のまま
3 8 登録抹消区分 3 KACUCDKB 数字 1 1 入力(SQSTENM) 登録抹消区分(KACUCDKB) 8 入力のまま/0:使用可.9:削除
4 9 所在地情報 3 KAADINFO 入力(SQSTENM) 所在地情報(KAADINFO) 9 入力のまま
5 9 顧客所在地コード(11桁) 4 KAADKSCD 入力(SQSTENM) 顧客所在地コード(11桁)(KAADKSCD) 9 入力のまま
6 9 所在地コード(11桁)の上5桁 5 KAADCODA 数字 5 5 入力(SQSTENM) 所在地コード(11桁)の上5桁(KAADCODA) 9 入力のまま/現在キー(MKEY)に使用(69, 127行)
7 14 所在地コード(11桁)の下6桁 5 KAADCODB 文字 6 6 入力(SQSTENM) 所在地コード(11桁)の下6桁(KAADCODB) 14 入力のまま/現在キー(MKEY)に使用(69, 127行)
8 20 所在地.地区割増区分 4 KAADCODW 数字 1 1 入力(SQSTENM) 所在地.地区割増区分(KAADCODW) 20 入力のまま
9 21 粁程算出所在地コード 4 KAADSTCD 数字 5 5 入力(SQSTENM) 粁程算出所在地コード(KAADSTCD) 21 入力のまま/地区割増等は荷主所在地より
10 26 電話番号 4 KATNTLNO 文字 12 12 入力(SQSTENM) 電話番号(KATNTLNO) 26 入力のまま
11 38 郵便番号 4 KATNPSNO 文字 5 5 入力(SQSTENM) 郵便番号(KATNPSNO) 38 入力のまま
12 43 扱店所情報 3 KAADJOHO 入力(SQSTENM) 扱店所情報(KAADJOHO) 43 入力のまま
13 43 扱店所情報 4 KAADATIF 入力(SQSTENM) 扱店所情報(KAADATIF) 43 入力のまま/繰返し 4
14 43 顧客扱店所コード 5 KAADATCD 数字 4 4 入力(SQSTENM) 顧客扱店所コード(KAADATCD) 43 入力のまま
15 47 扱い店所在地コード 5 KAADSZCD 数値 5 3 入力(SQSTENM) 扱い店所在地コード(KAADSZCD) 47 入力のまま
16 50 扱い店所在地地区割増区分 5 KAADTWRK 数字 1 1 入力(SQSTENM) 扱い店所在地地区割増区分(KAADTWRK) 50 入力のまま
17 51 顧客への集配粁程 5 KAADAKKM 数値 3 2 入力(SQSTENM) 顧客への集配粁程(KAADAKKM) 51 入力のまま
18 83 傭車料支払店所コード 4 KAHFYOST 数字 4 4 入力(SQSTENM) 傭車料支払店所コード(KAHFYOST) 83 入力のまま
19 87 未収扱い店所コード 4 KASFMATC 数字 4 4 入力(SQSTENM) 未収扱い店所コード(KASFMATC) 87 入力のまま
20 91 委託料情報 3 KATNINFX 入力(SQSTENM) 委託料情報(KATNINFX) 91 入力のまま
21 91 経費契約有無区分 4 KATNKUBN 数字 1 1 入力(SQSTENM) 経費契約有無区分(KATNKUBN) 91 入力のまま
22 92 契約有無区分 4 KATNKUMK 数字 1 1 入力(SQSTENM) 契約有無区分(KATNKUMK) 92 入力のまま/繰返し 10
23 102 支払情報 3 KAHFINFO 入力(SQSTENM) 支払情報(KAHFINFO) 102 入力のまま
24 102 集金区分 4 KAHFSHKB 数字 1 1 入力(SQSTENM) 集金区分(KAHFSHKB) 102 入力のまま
25 103 集金日 4 KAHFSHBI 数字 2 2 入力(SQSTENM) 集金日(KAHFSHBI) 103 入力のまま
26 105 取引銀行 4 KAHFBKOC 入力(SQSTENM) 取引銀行(KAHFBKOC) 105 入力のまま/繰返し 3
27 105 取引銀行コード 5 KAHFBKCD 数字 7 7 入力(SQSTENM) 取引銀行コード(KAHFBKCD) 105 入力のまま
28 112 取引銀行名 5 KAHFBKNM 文字 16 16 入力(SQSTENM) 取引銀行名(KAHFBKNM) 112 入力のまま
29 128 口座区分 5 KAHFKOZA 数字 1 1 入力(SQSTENM) 口座区分(KAHFKOZA) 128 入力のまま
30 129 口座番号 5 KAHFKZNO 数字 7 7 入力(SQSTENM) 口座番号(KAHFKZNO) 129 入力のまま
31 198 支払種別情報 4 KAHFMKBN 入力(SQSTENM) 支払種別情報(KAHFMKBN) 198 入力のまま/繰返し 3
32 198 上限区分 5 KAHFMAXK 数値 9 5 入力(SQSTENM) 上限区分(KAHFMAXK) 198 入力のまま
33 203 率 5 KAHFSPER 数値 3 2 入力(SQSTENM) 率(KAHFSPER) 203 入力のまま/繰返し 5
34 243 請求・精算情報 3 KASFINFO 入力(SQSTENM) 請求・精算情報(KASFINFO) 243 入力のまま
35 243 請求・精算区分 4 KAADSQKB 数字 1 1 入力(SQSTENM) 請求・精算区分(KAADSQKB) 243 入力のまま/1:請求.2:精算
36 244 デパート請求処理区分 4 KASFDPSQ 数字 1 1 入力(SQSTENM) デパート請求処理区分(KASFDPSQ) 244 入力のまま/1:受付計上.2:回収計上
37 245 ダミー区分 4 KASFDUMY 文字 2 2 入力(SQSTENM) ダミー区分(KASFDUMY) 245 入力のまま
38 247 請求書出力店所コート゛ 4 KASFHATN 数字 4 4 入力(SQSTENM) 請求書出力店所コート゛(KASFHATN) 247 入力のまま
39 251 出力時ソート・キー 4 KASFSORT 数字 1 1 入力(SQSTENM) 出力時ソート・キー(KASFSORT) 251 入力のまま/繰返し 5
40 256 締日情報 4 KASFSMKB 入力(SQSTENM) 締日情報(KASFSMKB) 256 入力のまま/繰返し 6
41 256 締日 5 KASFSSIX 数字 2 2 入力(SQSTENM) 締日(KASFSSIX) 256 入力のまま/月末=99
42 258 正式仮区分 5 KASFSSAK 数字 1 1 入力(SQSTENM) 正式仮区分(KASFSSAK) 258 入力のまま/1:本締.2:仮締
43 274 提出日 4 KASFTEIS 数字 2 2 入力(SQSTENM) 提出日(KASFTEIS) 274 入力のまま
44 276 出力形態(本社印刷分) 4 KASFPKET 数字 1 1 入力(SQSTENM) 出力形態(本社印刷分)(KASFPKET) 276 入力のまま/1:店所.2:本社出力
45 277 出力区分 4 KASFPKBN 文字 1 1 入力(SQSTENM) 出力区分(KASFPKBN) 277 入力のまま
46 278 表示方法 4 KASFDISP 入力(SQSTENM) 表示方法(KASFDISP) 278 入力のまま
47 278 運賃含表示項目 5 KASFHOHO 数字 1 1 入力(SQSTENM) 運賃含表示項目(KASFHOHO) 278 入力のまま/繰返し 20
48 298 備考印刷区分 4 KASFPBIK 数字 1 1 入力(SQSTENM) 備考印刷区分(KASFPBIK) 298 入力のまま
49 299 前回請求情報 4 KASFBEFO 入力(SQSTENM) 前回請求情報(KASFBEFO) 299 入力のまま
50 299 請求・精算書NO. 5 KASFSSNO 数字 12 12 入力(SQSTENM) 請求・精算書NO.(KASFSSNO) 299 入力のまま
51 311 発行年月日(鑑) 5 KASFZYMD 数字 6 6 入力(SQSTENM) 発行年月日(鑑)(KASFZYMD) 311 入力のまま
52 317 発行年月日(明細) 5 KASFZZYM 数字 6 6 入力(SQSTENM) 発行年月日(明細)(KASFZZYM) 317 入力のまま
53 323 次回請求情報 4 KASFNEXT 入力(SQSTENM) 次回請求情報(KASFNEXT) 323 入力のまま
54 323 本締・仮締区分 5 KASFGKBN 数字 1 1 入力(SQSTENM) 本締・仮締区分(KASFGKBN) 323 入力のまま/1:本締.2:仮締
55 324 締日(年月日) 5 KASFGSME 数字 6 6 入力(SQSTENM) 締日(年月日)(KASFGSME) 324 入力のまま
56 330 請求先所在地コード(11桁) 4 KASFAD11 入力(SQSTENM) 請求先所在地コード(11桁)(KASFAD11) 330 入力のまま
57 330 所在地コード(11桁)の上5桁 5 KASFAD05 数字 5 5 入力(SQSTENM) 所在地コード(11桁)の上5桁(KASFAD05) 330 入力のまま
58 335 所在地コード(11桁)の下6桁 5 KASFAD06 文字 6 6 入力(SQSTENM) 所在地コード(11桁)の下6桁(KASFAD06) 335 入力のまま
59 341 代引情報 3 KABKINFO 入力(SQSTENM) 代引情報(KABKINFO) 341 入力のまま
60 341 口座区分 4 KABKKZKB 数字 1 1 入力(SQSTENM) 口座区分(KABKKZKB) 341 入力のまま/0:無 1:口座
61 342 代引形態区分 4 KABKKTKB 数字 1 1 入力(SQSTENM) 代引形態区分(KABKKTKB) 342 入力のまま/0:無 1:一般 2:一括
62 343 手数料相殺区分 4 KABKSOKB 数字 1 1 入力(SQSTENM) 手数料相殺区分(KABKSOKB) 343 入力のまま/0:無 1:不可 2:可
63 344 締日支払日区分 4 KABKSSKB 数字 1 1 入力(SQSTENM) 締日支払日区分(KABKSSKB) 344 入力のまま
64 345 締日情報 4 KABKSSJO 入力(SQSTENM) 締日情報(KABKSSJO) 345 入力のまま/繰返し 5
65 345 締日 5 KABKCLSD 数字 2 2 入力(SQSTENM) 締日(KABKCLSD) 345 入力のまま
66 347 支払日 5 KABKPAYD 数字 2 2 入力(SQSTENM) 支払日(KABKPAYD) 347 入力のまま
67 365 代引管理店 4 KABKKTCD 数字 4 4 入力(SQSTENM) 代引管理店(KABKKTCD) 365 入力のまま
68 369 印紙手数料相殺区分 4 KABKISKB 数字 1 1 入力(SQSTENM) 印紙手数料相殺区分(KABKISKB) 369 入力のまま/0:無 1:不可 2:可
69 370 代引管理荷主コード 4 KABKKNCD 数値 7 4 入力(SQSTENM) 代引管理荷主コード(KABKKNCD) 370 入力のまま
70 374 その他区分情報 3 KATCINFO 入力(SQSTENM) その他区分情報(KATCINFO) 374 入力のまま
71 374 業種コード 4 KAADGSKB 数字 4 4 入力(SQSTENM) 業種コード(KAADGSKB) 374 入力のまま
72 378 請求区分入力チェック要不要 4 KAADCKKB 数字 1 1 入力(SQSTENM) 請求区分入力チェック要不要(KAADCKKB) 378 入力のまま/0:不要.1・2・3:必要
73 379 到着契約有無区分 4 KAOTYAKB 数字 1 1 入力(SQSTENM) 到着契約有無区分(KAOTYAKB) 379 入力のまま/0:無 1:有
74 380 他社NO入力チェック・照会マスター作成 4 KAEXKBN1 数字 1 1 入力(SQSTENM) 他社NO入力チェック・照会マスター作成(KAEXKBN1) 380 入力のまま/0:不要.1・2:必要
75 381 データ交換有無区分 4 KAEXKBN2 文字 1 1 入力(SQSTENM) データ交換有無区分(KAEXKBN2) 381 入力のまま/0:無し.1~F~Z:有り
76 382 データ交換(受付明細) 4 KAEXKBN3 数字 1 1 入力(SQSTENM) データ交換(受付明細)(KAEXKBN3) 382 入力のまま/0:無し.1:有り
77 383 データ交換(中継予想) 4 KAEXKBN4 数字 1 1 入力(SQSTENM) データ交換(中継予想)(KAEXKBN4) 383 入力のまま/0:無し.1:有り
78 384 データ交換(発送履歴) 4 KAEXKBN5 数字 1 1 入力(SQSTENM) データ交換(発送履歴)(KAEXKBN5) 384 入力のまま/0:無し.1:有り
79 385 データ交換(到着履歴) 4 KAEXKBN6 数字 1 1 入力(SQSTENM) データ交換(到着履歴)(KAEXKBN6) 385 入力のまま/0:無し.1:有り
80 386 データ交換(配達履歴) 4 KAEXKBN7 数字 1 1 入力(SQSTENM) データ交換(配達履歴)(KAEXKBN7) 386 入力のまま/0:無し.1:有り
81 387 データ交換(中継後配達履歴) 4 KAEXKBN8 数字 1 1 入力(SQSTENM) データ交換(中継後配達履歴)(KAEXKBN8) 387 入力のまま/0:無し.1:有り
82 388 データ交換(異常データ) 4 KAEXKBN9 数字 1 1 入力(SQSTENM) データ交換(異常データ)(KAEXKBN9) 388 入力のまま/0:無し.1:有り
83 389 データ交換(デパート配達データ) 4 KAEXKBNA 数字 1 1 入力(SQSTENM) データ交換(デパート配達データ)(KAEXKBNA) 389 入力のまま/0:無し.1:有り
84 390 データ交換(請求データ) 4 KAEXKBNB 数字 1 1 入力(SQSTENM) データ交換(請求データ)(KAEXKBNB) 390 入力のまま/0:無し.1:有り
85 391 データ交換(未配達データ) 4 KAEXKBNC 数字 1 1 入力(SQSTENM) データ交換(未配達データ)(KAEXKBNC) 391 入力のまま/0:無し.1:有り
86 392 出荷明細作成区分 4 KAEXKBND 数字 1 1 入力(SQSTENM) 出荷明細作成区分(KAEXKBND) 392 入力のまま/0:無.1:センター.2:DDP
87 393 出荷明細データ交換区分 4 KAEXKBNE 数字 1 1 入力(SQSTENM) 出荷明細データ交換区分(KAEXKBNE) 393 入力のまま/0:無.1:有
88 394 着TEL使用区分(以前は未配特管区分) 4 KAEXKBNF 数字 1 1 入力(SQSTENM) 着TEL使用区分(以前は未配特管区分)(KAEXKBNF) 394 入力のまま/0~9.9:使用不可
89 395 応援団使用区分 4 KAEXKBNG 数字 1 1 入力(SQSTENM) 応援団使用区分(KAEXKBNG) 395 入力のまま/0:無し.1:有り
90 396 立替・取手両払い区分 4 KAEXKBNH 数字 1 1 入力(SQSTENM) 立替・取手両払い区分(KAEXKBNH) 396 入力のまま/0:無し.1:両払い
91 397 取手・中継料精算明細税抜き区分 4 KAEXKBNI 数字 1 1 入力(SQSTENM) 取手・中継料精算明細税抜き区分(KAEXKBNI) 397 入力のまま/0:税含み.1:税抜き
92 398 他社NO桁数、デジット区分 4 KAEXKBNJ 数字 1 1 入力(SQSTENM) 他社NO桁数、デジット区分(KAEXKBNJ) 398 入力のまま/0:無し
93 399 事業区分 特積,航空,小口,貸切 4 KAEXKBNK 数字 1 1 入力(SQSTENM) 事業区分 特積,航空,小口,貸切(KAEXKBNK) 399 入力のまま/0特積.1航.2小.4貸切
94 400 他社NOマスター作成区分 4 KAEXKBNL 数字 1 1 入力(SQSTENM) 他社NOマスター作成区分(KAEXKBNL) 400 入力のまま/0:無し.1:作成要
95 401 代引形態区分 4 KAEXKBNM 数字 1 1 入力(SQSTENM) 代引形態区分(KAEXKBNM) 401 入力のまま/0:雑.2・4・5:締
96 402 フェリー会社区分 4 KAEXKBNN 数字 1 1 入力(SQSTENM) フェリー会社区分(KAEXKBNN) 402 入力のまま/0:無し.1:フェリー会社
97 403 受領証回収区分 4 KAEXKBNO 数字 1 1 入力(SQSTENM) 受領証回収区分(KAEXKBNO) 403 入力のまま/0:該当外.1:該当荷主
98 404 歩引前金額表示区分(請求荷主のみ) 4 KAEXKBNP 数字 1 1 入力(SQSTENM) 歩引前金額表示区分(請求荷主のみ)(KAEXKBNP) 404 入力のまま/0:無.1:歩引前金額表示
99 405 航空・小口請求明細統合区分 4 KAEXKBNQ 数字 1 1 入力(SQSTENM) 航空・小口請求明細統合区分(KAEXKBNQ) 405 入力のまま/0:分割.1:統合
100 406 保険契約区分 4 KAEXKBNR 数字 1 1 入力(SQSTENM) 保険契約区分(KAEXKBNR) 406 入力のまま/0:無し.3:包括.9:他
101 407 DUMMY 4 KAEXKBNS 数字 1 1 入力(SQSTENM) DUMMY(KAEXKBNS) 407 入力のまま/0:無し.1:有り
102 408 DUMMY 4 KAEXKBNT 数字 1 1 入力(SQSTENM) DUMMY(KAEXKBNT) 408 入力のまま/0:無し.1:有り
103 409 DUMMY 4 KAEXKBNU 数字 1 1 入力(SQSTENM) DUMMY(KAEXKBNU) 409 入力のまま/0:無し.1:有り
104 410 DUMMY 4 KAEXKBNV 数字 1 1 入力(SQSTENM) DUMMY(KAEXKBNV) 410 入力のまま/0:無し.1:有り
105 411 DUMMY 4 KAEXKBNW 数字 1 1 入力(SQSTENM) DUMMY(KAEXKBNW) 411 入力のまま/0:無し.1:有り
106 412 DUMMY 4 KAEXKBNX 数字 1 1 入力(SQSTENM) DUMMY(KAEXKBNX) 412 入力のまま/0:無し.1:有り
107 413 DUMMY 4 KAEXKBNY 数字 1 1 入力(SQSTENM) DUMMY(KAEXKBNY) 413 入力のまま/0:無し.1:有り
108 414 DUMMY 4 KAEXKBNZ 数字 1 1 入力(SQSTENM) DUMMY(KAEXKBNZ) 414 入力のまま/0:無し.1:有り
109 415 消費税情報 3 KAEIGRPX 入力(SQSTENM) 消費税情報(KAEIGRPX) 415 入力のまま
110 415 消費税表示区分 4 KAEIKBN1 数字 1 1 入力(SQSTENM) 消費税表示区分(KAEIKBN1) 415 入力のまま/1:税含み.0:税分割
111 416 消費税総額計算区分 4 KAEIKBN2 数字 1 1 入力(SQSTENM) 消費税総額計算区分(KAEIKBN2) 416 入力のまま/1:有り.0:無し
112 417 予備2 4 KAEIKBN3 数字 1 1 入力(SQSTENM) 予備2(KAEIKBN3) 417 入力のまま
113 418 支払料率 4 KAEIPER1 数値 5 3 入力(SQSTENM) 支払料率(KAEIPER1) 418 入力のまま
114 421 97/3/31時点での支払い料率 4 KAEIPER2 数値 5 3 入力(SQSTENM) 97/3/31時点での支払い料率(KAEIPER2) 421 入力のまま
115 424 新郵便番号 3 KATCGRPX 入力(SQSTENM) 新郵便番号(KATCGRPX) 424 入力のまま
116 424 所在地郵便番号 4 KATNPSNN 文字 7 7 入力(SQSTENM) 所在地郵便番号(KATNPSNN) 424 入力のまま
117 431 請求先郵便番号 4 KASQPSNN 文字 7 7 入力(SQSTENM) 請求先郵便番号(KASQPSNN) 431 入力のまま
118 438 スペース 4 KATCSPAC 文字 4 4 入力(SQSTENM) スペース(KATCSPAC) 438 入力のまま
119 442 氏名.住所情報(請求先!!) 3 KATNINFO 入力(SQSTENM) 氏名.住所情報(請求先!!)(KATNINFO) 442 入力のまま
120 442 正式名称区分 4 KAKONMKB 数字 1 1 入力(SQSTENM) 正式名称区分(KAKONMKB) 442 入力のまま/株式会社等の区分
121 443 顧客正式名(漢字) 4 KATNSGNX 入力(SQSTENM) 顧客正式名(漢字)(KATNSGNX) 443 入力のまま/漢字20+漢字10
122 443 顧客正式名(漢字) 5 KATNSGNM 文字 42 42 入力(SQSTENM) 顧客正式名(漢字)(KATNSGNM) 443 入力のまま/SO+漢字20文字+SI
123 485 顧客正式名(漢字) 5 KATNSGN2 文字 22 22 入力(SQSTENM) 顧客正式名(漢字)(KATNSGN2) 485 入力のまま/SO+漢字10文字+SI
124 507 顧客略名 (漢字) 4 KATNRGNM 文字 14 14 入力(SQSTENM) 顧客略名 (漢字)(KATNRGNM) 507 入力のまま/SO+漢字6文字+SI
125 521 顧客正式名(カナ) 4 KATNSCNM 文字 36 36 入力(SQSTENM) 顧客正式名(カナ)(KATNSCNM) 521 入力のまま
126 557 顧客略名 (カナ) 4 KATNRCNM 文字 14 14 入力(SQSTENM) 顧客略名 (カナ)(KATNRCNM) 557 入力のまま
127 571 所在地、請求先住所区分 4 KAKOADKB 数字 1 1 入力(SQSTENM) 所在地、請求先住所区分(KAKOADKB) 571 入力のまま/0:所在=請求、1:¬=
128 572 顧客所在地(番地、号数、但し書き等)漢字 4 KAKOSYOG 文字 52 52 入力(SQSTENM) 顧客所在地(番地、号数、但し書き等)漢字(KAKOSYOG) 572 入力のまま/SO+漢字25文字+SI
129 624 顧客請求先(番地、号数、但し書き等)漢字 4 KAKOSEQG 文字 52 52 入力(SQSTENM) 顧客請求先(番地、号数、但し書き等)漢字(KAKOSEQG) 624 入力のまま/SO+漢字25文字+SI
130 676 顧客所在地(番地、号数、但し書き等)カナ 4 KAKOSYOC 文字 50 50 入力(SQSTENM) 顧客所在地(番地、号数、但し書き等)カナ(KAKOSYOC) 676 入力のまま
131 726 顧客請求先(番地、号数、但し書き等)カナ 4 KAKOSEQC 文字 50 50 入力(SQSTENM) 顧客請求先(番地、号数、但し書き等)カナ(KAKOSEQC) 726 入力のまま
132 776 請求先.郵便番号 4 KASQPSNO 文字 5 5 入力(SQSTENM) 請求先.郵便番号(KASQPSNO) 776 入力のまま
133 781 SPACE 4 KAKOSPA2 文字 2 2 入力(SQSTENM) SPACE(KAKOSPA2) 781 入力のまま
134 783 契約開始年月日 3 KAHKYSRT 入力(SQSTENM) 契約開始年月日(KAHKYSRT) 783 入力のまま
135 783 年 4 KAHNKSYY 数字 2 2 入力(SQSTENM) 年(KAHNKSYY) 783 入力のまま
136 785 月 4 KAHNKSMM 数字 2 2 入力(SQSTENM) 月(KAHNKSMM) 785 入力のまま
137 787 日 4 KAHNKSDD 数字 2 2 入力(SQSTENM) 日(KAHNKSDD) 787 入力のまま
138 789 契約更新年月日 3 KAHKYMNT 入力(SQSTENM) 契約更新年月日(KAHKYMNT) 789 入力のまま
139 789 年 4 KAHNKMYY 数字 2 2 入力(SQSTENM) 年(KAHNKMYY) 789 入力のまま
140 791 月 4 KAHNKMMM 数字 2 2 入力(SQSTENM) 月(KAHNKMMM) 791 入力のまま
141 793 日 4 KAHNKMDD 数字 2 2 入力(SQSTENM) 日(KAHNKMDD) 793 入力のまま
142 795 スペース 3 KACUBSPC 文字 5 5 入力(SQSTENM) スペース(KACUBSPC) 795 入力のまま
143 800 運賃集約計算区分(運賃契約基本情報より) 2 KCBNDUMM 文字 1 1 入力(SQSTENM) 運賃集約計算区分(運賃契約基本情報より)(KCBNDUMM) 800 入力のまま/ '1'集約計算
144 801 店所名 2 TTTTENNM 入力(SQSTENM) 店所名(TTTTENNM) 801 入力のまま
145 801 店所名(カナ) 3 TTTTNNMC 文字 12 12 入力(SQSTENM) 店所名(カナ)(TTTTNNMC) 801 入力のまま
146 813 店所名(漢字) 3 TTTTNNMG 文字 26 26 入力(SQSTENM) 店所名(漢字)(TTTTNNMG) 813 入力のまま
147 839 所在地 2 TTTTNADD 入力(SQSTENM) 所在地(TTTTNADD) 839 入力のまま
148 839 所在地 地名 3 TTTTNADN 文字 144 144 入力(SQSTENM) 所在地 地名(TTTTNADN) 839 入力のまま
149 983 電話番号 2 TTTTELNO 入力(SQSTENM) 電話番号(TTTTELNO) 983 入力のまま
150 983 NO 3 TTTTNOMB 文字 12 12 入力(SQSTENM) NO(TTTTNOMB) 983 入力のまま
151 995 但し書 3 TTTNTTAD 文字 8 8 入力(SQSTENM) 但し書(TTTNTTAD) 995 入力のまま
152 1003 取引銀行 2 TTTTBANK 入力(SQSTENM) 取引銀行(TTTTBANK) 1003 入力のまま
153 1003 銀行コード 3 TTTBKCD1 数字 7 7 入力(SQSTENM) 銀行コード(TTTBKCD1) 1003 入力のまま
154 1010 口座番号 3 TTTKSNO1 数字 7 7 入力(SQSTENM) 口座番号(TTTKSNO1) 1010 入力のまま
155 1017 口座区分 3 TTTKSCB1 数字 1 1 入力(SQSTENM) 口座区分(TTTKSCB1) 1017 入力のまま
156 1018 データ区分 2 VNADDTKB 数字 1 1 ワーク (名称なし)(WK_KBN) - 設定/0:該当なし、1:該当あり・ADRNKNN3 スペース、2:該当あり・ADRNKNN3 あり(72, 93, 99, 119行)/1:89 BYTE 2:174 BYTE
157 1019 都道府県_市区群町村 2 VNADADRA - (下位項目で設定)
158 1019 都道府県名_カナ 3 VNADKNN1 文字 8 8 住所DB2 都道府県名_カナ(ADRNKNN1) 43 転記(該当なし時はスペース)(115行)
159 1027 市区群町村_カナ 3 VNADKNN2 文字 24 24 住所DB2 市区群町村_カナ(ADRNKNN2) 51 転記(該当なし時はスペース)(116行)
160 1051 都道府県_漢字 3 VNADVTN1 文字 10 10 住所DB2 都道府県_漢字(ADRNVTN1) 75 転記(該当なし時はスペース)(117行)
161 1061 市区群町村_漢字 3 VNADVTN2 文字 26 26 住所DB2 市区郡町村_漢字(ADRNVTN2) 85 転記(該当なし時はスペース)(118行)
162 1087 大字、丁目等 2 VNADADRB - (下位項目で設定)
163 1087 大字.通称_漢字 + 字.丁目_カナ 3 VNADKNN3 文字 47 47 住所DB2 大字.通称_カナ + 字.丁目_カナ(ADRNKNN3) 111〜157 ADRNKNN3 の1〜47バイト目を転記。区分1・該当なし時はスペース(91, 97, 108, 120行)
164 1134 大字.通称_漢字 + 字.丁目_漢字 3 VNADVTN3 文字 38 38 住所DB2 大字.通称_漢字 + 字.丁目_漢字(ADRNVTN3) 172〜207 '0E'X+ADRNVTN3 の2〜37バイト目+'0F'X。区分1・該当なし時は '0E'X+スペース36+'0F'X(92, 98, 109, 121行)
165 1172 (名称なし) 2 VNADSPAC 文字 29 29 入力(SQSTENM) (名称なし)(VNADSPAC) 1172 入力のまま
166 1201 歩引・発送取扱手数料(単片)契約 2 KBTTGRUP 入力(SQSTENM) 歩引・発送取扱手数料(単片)契約(KBTTGRUP) 1201 入力のまま(入力が1500バイトの場合のみ)/繰返し 2/繰返し (元=1.着=2)
167 1201 契約区分 3 KBTTKKBN 数字 1 1 入力(SQSTENM) 契約区分(KBTTKKBN) 1201 入力のまま(入力が1500バイトの場合のみ)/歩引・発取手(単片)
168 1202 委託料単価又は料率 3 KBTTIRYO 数値 5 3 入力(SQSTENM) 委託料単価又は料率(KBTTIRYO) 1202 入力のまま(入力が1500バイトの場合のみ)/〃
169 1205 該当運賃料金区分 3 KBTTURKB 数字 1 1 入力(SQSTENM) 該当運賃料金区分(KBTTURKB) 1205 入力のまま(入力が1500バイトの場合のみ)/繰返し 20/〃
170 1225 最低料金 3 KBTTLRYO 数値 5 3 入力(SQSTENM) 最低料金(KBTTLRYO) 1225 入力のまま(入力が1500バイトの場合のみ)/〃
171 1228 端数区分1 3 KBTTHSU1 数字 1 1 入力(SQSTENM) 端数区分1(KBTTHSU1) 1228 入力のまま(入力が1500バイトの場合のみ)/〃
172 1229 端数区分2 3 KBTTHSU2 数字 1 1 入力(SQSTENM) 端数区分2(KBTTHSU2) 1229 入力のまま(入力が1500バイトの場合のみ)/〃
173 1259 発送取扱手数料(一括)契約 2 KBTIGRUP 入力(SQSTENM) 発送取扱手数料(一括)契約(KBTIGRUP) 1259 入力のまま(入力が1500バイトの場合のみ)/発取手(一括)情報
174 1259 契約区分 3 KBTIKKBN 数字 1 1 入力(SQSTENM) 契約区分(KBTIKKBN) 1259 入力のまま(入力が1500バイトの場合のみ)/〃
175 1260 該当運賃料金区分(1~20) 3 KBTIURKB 数字 1 1 入力(SQSTENM) 該当運賃料金区分(1~20)(KBTIURKB) 1260 入力のまま(入力が1500バイトの場合のみ)/繰返し 20/〃
176 1280 上限区分(1~3) 3 KBTIMKBN 入力(SQSTENM) 上限区分(1~3)(KBTIMKBN) 1280 入力のまま(入力が1500バイトの場合のみ)/繰返し 3/〃
177 1280 上限金額(千円単位) 4 KBTIMAXK 数値 7 4 入力(SQSTENM) 上限金額(千円単位)(KBTIMAXK) 1280 入力のまま(入力が1500バイトの場合のみ)/〃
178 1284 割引金額(千円単位) 4 KBTIWARK 数値 5 3 入力(SQSTENM) 割引金額(千円単位)(KBTIWARK) 1284 入力のまま(入力が1500バイトの場合のみ)/〃
179 1287 割引率 4 KBTIWARP 数値 3,1 2 入力(SQSTENM) 割引率(KBTIWARP) 1287 入力のまま(入力が1500バイトの場合のみ)/〃
180 1307 端数区分1 3 KBTIHSU1 数字 1 1 入力(SQSTENM) 端数区分1(KBTIHSU1) 1307 入力のまま(入力が1500バイトの場合のみ)/〃
181 1308 端数区分2 3 KBTIHSU2 数字 1 1 入力(SQSTENM) 端数区分2(KBTIHSU2) 1308 入力のまま(入力が1500バイトの場合のみ)/〃
182 1309 集貨傭車料契約 2 KBIRSGRP 入力(SQSTENM) 集貨傭車料契約(KBIRSGRP) 1309 入力のまま(入力が1500バイトの場合のみ)/集貨傭車料情報
183 1309 契約区分 3 KBIRKKBN 数字 2 2 入力(SQSTENM) 契約区分(KBIRKKBN) 1309 入力のまま(入力が1500バイトの場合のみ)/〃
184 1311 委託料単価(7,2) 3 KBIRIRYO 数値 7,2 4 入力(SQSTENM) 委託料単価(7,2)(KBIRIRYO) 1311 入力のまま(入力が1500バイトの場合のみ)/〃
185 1315 最低委託料 3 KBIRLRYO 数値 7 4 入力(SQSTENM) 最低委託料(KBIRLRYO) 1315 入力のまま(入力が1500バイトの場合のみ)/〃
186 1319 一車区分 3 KBIRISKB 数字 1 1 入力(SQSTENM) 一車区分(KBIRISKB) 1319 入力のまま(入力が1500バイトの場合のみ)/〃
187 1320 端数区分1 3 KBIRHSU1 数字 1 1 入力(SQSTENM) 端数区分1(KBIRHSU1) 1320 入力のまま(入力が1500バイトの場合のみ)/〃
188 1321 端数区分2 3 KBIRHSU2 数字 1 1 入力(SQSTENM) 端数区分2(KBIRHSU2) 1321 入力のまま(入力が1500バイトの場合のみ)/〃
189 1322 配達傭車料契約 2 KBIRHGRP 入力(SQSTENM) 配達傭車料契約(KBIRHGRP) 1322 入力のまま(入力が1500バイトの場合のみ)/配達傭車料情報
190 1322 契約区分 3 KBIRKKBN 数字 2 2 入力(SQSTENM) 契約区分(KBIRKKBN) 1322 入力のまま(入力が1500バイトの場合のみ)/〃
191 1324 委託料単価(7,2) 3 KBIRIRYO 数値 7,2 4 入力(SQSTENM) 委託料単価(7,2)(KBIRIRYO) 1324 入力のまま(入力が1500バイトの場合のみ)/〃
192 1328 最低委託料 3 KBIRLRYO 数値 7 4 入力(SQSTENM) 最低委託料(KBIRLRYO) 1328 入力のまま(入力が1500バイトの場合のみ)/〃
193 1332 一車区分 3 KBIRISKB 数字 1 1 入力(SQSTENM) 一車区分(KBIRISKB) 1332 入力のまま(入力が1500バイトの場合のみ)/〃
194 1333 端数区分1 3 KBIRHSU1 数字 1 1 入力(SQSTENM) 端数区分1(KBIRHSU1) 1333 入力のまま(入力が1500バイトの場合のみ)/〃
195 1334 端数区分2 3 KBIRHSU2 数字 1 1 入力(SQSTENM) 端数区分2(KBIRHSU2) 1334 入力のまま(入力が1500バイトの場合のみ)/〃
196 1335 中継委託料契約(方面) 2 KBRUGRUP 入力(SQSTENM) 中継委託料契約(方面)(KBRUGRUP) 1335 入力のまま(入力が1500バイトの場合のみ)/中継委託料情報
197 1335 行先ポインター(1~4) 3 KBRUPTRX 数値 3 2 入力(SQSTENM) 行先ポインター(1~4)(KBRUPTRX) 1335 入力のまま(入力が1500バイトの場合のみ)/繰返し 4/中継委託料
198 1343 行先方面(着地)コード 3 KBRUHOMN 文字 5 5 入力(SQSTENM) 行先方面(着地)コード(KBRUHOMN) 1343 入力のまま(入力が1500バイトの場合のみ)/繰返し 25/〃
199 1468 スペース 2 KBPC0000 文字 33 33 入力(SQSTENM) スペース(KBPC0000) 1468 入力のまま(入力が1500バイトの場合のみ)

付録B 住所DB2(RDADRN)列一覧

参考資料(現行解析資料)のレコードフォーマットによる。全17列、計232バイト。位置は受取域(DCLRDADRN)先頭を1とした値。

No 位置 日本語名称 LV 変数名 属性 桁 Byte 備考 本PGでの使用 行番号
1 1 住所コード(都道府県+市区群町村) 2 ADRNADC1 文字 5 5 KEY1 検索条件(=DB2_KEY1) 82
2 6 住所コード(大字・通称) 2 ADRNADC2 文字 3 3 KEY2 検索条件(=DB2_KEY2) 83
3 9 住所コード(字・丁目) 2 ADRNADC3 文字 3 3 KEY3 検索条件(=DB2_KEY3) 84
4 12 旧、郵便番号(5桁) 2 ADRNPVNO 文字 5 5 (未使用。SELECT * で取得のみ)
5 17 廃止年月 2 ADRNDLYM 文字 4 4 0000 :現行0000以外:廃止 (未使用。SELECT * で取得のみ)
6 21 新、郵便番号(7桁) 2 ADRNPVNN 文字 7 7 (未使用。SELECT * で取得のみ)
7 28 新郵便番号関連情報(1) 2 ADRNPVK1 文字 1 1 1:町域設定2:市区町村代表 (未使用。SELECT * で取得のみ)
8 29 新郵便番号関連情報(2) 2 ADRNPVK2 文字 1 1 1:郵便番号複数2:高層ビル (未使用。SELECT * で取得のみ)
9 30 親子関係識別フラグ 2 ADRNFAMK 文字 1 1 同一地名番号複数時0:オヤ 1:コ (未使用。SELECT * で取得のみ)
10 31 親子関係対応住所コード 2 ADRNFACD 文字 11 11 ↑0:ADRNADCD 1:オヤノADRNADCD (未使用。SELECT * で取得のみ)
11 42 全国町・字ファイルの修正コード 2 ADRNUPKB 文字 1 1 0現1新3変5廃9削 (未使用。SELECT * で取得のみ)
12 43 都道府県名_カナ 2 ADRNKNN1 文字 8 8 VNADKNN1 の転記元(該当なし時スペースクリア) 104, 115
13 51 市区群町村_カナ 2 ADRNKNN2 文字 24 24 VNADKNN2 の転記元(該当なし時スペースクリア) 106, 116
14 75 都道府県_漢字 2 ADRNVTN1 文字 10 10 SOSI有 VNADVTN1 の転記元(該当なし時スペースクリア) 105, 117
15 85 市区郡町村_漢字 2 ADRNVTN2 文字 26 26 SOSI有 VNADVTN2 の転記元(該当なし時スペースクリア) 107, 118
16 111 大字.通称_カナ + 字.丁目_カナ 2 ADRNKNN3 文字 60 60 スペース判定、VNADKNN3 の編集元(1〜47バイト目) 88, 91
17 171 大字.通称_漢字 + 字.丁目_漢字 2 ADRNVTN3 文字 62 62 SOSI有 VNADVTN3 の編集元(2〜37バイト目) 92
(2-2/2)