プロジェクト

全般

プロフィール

レビュー指摘 #12452 » BU20700P_仕様書.md

幸塚 和久, 2026-10-29 04:59 午後

 

プログラム仕様書 BU20700P(配車修正入力 センター照会)

項目 内容
システムID BU
参考資料 ・現行ソース BU20700P.pl1
・現行の解析資料 BU0070_配車修正入力.xlsx(シート「資産一覧」「レコードフォーマット」「SRC_BU20700P」)
・呼出し元の仕様書 BU10700P_仕様書.md
項目名の出典 受渡し項目(DPCEB05U・CEDPBU07)・マスターの項目は解析資料のシート「レコードフォーマット」の日本語名称

1. 概要

項目 内容
プログラムID BU20700P(手続き名:BU20700)
プログラム名称 配車修正入力 センター照会
言語 PL/I(CICS コマンドレベル)
処理形態 オンライン(APPC 会話の相手側。画面なし)
動作環境 CIC1(センター側)
プロセス名(トランザクションID) B07U
パターンID PPOC030P(1987/04/30)、業務 BUSHRE30
呼出し元 BU10700P(DDP の BU07)。SYSID 'CIC1'、プロセス 'B07U' で接続
参照ファイル VKUNKSH(運行指令マスター)、VKFIXNW(計画便マスター(NEW))
呼出しモジュール LSS0030A(応答コードの16進表示への変換)

1.1 機能概要

DDP(BU10700P)から指令書NO を受け取り、運行指令マスターを読んで、配車修正に必要な項目を編集して返す。マスターの更新はしない。

flowchart LR
    DDP[BU10700P<br/>DDP BU07] -- 指令書NO 35バイト --> C[BU20700P<br/>CIC1 B07U]
    C --> UNK[(VKUNKSH<br/>運行指令マスター)]
    C --> FIX[(VKFIXNW<br/>計画便マスター)]
    C -- 照会結果 250バイト --> DDP

2. インターフェース

2.1 受信データ(IN_DATA:35バイト)

項目ID 項目名 内容
SESS_TRID トランザクションID 'B07U'
SESS_SPEC 予備
UNKTRID トランザクションID 'B07U'
UNKDTID データ区分 空白
UNKSHIN 指令書NO 9桁。運行指令マスターのキー
UNKSPE1 SPACE

2.2 送信データ(OUT_DATA:250バイト)

項目ID 内容
SESS_SEN_TRID 'BU07'
SESS_ERR_FLG エラーフラグ。常に '0'
SESS_ERR_CODE エラーコード。通常 'B000'、マスターの読込みエラー時は応答コード(16進表示)
SESS_SEND_DATA(CEDPBU07) 配車修正照会後データ(3章)

3. 処理仕様

3.1 処理の流れ

  1. DDP からのデータを受信する。
  2. 送信域をクリアし、エラーフラグ '0'、エラーコード 'B000' をセットする。
  3. 運行指令マスター(VKUNKSH)を指令書NO で読む。
  4. 読めたら 3.2 のとおり送信域を編集する。読めなければ 3.3。
  5. 送信域の入力年月日に運行指令マスターの入力年月日(年・月・日)をセットする(読めなかった場合も同じ領域の値をセットする)。
  6. 送信データ(250バイト)を送信して応答を待ち(INVITE WAIT)、DDP からの終了データを受信して終了する。

3.2 運行指令マスターがある場合の編集

入力結果を '0' にして、次の値をセットする。

