# 機能仕様書（現行）　BW10010　運行到着入力

| 項目 | 内容 |
|---|---|
| 機能ID | BW10010 |
| 機能名 | 運行到着入力 |
| システムID | BW |
| サブシステムID | BW0010（運行到着入力） |
| 画面ID（マップID） | MPBW760（運行到着入力） |
| 構成プログラム | BW17600P（BW76）、BW27600P（センター B76W）、BW17700P（BW77）、BW27700P（センター B77W）、BW17800P（BW78）、BW27800P（センター B78W） |
| 位置づけ | 現行プログラム6本の動作を、1つの画面機能としてまとめた現行仕様書 |
| 参考資料 | ・現行ソース BW17600P.pl1、BW27600P.pl1、BW17700P.pl1、BW27700P.pl1、BW17800P.pl1、BW27800P.pl1<br/>・画面設計書「BW0010_運行到着入力.xlsx」（Ver.1.2024.0313.0）：資産一覧、Link XCTL 一覧、MPBW760 の項目名、レコードフォーマット<br/>・画面イメージ MPBW760.jpg |
| 個別仕様書 | [BW17600P_仕様書.md](BW17600P_仕様書.md)、[BW27600P_仕様書.md](BW27600P_仕様書.md)、[BW17700P_仕様書.md](BW17700P_仕様書.md)、[BW27700P_仕様書.md](BW27700P_仕様書.md)、[BW17800P_仕様書.md](BW17800P_仕様書.md)、[BW27800P_仕様書.md](BW27800P_仕様書.md) |

項目・ファイル・レコードの日本語名称は、画面設計書（BW0010）の MPBW760 シートとレコードフォーマットに合わせている。

---

## 1. 概要

### 1.1 機能概要

運行（幹線便）が到着したときに、到着情報を入力する画面機能。1画面で指令書2件まで入力できる。

1. 指令書№を入力し、センターに照会して運行の内容（計画便・乗務員・乗継・高速区間・勤怠の予定や実績）を表示する。到着未入力の自社便では、デジタコ・ETC のデータがあれば、休憩・洗車・終業時刻・高速区間を自動で表示する。
2. 到着月日時分、乗継（乗船・引取）時分、乗務員Ｂ、高速区間、首都・阪神以外の特定道路料金、出社・退社月日時分、休憩・分割休憩・洗車を入力し、チェックする。高速区間はセンターで料金マスターと ETC データにより検証する。
3. 確認画面で実行キーを押すと、センターの運行指令マスター・高速乗入区間検証マスター・運行指令書拘束時間マスターに到着実績を登録し、車両稼働・乗務員稼働マスターの更新（BZ20200P）を依頼する。
4. 登録後は「更新ＯＫ！！」を表示して1画面目に戻り、次の指令書№を入力できる。

### 1.2 処理段階

| 段階 | 画面の状態 | 担当プログラム | 待機トランザクション |
|---|---|---|---|
| ① 指令書№の照会 | 指令書NO（2件）が入力可。到着店所は PF12 で入力可 | BW17600P（センター照会は BW27600P） | BW76 |
| ② 到着情報の入力・検証 | 運行の種類に応じた到着・乗継・高速・勤怠の項目が入力可 | BW17700P（高速区間の検証は BW27700P） | BW77 |
| ③ 確認・登録 | 全項目が入力不可（確認画面） | BW17800P（センター登録は BW27800P） | BW78 |

```mermaid
stateDiagram-v2
    state "① 指令書№の照会（BW76）" as S1
    state "② 到着情報の入力・検証（BW77）" as S2
    state "③ 確認・登録（BW78）" as S3
    [*] --> S1 : メニューから起動
    S1 --> S1 : 実行［エラー・指令書№エラー・通信エラー］／PF2／PF12
    S1 --> S2 : 実行［照会OK］
    S2 --> S2 : 実行［エラー・高速区間エラー・通信エラー］
    S2 --> S3 : 実行［OK → 確認画面］
    S3 --> S1 : 実行［登録OK］／PF2［取消］
    S3 --> S2 : 実行［センター・通信エラー］
    S2 --> S1 : PF2 取消
    S1 --> [*] : PF3／PF4／CLEAR
    S2 --> [*] : PF3／PF4／CLEAR
    S3 --> [*] : PF3／PF4／CLEAR［登録しない］
```

### 1.3 システム構成

画面設計書の資産一覧に基づく。

