プロジェクト

全般

プロフィール

レビュー指摘 #12432 » BV13700P_仕様書.md

幸塚 和久, 2026-10-28 05:17 午後

 

プログラム仕様書 BV13700P(他社直卸分発送伝票送付書(傭車便) 次画面の振り分け)

項目 内容
システムID BV
参考資料 ・現行ソース BV13700P.pl1
・画面イメージ MPBV350.jpg(他社直卸分発送伝票送付書(傭車便))
・現行の解析資料 BV0180_他社直卸出発入力(傭車.xlsx(シート「資産一覧」「MPBV350」「SRC_BV13700P」)
項目名の出典 画面項目は解析資料のシート「MPBV350」の日本語名。MPBV340 の項目名は自社便版(BV13300P_仕様書.md)と同じ

1. 概要

項目 内容
プログラムID BV13700P(手続き名:BV13700)
プログラム名称 他社直卸分発送伝票送付書(傭車便)次画面の振り分け(ソースの冒頭コメントは空欄。処理内容から命名)
言語 PL/I(CICS コマンドレベル)
処理形態 オンライン(CICS 疑似会話型)
動作環境 SV(DDP 側)
トランザクションID BV37
パターンID PPOD426P(1987/05/01。コメントでは PPOD156P)、業務 BXHEAD30
使用画面(マップ) MPBV350(他社直卸分発送伝票送付書(傭車便))、MPBV340(発送伝票送付書(No群))、MPBS080(直集入力の画面)、MPDM010(共通ヘッダ画面)、ELEPHAN(終了画面)
前の処理 BV36(BV13600P)。送付書を登録し「送付書登録OK NO群または直集受付は実行キー」を表示して BV37 で待機している
次の処理 直集軒数が 0 などの場合 → BV34(BV13400P:送り状NO群の入力、MPBV340)。それ以外 → BS08(BS10800P、MPBS080)
センター照会 なし
参照ファイル VPTENMS(DDP 店所マスター)参照のみ
一時記憶 TSキュー(通信領域の TSQ_ID・TSQ_LENGTH。「端末ID+'BV35'」、長さ 300)

1.1 機能概要

BV13600P で送付書を登録した後の実行キーを受け、直集軒数などに応じて次の入力画面に切り替える。画面の入力内容はチェックしない。

条件 次の画面
直集軒数 = 0 送り状NO群の入力(MPBV340、BV34)
直集軒数 ≠ 0 で、作業選択番号 = 03 送り状NO群の入力(MPBV340、BV34)
直集軒数 ≠ 0 で、作業選択番号 ≠ 03 直集の入力(MPBS080、BS08)。入力ID '55' を渡す
flowchart LR
    BV36[BV36<br/>BV13600P 登録] -- 登録OK --> BV37[BV37<br/>本プログラム]
    BV37 -- 直集軒数 0 など --> BV34[BV34<br/>BV13400P 送り状NO群<br/>MPBV340]
    BV37 -- 直集あり --> BS08[BS08<br/>BS10800P<br/>MPBS080]
    BV37 -- PF3 --> BV35[BV35 初期画面]

2. 画面仕様

2.1 受信する画面(MPBV350)

画面レイアウト・項目は BV13500P_仕様書.md の 2.1・2.2 と同じ。本プログラムでは画面の入力値は使わない(TSキューに保存した値を使う)。

2.2 次の画面(MPBV340:発送伝票送付書(No群))にセットする項目

項目ID 項目名 セットする値
BV34011 システム年月日 YY/MM/DD
BV34021 システム時分秒 HH:MM:SS
BV34041 指令書NO 指令書NO
BV34051 送付書NO 送付書NO
BV34071~BV34075 発送年・発送月・発送日・発送時・発送分 発送年・月・日・時・分
BV34081・BV34082 発店コード・発地コード 発店コード・発地コード
BV34083 発地名 発店コードの店所マスターの店所略名(漢字)
BV34091・BV34092 着店コード・着地コード 着店コード・着地コード
BV34093 着地名 着店コードの店所マスターの店所略名(漢字)

2.3 ファンクションキー

キー 機能 処理概要
実行(Enter) 継続 次の画面に切り替える(4.2)
PF3 取消(初期画面) 画面をクリアし、TSキューを削除して、共通ヘッダ画面と空の MPBV350 を表示する。BV35(照会)で待機
PF4 終了 TSキューを削除し、戻り先画面のスタックから一つ前の画面に戻る(BV13500P の PF3 と同じ決め方)
CLEAR 強制終了 TSキューを削除し、終了画面(ELEPHAN)を表示して終了
上記以外 再表示 MPBV350 のデータ部分を再送信し、BV37 で待機

3. インターフェース

3.1 通信領域(COMMAREA:256バイト)

ユーザー受渡しエリアを次のように定義している(BV13500P の作業選択番号 COMM_ITEM_NO は、本プログラムの COMM_ITEM_S3 と同じ位置)。

項目ID 型 本プログラムでの用途
TSQ_ID・TSQ_LENGTH TSキューの名前・長さ
COMM_ITEM_S1・COMM_ITEM_S2 数字(8) 直集入力に切り替えるとき、送付書NO をセット
COMM_ITEM_S3 数字(2) 作業選択番号として判定に使う。直集入力に切り替えるとき '55'(入力ID)をセット
COMM_ITEM_S4・COMM_ITEM_S5 数字(1)・文字(4) 直集入力に切り替えるとき 0・'0000'
COMM_ITEM_I1~COMM_ITEM_I6 直集入力に切り替えるとき 0(I4 は '0000')
CRT_BACK_KOSU/CRT_BACK_DATA(5) 戻り先画面のスタック(PF4)

3.2 TSキュー

  1. 読むときは BV13500P・BV13600P と同じ形式(CHK_DSP_WORK:画面項目の保存域、照会結果)。読んだら削除する。
  2. 送り状NO群の入力に切り替えるときは、自社便版(BV31)と同じ形式(CHK_DSP_WORK1)に詰め替えて、同じキュー名で書く。BV34 はこの形式で読む。
書く項目(CHK_DSP_WORK1) セットする値
BV31041B・BV31051B 指令書NO・送付書NO
BV31071B~BV31075B 発送年・月・日・時・分
BV31081B・BV31082B 発店コード・発地コード
BV31091B・BV31092B 着店コード・着地コード
BV31161B・BV31171B 直卸他社コード・扱事業所コード
BV31BNKB 運行車区分(照会結果、または BV13600P で 02 にした値)
BV31SYAB 傭車番号(4桁)
BV31YSCD 傭車会社コード
BV31TCYD 到着予定年月日

先頭62バイト、運行車区分(BV31111B)・積載社番・セミトレ社番・直集軒数・積区分(BV31121B~BV31141B)、訂正区分・輸送粁程・所在地コード・扱店コード(WRK_TEIKB・BUYUSOK・TS31HSYZ・TS31ATKA)などはセットしない(7章 3)。


4. 処理仕様

4.1 処理の流れ

flowchart TD
    S([開始]) --> AID{押されたキー}
    AID -- CLEAR --> CLR[TSキュー削除<br/>終了画面]
    AID -- PFキー --> PF[ファンクションキー処理 2.3]
    AID -- 実行 --> RCV[MPBV350 を受信<br/>TSキューを読んで削除]
    RCV -- TSキューなし・画面データなし --> CLR
    RCV --> J{直集軒数}
    J -- 0 --> V34[MPBV340 を編集<br/>TSキューを BV31 形式で書く]
    J -- 0 以外 --> K{作業選択番号 = 03}
    K -- はい --> V34
    K -- いいえ --> S08[通信領域を編集<br/>MPBS080 を表示]
    V34 --> W34([BV34 で待機])
    S08 --> W08([BS08 で待機])

4.2 次画面への切替え

  1. 画面を受信し、TSキューを読む。キューがなければ終了処理(TSキュー削除・終了画面)へ。あれば削除する。
  2. 直集軒数が 0、または作業選択番号(COMM_ITEM_S3)が 03 の場合:
    1. MPBV340 に 2.2 の項目をセットする(発地名・着地名は店所マスターを発店コード・着店コードで読み、なければ空欄)。
    2. TSキューを自社便版の形式で書く(3.2)。
    3. MPBV340 を画面を消去して送信し、BV34 で待機する。
  3. それ以外(直集軒数 ≠ 0 で、作業選択番号 ≠ 03):
    1. 通信領域に、送付書NO(S1・S2)、入力ID '55'(S3)、そのほかの受渡し項目の初期値(0・'0000')をセットする。
    2. TSキューを削除する。
    3. 共通ヘッダ画面(MPDM010)に日時をセットして画面を消去して送信し、MPBS080 をデータなしで送信して、BS08 で待機する。

4.3 例外処理

発生条件 処理
CLEAR キー TSキューを削除し、終了画面(ELEPHAN)を表示して終了
画面データなし(MAPFAIL)・レコードなし・ファイルの終わり CLEAR キーと同じ
TSキューがない CLEAR キーと同じ

5. メッセージ一覧

本プログラムで表示するメッセージはない。


6. 画面遷移

flowchart LR
    BV36[BV36 登録] --> BV37[BV37<br/>本プログラム]
    BV37 -- 実行(直集軒数 0 等) --> BV34[BV34<br/>MPBV340 送り状NO群]
    BV37 -- 実行(直集あり) --> BS08[BS08<br/>MPBS080 直集入力]
    BV37 -- PF3 --> BV35[BV35 初期画面]
    BV37 -- PF4 --> PREV[一つ前の画面]
    BV37 -- その他 --> BV37
    BV37 -- CLEAR --> END[ELEPHAN 終了]

7. 補足・留意事項

  1. PF3 と PF4 の役割:PF3 は初期画面(BV35)に戻る「取消」の動き、PF4 は一つ前の画面に戻る「終了」の動き(ソースのコメントも「終了」)で、他の画面の PF2(取消)・PF3(終了)・PF4(戻り)と割当てが違う。メインメニューに戻るキーはない。自社便版(BV13300P)と同じ。
  2. 作業選択番号 03 の判定:直集軒数があっても、作業選択番号が 03 なら送り状NO群の入力に進む(自社便版は 01)。
  3. TSキューの詰め替え:送り状NO群の入力(BV34)は自社便と共通のため、自社便版の TSキューの形式に詰め替えて渡している。詰め替え用の作業域は初期化しておらず、3.2 でセットしない項目(訂正区分・輸送粁程・所在地コード・扱店コードなど)には不定の値が入る。また、作業域は 320 バイトだが、書くのは通信領域の長さ(300 バイト)分だけである。
  4. 積載社番の桁:自社便版の積載社番(5桁)に、傭車番号(車号の下4桁)を入れている。
  5. 入力ID '55':直集入力に渡す入力IDは '55'(自社便版は '45')。センター照会(BV23500P)は選択NO 55 のとき利用運送の指令書のチェックをしないため、直集入力からの照会では利用運送の指令書も扱える。
  6. 発地名・着地名の表示:MPBV340 の「発地名」「着地名」には、発店・着店の店所名を表示している(地名マスターは読まない)。
  7. 入力チェックなし:実行キー以外のキー(PF3・PF4・CLEAR を除く)は MPBV350 を再表示するだけで、実行キーでは画面の入力値に関係なく次の画面に進む。
(3-3/6)