プロジェクト

全般

プロフィール

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

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

 

プログラム仕様書 BV10800P(配車修正入力(傭車便) 検証)

項目 内容
システムID BU
参考資料 ・現行ソース BV10800P.pl1
・画面イメージ MPBU070.jpg(配車修正入力)
・現行の解析資料 BU0070_配車修正入力.xlsx(シート「資産一覧」「MPBU070」「レコードフォーマット」「SRC_BV10800P」)
・自社便の検証の仕様書 BU10800P_仕様書.md(本プログラムと構造が同じ。共通の部分はそちらを参照)
項目名の出典 画面項目は解析資料のシート「MPBU070」の日本語名、TSキューの項目(DEFPBU07)・マスターの項目はシート「レコードフォーマット」の日本語名称

1. 概要

項目 内容
プログラムID BV10800P(手続き名:BV10800)
プログラム名称 配車修正入力(傭車便) 検証
言語 PL/I(CICS コマンドレベル)
処理形態 オンライン(CICS 疑似会話型)
動作環境 SV(DDP 側)
トランザクションID BV08
パターンID PPOD252P(1987/05/01)、業務 BUSHRE30。2000年対応済み。2023/11/07 定額傭車料の上限を 300000 → 500000 に変更
使用画面(マップ) MPBU070(配車修正入力)、MPDM010(共通ヘッダ画面)、ELEPHAN(終了画面)
前の処理 BU07(BU10700P:照会)。運行車区分が 02(傭車)の指令書を照会した後
次の処理 チェックOK → BU09(BU10900P:センターへの更新依頼)
参照ファイル VPTENMS(DDP 店所マスター)、VPCHINM(DDP 地名マスター)、VPUNKEI(DDP 運賃計算荷主マスター(1))、VPHCBKM(DDP 発着地粁程マスター)
呼出しモジュール LSO0130(日付の経過日数の計算)
起動するトランザクション BV13・BV14(テストプリント・印刷終了のときだけ)
一時記憶 TSキュー(通信領域のキュー名。BU10700P が書いた「端末ID+'BU07'」、長さ 520)

1.1 機能概要

傭車便の指令書の修正内容をチェックする画面。処理の流れ、TSキュー、ファンクションキー、メッセージは BU10800P と同じで、チェックする項目と内容が違う(傭車会社・傭車標屯・傭車形態・一車保険料・定額傭車料をチェックし、運行車区分・形態・乗継店・次運行発店・フェリー会社・鮮魚保険料はチェックしない)。

flowchart LR
    BU07[BU07<br/>BU10700P 照会] -- 傭車便 --> BV08[BV08<br/>本プログラム<br/>MPBU070]
    BV08 -- エラー --> BV08
    BV08 <--> TS[(TSキュー<br/>照会結果 520バイト)]
    BV08 -- チェックOK --> BU09[BU09<br/>BU10900P 更新依頼]
    BV08 -- PF2 --> BU07

2. 画面仕様

画面レイアウトは BU10700P と同じ。ファンクションキーは BU10800P と同じ(待機するトランザクションが BU08 ではなく BV08)。

2.1 画面項目とチェック結果の番号

「FLG」は TSキューのチェック結果の番号。BU10800P と番号が同じ項目は同じ位置を使う。

FLG 項目ID 項目名 本プログラムでの扱い
1 BU07051・BU07052 指令書NO チェックしない(常に OK)
2 BU07053 入力区分 BU10800P と同じ
3・4 BU07071・BU07073 運行車区分・運行車形態区分 チェックしない(常に OK)。表示だけ
5 BU07081 積載社番 4.2
6 BU07082 トレーラー 4.2
7 BU07091 発店コード BU10800P と同じ
8・9 BU07093~BU07096 出発予定日 月・日・時・分 項目チェックは BU10800P と同じ。日付の関連チェックの範囲が違う(4.3)
10・11 BU07101・BU07111 乗継店1・2 チェックしない(常に OK)
12 BU07121 最終卸店コード BU10800P と同じ
13・14 BU07123~BU07126 到着予定日 月・日・時・分 出発と同じ
15 BU07131 次運行便発店コード チェックしない(常に OK)
16・17 BU07151・BU07153 乗務員A・B 4.2
18~21 BU07161~BU07174 乗継員1A~2B チェックしない(常に OK)
22・23 BU07191・BU07192 直配区分・直配着地コード BU10800P と同じ
24 BU07193 フェリー会社コード チェックしない(常に OK)
25 BU07201 連絡事項 チェックなし(BU10800P と同じ)
26 BU07202 特定便コード 4.2
27 BU07203 鮮魚保険料 チェックしない(常に OK)
28 BU07211・BU07212 傭車会社コード・傭車会社名 4.2
29 BU07213・BU07214 傭車標屯(整数・小数点) 4.2
30 BU07221・BU07222 傭車形態区分・傭車形態区分名 4.2
31 BU07223 一車保険料 4.2
32 BU07224 定額傭車料 4.2