| プログラム | 動作環境 | トランザクション | 役割 | 使用資産 |
|---|---|---|---|---|
| BW17600P | SV（DDP） | BW76 | ① 照会 | MPBW760、MPDM010、VPTENMS（R）、LSO0020、DPCEB76W／CEDPBW76 |
| BW27600P | CIC1 | B76W | ① センター照会 | VKTENMS・VKUNKSH・VKJYUGY・VKKDMST・VKUNKDR・VKUSHGW（R）、RDDEG2・RDDEGK（R） |
| BW17700P | SV（DDP） | BW77 | ② 検証 | MPBW760、MPDM010、VPJYUGY（R）、LSO0130、DPCEB77W／CEDPBW77 |
| BW27700P | CIC1 | B77W | ② 高速区間の検証 | VKUSHGW（R）、RDDEGK（R） |
| BW17800P | SV（DDP） | BW78 | ③ 確認・登録 | MPBW760、MPDM010、DPCEB78W |
| BW27800P | CIC1 | B78W | ③ センター登録 | VKUNKSH（R/W）、VKUSHGW（R）、VKHICHK（R/W）、VKUNKDR（R/W）、TS UNKOTIM2（W）、BZ20200P（XCTL） |

```mermaid
flowchart LR
    subgraph DDP[DDP（店所）]
        B76[BW17600P<br/>BW76 照会]
        B77[BW17700P<br/>BW77 検証]
        B78[BW17800P<br/>BW78 登録]
        TS[(TSキュー<br/>端末ID＋BW76→BW77)]
        DM[(VPTENMS 店所<br/>VPJYUGY 従業員)]
    end
    subgraph CEN[センター CIC1]
        C76[BW27600P<br/>B76W]
        C77[BW27700P<br/>B77W]
        C78[BW27800P<br/>B78W]
        UNK[(VKUNKSH 運行指令<br/>VKUNKDR 拘束時間<br/>VKHICHK 高速検証)]
        DEG[(RDDEG2・RDDEGK<br/>デジタコ・ETC)]
        HGW[(VKUSHGW<br/>高速道路料金)]
        BZ[BZ20200P<br/>稼働マスター更新]
    end
    B76 --> B77 --> B78
    B76 <-.-> C76
    B77 <-.-> C77
    B78 <-.-> C78
    B76 & B77 & B78 --- TS
    B76 & B77 -.-> DM
    C76 -.-> UNK & DEG & HGW
    C77 -.-> HGW & DEG
    C78 --> UNK
    C78 -.-> HGW
    C78 --> BZ
```

---

## 2. 画面仕様（MPBW760）

### 2.1 画面レイアウト（24行×80桁、画面イメージより）

明細は2件（指令書1件につき1明細）。行05～13 が明細1、行14～22 が明細2（並びは同じ）。

```
行
01  MPBW760              ┃ 運 行 到 着 入 力 ┃                       [システム年月日]
02                                                                   [システム時分秒]
03  到着店所： [店所][到着店所名    ]
05 │ 指令書№：[指令書NO ] [ＥＲ表示    ] 計画便ＣＤ：[計画便][便名              ]
06 │ [見出し  ] [乗Ａ  ] [乗務員名A     ] [乗務員題] [乗Ｂ  ] [乗務員名B     ]
07 │ 着月日時分：[月]/[日][時]：[分]      [乗継題        ] [店 ] [時]:[分] ⇒ [時]:[分]
08 │ 高速区間：[入1 ]-[出1 ]  [入2 ]-[出2 ]  [入3 ]-[出3 ]  [入4 ]-[出4 ]
09 1（実績）  [入5 ]-[出5 ]  [入6 ]-[出6 ]（料金）首・阪（[首阪 ]） [その他]
10 │ [見出し（Ａ欄）      ] [月]/[日][時]:[分] ⇒ [月]/[日][時]:[分]
11 │ 休憩（分）：[休] 分割休息（分）：[分] 洗車（分）：[洗]
12 │ [見出し（Ｂ欄）      ] [月]/[日][時]:[分] ⇒ [月]/[日][時]:[分]
13 │ 休憩（分）：[休] 分割休息（分）：[分] 洗車（分）：[洗]
14 ├─ 2（明細2：行14～22）
23  実行：継続　２：取消　３：終了　４：戻り
24  [エラーメッセージ（70桁）                                       ] [エラーコード]
```

勤怠欄の「月/日 時:分 ⇒ 月/日 時:分」は、左が出社、右が退社。

### 2.2 画面項目一覧

項目名は画面設計書（MPBW760 シート）の名称。①～③は各段階での入出力（I：入力、O：出力、―：表示のまま）。「FLG」は明細ごとのチェックフラグ番号（3.2）。

**ヘッダ・フッタ部**

| No | 項目ID | 項目名 | 属性・桁 | ① | ② | ③ |
|---|---|---|---|---|---|---|
| 1 | BW76011 | システム年月日 | 文字 8 | O | O | O |
| 2 | BW76021 | システム時分秒 | 文字 8 | O | O | O |
| 3 | BW76031 | 到着店所コード | 文字 4 | I（PF12 のときだけ） | O | ― |
| 4 | BW76032 | 到着店所名 | 文字 14 | O | O | ― |
| 5 | BW76231 | ＰＦキー説明 | 文字 76 | ― | ― | ― |
| 6 | BW76241 | エラーメッセージ | 文字 70 | O | O | O |
| 7 | BW76242 | エラーコード | 文字 5 | O | O | O |

