プロジェクト

全般

プロフィール

レビュー指摘 #12454 » BV28000P_仕様書.md

幸塚 和久, 2026-10-29 05:12 午後

 

プログラム仕様書 BV28000P(他社直卸し中継渡し入力(委託票) センター照会)

項目 内容
システムID BV
参考資料 ・現行ソース BV28000P.pl1
・現行の解析資料 BV0190_到着入力(他社直卸中継渡し).xlsx(シート「資産一覧」「レコードフォーマット」「SRC_BV28000P」)
項目名の出典 マスターの項目は解析資料のシート「レコードフォーマット」の日本語名称

1. 概要

項目 内容
プログラムID BV28000P(手続き名:BV28000)
プログラム名称 他社直卸し中継渡し入力(委託票)センター照会(ソースの冒頭コメントは「KSDS・UPDATE センター CICS」。処理内容から命名)
言語 PL/I(CICS コマンドレベル)
処理形態 オンライン(APPC 会話の相手側。画面なし)
動作環境 CIC1(センター側)
トランザクションID B80V(DDP の BV18000P から CONNECT PROCESS で起動される)
パターンID PPOC050P(1987/05/06)、業務 BXHEAD30
呼出し元 BV18000P(BV80)。DDP の送付書マスターに送付書がない場合だけ呼ばれる
参照ファイル VKUNKSH(運行指令マスター)、VKSFSNO(送付書送り状NOマスター)。いずれも参照のみ

1.1 機能概要

DDP から受け取った指令書NO・送付書NO で、指令書にその送付書が登録されているかを確認し、送付書送り状NOマスターから送付書の発送情報を返す。DDP はこの情報で DDP の送付書マスターにレコードを作る。

flowchart LR
    DDP[DDP BV18000P<br/>BV80] -- 照会データ 21バイト --> B80V[B80V<br/>本プログラム]
    B80V -- 照会結果 50バイト --> DDP
    B80V --> UNK[(VKUNKSH<br/>運行指令マスター)]
    B80V --> SFS[(VKSFSNO<br/>送付書送り状NOマスター)]

2. インターフェース

2.1 受信データ(21バイト)

項目ID 項目名 桁 用途
SESS_TRID トランザクションID 4 'B80V'
B80VSFNO 送付書NO 8 指令書の送付書の一覧との照合、送付書送り状NOマスターのキー
B80VSRNO 指令書NO 9 運行指令マスターのキー

2.2 送信データ(50バイト)

送信前に全体を空にし、エラーフラグを '0' にする。

項目ID 内容 編集元
SESS_ERR_FLG エラーフラグ '0':正常、'1':指令書・送付書がない、'2':CICS のエラー
SESS_ERR_CODE エラーコード CICS のエラーのとき 'ZZZZ'、それ以外は空白
BV80YYMD 到着予定年月日 送付書送り状NOマスターの年月日(VSHSTYMD)。0 なら運行指令マスターの予定年月日時分(VBKYBTIM、11桁)の2~7桁目(年月日)
BV80DKB1 データ区分 1
BV80ORTN 卸店コード 到着店所コート゛(VSHSTTCD)
BV80SHKB 運行車区分 運行車区分(VSHSHUNK)
BV80HYMD 発送年月日 発送年月日(VSHSHYMD)
BV80HTIM 出発時分 発送時分(VSHSHTIM)
BV80TUTN 積店コード 店所コート゛(VSHSTNCD)
BV80YSCD 傭車会社コード 傭車会社コード(VSHSYOSY)
BV80SHBN 車番 社番(VSHSSYBN)
BV80DUMY 予備 空白

3. 処理仕様

3.1 処理の流れ

flowchart TD
    S([開始]) --> RCV[照会データを受信]
    RCV --> R1[運行指令マスターを指令書NOで読む]
    R1 -- なし・エラー --> E1[エラーフラグ 1]
    R1 -- あり --> L{送付書の一覧に<br/>送付書NO がある}
    L -- ない --> E1
    L -- ある --> Y[予定年月日時分から<br/>到着予定年月日をセット]
    Y --> R2[送付書送り状NOマスターを<br/>送付書NOで読む]
    R2 -- なし・エラー --> E1
    R2 -- あり --> F0[発送情報を編集<br/>エラーフラグ 0]
    E1 --> SND
    F0 --> SND[結果を送信<br/>終了データを受信して終了]

3.2 指令書・送付書の確認

  1. 指令書NO で運行指令マスター(VKUNKSH)を読む。読めなければ(なし・読込みエラーとも)エラーフラグ '1'。
  2. 送付書の一覧(送付書枚数 VBKBSOFM 件分の送付書NO VBKBSENO)から、受信した送付書NO を探す。なければエラーフラグ '1'。
  3. あれば、予定年月日時分(VBKYBTIM)の年月日を到着予定年月日にセットする。

3.3 送付書の発送情報の取得

  1. 送付書NO で送付書送り状NOマスター(VKSFSNO)を読む。読めなければ(なし・読込みエラーとも)エラーフラグ '1'。
  2. 読めたら 2.2 のとおり編集する。年月日(VSHSTYMD)が 0 でなければ、到着予定年月日をその値で置き換える。

3.4 送受信・エラー処理

  1. 結果(50バイト)を送信して応答を待ち(SEND INVITE WAIT)、DDP からの終了データを受信して終了する。
  2. CICS のエラー(HANDLE CONDITION ERROR)が発生した場合は、送信データを空にし、エラーフラグ '2'、エラーコード 'ZZZZ' にして送信する。

4. 補足・留意事項

  1. 読込みエラーも「なし」と同じ扱い:運行指令マスター・送付書送り状NOマスターの読込みで、レコードなし以外のエラーでもエラーフラグ '1' を返す。
  2. 送付書の状態を確認しない:送付書の一覧の発到区分・取消区分は確認せず、送付書NO があれば正常とする。
  3. データ区分は常に 1:正常時のデータ区分は常に 1(発送あり)を返す。
  4. DDP 側の扱い:DDP の BV18000P は、エラーフラグが '0' 以外ならエラーコードに関係なく「送付書未登録、出発入力後実行して下さい。」を表示する(BV18000P_仕様書.md 4.3)。
  5. 使っていない項目:運行指令マスターの項目は、送付書の一覧と予定年月日時分だけを使う。
(9-9/10)