プロジェクト

全般

プロフィール

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

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

 

プログラム仕様書 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 で照会した指令書について、入力可になっている項目を修正して実行キーを押すと、各項目と項目間の関係をチェックする。

  1. 照会結果を TSキューから読み、画面の入力値をチェックする。チェックOK になった項目は次回からチェックしない。
  2. 入力区分に 'D'(増便の削除)・'9'(減便)・'R'(減便からの復活)を入れた場合は、ほかの項目をチェックせずに OK にする。
  3. エラーがあれば、エラーの項目を入力可にして BU08 で待機する。
  4. すべて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 初期化

  1. 画面を受信し、TSキュー(通信領域のキュー名)を読む。読めなければ CLEAR と同じ処理(終了画面)にする。
  2. 読めたら削除する。前回の OKFLG が '2'(BU10700P の照会OK、または本プログラムのチェックOK の後)なら、LOOP_FLG を '1'、OKFLG を '0'、FLG(1)~FLG(34) をすべて '1'(エラー)にして、全項目をチェックし直す。
  3. 端末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' でない)場合に行う。

  1. 運行車区分と形態
形態 使える運行車区分
0(フツウ) 制限なし
8(クウシヤ) 01・03・04・05
4(テアテ フエリ) 05
1・2・3・5・6・7 01

満たさなければ運行車区分・形態をエラーにする。