**明細部**（明細1／明細2 の項目ID）

| No | 項目ID（明細1／明細2） | 項目名 | 属性・桁 | ① | ② | FLG | ②のチェック |
|---|---|---|---|---|---|---|---|
| 1 | BW76041／BW76131 | 指令書NO | 文字 9 | **I** | O | ― | ①：数字、チェックディジット、2件とも未入力・重複はエラー |
| 2 | BW76042／BW76132 | ＥＲ表示 | 文字 12 | O | O | ― | 照会結果の状態（2.4） |
| 3 | BW76043／BW76133 | 計画便コード | 文字 6 | O | O | ― | |
| 4 | BW76044／BW76134 | 便名 | 文字 18 | O | O | ― | |
| 5 | BW76051／BW76141 | 見出し | 文字 10 | O | O | ― | |
| 6 | BW76052／BW76142 | 乗務員Ａコード | 文字 6 | O | O | ― | |
| 7 | BW76053／BW76143 | 乗務員名A | 文字 14 | O | O | ― | |
| 8 | BW76054／BW76144 | 乗務員題 | 文字 10 | O | O | ― | |
| 9 | BW76055／BW76145 | 乗務員Ｂ | 文字 6 | O | I/O | 1 | 数字、従業員マスターに在籍（999999 はダミー）、乗務員Ａと同じは不可（乗継・ドッキング） |
| 10 | BW76056／BW76146 | 乗務員名B | 文字 14 | O | O | ― | |
| 11 | BW76061～BW76064／BW76151～BW76154 | 到着月・到着日・到着時・到着分 | 文字 2 | O | I/O | 2～5 | 01～12・01～31・00～23・00～59、関連チェック（4.2） |
| 12 | BW76065／BW76155 | 乗継題 | 文字 16 | O | O | ― | |
| 13 | BW76066／BW76156 | 乗継店コード | 文字 4 | O | O | ― | |
| 14 | BW76067・BW76069／BW76157・BW76159 | 乗継時１・乗継分１ | 文字 2 | O | I/O | 6・7 | 00～23・00～59（乗継・ドッキング・乗船の時分） |
| 15 | BW7606B・BW7606D／BW7615B・BW7615D | 乗継時２・乗継分２ | 文字 2 | O | I/O | 8・9 | 00～23・00～59（手当付きフェリーの引取の時分） |
| 16 | BW76071～BW76084／BW76161～BW76174 | 高速区間入１～６・高速区間出１～６ | 文字 5 | O | I/O | 10～21 | 数字で先頭2桁が 99 以外。入出の組合せ・重複、センターでの検証 |
| 17 | BW76085／BW76175 | 首都・阪神 | 文字 5 | O | O | 22 | 照会結果を表示（入力不可） |
| 18 | BW76086／BW76176 | その他 | 文字 5 | O | I/O | 23 | 5200 以下。首都・阪神 ＞ 0 でその他 ＝ 0 はエラー |
| 19 | BW76091・BW76111／BW76181・BW76201 | 見出し（勤怠Ａ欄・Ｂ欄） | 文字 22 | O | O | ― | |
| 20 | BW76092～BW76095 ほか | 出社月・出社日・出社時・出社分 | 文字 2 | O | I/O | 24～27（Ａ）、35～38（Ｂ） | 範囲チェック、関連チェック（4.2） |
| 21 | BW76096～BW76099 ほか | 退社月・退社日・退社時・退社分 | 文字 2 | O | I/O | 28～31（Ａ）、39～42（Ｂ） | 同上 |
| 22 | BW76101・BW76121 ほか | 休憩分 | 文字 3 | O | I/O | 32（Ａ）、43（Ｂ） | 180 以下、0 は不可 |
| 23 | BW76102・BW76122 ほか | 分割休憩 | 文字 3 | O | I/O | 33（Ａ）、44（Ｂ） | 000 または 180～780 |
| 24 | BW76103・BW76123 ほか | 洗車分 | 文字 3 | O | I/O | 34（Ａ）、45（Ｂ） | 120 以下 |

③では明細の全項目が入力不可（表示のまま）。②でどの項目を入力させ、どれを必須にするかは、①で運行の種類に応じて決める（2.3）。

### 2.3 運行の種類と入力項目（①で決定）

| 運行の種類 | 判定 | ②で入力させる項目（◎必須、〇任意） |
|---|---|---|
| 乗継 | 自社便で運行形態 1 | 到着月日時分◎、乗務員Ｂ（乗継員）◎、乗継時分１◎、高速区間〇、その他◎、勤怠Ａ・Ｂ欄（出退社◎・休憩◎・分割休憩〇・洗車〇） |
| ドッキング | 自社便で運行形態 2 | 到着月日時分◎、乗務員Ｂ（乗継員）◎、乗継時分１◎、高速区間〇、その他◎、勤怠Ａ欄 |
| 手当付きフェリー | 運行形態 4 | 到着月日時分◎、乗務員Ｂ（乗継員）◎、乗継時分１（乗船）◎・２（引取）◎、高速区間〇、その他◎、勤怠Ａ欄（特定のフェリー便は Ａ・Ｂ欄） |
| 自社便（その他） | 運行車区分 01 | 到着月日時分◎、高速区間〇、その他◎、勤怠Ａ欄（Ｗマンは Ａ・Ｂ欄） |
| 傭車など | 上記以外 | 到着月日時分◎のみ |

