プログラム仕様書 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キュー
- 読むときは BV13500P・BV13600P と同じ形式(CHK_DSP_WORK:画面項目の保存域、照会結果)。読んだら削除する。
- 送り状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 次画面への切替え
- 画面を受信し、TSキューを読む。キューがなければ終了処理(TSキュー削除・終了画面)へ。あれば削除する。
- 直集軒数が 0、または作業選択番号(COMM_ITEM_S3)が 03 の場合:
- MPBV340 に 2.2 の項目をセットする(発地名・着地名は店所マスターを発店コード・着店コードで読み、なければ空欄)。
- TSキューを自社便版の形式で書く(3.2)。
- MPBV340 を画面を消去して送信し、BV34 で待機する。
- それ以外(直集軒数 ≠ 0 で、作業選択番号 ≠ 03):
- 通信領域に、送付書NO(S1・S2)、入力ID '55'(S3)、そのほかの受渡し項目の初期値(0・'0000')をセットする。
- TSキューを削除する。
- 共通ヘッダ画面(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. 補足・留意事項
-
PF3 と PF4 の役割:PF3 は初期画面(BV35)に戻る「取消」の動き、PF4 は一つ前の画面に戻る「終了」の動き(ソースのコメントも「終了」)で、他の画面の PF2(取消)・PF3(終了)・PF4(戻り)と割当てが違う。メインメニューに戻るキーはない。自社便版(BV13300P)と同じ。
-
作業選択番号 03 の判定:直集軒数があっても、作業選択番号が 03 なら送り状NO群の入力に進む(自社便版は 01)。
-
TSキューの詰め替え:送り状NO群の入力(BV34)は自社便と共通のため、自社便版の TSキューの形式に詰め替えて渡している。詰め替え用の作業域は初期化しておらず、3.2 でセットしない項目(訂正区分・輸送粁程・所在地コード・扱店コードなど)には不定の値が入る。また、作業域は 320 バイトだが、書くのは通信領域の長さ(300 バイト)分だけである。
-
積載社番の桁:自社便版の積載社番(5桁)に、傭車番号(車号の下4桁)を入れている。
-
入力ID '55':直集入力に渡す入力IDは '55'(自社便版は '45')。センター照会(BV23500P)は選択NO 55 のとき利用運送の指令書のチェックをしないため、直集入力からの照会では利用運送の指令書も扱える。
-
発地名・着地名の表示:MPBV340 の「発地名」「着地名」には、発店・着店の店所名を表示している(地名マスターは読まない)。
-
入力チェックなし:実行キー以外のキー(PF3・PF4・CLEAR を除く)は MPBV350 を再表示するだけで、実行キーでは画面の入力値に関係なく次の画面に進む。