3. インターフェース

通信領域・TSキュー・PFキーの処理は BU10800P と同じ(BU10800P_仕様書.md の 3章・4.7)。本プログラムが TSキューの検証後データ(DEFPBU07)に書き換える項目は、BU10800P の表のうち次のものと、傭車の項目。

項目ID 項目名 セットする値
DNKTERM・DNKIYMD・DNKNYUK 端末ID・入力年月日・入力結果 BU10800P と同じ
DNKCARS・DNKCART 積載社番・トレーラ頭・コンテナ車 入力値(未入力は 0)
DNKTONS・DNKSYAS・DNKSYAT 積載車標屯・積載車種・トレーラ車種 傭車標屯の入力値と、標屯から決めた車種(4.2)
DNKSTID・DNKSTTC、DNKENID・DNKENTC 発店・最終卸店(支社区分・コード) BU10800P と同じ
DNKSTYY~DNKSTMI、DNKENYY~DNKENMI 出発・最終卸店到着の年月日時分 BU10800P と同じ(年は日付の関連チェックで決める)
DNKDRIA・DNKDRIB 乗務員 A・B 入力値(999999 のみ。未入力は 0)
DNKGHKB・DNKGHCD・DNKGHTC 直配区分・直配着地コード・直配着地最寄りの店所 BU10800P と同じ
DNKINFO 連絡事項 入力値
DNKKBID・DNKTKNO 特定便区分・特定便NO 入力値
DNKYOSC 傭車会社コード 入力値
DNKYOSK 傭車使用形態 入力値
DNKYOSH 一車保険料(傭車の場合) 入力値
DNKYSRY 定額傭車料 入力値
DNKBNCD・DNKBNNM・DNKNAMC・DNKSEKM 便コード・便名・便名(カナ)・設定粁 増便の場合に編集(BU10800P と同じ)

4. 処理仕様

4.1 処理の流れ

BU10800P の 4.1・4.2 と同じ。ただし初期化では、増便かどうかに関係なく乗継店1・2(FLG(10)・FLG(11))を OK にする。エラーなら BV08、チェックOK なら BU09 で待機する。

4.2 項目チェック(BU10800P と違う項目)

FLG 項目 未入力のとき チェック内容(満たさなければエラー)
5 積載社番 OK(0) 数字で 00001~09999
6 トレーラー OK(0) 数字で 10000 未満
16・17 乗務員A・B OK(0) 999999(ダミーコード)であること。それ以外のコードはエラー(名前を「??????」)
26 特定便コード OK(区分空白・NO 000) 1桁目が 'Y' で2~4桁目が数字で 000 より大きい。満たさなくても運行車区分が 02 なら OK(4.5 の 3)
28 傭車会社コード エラー(会社名を空白) 数字で 9950000~9989999、運賃計算荷主マスター(1)(キー:傭車会社コード+'00000001')にあり、フェリー会社区分が 0。会社名に顧客略名(漢字)を表示。エラーなら「???????」
29 傭車標屯 整数・小数とも未入力ならエラー 整数(2桁)+小数(1桁)が数字で、下表で車種を決める
30 傭車形態区分 エラー '2'(トンアタリ)・'3'(テイガク)・'4'(差額的傭車)のどれか。変更前(照会時)か変更後が '4' で、値を変える場合は、送付書枚数が 0 であること
31 一車保険料 OK(0) 数字(4桁)
32 定額傭車料 OK(0) 数字(6桁)

傭車標屯から決める車種。

傭車標屯 積載車種 トレーラ車種
0.0 エラー
2.0 未満 '0' (変えない)
2.0 '2' (変えない)
2.1~4.0 '4' (変えない)
4.1~11.0 'T' (変えない)
11.1~13.5 'S' 'R'
13.6~18.5 'G' 'F'
18.6 以上 エラー

4.3 関連チェック

入力区分を変えていない(入力結果が '9' でない)場合に行う。

  1. 出発・到着の日付(BU10800P の 4.4 の 4 と同じ方法。基準日からの日数の範囲が違う)