- 高速区間は、照会結果に区間がある組は必須（修正のみ）、ない組は任意。
- 分割休憩・洗車は、照会結果に値があれば必須。
- 勤怠Ｂ欄を使う特定のフェリー便：計画便コード 720011・720021（札幌～天童）、750011・750021（札幌～厚木）、730011・730021（札幌～横浜）、760011・760021（札幌～北上）、770011・770021（札幌～仙東）、780011・780021（札幌～郡山）。
- 勤怠欄の見出し：Ｗマン「出退社月日時分（Ａ）：」「（Ｂ）：」、乗継・特定フェリー便「出退社月日時分　始発：」「出退社月日時分乗継員：」、ドッキング「出退社月日時分乗継員：」、その他「出退社月日時分（Ａ）：」。

### 2.4 ＥＲ表示

| 表示 | 意味 | 表示する段階 |
|---|---|---|
| 要入力高速 | ETC データはあるが高速区間に変換できない（区間ＣＤ変換エラー区分 1） | ① 照会OK（反転・赤） |
| ﾃﾞｼﾞﾀｺ無し | デジタコデータなし（区分 0） | ① 照会OK（反転・赤） |
| 高速ＯＫ | ETC データから高速区間を設定済み（区分 2） | ① 照会OK（反転） |
| 乗　継＊済／　乗　継　 | 乗継（入力済／未入力） | ① 照会OK（反転・緑） |
| ドッキ＊済／ドッキング | ドッキング（入力済／未入力） | 同上 |
| 手当フ＊済／手当付フェ | 手当付きフェリー（入力済／未入力） | 同上 |
| ＊入力済＊ | その他の運行で入力済 | 同上 |
| 配車未入力・点呼未入力・指令書№無・減便入力済 | 到着入力できない指令書（入力区分 0・1・8・9） | ① 照会エラー（反転） |

### 2.5 ファンクションキー

| キー | 機能 | ① 照会 | ② 入力・検証 | ③ 確認・登録 |
|---|---|---|---|---|
| 実行（Enter） | 継続 | センターに照会 | 入力内容をチェック、高速区間を検証 | センターに登録 |
| PF2 | 取消 | 自店所だけの空の画面で①に戻る | 同左 | 同左（登録しない。「入力は取り消されました。」） |
| PF3 | 終了 | 一つ前の画面に戻る | 同左 | 同左（登録しない） |
| PF4 | 戻り | メインメニューに戻る | 同左 | 同左（登録しない） |
| PF12 | 到着店修正 | 到着店所を入力可にして①に戻る | ―（再表示） | ―（再表示） |
| CLEAR | 強制終了 | 終了画面（ELEPHAN） | 同左 | 同左 |
| 上記以外 | 再表示 | 画面を再表示 | 同左 | 同左 |

### 2.6 表示属性

| 状態 | 属性 |
|---|---|
| ①照会OK後の入力項目 | 黄色・入力可（乗務員Ｂ・乗継時分は下線付き） |
| ②チェックOKの項目 | 入力不可、緑 |
| ②未入力・入力不要の項目 | 入力不可、空白表示 |
| エラー項目 | 入力可、赤、カーソル |
| ③（確認画面） | 全項目入力不可 |
| エラーメッセージ・コード（③のエラー時） | 赤 |

---

## 3. インターフェース

### 3.1 通信領域（COMMAREA：256バイト）

| 項目ID | 内容 | 用途 |
|---|---|---|
| CRT_BACK_KOSU／CRT_BACK_DATA(5) | 戻り先画面のスタック | PF3・PF4 の戻り先（本機能では積まない） |
| TSQ_ID | TSキュー名 | ①で 端末ID＋'BW76'、②のセンター照会以降は 端末ID＋'BW77' |
| COMM_TRM_CODE・COMM_PROC_YMD | 端末ＩＤ・処理日付 | ③の送信データ |
| COMM_TEN_CODE・COMM_TEN_NAME | 店所コード・名 | 到着店所の初期値、③の入力店所 |

### 3.2 段階間の受渡しデータ（TSキュー：1200バイト）