FLG(1)~FLG(4) のどれかが未入力・エラーなら「保護フラグ」を立て、ほかのエラー項目は入力不可のまま表示する(4.5)。

  1. 積載社番・トレーラーと車種(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' + なし
それ以外 エラー

積載社番が未入力なら車種が空白のため、組合せのチェックでエラーになる。

  1. 乗継店(運行車区分・形態がOK で、乗継店1・2が OK の場合)
    • 形態が 1(ノリツギ)・2(ドツキング):乗継店1が必要(0 なら乗継店1・2をエラー)。
    • それ以外の形態:乗継店1・2に値があればエラー。
    • 運行車区分・形態がエラーなら、乗継店1・2をエラーにする。
  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 なら、出発年・到着年をセットする。
  1. 乗務員(FLG(16)・FLG(17) のどちらかが OK でない場合)
    • 運行車区分・形態がエラーなら、乗務員A・Bをエラーにする(チェックもしない)。
    • 運行車区分が 01、または形態が 4:乗務員Aが必要。乗務員AとBが同じコード(999999 を除く)ならエラー。
    • それ以外:乗務員A・Bとも未入力であること(どちらかを入れるとエラー)。
  2. フェリー会社(運行車区分・形態・フェリー会社が OK の場合):フェリー会社コードを入れられるのは、運行車区分が 03・04・05 か形態が 4 のときだけ。それ以外で入れると運行車区分・フェリー会社をエラーにする(未入力はどの区分でも OK)。
  3. 特定便と鮮魚保険料(特定便・鮮魚保険料・運行車区分が OK の場合)
    • 特定便区分が 'R':運行車区分が 01 なら、鮮魚保険料は 0~3000(超えると鮮魚保険料を関連エラー)。01 以外なら特定便・鮮魚保険料を関連エラー。
    • それ以外:鮮魚保険料は 0 であること(0 でなければ特定便・鮮魚保険料を関連エラー)。
  4. 増便の便コード・便名・設定粁(増便の場合)
    • 発店・最終卸店がOK なら、便コードを「9+発店の上2桁+最終卸店の上2桁+1」にする。
    • 便名(漢字)を「*+発店の店所略名(漢字)の先頭3文字+~+最終卸店の店所略名の先頭3文字」、便名(カナ)を「発店の店所名(カナ)の先頭7桁+'-'+最終卸店の店所名(カナ)の先頭7桁」にする。店所 2303・2304 は店所略名を「名古南 支店」「名古西 支店」に読み替える。
    • 全体がOK なら、発着地粁程マスターを「発店の所在地コード(5桁)+直配なら直配着地コード、それ以外は最終卸店の所在地コード(5桁)」で読み、設定粁に標準粁程(1)をセットする(なければ 0)。
  5. FLG(1)~FLG(27) に '1'(エラー)か '3'(関連エラー)があれば全体エラー(OKFLG '1')、なければ OK('2')。

4.5 表示の編集(DISPLAY_SUB_RTN_LVL1)

  1. 各項目の表示と属性
チェック結果 表示 属性
OK('2')・未入力('0') チェック後の値(0 は空欄)と名称 入力不可
エラー('1') 入力値のまま 保護フラグが立っていれば入力不可(保護・変更フラグオン)、なければ入力可(輝度)でカーソルを置く
関連エラー('3'。鮮魚保険料・特定便) チェック後の値 エラーと同じ
  • 運行車区分・形態・入力区分は、エラーなら保護フラグに関係なく入力可(輝度)にしてカーソルを置く。
  • 特定便・連絡事項は、エラーなら入力可(変更フラグオン・輝度)。
  • 運行車区分名・運行車形態区分名をチェック後の値で表示する。運行便名は保護(輝度)で表示する。
  1. 入力区分名:0:配車未入力、1:配車入力済、2:出発点呼済、5:到着入力済、9:減  便、R:減便 復活、D:削  除、それ以外:?????。入力区分が '0'~'8' なら通常表示、それ以外(9・R・D)は反転表示。
  2. メッセージ
結果 エラーコード メッセージ
エラー 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 ????????????????
  1. エラーなら、TSキューを書き、画面のデータ部分を送信して(カーソル指定)BU08 で待機する。
  2. 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. 補足・留意事項

  1. センターとの通信なし:本プログラムはチェックだけを行い、センターの運行指令マスターは更新しない。チェック後のデータを TSキューで BU10900P に渡し、BU10900P がセンター(BU20900P)に更新を依頼する。
  2. TSキュー名は BU10700P のもの:TSキューの名前・長さは通信領域の値(BU10700P がセットした「端末ID+'BU07'」、520)をそのまま使う。
  3. OK済みの項目は再チェックしない:一度 OK になった項目は、次の実行で値を変えてもチェックしない(入力不可で表示するため、通常は変えられない)。チェックOK の後(BU09 待機中)に PF5 などで戻った場合は、BU10900P の処理による。
  4. 乗継員はチェックしない:乗継員1A~2Bは常に OK 扱いで、画面の入力値も取り込まない(照会結果の値のまま)。BU10700P でも入力可にしていない。
  5. 乗継店のチェックは増便だけ:定便では乗継店1・2をチェックせず、照会結果の値を使う。ただし関連チェック(形態 1・2 は乗継店1が必要、それ以外は乗継店があればエラー)は定便でも行う。定便で照会結果の乗継店と形態が合わない場合はエラーになる。
  6. 入力区分の変更はほかのチェックを省く:入力区分を 'D'・'9'・'R' にすると、ほかの項目に何を入れても全項目が OK になる。
  7. 指令書NO の表示部分:指令書NO のチェック結果(FLG(1))で属性を変える処理が、指令書NO ではなく入力店所(BU07031・BU07032)の属性を変えている。FLG(1) は常に OK のため、入力店所が入力不可(変更フラグオン)になる。
  8. 運行車区分・形態のエラー表示:運行車区分・形態は、エラーになると保護フラグに関係なく入力可になる。BU10700P で入力不可にしていた場合(定便の運行車区分など)でも、形態との関連エラーになると入力できるようになる。
  9. 積載社番の車両マスター:運行車区分が 03・04 のときは、積載社番を車両マスターで確認しない(数字なら標屯・車種を固定値にする)。
  10. 00時00分は入力できない:時が 00 のときは分が 01~59 でないとエラーになる。
  11. PF8・PF9 の違い:本プログラムでは PF8・PF9 のどちらでも、自社傭車フラグ(BU10700P で '1')に従って自社便のテスト印刷になる。印刷装置のチェックは行わない(使用可の場合だけ印刷する)。
  12. PF12 なし:本プログラムでは PF12 は「その他のキー」として再表示になる。
(5-5/6)