項目 増便(1桁目が 9) 定便
基準日 処理日付 計画出発年月日
基準日から出発日までの日数 -30~+7 日 -1~+2 日
出発日から到着日までの日数 0~3 日 計画最終卸経過日数が 0 なら -1~2 日、それ以外は(経過日数-1)~経過日数
  1. 乗務員(乗務員A・Bが OK の場合):乗務員Aが未入力なら、乗務員A・Bを関連エラーにする。
  2. 傭車形態と定額傭車料(傭車形態・定額傭車料が OK の場合)。次のどれかを満たさなければ、傭車形態・定額傭車料を関連エラーにする。
傭車形態 定額傭車料 最低保障区分
3(テイガク) 1~500000
4(差額的傭車) 1~500000
2(トンアタリ) 0 0
2(トンアタリ) 1~500000 1

最低保障区分は、照会時の運行指令の使用形態が 2 で定額傭車料が 0 でなければ 1(BU20700P が編集)。

  1. 車番(傭車標屯・積載社番・トレーラーが OK の場合)
    • 積載車種が 'S'・'G'(標屯 11.1~18.5):積載社番とトレーラーの両方が必要で、同じ番号でないこと。
    • それ以外:積載社番が必要で、トレーラーは入れないこと。
    • 満たさなければ積載社番・トレーラーを関連エラーにする。
  2. 増便の便コード・便名・設定粁:BU10800P の 4.4 の 8 と同じ。
  3. FLG(1)~FLG(32) に '1'(エラー)か '3'(関連エラー)があれば全体エラー。

4.4 表示の編集

BU10800P の 4.5 と同じ方法で表示・属性を決める。違う点は次のとおり。

  • 傭車会社・傭車標屯・一車保険料・定額傭車料は、OK・関連エラーならチェック後の値(0 は空欄。保険料・傭車料は左詰め)を表示する。傭車形態区分名は 2:トンアタリ、3:テイガク、4:* リヨウ、0・1:表示しない、それ以外:???? 。
  • 乗継店1・2、次運行便発店、フェリー会社、鮮魚保険料は表示を編集しない(画面の値・属性のまま)。
  • 運行車区分名の 03 は「10Tコン」(BU10800P・BU10700P は「31FT」)。
  • 入力区分の強調は、入力区分が '0'~'9' なら反転、それ以外(R・D)は通常表示(BU10800P と逆)。

メッセージ・エラーコードは BU10800P と同じ(エラー:ERR 1「エラー項目あり,再入力して下さい。」、OK:OK 2 と入力区分ごとの確認メッセージ)。


5. メッセージ一覧

BU10800P の 5章と同じ。


6. 画面遷移

flowchart LR
    BU07[BU07<br/>BU10700P] -- 照会OK 傭車便 --> BV08[BV08<br/>本プログラム]
    BV08 -- 実行(エラー) --> BV08
    BV08 -- 実行(チェックOK) --> BU09[BU09<br/>BU10900P]
    BV08 -- PF2 --> BU07
    BV08 -- PF8・PF9・PF11・その他 --> BV08
    BV08 -- PF3 --> PREV[一つ前の画面]
    BV08 -- PF4 --> MAIN[メインメニュー]
    BV08 -- CLEAR --> END[ELEPHAN 終了]

7. 補足・留意事項

  1. 乗務員はダミーのみ:傭車便では乗務員A・Bに 999999(ダミーコード)しか入力できない。乗務員Aは必須のため、実質的に乗務員Aに 999999 を入れる。従業員マスターは読まない。
  2. 車両マスターを読まない:積載社番・トレーラーは数字の範囲だけを確認し、車種は傭車標屯から決める。
  3. 特定便コードは実質チェックなし:特定便コードの形式('Y'+3桁)を満たさなくても運行車区分が 02 なら OK になる。本プログラムは傭車便(運行車区分 02)だけを扱うため、どんな値でもエラーにならない。
  4. 一車保険料の範囲チェック:0~9999 の範囲チェックの処理があるが、4桁の数字のため常に範囲内で、意味を持たない。
  5. チェックしない項目の値:乗継店・次運行発店・フェリー会社・鮮魚保険料・運行車区分・形態・乗継員は、画面の入力値を取り込まず、照会結果の値のまま BU10900P に渡す。
  6. 傭車形態 '4' への変更:差額的傭車('4')への変更、'4' からの変更は、送付書がない(送付書枚数 0)ときだけできる。
  7. 日付の範囲が自社便と違う:増便の出発日は処理日付の 30日前~7日後(自社便は 10日前~10日後)、定便は計画出発日の 1日前~2日後(自社便は 1日前~3日後)。
  8. 指令書NO の表示部分:BU10800P と同じく、指令書NO のチェック結果で入力店所の属性を変えている(入力店所が入力不可・変更フラグオンになる)。
(3-3/6)