| 項目ID | 内容 | 設定する段階 | 使う段階 |
|---|---|---|---|
| FLG1・FLG2(2) | 到着店所・指令書NO のチェック結果 | ① | ① |
| FLG(2,100)・FLGX(2,100) | 明細ごとの項目のチェック結果（'0' 未入力、'1' エラー、'2' OK）・必須指定。番号は 2.2 の「FLG」列 | ①（入力項目・必須の決定）、② | ② |
| BW76031B・BW76032B・BW76041B・BW76131B | 到着店所コード・名、指令書NO | ① | ②③ |
| TS_KENS | 明細件数 | ① | ②③ |
| TS_NURK・TS_YKKN・TS_UKTI・TS_OWKB | 入力区分・運行車区分・運行形態・ＯＷ区分 | ① | ② |
| TS_NEXT・TS_SYMD | 出発翌日・始発実績年月日時分 | ① | ② |
| TS_TYMD・TS_NYMD・TS_HYMD | 到着・乗継（乗船）・引取の年月日時分（年を補ったもの） | ② | ③ |
| IMX01B～IMX38B | 明細の画面項目の値 | ①② | ②③ |

### 3.3 使用ファイル

| データセット | 名称（レイアウト） | 場所 | 段階 | 用途 |
|---|---|---|---|---|
| VPTENMS | ＤＤＰ　店所マスター（DDPTENMS） | DDP | ① | 到着店所のチェック・名称 |
| VPJYUGY | ＤＤＰ　従業員マスター（DDPJYUGY） | DDP | ② | 乗務員Ｂのチェック・名称 |
| VKTENMS | ＤＤＰ　店所マスター（DDPTENMS） | センター | ① | 到着店所名 |
| VKUNKSH | 運行指令マスター（UNKOSHIR） | センター | ①③ | 運行内容の照会、到着実績・乗継・高速実績の登録 |
| VKJYUGY | ＤＤＰ　従業員マスター（DDPJYUGY） | センター | ① | 乗務員名 |
| VKKDMST | 日付稼働テーブルマスター（DAYTBMST） | センター | ① | 出発日の翌日 |
| VKUNKDR | 運行指令書拘束時間マスター（UNKDRTIM） | センター | ①③ | 勤怠情報の照会・登録 |
| VKUSHGW | 高速道路料金マスター（USEDHGWY） | センター | ①②③ | 区間の存在・一般道路扱い区分・料金・粁程 |
| VKHICHK | 高速乗入区間検証マスター（HIGHCHEK） | センター | ③ | 実績区間・料金・状況区分の登録 |
| RDDEG2 | デジタコＤＢ２ | センター | ① | 休憩・分割休息・洗車時間、終業年月日時分、高速データ数 |
| RDDEGK | 新デジタコ　高速乗入情報ＤＢ２ | センター | ①② | ETC の乗りＩＣ・降りＩＣ・料金 |
| TS（UNKOTIM2） | 運行時間管理ＷＯＲＫ　配車修正入力 | センター | ③ | 車両・乗務員の稼働データ（BZ20200P へ） |

### 3.4 センターとの通信（APPC 会話）

| 段階 | 相手 | DDP → センター | センター → DDP |
|---|---|---|---|
| ① 照会 | B76W（BW27600P） | DPCEB76W（34バイト）：入力店所コード、指令書ＮＯ×2 | エラーフラグ＋エラーコード＋CEDPBW76（462バイト）：運行内容 |
| ② 検証 | B77W（BW27700P） | DPCEB77W（200バイト）：データ件数、指令書№、高速区間ＩＮ・ＯＵＴ×6 | エラーフラグ＋エラーコード＋CEDPBW77（125バイト）：区間ごとのエラー区分 |
| ③ 登録 | B78W（BW27800P） | DPCEB78W（357バイト）：入力件数・端末ＩＤ・入力年月日・入力店所・到着店所、明細ごとに指令書№・乗継乗務員・到着／乗継１・２年月日時分・高速（自・至）×6・特定道路コード×2・勤怠情報×2 | エラーフラグ＋エラーコード（5バイト） |

会話の手順（DDP 側）は、ALLOCATE（CIC1）→ CONNECT PROCESS → SEND（INVITE WAIT）→ RECEIVE →（③だけエラーフラグ確認）→ SEND（LAST WAIT）→ FREE。

照会結果（CEDPBW76）の主な項目：入力件数、到着店所コード・名、明細ごとに指令書№・入力区分・運行車区分・運行形態・ＯＷ区分・計画便コード・計画便名（漢字）・始発実績年月日時分・始発実績翌日・乗務員コード／名×2・区間ＣＤ変換エラー区分・高速区間×6・特定道路料金×2（首都・阪神、他）・到着年月日時分・最終着店コード・乗継年月日時分１・２・乗継店コード・勤怠情報×2（出社・退社年月日時分、休憩・分割休息・洗車）。

---

## 4. 段階別の処理仕様

### 4.1 ① 指令書№の照会（BW17600P、BW27600P）

**DDP 側（BW17600P）**

