レビュー指摘 #12452 » BU10800P_仕様書.md
プログラム仕様書 BU10800P(配車修正入力(自社便) 検証)
| 項目 | 内容 |
|---|---|
| システムID | BU |
| 参考資料 | ・現行ソース BU10800P.pl1 ・画面イメージ MPBU070.jpg(配車修正入力) ・現行の解析資料 BU0070_配車修正入力.xlsx(シート「資産一覧」「Link XCTL 一覧」「MPBU070」「レコードフォーマット」「SRC_BU10800P」) ・前の画面の仕様書 BU10700P_仕様書.md |
| 項目名の出典 | 画面項目は解析資料のシート「MPBU070」の日本語名、TSキューの項目(DEFPBU07)・マスターの項目はシート「レコードフォーマット」の日本語名称 |
1. 概要
| 項目 | 内容 |
|---|---|
| プログラムID | BU10800P(手続き名:BU10800) |
| プログラム名称 | 配車修正入力(自社便) 検証 |
| 言語 | PL/I(CICS コマンドレベル) |
| 処理形態 | オンライン(CICS 疑似会話型) |
| 動作環境 | SV(DDP 側) |
| トランザクションID | BU08 |
| パターンID | PPOD252P(1987/05/01)、業務 BUSHRE30。2000年対応済み |
| 使用画面(マップ) | MPBU070(配車修正入力)、MPDM010(共通ヘッダ画面)、ELEPHAN(終了画面) |
| 前の処理 | BU07(BU10700P:照会)。運行車区分が 02(傭車)以外の指令書を照会した後 |
| 次の処理 | チェックOK → BU09(BU10900P:センターへの更新依頼) |
| 参照ファイル | VPMORTR(DDP 車両マスター)、VPTENMS(DDP 店所マスター)、VPJYUGY(DDP 従業員マスター)、VPCHINM(DDP 地名マスター)、VPUNKEI(DDP 運賃計算荷主マスター(1))、VPHCBKM(DDP 発着地粁程マスター) |
| 呼出しモジュール | LSO0130(日付の経過日数の計算) |
| 起動するトランザクション | BV13(自社便の指令書印刷)、BV14(傭車便の指令書印刷)。テストプリント・印刷終了のときだけ |
| 一時記憶 | TSキュー(通信領域のキュー名。BU10700P が書いた「端末ID+'BU07'」、長さ 520) |
センターとの通信はしない。照会結果(BU10700P が TSキューに書いたデータ)を画面の入力値で書き換えてチェックし、TSキューに書いて BU10900P に渡す。
1.1 機能概要
自社便の指令書の修正内容をチェックする画面。BU10700P で照会した指令書について、入力可になっている項目を修正して実行キーを押すと、各項目と項目間の関係をチェックする。
- 照会結果を TSキューから読み、画面の入力値をチェックする。チェックOK になった項目は次回からチェックしない。
- 入力区分に 'D'(増便の削除)・'9'(減便)・'R'(減便からの復活)を入れた場合は、ほかの項目をチェックせずに OK にする。
- エラーがあれば、エラーの項目を入力可にして BU08 で待機する。
- すべてOK なら、確認メッセージを表示し、チェック後のデータを TSキューに書いて BU09 で待機する(実行キーで BU10900P が更新を依頼する)。
flowchart LR
BU07[BU07<br/>BU10700P 照会] -- 自社便 --> BU08[BU08<br/>本プログラム<br/>MPBU070]
BU08 -- エラー --> BU08
BU08 <--> TS[(TSキュー<br/>照会結果 520バイト)]
BU08 -- チェックOK --> BU09[BU09<br/>BU10900P 更新依頼]
BU08 -- PF2 --> BU07
2. 画面仕様(MPBU070:配車修正入力)
2.1 画面レイアウト
画面は BU10700P と同じ(BU10700P_仕様書.md の 2.1)。
2.2 画面項目
「FLG」は TSキューのチェック結果の番号(4.2)。「入力可」は、チェックでエラーになったときに本プログラムが入力可にするか(そのときの属性)を示す。BU10700P が照会OK 時に入力可にした項目は、本プログラムでチェックOK になるまで入力可のまま。
| No | 項目ID | 項目名 | 属性・桁 | FLG | 本プログラムでの扱い |
|---|---|---|---|---|---|
| 1 | BU07031・BU07032 | 入力店所コード・入力店所名 | 数字 4・文字 16 | 1 | 入力不可(保護・変更フラグオン)。4.6 の 9 |
| 2 | BU07051・BU07052 | 指令書№(頭4桁)・(後5桁) | 数字 4・5 | 本プログラムでは表示も属性も変えない | |
| 3 | BU07053 | 入力区分 | 数字 1 | 2 | 入力値をチェック(4.3)。エラーなら入力可(変更フラグオン・輝度) |
| 4 | BU07054 | 入力区分名 | 文字 12 | 入力区分の名称(4.5) | |
| 5 | BU07061・BU07062 | 計画便コード・運行便名 | 文字 6・16 | 便コード・便名(増便は本プログラムで編集。4.4 の 3) | |
| 6 | BU07071・BU07072 | 運行車区分・運行車区分名 | 数字 2・文字 5 | 3 | エラーなら入力可(輝度) |
| 7 | BU07073・BU07074 | 運行車形態区分・運行車形態区分名 | 数字 1・文字 8 | 4 | エラーなら入力可(輝度) |
| 8 | BU07081 | 積載社番 | 数字 5 | 5 | 車種の組合せ(4.4 の 1) |
| 9 | BU07082 | トレーラー | 数字 5 | 6 | 同上 |
| 10 | BU07091・BU07092 | 発店コード・発店名称 | 数字 4・文字 16 | 7 | |
| 11 | BU07093・BU07094 | 出発予定日 月・日 | 数字 2×2 | 8 | |
| 12 | BU07095・BU07096 | 出発予定日 時・分 | 数字 2×2 | 9 | |
| 13 | BU07101・BU07102 | 乗継店1コード・乗継店1名 | 数字 4・文字 16 | 10 | 増便だけチェック |
| 14 | BU07111・BU07112 | 乗継店2コード・乗継店2名 | 数字 4・文字 16 | 11 | 増便だけチェック |
| 15 | BU07121・BU07122 | 最終卸店コード・最終卸店名 | 数字 4・文字 16 | 12 | |
| 16 | BU07123・BU07124 | 到着予定日 月・日 | 数字 2×2 | 13 | |
| 17 | BU07125・BU07126 | 到着予定日 時・分 | 数字 2×2 | 14 | |
| 18 | BU07131・BU07132 | 次運行便発店コード・次運行便発店名 | 数字 4・文字 16 | 15 | |
| 19 | BU07151・BU07152 | 乗務員Aコード・乗務員A名 | 数字 6・文字 16 | 16 | |
| 20 | BU07153・BU07154 | 乗務員Bコード・乗務員B名 | 数字 6・文字 16 | 17 | |
| 21 | BU07161~BU07174 | 乗継員1A・1B・2A・2B(コード・名) | 数字 6・文字 16 | 18~21 | チェックしない(常に OK。値は照会結果のまま) |
| 22 | BU07191 | 直配区分 | 文字 1 | 22 | |
| 23 | BU07192 | 直配 着地コード | 数字 5 | 23 | |
| 24 | BU07193 | フェリー会社コード | 数字 7 | 24 | |
| 25 | BU07201 | 連絡事項 | 文字 24 | 25 | チェックなし |
| 26 | BU07202 | 特定便コード | 文字 4 | 26 | |
| 27 | BU07203 | 鮮魚保険料 | 数字 4 | 27 | |
| 28 | BU07211~BU07224 | 傭車会社コード・名、傭車標屯、傭車形態区分・名、一車保険料、定額傭車料 | 本プログラムでは扱わない(自社便のため) | ||
| 29 | BU07PRT | 印刷装置 | 文字 4 | 本プログラムではチェックしない | |
| 30 | BU07241・BU07242 | エラーメッセージ・エラーコード | 文字 70・5 | 5章 |
2.3 ファンクションキー
| キー | 機能 | 処理概要 |
|---|---|---|
| 実行(Enter) | 継続 | 入力値をチェックする |
| PF2 | 取消 | TSキューを削除し、BU10700P の初期画面(指令書NO の入力)を表示して BU07 で待機する |
| PF3 | 終了 | 印刷終了の処理をして、一つ前の画面に戻る |
| PF4 | 戻り | 印刷終了の処理をして、メインメニューに戻る |
| PF8・PF9 | テストプリント | 印刷装置が使用可(COMM_PRI_FLG '2')の場合だけ、指令書のテスト印刷を起動する |
| PF11 | 印刷装置の再接続 | 印刷装置を強制解放し、再び接続する |
| CLEAR | 強制終了 | 印刷終了の処理をして、終了画面(ELEPHAN)を表示して終了 |
| 上記以外 | 再表示 | 画面のデータ部分を再送信し、BU08 で待機 |
チェックOK 後の確認メッセージにある「修正なら、PF5」は、次のトランザクション(BU09:BU10900P)で処理する。本プログラムの待機中に PF5 を押しても再表示になる。
3. インターフェース
3.1 通信領域(COMMAREA:256バイト)
| 項目ID | 本プログラムでの用途 |
|---|---|
| CRT_BACK_KOSU/CRT_BACK_DATA(5) | 戻り先画面のスタック |
| TSQ_ID・TSQ_LENGTH | TSキューの名前・長さ(BU10700P がセットした「端末ID+'BU07'」、520) |
| COMM_TRM_CODE | 端末ID(TSキューの端末ID、印刷の入力端末ID) |
| COMM_TEN_CODE・COMM_TEN_NAME | 端末の店所コード・店所名(PF2 の初期画面) |
| COMM_RPOC_YMD | 処理日付。入力年月日、増便の出発日の基準 |
| COMM_PRINTER_ID・COMM_PRI_FLG | 印刷装置のID・状態(BU10700P でチェック済み) |
| COMM_YOS_FLG | 自社傭車フラグ('1':自社)。テストプリントの種類。PF2 で '0' |
3.2 TSキュー(CHK_DSP_WORK:520バイト)
| 項目ID | 内容 |
|---|---|
| LOOP_FLG・OKFLG | 初期化済み('1')・チェック結果('2':OK、それ以外:エラー) |
| FLG(34) | 項目ごとのチェック結果('0':未入力(OK扱い)、'1':エラー、'2':OK、'3':関連エラー)。番号は 2.2 |
| BU07053B ほか(BACK_AREA) | 入力区分、表示する名称の保存域(運行便名、店所名、乗務員名など)、発店・最終卸店の店所所在地コード(先頭5桁。BUSTACD・BUENDCD)、変更前の傭車使用形態 |
| REVE_DATA(DEFPBU07) | 配車修正照会後、検証後データ。BU10700P がセンターから受け取った運行指令の内容を、本プログラムが入力値で書き換える(下表) |
本プログラムが書き換える主な項目(DEFPBU07)。
| 項目ID | 項目名 | セットする値 |
|---|---|---|
| DNKTERM | 端末ID | 端末ID |
| DNKIYMD | 入力年月日 | 処理日付 |
| DNKNYUK | 入力結果 | 通常 '0'。入力区分を 'D'・'9'・'R' にした場合 '9' |
| DNKINKB の入力値(BU07053B) | 入力区分 | 画面の入力区分(TSキューの BU07053B) |
| DNKKUBN・DNKKEIT | 運行車区分・運行形態区分 | 入力値 |
| DNKCARS・DNKTONS・DNKSYAS | 積載社番・積載車標屯・積載車種 | 入力値と車両マスターから決めた値(4.4 の 1) |
| DNKCART・DNKTONT・DNKSYAT | トレーラ頭・コンテナ車、標屯、車種 | 同上 |
| DNKSTID・DNKSTTC | 発支社区分・発店 | 入力値。支社区分は店所内部コードの1桁目 |
| DNKSTYY~DNKSTMI | 出発 年・月・日・時・分 | 入力値。年は日付の関連チェックで決める(4.4 の 4) |
| DNKNTI1・DNKNTC1、DNKNTI2・DNKNTC2 | 乗継店1・2(支社区分・コード) | 入力値(増便) |
| DNKENID・DNKENTC | 最終卸支社区分・最終卸店 | 入力値 |
| DNKENYY~DNKENMI | 最終卸店到着 年・月・日・時・分 | 入力値。年は日付の関連チェックで決める |
| DNKFUID・DNKFUTC | 次運行発支社・次運行発店 | 入力値 |
| DNKDRIA・DNKDRIB | 乗務員 A・B | 入力値 |
| DNKGHKB・DNKGHCD・DNKGHTC | 直配区分・直配着地コード・直配着地最寄りの店所 | 入力値。最寄りの店所は地名マスターの扱店コード |
| DNKFRCD | フェリー、ライナーコード | 入力値 |
| DNKINFO | 連絡事項 | 入力値 |
| DNKKBID・DNKTKNO | 特定便区分・特定便NO | 入力値 |
| DNKFISH | 一車保険料(自社、鮮魚の場合) | 入力値 |
| DNKBNCD・DNKBNNM・DNKNAMC | 計画便コード・便名(漢字)・便名(カナ) | 増便の場合に編集(4.4 の 3) |
| DNKSEKM | 設定粁 | 増便の場合に粁程マスターから(4.4 の 3) |
3.3 参照するマスター
| ファイル | 日本語名 | キー | 使う項目 |
|---|---|---|---|
| VPMORTR | DDP 車両マスター | 社番 | 車両現廃区分(VESYGHKB)、最大積載量(VESYHYTN)、車両車種(VESYSYAS) |
| VPTENMS | DDP 店所マスター | 店所コード | 店所略名(漢字)(VETNSRNM)、店所名(カナ)(VETNKNNM)、店所区分(VETNGETA)、店所内部コード(VETNNTCD。1桁目が支社区分)、店所所在地コード(VETNADCD。先頭5桁) |
| VPJYUGY | DDP 従業員マスター | 従業員コード | 採用・退職区分(VEJYSTKB)、従業員氏名(漢字)(VEJYJNM1) |
| VPCHINM | DDP 地名マスター | 着地コード | 入力区分(VCHIIKUB)、扱店コード(VCHIATCD) |
| VPUNKEI | DDP 運賃計算荷主マスター(1) | フェリー会社コード(7)+'00000001' | フェリー会社区分(KDEXKBNN) |
| VPHCBKM | DDP 発着地粁程マスター | 発店の所在地コード(5)+着側のコード(5) | 標準粁程(1)(KNADABKM(1)) |
4. 処理仕様
4.1 処理の流れ
flowchart TD
S([開始]) --> AID{押されたキー}
AID -- CLEAR --> CLR[印刷終了の処理<br/>終了画面]
AID -- PFキー --> PF[ファンクションキー処理 4.7]
AID -- 実行 --> RCV[MPBU070 を受信<br/>TSキューを読む]
RCV -- なし --> CLR
RCV -- あり --> DEL[TSキュー削除<br/>前回OKなら初期化]
DEL --> CHK[項目チェック 4.3<br/>関連チェック 4.4]
CHK --> DSP[表示の編集 4.5]
DSP -- エラー --> ERR[TSキュー保存<br/>エラー表示] --> W08([BU08 で待機])
DSP -- OK --> OK[TSキュー保存<br/>確認メッセージ] --> W09([BU09 で待機])
4.2 初期化
- 画面を受信し、TSキュー(通信領域のキュー名)を読む。読めなければ CLEAR と同じ処理(終了画面)にする。
- 読めたら削除する。前回の OKFLG が '2'(BU10700P の照会OK、または本プログラムのチェックOK の後)なら、LOOP_FLG を '1'、OKFLG を '0'、FLG(1)~FLG(34) をすべて '1'(エラー)にして、全項目をチェックし直す。
- 端末ID・入力年月日(処理日付)をセットする。増便(指令書NO の1桁目が 9)でなければ、乗継店1・2(FLG(10)・FLG(11))を OK('2')にしてチェックしない。
4.3 項目チェック(CHECK_SUB_RTN_LVL1)
チェック結果が '2'(OK済み)の項目はチェックしない。「指令書NO の8桁目」は指令書の枚目、「発行枚数」は照会結果の指令書発行枚数。
| FLG | 項目 | 未入力のとき | チェック内容(満たさなければエラー) |
|---|---|---|---|
| 1 | 指令書NO | チェックしない(常に OK) | |
| 2 | 入力区分 | エラー | 照会時と同じ値なら OK。ただし照会時が 9(減便入力済)なら、ほかの項目をすべて OK にして入力区分だけエラーにする('R' の入力を待つ)。違う値なら下表 |
| 3 | 運行車区分 | エラー | 数字で 01・03・04・05(02 は不可)。03~05 は発行枚数が 1 で8桁目が 1 のときだけ |
| 4 | 運行車形態区分 | エラー | '0'~'8' |
| 5・6 | 積載社番・トレーラー | 社番 0・標屯 0・車種空白 | 数字。車種を決める(4.4 の 1)。判定は関連チェックで行う |
| 7 | 発店コード | エラー(増便は便名の発店部分を空白に) | 数字で店所マスターにあり、店所区分が '1'(または店所 0641 で区分 '4')。増便は支社区分をセット。定便は支社区分が照会時と同じこと(大阪第一(B)と大阪第二(C)は同一とみなす) |
| 8 | 出発予定日 月・日 | どちらか未入力ならエラー | 数字で、月 01~12、日 01~31 |
| 9 | 出発予定日 時・分 | どちらか未入力ならエラー | 数字で、時が 00 なら分 01~59、時が 01~23 なら分 00~59(00時00分は不可) |
| 10・11 | 乗継店1・2 | OK(コード 0) | 数字で店所マスターにあり、店所区分が '1' か '8'。支社区分をセット(増便だけ) |
| 12 | 最終卸店コード | エラー | 数字で店所マスターにあり、店所区分が '1' か '8'。支社区分の扱いは発店と同じ |
| 13 | 到着予定日 月・日 | どちらか未入力ならエラー | 出発と同じ |
| 14 | 到着予定日 時・分 | どちらか未入力ならエラー | 出発と同じ |
| 15 | 次運行便発店コード | 8桁目が発行枚数と違う、または増便ならエラー。それ以外(定便の最終枚)は OK | 8桁目が発行枚数と違う、または増便の場合だけ入力できる(定便の最終枚に入力するとエラー)。数字で店所マスターにあり、店所区分が '1' か '8'。支社区分は、8桁目 = 発行枚数ならセット、それ以外は照会時と同じこと(B・C は同一) |
| 16・17 | 乗務員A・B | 未入力('0') | 数字で従業員マスターにあり、採用・退職区分が 0。マスターになくても 999999 ならダミーコードとして OK。エラーなら名前を「??????」 |
| 18~21 | 乗継員1A~2B | チェックしない(常に OK) | |
| 22 | 直配区分 | 未入力('0')、値 '0' | '0' か '1' |
| 23 | 直配 着地コード | 直配区分が '1' ならエラー(直配区分もエラー)、それ以外は未入力 | 数字で地名マスターにあり、入力区分が 1。直配区分が '1' でなければエラー(直配区分もエラー)。直配着地最寄りの店所に扱店コードをセット |
| 24 | フェリー会社コード | OK(コード 0) | 数字で 9950000~9989999、運賃計算荷主マスター(1)にあること。フェリー会社区分が、運行車区分 03・04 なら 2、運行車区分 05 または形態 4 なら 1。それ以外の運行車区分・形態はエラー |
| 25 | 連絡事項 | 未入力(空白) | チェックなし |
| 26 | 特定便コード | OK(区分空白・NO 000) | 1桁目が 'S'・'F'・'R'、2~4桁目が数字で 000 より大きい。'R' は発店が 0407・0405・0404・0326 のときだけ |
| 27 | 鮮魚保険料 | OK(0) | 数字 |
入力区分を変える場合(FLG 2):
| 入力値 | 条件 | 意味 |
|---|---|---|
| D | 増便(1桁目が 9)で、8桁目が発行枚数または 1 | 増便の削除 |
| 9 | 定便(1桁目が 9 以外)で、8桁目が 1 | 減便 |
| R | 8桁目が 1 で、照会時の入力区分が 9 | 減便からの復活 |
| それ以外 | エラー |
'D'・'9'・'R' が OK なら、FLG(1)~FLG(34) をすべて OK('2')にし、入力結果を '9' にする。ほかの項目のチェック・関連チェックは行わない。
4.4 関連チェック
関連チェックは、運行車区分・形態がOK(FLG(3)・FLG(4) が '2')で、入力区分を変えていない(入力結果が '9' でない)場合に行う。
- 運行車区分と形態
| 形態 | 使える運行車区分 |
|---|---|
| 0(フツウ) | 制限なし |
| 8(クウシヤ) | 01・03・04・05 |
| 4(テアテ フエリ) | 05 |
| 1・2・3・5・6・7 | 01 |
満たさなければ運行車区分・形態をエラーにする。
FLG(1)~FLG(4) のどれかが未入力・エラーなら「保護フラグ」を立て、ほかのエラー項目は入力不可のまま表示する(4.5)。
- 積載社番・トレーラーと車種(FLG(5)・FLG(6)。運行車区分・形態がエラーなら両方エラー)
車種は次のように決める。
| 項目 | 条件 | 標屯 | 車種 |
|---|---|---|---|
| 積載社番 | 運行車区分 03 | 13.8 | '1' |
| 積載社番 | 運行車区分 04 | 5.0 | '5' |
| 積載社番 | それ以外:車両マスターにあり、車両現廃区分 ≦ 1 | 最大積載量 ÷ 1000 | 車両車種 14・26(リース):最大積載量 0 なら 'X'、2000 以下 '2'、4000 以下 '4'(運行車区分 04 なら '5')、それ以外 'T'。01:'R'、02:'S'、03・07:'T'、04:'G'、91:標屯 13.8・'1'(運行車区分 04 なら 5.0・'5')、92:標屯 5.0・'5'、それ以外:'X' |
| 積載社番 | 車両マスターにない、現廃区分 2 以上、数字でない | 'X' | |
| トレーラー | 車両マスターにあり、現廃区分 ≦ 1 | 最大積載量 ÷ 1000 | 01:'R'、03:'F'、04:'G'、それ以外:'X' |
| トレーラー | それ以外 | 'X' |
組合せのチェック(満たさなければ積載社番・トレーラーをエラー)。
| 運行車区分 | OK の組合せ(積載の車種+トレーラーの車種) |
|---|---|
| 01・05 | 'F'・'T'・'2'・'4' + なし、'S' + 'R'、'G' + 'F' |
| 03 | '1' + なし |
| 04 | '5' + なし |
| それ以外 | エラー |
積載社番が未入力なら車種が空白のため、組合せのチェックでエラーになる。
-
乗継店(運行車区分・形態がOK で、乗継店1・2が OK の場合)
- 形態が 1(ノリツギ)・2(ドツキング):乗継店1が必要(0 なら乗継店1・2をエラー)。
- それ以外の形態:乗継店1・2に値があればエラー。
- 運行車区分・形態がエラーなら、乗継店1・2をエラーにする。
- 出発・到着の日付(FLG(8)・(9)・(13)・(14) がすべて OK の場合)
| 項目 | 増便(1桁目が 9) | 定便 |
|---|---|---|
| 基準日 | 処理日付 | 計画出発年月日 |
| 基準日から出発日までの日数 | -10~+10 日 | -1~+3 日 |
| 出発日から到着日までの日数 | 0~3 日 | 計画最終卸経過日数が 0 なら -1~2 日、それ以外は(経過日数-1)~経過日数 |
- 出発の年は基準日の年。ただし基準日が12月で出発月が1月なら翌年、基準日が1月で出発月が12月なら前年。到着の年は出発の年(出発12月・到着1月なら翌年)。日数は LSO0130 で計算する。
- 出発日と到着日が同じ日なら、出発時分 < 到着時分であること(満たさなければ出発・到着の月日・時分をすべてエラー)。
- 日数が範囲外、または日数の計算でエラーなら、出発・到着の月日をエラーにする。
- OK なら、出発年・到着年をセットする。
-
乗務員(FLG(16)・FLG(17) のどちらかが OK でない場合)
- 運行車区分・形態がエラーなら、乗務員A・Bをエラーにする(チェックもしない)。
- 運行車区分が 01、または形態が 4:乗務員Aが必要。乗務員AとBが同じコード(999999 を除く)ならエラー。
- それ以外:乗務員A・Bとも未入力であること(どちらかを入れるとエラー)。
- フェリー会社(運行車区分・形態・フェリー会社が OK の場合):フェリー会社コードを入れられるのは、運行車区分が 03・04・05 か形態が 4 のときだけ。それ以外で入れると運行車区分・フェリー会社をエラーにする(未入力はどの区分でも OK)。
-
特定便と鮮魚保険料(特定便・鮮魚保険料・運行車区分が OK の場合)
- 特定便区分が 'R':運行車区分が 01 なら、鮮魚保険料は 0~3000(超えると鮮魚保険料を関連エラー)。01 以外なら特定便・鮮魚保険料を関連エラー。
- それ以外:鮮魚保険料は 0 であること(0 でなければ特定便・鮮魚保険料を関連エラー)。
-
増便の便コード・便名・設定粁(増便の場合)
- 発店・最終卸店がOK なら、便コードを「9+発店の上2桁+最終卸店の上2桁+1」にする。
- 便名(漢字)を「*+発店の店所略名(漢字)の先頭3文字+~+最終卸店の店所略名の先頭3文字」、便名(カナ)を「発店の店所名(カナ)の先頭7桁+'-'+最終卸店の店所名(カナ)の先頭7桁」にする。店所 2303・2304 は店所略名を「名古南 支店」「名古西 支店」に読み替える。
- 全体がOK なら、発着地粁程マスターを「発店の所在地コード(5桁)+直配なら直配着地コード、それ以外は最終卸店の所在地コード(5桁)」で読み、設定粁に標準粁程(1)をセットする(なければ 0)。
- FLG(1)~FLG(27) に '1'(エラー)か '3'(関連エラー)があれば全体エラー(OKFLG '1')、なければ OK('2')。
4.5 表示の編集(DISPLAY_SUB_RTN_LVL1)
- 各項目の表示と属性
| チェック結果 | 表示 | 属性 |
|---|---|---|
| OK('2')・未入力('0') | チェック後の値(0 は空欄)と名称 | 入力不可 |
| エラー('1') | 入力値のまま | 保護フラグが立っていれば入力不可(保護・変更フラグオン)、なければ入力可(輝度)でカーソルを置く |
| 関連エラー('3'。鮮魚保険料・特定便) | チェック後の値 | エラーと同じ |
- 運行車区分・形態・入力区分は、エラーなら保護フラグに関係なく入力可(輝度)にしてカーソルを置く。
- 特定便・連絡事項は、エラーなら入力可(変更フラグオン・輝度)。
- 運行車区分名・運行車形態区分名をチェック後の値で表示する。運行便名は保護(輝度)で表示する。
- 入力区分名:0:配車未入力、1:配車入力済、2:出発点呼済、5:到着入力済、9:減 便、R:減便 復活、D:削 除、それ以外:?????。入力区分が '0'~'8' なら通常表示、それ以外(9・R・D)は反転表示。
- メッセージ
| 結果 | エラーコード | メッセージ |
|---|---|---|
| エラー | ERR 1 | エラー項目あり,再入力して下さい。 |
| OK(入力区分 1・2・5) | OK 2 | 確認OKなら実行キーを押して下さい。修正なら、PF5 |
| OK(入力区分 9) | OK 2 | 減便になります。 修正なら、PF5 |
| OK(入力区分 D) | OK 2 | このNOのマスターを削除します。 修正なら、PF5 |
| OK(入力区分 R) | OK 2 | 減便から復活します! 復活しないなら、PF2で取消してください |
| OK(それ以外) | OK 2 | ???????????????? |
- エラーなら、TSキューを書き、画面のデータ部分を送信して(カーソル指定)BU08 で待機する。
- OK なら、TSキュー(520バイト)を書き(書込みエラーなら CLEAR と同じ処理)、画面のデータ部分を送信して BU09 で待機する。
4.6 補足(表示の細部)
- 出発・到着の月日と時分は、それぞれ同じチェック結果(月日は FLG 8・13、時分は FLG 9・14)で属性を決める。
- 直配区分が '0' のときは、OK なら空欄、エラーなら空白を表示する。
4.7 ファンクションキー・例外処理
| キー・条件 | 処理 |
|---|---|
| PF2 | 画面をクリアし、印刷装置の状態が '0'・空白なら印刷装置を空欄、それ以外は印刷装置のIDを表示(入力不可)。自社傭車フラグを '0'、TSキューを削除。日時・入力店所(端末の店所コード・店所名、入力不可)をセットし、修正項目をすべて入力不可にして、メッセージ「指令書№を入力して実行キー」(反転)を表示、指令書NO にカーソルを置いて画面を消去して送信する。BU07(BU10700P)で待機 |
| PF8・PF9 | 印刷装置の状態が '2' なら、印刷情報(店所・端末ID・印刷装置・処理日付、キュー名 端末ID+'MMSS')と、入力端末ID・データ個数 1 だけの印刷データを TSキューに書き、自社傭車フラグが '1' なら 端末ID+'SHTS'(318バイト)に書いて BV13、それ以外は 端末ID+'SHYT'(144バイト)に書いて BV14 を印刷装置で START する。画面のデータ部分を送信し BU08 で待機 |
| PF11 | 印刷装置の状態が '2' なら、印刷装置を強制解放(PURGE)し、正常なら再接続(ACQUIRE・INSERVICE)する。画面のデータ部分を送信し BU08 で待機 |
| PF3 | 印刷装置の状態が '2' なら印刷終了の処理をする。TSキューを削除し、戻り先画面のスタックから一つ前の画面に戻る(BU10700P と同じ) |
| PF4 | 印刷装置の状態が '2' なら印刷終了の処理をする。TSキューを削除し、メインメニューに戻る(BU10700P と同じ) |
| CLEAR | 印刷装置の状態が '2' なら印刷終了の処理をする。TSキューを削除し、終了画面(ELEPHAN)を表示して終了 |
| その他のキー | 画面のデータ部分を再送信し、BU08 で待機 |
| TSキューが読めない、画面データなし・レコードなし・ファイルの終わり | CLEAR と同じ |
印刷終了の処理(PRINTER_FREE)は BU10700P と同じ(印刷終了レコードを2回書いて BV13 を START し、印刷装置の状態を空白にする)。
5. メッセージ一覧
| No | エラーコード | メッセージ | 表示するとき |
|---|---|---|---|
| 1 | ERR 1 | エラー項目あり,再入力して下さい。 | いずれかの項目がエラー・関連エラー |
| 2 | OK 2 | 確認OKなら実行キーを押して下さい。修正なら、PF5 | チェックOK(入力区分 1・2・5) |
| 3 | OK 2 | 減便になります。 修正なら、PF5 | 入力区分を 9 にした |
| 4 | OK 2 | このNOのマスターを削除します。 修正なら、PF5 | 入力区分を D にした |
| 5 | OK 2 | 減便から復活します! 復活しないなら、PF2で取消してください | 入力区分を R にした |
| 6 | OK 2 | ???????????????? | チェックOK でそれ以外の入力区分 |
| 7 | (PF2) | 指令書№を入力して実行キー | 初期画面に戻る |
6. 画面遷移
flowchart LR
BU07[BU07<br/>BU10700P] -- 照会OK 自社便 --> BU08[BU08<br/>本プログラム]
BU08 -- 実行(エラー) --> BU08
BU08 -- 実行(チェックOK) --> BU09[BU09<br/>BU10900P]
BU08 -- PF2 --> BU07
BU08 -- PF8・PF9・PF11・その他 --> BU08
BU08 -- PF3 --> PREV[一つ前の画面]
BU08 -- PF4 --> MAIN[メインメニュー]
BU08 -- CLEAR --> END[ELEPHAN 終了]
7. 補足・留意事項
- センターとの通信なし:本プログラムはチェックだけを行い、センターの運行指令マスターは更新しない。チェック後のデータを TSキューで BU10900P に渡し、BU10900P がセンター(BU20900P)に更新を依頼する。
- TSキュー名は BU10700P のもの:TSキューの名前・長さは通信領域の値(BU10700P がセットした「端末ID+'BU07'」、520)をそのまま使う。
- OK済みの項目は再チェックしない:一度 OK になった項目は、次の実行で値を変えてもチェックしない(入力不可で表示するため、通常は変えられない)。チェックOK の後(BU09 待機中)に PF5 などで戻った場合は、BU10900P の処理による。
- 乗継員はチェックしない:乗継員1A~2Bは常に OK 扱いで、画面の入力値も取り込まない(照会結果の値のまま)。BU10700P でも入力可にしていない。
- 乗継店のチェックは増便だけ:定便では乗継店1・2をチェックせず、照会結果の値を使う。ただし関連チェック(形態 1・2 は乗継店1が必要、それ以外は乗継店があればエラー)は定便でも行う。定便で照会結果の乗継店と形態が合わない場合はエラーになる。
- 入力区分の変更はほかのチェックを省く:入力区分を 'D'・'9'・'R' にすると、ほかの項目に何を入れても全項目が OK になる。
- 指令書NO の表示部分:指令書NO のチェック結果(FLG(1))で属性を変える処理が、指令書NO ではなく入力店所(BU07031・BU07032)の属性を変えている。FLG(1) は常に OK のため、入力店所が入力不可(変更フラグオン)になる。
- 運行車区分・形態のエラー表示:運行車区分・形態は、エラーになると保護フラグに関係なく入力可になる。BU10700P で入力不可にしていた場合(定便の運行車区分など)でも、形態との関連エラーになると入力できるようになる。
- 積載社番の車両マスター:運行車区分が 03・04 のときは、積載社番を車両マスターで確認しない(数字なら標屯・車種を固定値にする)。
- 00時00分は入力できない:時が 00 のときは分が 01~59 でないとエラーになる。
- PF8・PF9 の違い:本プログラムでは PF8・PF9 のどちらでも、自社傭車フラグ(BU10700P で '1')に従って自社便のテスト印刷になる。印刷装置のチェックは行わない(使用可の場合だけ印刷する)。
- PF12 なし:本プログラムでは PF12 は「その他のキー」として再表示になる。