レビュー指摘 #12452 » BV10800P_仕様書.md
プログラム仕様書 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' でない)場合に行う。
- 出発・到着の日付(BU10800P の 4.4 の 4 と同じ方法。基準日からの日数の範囲が違う)
| 項目 | 増便(1桁目が 9) | 定便 |
|---|---|---|
| 基準日 | 処理日付 | 計画出発年月日 |
| 基準日から出発日までの日数 | -30~+7 日 | -1~+2 日 |
| 出発日から到着日までの日数 | 0~3 日 | 計画最終卸経過日数が 0 なら -1~2 日、それ以外は(経過日数-1)~経過日数 |
- 乗務員(乗務員A・Bが OK の場合):乗務員Aが未入力なら、乗務員A・Bを関連エラーにする。
- 傭車形態と定額傭車料(傭車形態・定額傭車料が OK の場合)。次のどれかを満たさなければ、傭車形態・定額傭車料を関連エラーにする。
| 傭車形態 | 定額傭車料 | 最低保障区分 |
|---|---|---|
| 3(テイガク) | 1~500000 | |
| 4(差額的傭車) | 1~500000 | |
| 2(トンアタリ) | 0 | 0 |
| 2(トンアタリ) | 1~500000 | 1 |
最低保障区分は、照会時の運行指令の使用形態が 2 で定額傭車料が 0 でなければ 1(BU20700P が編集)。
-
車番(傭車標屯・積載社番・トレーラーが OK の場合)
- 積載車種が 'S'・'G'(標屯 11.1~18.5):積載社番とトレーラーの両方が必要で、同じ番号でないこと。
- それ以外:積載社番が必要で、トレーラーは入れないこと。
- 満たさなければ積載社番・トレーラーを関連エラーにする。
- 増便の便コード・便名・設定粁:BU10800P の 4.4 の 8 と同じ。
- 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. 補足・留意事項
- 乗務員はダミーのみ:傭車便では乗務員A・Bに 999999(ダミーコード)しか入力できない。乗務員Aは必須のため、実質的に乗務員Aに 999999 を入れる。従業員マスターは読まない。
- 車両マスターを読まない:積載社番・トレーラーは数字の範囲だけを確認し、車種は傭車標屯から決める。
- 特定便コードは実質チェックなし:特定便コードの形式('Y'+3桁)を満たさなくても運行車区分が 02 なら OK になる。本プログラムは傭車便(運行車区分 02)だけを扱うため、どんな値でもエラーにならない。
- 一車保険料の範囲チェック:0~9999 の範囲チェックの処理があるが、4桁の数字のため常に範囲内で、意味を持たない。
- チェックしない項目の値:乗継店・次運行発店・フェリー会社・鮮魚保険料・運行車区分・形態・乗継員は、画面の入力値を取り込まず、照会結果の値のまま BU10900P に渡す。
- 傭車形態 '4' への変更:差額的傭車('4')への変更、'4' からの変更は、送付書がない(送付書枚数 0)ときだけできる。
- 日付の範囲が自社便と違う:増便の出発日は処理日付の 30日前~7日後(自社便は 10日前~10日後)、定便は計画出発日の 1日前~2日後(自社便は 1日前~3日後)。
- 指令書NO の表示部分:BU10800P と同じく、指令書NO のチェック結果で入力店所の属性を変えている(入力店所が入力不可・変更フラグオンになる)。