1. TSキュー（端末ID＋'BW76'）を読む。なければ初期化する。
2. 到着店所コード：数字、店所マスターにあり、店所区分 '1'（または区分 '4' で 0641）。
3. 指令書NO：数字で、チェックディジット（LSO0020、モジュラス 07）が正しいこと。2件とも未入力・重複はエラー。
4. センターに照会する（明細1 が空なら明細2 を詰める）。入力区分が 2（到着未入力）・5（入力済）以外の指令書はエラー（ＥＲ表示に理由、「指令書№エラー　再入力して下さい。」ERR A）。
5. 照会結果を画面に表示し、運行の種類に応じて入力項目・必須を決める（2.3）。メッセージ「各項目を入力後実行キーを押して下さい。」で②（BW77）へ。

**センター側（BW27600P）**

1. 指令書ごとに運行指令マスターを読む（ない場合は入力区分 8 にして以降を処理せずに返す）。
2. 計画便・運行形態・乗務員（従業員マスターで名称）・高速区間・特定道路料金・到着（実績：最終着実績、予定：予定年月日で時分 00:00）・乗継情報を設定する。乗継等は日付稼働テーブルで出発翌日を求める。
3. 運行指令書拘束時間マスターから勤怠情報を設定する。
4. **デジタコデータ活用**：到着未入力の自社便（運行形態 普通・ドッキング・手当付きフェリー・回送・空車）で、デジタコＤＢ２の集計が条件に合えば、休憩・分割休息・洗車・終業年月日時分（到着）を設定する。ETC 高速乗入情報があれば、首都高速・阪神高速の料金を特定道路料金に集計し、残りの乗降ＩＣを高速道路料金マスターの区間に変換する（特殊区間の結合、ＩＣコードの統一、乗降同一ＩＣの処理）。変換できれば区間ＣＤ変換エラー区分 2（高速ＯＫ）、できなければ 1（要入力）。

### 4.2 ② 到着情報の入力・検証（BW17700P、BW27700P）

**DDP 側（BW17700P）**

1. 項目チェック（2.2 の「②のチェック」）。必須項目の未入力はエラー。
2. 関連チェック（明細ごと）

| 区分 | チェック内容 |
|---|---|
| 到着日時 | 00:00 は不可。出発 ＜ 到着、定便（計画便 ＜ 900000）は5日以内・増便は7日以内、出発の1時間より後 |
| 乗継・ドッキング | 乗継時分 00:00 は不可。出発の1時間後 ＜ 乗継 ＜ 到着の1時間前 |
| 手当付きフェリー | 乗船・引取とも 00:00 は不可。出発 ＜ 乗船 ＜ 引取 ＜ 到着 |
| 勤怠（自社便・手当付きフェリー） | 休憩 0 不可、出社・退社 00:00 不可。出社 ＜ 退社で1日以内、拘束時間60分以上、退社日は到着日の前後1日以内、拘束時間 ≧ 休憩＋分割休憩＋洗車 |
| 乗務員（乗継・ドッキング） | 乗務員Ａ ＝ 乗務員Ｂ（999999 以外）はエラー |
| 高速区間（自社便・手当付きフェリー） | 入＝出、片方だけの入力、他の組との重複はエラー |
| 特定道路料金 | 首都・阪神 ＞ 0 でその他 ＝ 0 はエラー |

3. エラーがあれば「エラー項目あり！！　再入力して下さい。」で②に戻る。
4. OKならセンターで高速区間を検証する。エラー区間は赤表示、「高速区間エラー　再入力して下さい。」（ERR A）。
5. OKなら全項目を入力不可にし、「確認ＯＫなら実行キーを押して下さい。登録を行います。」で③（BW78）へ。

**センター側（BW27700P）**

| チェック | エラー区分 |
|---|---|
| 入・出の組が高速道路料金マスターにない | その区間を '1' |
| 区間の一般道路扱い区分が 12・13・41・06・88（首都高速等・ＳＡ） | その区間を '1' |
| 高速区間が1つも入力されていないのに、ETC 情報（首都・阪神以外）がある | 高速区間1 を '1'（入力漏れ） |

### 4.3 ③ 確認・登録（BW17800P、BW27800P）

**DDP 側（BW17800P）**

1. TSキューの値から送信データを作り、センターに送る（高速区間は入・出の両方がある組を詰める）。
2. 正常なら TSキューを削除し、「更新ＯＫ！！　指令書№を入力し実行キーを押して下さい。」で①（BW76）に戻る。
3. センター側エラー（「照会不可能！！　センターに連絡して下さい」＋センターのエラーコード）・通信エラーは、赤で表示して②（BW77）に戻す。

**センター側（BW27800P）**：指令書ごとに次を行う。

| 対象 | 内容 |
|---|---|
| 運行指令マスター | 入力区分 2→5、入力年月日、最終着実績店所・年月日時分、到着月日。自社便・手当付きフェリーは、乗継乗務員・乗継（乗船）・引取時刻、高速区間（自～至）×6、高速料金（車種別：中型・大型・特大）・高速粁程の合計、回数券料金（＝その他の料金）を設定して書き換える |
| 高速乗入区間検証マスター | （自社便・手当付きフェリーで、あれば）最終着店、到着年月日、実績区間・料金・キロ、状況区分 '3'、更新年月日 |
| 運行指令書拘束時間マスター | （自社便・手当付きフェリー）計画便・乗務員・運行区分・乗継情報、高速実績区間（区間・キロ・料金）×6、特定道路×3、勤怠情報×2、入力店・入力年月日を書換え（なければ追加） |
| 稼働データ（TS UNKOTIM2） | 車両（自社便・10t・フェリー便の車番）、乗務員（区間ごと：出発～乗継、乗継～最終着、普通は出発～最終着。乗継乗務員の変更は旧乗務員の取消データ）を作成 |