送信項目 項目名 運行指令マスターの項目(編集)
UNKSHNO 指令書NO 指令書NO(VBKBSRSH)
UNKSHCN 指令書発行枚数 指令書発行枚数(VBKBSHIC)
UNKSHYM 指令月日 指令年月日(=出発年月日)(VBKBSRDD)の月日
UNKBNCD 計画便コード 計画便コート゛(VBKBKEIK)
UNKBNNM 便名(漢字) 便名(漢字)(VBKBKANG)のシフトコードを除いた16桁
UNKKUBN 運行車区分 運行車区分(VBKBYKKN)
UNKKEIT 運行形態区分 運行形態(VBKBUKTI)
UNKINKB 入力区分 入力区分(VBKBNURK)
UNKSTID・UNKSTTC 発支社区分・発店 入力区分が 0・9 なら計画の支社区分(VBKKKHSK)・発店コート゛(VBKKKHCD)、それ以外は実績の支社区分(VBKGJHSK)・発店コート゛(VBKGJHCD)
UNKENID・UNKENTC 最終卸支社区分・最終卸店 入力区分が 0・9 なら計画の支社区分(VBKKKCSK)・着店コード(最終卸店)(VBKKKCCD)、それ以外は実績(VBKGJCSK・VBKGJCCD)
UNKSTYY~UNKSTMI 出発 年・月・日・時・分 予定年月日時分(出発)(VBKYATIM)
UNKENYY~UNKENMI 最終卸店到着 年・月・日・時・分 予定年月日時分(到着)(VBKYBTIM)
UNKFUID・UNKFUTC 次運行発支社・次運行発店 指令書NO の8桁目が発行枚数と同じ(最終枚)で、運行車区分が 02 以外、増定減便区分(VBKBZTGK)が 2 なら、支社区分は空白、店所は配車で予定の店所コード(VBKGDTEN。0 なら計画便マスターより の店所コード VBKYCTEN)。それ以外は支社区分(VBKGSSID)・実績店所コート゛(VBKGJTCD)
UNKCARS・UNKTONS・UNKSYAS 積載社番・標屯・車種 1台目の車種(VBKGSAS1)が 'F' なら2台目(車番 VBKGSBN2・標屯 VBKGFYT2・車種 VBKGSAS2)、それ以外は1台目(VBKGSBN1・VBKGFYT1・VBKGSAS1)
UNKCART・UNKTONT・UNKSYAT トレーラ頭・コンテナ車(社番・標屯・車種) 上と逆の1台(車種が 'F' なら1台目、それ以外は2台目)
UNKDRIA・UNKDRIB 乗務員 A・B 乗務員コート゛(VBKGJMIN・VBKGBJMI)
UNKNTI1・UNKNTC1 乗継店1支社区分・乗継店1 空白・乗り継ぎ店コード(VBKKNRT1)
UNKND1A・UNKND1B 乗継員1A・1B 乗務員コート゛(VBKGCJMI・VBKGDJMI)
UNKNTI2・UNKNTC2 乗継店2支社区分・乗継店2 空白・乗り継ぎ店コード(VBKKNRT2)
UNKND2A・UNKND2B 乗継員2A・2B 乗務員コード(VBKGEJMI・VBKGFJMI)
UNKGHKB・UNKGHCD・UNKGHTC 直配区分・直配着地コード・直配着地最寄りの店所 直配区分(VBKBHIKB)・直配着地コード(VBKBHICD)・直配着地標準最終扱店所(VBKBHITC)
UNKINFO 連絡事項 連絡事項(漢字)(VBKBRENR)
UNKKBID・UNKTKNO 特定便区分・特定便NO 特定便区分(VBKBKBID)・特定便NO(VBKBTKCD)
UNKFISH 一車保険料(自社、鮮魚の場合) 一車保険料(自社鮮魚)(VBKBHOKN)
UNKSOFI・UNKSOFD 送付書枚数・取消送付書枚数 送付書枚数(VBKBSOFM)・取消送付書枚数(VBKBTRKS)
UNKSAIT 最低保障区分 使用形態(VBKGKITI)が 2 で定額傭車料(VBKGTGKU)が 0 でなければ 1、それ以外 0
UNKYOSK 傭車使用形態 自動車利用運送区分(VBKKSAGK)が '1' なら 4(差額的傭車)、それ以外は使用形態(VBKGKITI)
UNKYSRY・UNKYOSH 定額傭車料・一車保険料(傭車の場合) 定額傭車料(VBKGTGKU)・一車保険料(傭車)(VBKGYOHO)
UNKNAMC 便名(カナ) 便名(カナ)(VBKBKANA)
UNKSEKM 設定粁 計画設定粁(VBKKKSKM)
UNKSYMD 計画出発年月日 計画出発年月日(VBKBKYMD)
UNKKDAY 計画最終卸経過日数 指令書NO の1桁目が 9(増便)なら 0。定便は計画便マスター(VKFIXNW)を計画便コードで読み、計画の最終卸経過日数(VBKKSKDY)。読めなければ 1
UNKYOSC 傭車会社コード 運行車区分が 02 なら、フェリー会社・傭車コード(VBKGFYCD)
UNKFRCD フェリー、ライナーコード 運行車区分が 02 以外なら、フェリー会社・傭車コード(VBKGFYCD)

3.3 運行指令マスターがない・読めない場合

条件 編集
レコードがない(NOTFND) 指令書NO に受信した指令書NO、入力区分を 6 にする
その他の読込みエラー 指令書NO に受信した指令書NO、入力区分を 7 にし、応答コード(EIBRCODE の先頭2バイト)を LSS0030A で16進表示に変換してエラーコードにセットする

どちらもエラーフラグは '0' のまま。DDP(BU10700P)は入力区分 6・7 を見てエラーメッセージを表示する。


4. 補足・留意事項

  1. エラーフラグを使わない:マスターがない・読めない場合もエラーフラグは '0' で、入力区分(6・7)で結果を返す(エラーフラグ '2' をセットする処理はコメントになっている)。
  2. 入力年月日:送信域の入力年月日は、運行指令マスターを読めなかった場合も、作業域に残っている値(運行指令マスターの入力年月日の領域)をセットする。
  3. 傭車会社とフェリー会社の兼用:運行指令マスターの「フェリー会社・傭車コード」1項目を、運行車区分が 02(傭車)なら傭車会社コード、それ以外ならフェリー会社コードとして返す。
  4. 送受信の長さ:受信 35バイト、送信 250バイト。送信後に DDP から 1バイトの終了データを受信してから終了する。
(4-4/6)