DDP に結果を返した後、エラーがなければ稼働データを TSキュー（端末ID＋分秒）に書き、BZ20200P に XCTL して車両稼働・乗務員稼働マスターを更新させる。

---

## 5. 共通処理

### 5.1 ファンクションキー（PF2・PF3・PF4・PF12・CLEAR）

| キー | 処理 |
|---|---|
| PF2：取消 | TSキューを削除し、画面をクリアして到着店所に自店所（入力不可）を表示し、①（BW76）で待機。メッセージは①②「指令書№を入力後実行キーを押して下さい。」、③「入力は取り消されました。指令書№を入力し実行キー。」 |
| PF12：到着店修正（①のみ） | TSキューを削除し、到着店所を入力可にした空の画面で①に戻る |
| PF3：終了 | TSキューを削除し、戻り先画面のスタックから一つ前の画面に戻る |
| PF4：戻り | TSキューを削除し、スタックの1件目（メインメニュー）に戻る |
| CLEAR | TSキューを削除し、終了画面（ELEPHAN）を表示して終了 |

| PF3 の条件 | 戻り先 |
|---|---|
| スタックが空 | なし（終了画面を表示して終了） |
| 最上位が MPBW760 以外 | 最上位の画面（1件取り除く） |
| 最上位が MPBW760 で、その下がない | なし（終了画面を表示して終了） |
| 最上位が MPBW760 で、その下がある | その下の画面（2件取り除く） |

| PF4 の条件 | 戻り先 |
|---|---|
| スタックが空、または1件目が MPBW760 | なし（終了画面を表示して終了） |
| 1件目が MPBW760 以外 | 1件目の画面（スタックを全件消去） |

### 5.2 システム日付・時刻の設定

画面を送るたびに、現在の日時を `YY/MM/DD`・`HH:MM:SS` に編集してシステム年月日・時分秒に設定する。

### 5.3 例外処理

| 発生条件 | ① | ② | ③ |
|---|---|---|---|
| 画面データなし（MAPFAIL） | TSキューの読込みから続行 | 同左 | 同左 |
| 項目エラー（ITEMERR）・レコードなし・ファイルの終わり | CLEAR と同じ | 同左 | 項目エラーのみ CLEAR と同じ |
| TSキューがない | 初期化して続行 | CLEAR と同じ | CLEAR と同じ |

### 5.4 通信エラー

| 発生箇所 | 条件 | エラーコード | メッセージ |
|---|---|---|---|
| ALLOCATE | SYSBUSY | ASYSB | 回線が混雑しています！！　実行キーをもう一度押して下さい |
| ALLOCATE | SYSIDERR | ASYSI | 照会不可能！！回線不通の可能性あり　センターに連絡して下さい |
| ALLOCATE | その他 | A9999 | 照会不可能！！サポート外ＥＲＲＯＲ　センターに連絡して下さい |
| CONNECT・SEND・RECEIVE | TERMERR | CTERM・STERM・RTERM | 照会不可能！！回線不通の可能性あり　センターに連絡して下さい |
| RECEIVE | LENGERR | RLENG | 照会不可能！！　ＬＥＮＧＥＲＲ |
| CONNECT・SEND・RECEIVE | その他 | C9999・S9999・R9999 | 照会不可能！！サポート外ＥＲＲＯＲ　センターに連絡して下さい |

いずれの段階も、回線混雑でも同じタスクでは待たず、エラーとして画面を返す。

---

## 6. メッセージ一覧

| No | エラーコード | メッセージ | 段階 | 表示するとき |
|---|---|---|---|---|
| 1 | （空白） | エラー項目あり！！　再入力して下さい。 | ①② | 項目・関連チェックのエラー |
| 2 | ERR A | 指令書№エラー　再入力して下さい。 | ① | 到着入力できない指令書 |
| 3 | ― | 各項目を入力後実行キーを押して下さい。 | ① | 照会OK |
| 4 | ― | 指令書№を入力後実行キーを押して下さい。 | ①② | PF2・PF12 |
| 5 | ERR A | 高速区間エラー　再入力して下さい。 | ② | センターが高速区間をエラーとした |
| 6 | ― | 入力データ検証中・・・ | ② | センター検証直後（一時表示） |
| 7 | ― | 確認ＯＫなら実行キーを押して下さい。登録を行います。 | ② | 検証OK（確認画面） |
| 8 | ― | 更新ＯＫ！！　指令書№を入力し実行キーを押して下さい。 | ③ | 登録OK |
| 9 | ― | 入力は取り消されました。指令書№を入力し実行キー。 | ③ | PF2（取消） |
| 10 | ERRP・MERR | 照会不可能！！　センターに連絡して下さい | ③ | センター側エラー |
| 11 | ASYSB ほか | 通信エラーのメッセージ（5.4） | ①②③ | 通信エラー |

---

## 7. 画面遷移

```mermaid
flowchart LR
    MENU[メニュー] --> S1[① BW76<br/>BW17600P]
    S1 -- 実行（照会OK） --> S2[② BW77<br/>BW17700P]
    S1 -- 実行（エラー）・PF2・PF12 --> S1
    S2 -- 実行（OK） --> S3[③ BW78<br/>BW17800P]
    S2 -- 実行（エラー） --> S2
    S2 -- PF2 --> S1
    S3 -- 実行（登録OK）・PF2 --> S1
    S3 -- 実行（エラー） --> S2
    S1 & S2 & S3 -- PF3 --> PREV[一つ前の画面]
    S1 & S2 & S3 -- PF4 --> MAIN[メインメニュー]
    S1 & S2 & S3 -- CLEAR --> END[ELEPHAN 終了]
```

---

## 8. 補足・留意事項

1. **センターのエラーフラグを①②で見ていない**：照会（BW27600P）・検証（BW27700P）がエラーフラグを返しても、DDP 側（BW17600P・BW17700P）は確認しない。照会途中で打ち切られた不完全なデータや、検証が中断した状態でも先に進むことがある。③（BW17800P）だけはエラーフラグを確認する。
2. **1件目の指令書がないと2件目が照会されない**：センターは指令書マスターにない指令書を見つけた時点で処理をやめるため、2件目のＥＲ表示が「配車未入力」になる。
3. **登録の途中エラーで一部だけ更新される**：センターは明細ごとにマスターを更新するため、2件目でエラーになると1件目だけ更新済みになる場合がある。稼働マスター（BZ20200P）の更新は DDP に正常を返した後で行うため、そのエラーは利用者に伝わらない。
4. **首都・阪神の料金は登録されない**：首都・阪神（特定道路料金1件目）は表示とチェックに使うだけで、登録されるのは「その他」の料金（回数券料金）だけ。
5. **年をまたぐ勤怠**：出社・退社の年は到着年で補うため、年をまたぐ勤怠（例：出社 12/31、退社 1/1）はエラーになる。
6. **「仮眠」は拘束時間のチェックに含まれない**：コメントでは仮眠も含むとなっているが、計算は休憩・分割休憩・洗車だけ（仮眠の登録は 2017/09/01 に廃止）。
7. **区間ＣＤ変換エラー区分の値**：画面設計書のレコードフォーマットは「1:OK 2:NG」だが、ソースは 0：デジタコ無し、1：要入力、2：高速OK として扱っている。
8. **高速区間の変換・料金はプログラムに固定**：首都高速の固定料金、特殊区間の結合、ＩＣコードの置換え、勤怠Ｂ欄を使うフェリー便の計画便コードは、すべてソースに直接書かれている。
9. **ETC データの件数**：センターの ETC データの取り込み先は20件分で、件数のチェックをしていない。
10. **回数券コードの検証は使われていない**：検証の送信データに回数券コードを設定していないため、センター側の回数券コードのチェックは行われない。
11. **PF12 の案内がない**：到着店所を変更する PF12 は、画面の PF キー説明に載っていない。
12. **数字チェック**：時・分などの作業域は数字型のため、数字チェックは実質的に働かず、数字に変換できない文字が入ると異常終了する可能性がある。

---

## 付録　プログラムと処理段階の対応

| プログラム | トランザクション | 段階 | 主な処理 | 個別仕様書 |
|---|---|---|---|---|
| BW17600P | BW76 | ① | 到着店所・指令書№のチェック、照会結果の表示、入力項目の決定 | [BW17600P_仕様書.md](BW17600P_仕様書.md) |
| BW27600P | B76W（CIC1） | ① | 運行指令・拘束時間マスターの照会、デジタコデータ活用、高速区間の変換 | [BW27600P_仕様書.md](BW27600P_仕様書.md) |
| BW17700P | BW77 | ② | 項目・関連チェック、高速区間の検証依頼 | [BW17700P_仕様書.md](BW17700P_仕様書.md) |
| BW27700P | B77W（CIC1） | ② | 高速区間の料金マスター・ETC 突合せ | [BW27700P_仕様書.md](BW27700P_仕様書.md) |
| BW17800P | BW78 | ③ | 到着情報の登録依頼 | [BW17800P_仕様書.md](BW17800P_仕様書.md) |
| BW27800P | B78W（CIC1） | ③ | 運行指令・高速乗入区間検証・拘束時間マスターの更新、稼働マスター更新の依頼 | [BW27800P_仕様書.md](BW27800P_仕様書.md) |
