プログラム仕様書 BU10900P(配車修正入力 確認)
| 項目 |
内容 |
| システムID |
BU |
| 参考資料 |
・現行ソース BU10900P.pl1(センター側の動きは BU20900P.pl1 で確認) ・画面イメージ MPBU070.jpg(配車修正入力) ・現行の解析資料 BU0070_配車修正入力.xlsx(シート「資産一覧」「MPBU070」「レコードフォーマット」「SRC_BU10900P」) ・前の画面の仕様書 BU10800P_仕様書.md、BV10800P_仕様書.md
|
| 項目名の出典 |
画面項目は解析資料のシート「MPBU070」の日本語名、センターとの受渡し項目(CEDPBU07・CEDPBU09)はシート「レコードフォーマット」の日本語名称 |
1. 概要
| 項目 |
内容 |
| プログラムID |
BU10900P(手続き名:BU10900) |
| プログラム名称 |
配車修正入力 確認 |
| 言語 |
PL/I(CICS コマンドレベル) |
| 処理形態 |
オンライン(CICS 疑似会話型) |
| 動作環境 |
SV(DDP 側) |
| トランザクションID |
BU09 |
| パターンID |
PPOD255P(1987/05/01)、業務 BUSHRE30、部品 PBOD020P |
| 使用画面(マップ) |
MPBU070(配車修正入力)、MPDM010(共通ヘッダ画面)、ELEPHAN(終了画面) |
| 前の処理 |
BU08(BU10800P:自社便の検証)、BV08(BV10800P:傭車便の検証)のチェックOK 後 |
| 次の処理 |
実行キー:センターに更新を依頼して結果を表示(BU09 で待機)。PF5:BU08/BV08 に戻って修正 |
| センターへの更新依頼 |
SYSID 'CIC1'、プロセス 'B09U'(BU20900P)と APPC 会話 |
| 参照ファイル |
なし(DDP のマスターは読まない) |
| 起動するトランザクション |
BV13(自社便の指令書印刷)、BV14(傭車便の指令書印刷) |
| 一時記憶 |
TSキュー(通信領域のキュー名。BU10700P が書いた「端末ID+'BU07'」、長さ 520)。印刷データの TSキュー(端末ID+時刻) |
1.1 機能概要
検証済みの修正内容でセンターの運行指令マスターを更新する画面。BU10800P・BV10800P の「確認OKなら実行キーを押して下さい。修正なら、PF5」の画面で待機する。
- 実行キー:TSキューの検証後データをセンター(B09U:BU20900P)に送って更新を依頼し、結果のメッセージを表示する。印刷装置が使用可で更新が成功したら、指令書を印刷する。
- PF5:入力可の項目を戻して BU08(自社便)/BV08(傭車便)に戻り、修正をやり直す。
flowchart LR
BU08[BU08/BV08<br/>検証OK] --> BU09[BU09<br/>本プログラム<br/>MPBU070]
BU09 <-- APPC B09U --> CIC1[(センター CIC1<br/>BU20900P<br/>VKUNKSH 更新)]
BU09 -- 印刷 --> PRT[BV13/BV14<br/>指令書印刷]
BU09 -- PF5 --> BU08
BU09 -- 更新後の実行 --> BU07[BU07<br/>初期画面]
2. 画面仕様
画面レイアウト・項目は BU10700P と同じ(BU10700P_仕様書.md の 2章)。本プログラムは画面の値をチェックせず、メッセージ・エラーコードと、PF5 のときの属性だけを変える。
2.1 ファンクションキー
| キー |
機能 |
処理概要 |
| 実行(Enter) |
更新 |
センターに更新を依頼する(4.2) |
| PF2 |
取消 |
TSキューを削除し、BU10700P の初期画面を表示して BU07 で待機する |
| PF3 |
終了 |
印刷終了の処理をして、一つ前の画面に戻る |
| PF4 |
戻り |
印刷終了の処理をして、メインメニューに戻る |
| PF5 |
修正 |
入力可の項目を戻して BU08/BV08 で待機する(4.3) |
| PF8・PF9 |
テストプリント |
印刷装置が使用可の場合だけ、テスト印刷を起動する(BU10800P と同じ) |
| PF11 |
印刷装置の再接続 |
印刷装置を強制解放し、再び接続する |
| CLEAR |
強制終了 |
印刷終了の処理をして、終了画面(ELEPHAN)を表示して終了 |
| 上記以外 |
再表示 |
画面のデータ部分を再送信し、BU09 で待機 |
PF2・PF3・PF4・PF8・PF9・PF11・CLEAR の処理は BU10800P と同じ(BU10800P_仕様書.md の 4.7。待機するトランザクションは BU09)。
3. インターフェース
3.1 通信領域(COMMAREA:256バイト)
BU10800P と同じ項目を使う。COMM_PRI_FLG(印刷装置の状態)が '2' なら更新後に指令書を印刷し、COMM_YOS_FLG('1':自社)で自社用・傭車用の印刷を選ぶ。
3.2 TSキュー(520バイト)
BU10800P と同じ領域。本プログラムでは検証後データの部分を、センターへの送信データ(CEDPBU07 の配置。項目名は UNK で始まる)として使う。
3.3 センターへの更新依頼(B09U:BU20900P)
| 項目 |
内容 |
| 接続先 |
SYSID 'CIC1'、プロセス名 'B09U' |
| 送信(250バイト) |
TSキューの検証後データ(トランザクションID・エラーフラグ・エラーコード+CEDPBU07 の 241バイト)。入力結果(UNKNYUK)に画面の入力区分(1・2・5・9・D・R など)をセットして送る |
| 受信(169バイト) |
トランザクションID(4)+エラーフラグ(1)+エラーコード(4)+配車修正入力更新後データ(CEDPBU09、下表) |
| 項目ID |
項目名 |
本プログラムでの用途 |
| DNKNYUK |
入力結果 |
更新の結果(4.2 の表) |
| DNKSHNO |
指令書NO |
|
| UNQENTC |
最終到着店 |
自社便の印刷で、次運行発店が 0 のときに使う |
| UNQCARS・UNQCART |
積載社番(1)(2)・トレーラ頭等(1)(2) |
自社便の印刷 |
| UNQSZTC |
所属店 |
印刷 |
| UNQNTC1・UNQNTC2 |
乗継店1・2 |
自社便の印刷 |
| UNQDTIM・UNQDONO・UNQDIN1~3 |
道路情報(日時・道路No・コード) |
自社便の印刷 |
| UNQJIKB・UNQJITN・UNQITKB・UNQITTN |
空車区間(店所区分・店所コード・着地コード) |
自社便の印刷 |
| UNQSYUS・UNQTAIS |
出社時間・退社時間 |
自社便の印刷 |
| UNQARIV・UNQTIME |
休憩場所・休憩時間 |
自社便の印刷 |
| UNQHYOG・UNQDRTM・UNQYUYO |
標準拘束時間・運転時間・有余時間 |
自社便の印刷 |
| UNQTYAK |
到着時分 |
自社便の印刷(最終卸店と次運行発店が違う場合の到着時分) |
4. 処理仕様
4.1 処理の流れ
flowchart TD
S([開始]) --> AID{押されたキー}
AID -- CLEAR --> CLR[印刷終了の処理<br/>終了画面]
AID -- PF5 --> PF5[修正に戻る 4.3]
AID -- その他のPFキー --> PF[ファンクションキー処理]
AID -- 実行 --> RCV[MPBU070 を受信<br/>TSキューを読む]
RCV -- なし --> INI[初期画面<br/>エラーコード Q_ERR] --> W07([BU07 で待機])
RCV -- あり --> DEL[TSキュー削除]
DEL --> UPD[センターに更新依頼 4.2]
UPD -- 通信エラー・更新エラー --> ERR[TSキュー保存<br/>エラー表示] --> W09([BU09 で待機])
UPD -- 更新OK --> PRT{印刷装置 使用可<br/>入力結果 1・5}
PRT -- はい --> P[指令書を印刷 4.4]
PRT -- いいえ --> MSG
P --> MSG[結果のメッセージ表示] --> W09B([BU09 で待機])
4.2 実行キー:センターへの更新依頼(INQUIRE_SUB_RTN)
- 画面を受信し、TSキューを読む。
- 読めなければ、画面をクリアして BU10700P と同じ初期画面(入力店所は入力不可、修正項目はすべて入力不可、メッセージ「指令書№を入力して実行キー」(反転)、エラーコード 'Q_ERR'、指令書NO にカーソル)を画面を消去して送信し、BU07 で待機する。
- 読めたら削除する。
- 入力結果(UNKNYUK)に画面の入力区分(TSキューの BU07053B)をセットし、センター(CIC1 の B09U)に接続して検証後データ(250バイト)を送信し、結果(169バイト)を受信する。終了データを送って会話を終える。
- 通信エラーは BU10700P と同じ(回線混雑 ASYSB は画面を受信してやり直し、それ以外はエラーフラグ '7'・'8'・'9')。メッセージは後半48桁に次をセットする。
| エラーフラグ |
メッセージ(後半) |
| 7 |
回線不通の可能性あり センターに連絡 !! |
| 8 |
サポート外ERROR センターに連絡 !! |
| 9 |
LENGERR |
- 正常に受信したら、入力結果(DNKNYUK)でメッセージの前半22桁をセットする(後半は空白)。
| 入力結果 |
メッセージ |
判定 |
| 1 |
修正OK!! |
OK |
| 2 |
復活しました。 |
OK |
| 3 |
削除しました。 |
OK |
| 9 |
減便になりました。 |
OK |
| 0 |
配車未入力です。!! |
OK(エラー扱いにしない) |
| 4 |
枝番前後の指令書無し |
エラー |
| 5 |
修正済、次の枝番無し |
エラー |
| 6 |
指令書マスターに無し |
エラー |
| 7 |
入力済で修正不可能! |
エラー |
| 8 |
マスターI/Oエラー |
エラー |
| A |
携帯№無し F5修正 |
エラー |
| それ以外 |
?????? |
OK(エラー扱いにしない) |
- 印刷装置の状態が '2'(使用可)で、入力結果が 1 か 5 なら、指令書を印刷する(4.4)。
- エラー(通信エラー、入力結果 4~8・A)なら、メッセージとエラーコード(通信エラーのコード)をセットし、TSキューを書き戻して(書き込めなければ CLEAR と同じ処理)画面のデータ部分を送信し、BU09 で待機する。PF5 で修正に戻れる。
- OK なら、メッセージをセットして画面のデータ部分を送信し(カーソル指定)、BU09 で待機する。TSキューは書き戻さない。
4.3 PF5:修正に戻る
- TSキューを読む。なければエラーコード 'Q ERR' をセットして 4 へ。あれば削除する。
- 入力区分(画面の値)が 'R'(復活)なら、メッセージ「復活するなら実行キー 復活しないならPF2で取消」(反転)を表示し、TSキューを書き戻して BU09 で待機する(修正には戻らない)。
- それ以外は、照会時の入力区分(UNKINKB)によって入力可の項目を決める。
| 照会時の入力区分 |
入力可にする項目 |
| 1・2 |
BU10700P の 4.5 とほぼ同じ(運行車区分・増便/定便・送付書枚数による。違いは 7章 3) |
| 9 |
入力区分だけ(カーソル) |
| それ以外(5 を含む) |
属性を変えない |
- メッセージ「修正する項目を、入力してください。」(反転)を表示し、OKFLG を '2'(次の検証で全項目をチェックし直す)、入力年月日を処理日付にして TSキューに書く(書き込めなければ CLEAR と同じ処理)。画面のデータ部分を送信し(カーソル指定)、運行車区分が 02 なら BV08、それ以外は BU08 で待機する。
4.4 指令書の印刷
印刷情報(店所・端末ID・印刷装置・処理日付、キュー名「端末ID+現在の分秒」)を作り、印刷データを TSキューに書いて、自社便は BV13、傭車便は BV14 を印刷装置で START する(TSキューの書込みエラーなら START しない)。
| 区分 |
印刷データ(1件) |
| 自社便(COMM_YOS_FLG '1'。長さ 375+14) |
指令書NO・発行枚数・便コード・便名・運行車区分・形態・入力区分・発店・出発年月日時分・最終卸店・次運行発店(0 なら最終到着店)・到着年月日時分(最終卸店と次運行発店が同じなら最終卸店の到着時分、違えば受信した到着時分)・積載社番(1)(2)・トレーラ頭等(1)(2)・乗務員A・B・直配区分・着地・連絡事項・特定便・鮮魚保険料・所属店・車種(T:1、S:2、G:3、4:4、それ以外 0)・道路情報・乗継店1・2・空車区間・出社・退社時間・休憩場所・時間・拘束時間・運転時間・有余時間 |
| 傭車便(長さ 130+14) |
指令書NO・発行枚数・便コード・便名・運行車区分・形態・入力区分・発店・出発年月日時分・最終卸店・到着年月日時分・次運行発店(=最終卸店)・積載社番・トレーラー・乗務員A・B・直配区分・着地・連絡事項・傭車会社・傭車形態・傭車標屯(×10)・定額傭車料・一車保険料・所属店・特定便・車種 |
5. メッセージ一覧
| No |
エラーコード |
メッセージ |
表示するとき |
| 1 |
(空白) |
修正OK!! ほか 4.2 の表 |
更新の結果 |
| 2 |
ASYSB |
回線が混雑しています!! 実行キーをもう一度押して下さい |
センター接続の回線混雑 |
| 3 |
ASYSI・CTERM・STERM・RTERM |
回線不通の可能性あり センターに連絡 !! |
通信エラー(回線切断) |
| 4 |
A9999・C9999・S9999・R9999 |
サポート外ERROR センターに連絡 !! |
通信エラー(その他) |
| 5 |
RLENG |
LENGERR |
受信の長さエラー |
| 6 |
Q_ERR |
指令書№を入力して実行キー |
実行キーで TSキューがない(更新後にもう一度実行キーを押したときなど) |
| 7 |
Q ERR |
(変えない) |
PF5 で TSキューがない |
| 8 |
(変えない) |
復活するなら実行キー 復活しないならPF2で取消 |
入力区分 R で PF5 |
| 9 |
(変えない) |
修正する項目を、入力してください。 |
PF5 で修正に戻る |
6. 画面遷移
flowchart LR
BU08[BU08/BV08] -- チェックOK --> BU09[BU09<br/>本プログラム]
BU09 -- 実行(結果表示) --> BU09
BU09 -- 実行(TSキューなし) --> BU07[BU07<br/>初期画面]
BU09 -- PF5 自社便 --> BU08B[BU08]
BU09 -- PF5 傭車便 --> BV08[BV08]
BU09 -- PF2 --> BU07
BU09 -- PF3 --> PREV[一つ前の画面]
BU09 -- PF4 --> MAIN[メインメニュー]
BU09 -- CLEAR --> END[ELEPHAN 終了]
7. 補足・留意事項
-
更新後の実行キー:更新が OK だと TSキューを書き戻さないため、続けて実行キーを押すと TSキューがなく、初期画面にエラーコード 'Q_ERR' が表示される(エラーではなく次の指令書の入力待ち)。
-
入力結果に入力区分を入れて送る:BU10800P・BV10800P は入力区分を変えた場合に入力結果を '9' にしているが、本プログラムは送信前に入力結果を画面の入力区分('1'・'2'・'5'・'9'・'D'・'R' など)で上書きする。センター(BU20900P)はこの値で処理を分ける。
-
PF5 の入力可の項目の違い(BU10700P の照会OK 時との違い)
- 照会時の入力区分が 5(到着入力済)の場合は属性を変えない(BU10700P は 1・2・5 で入力可にする)。
- 自社便のフェリー会社は常に入力可(BU10700P は入力年月日 = 処理日付のときだけ)。
- 増便で運行車区分を入力可にする条件が「指令書NO の8桁目が 1」(BU10700P も同じ)。
-
入力結果 0 と不明な値:入力結果 0(配車未入力です。)や表にない値はエラー扱いにしないため、TSキューを書き戻さない。PF5 で修正に戻れない。
-
印刷の条件:指令書を印刷するのは入力結果が 1(修正OK)か 5(修正済、次の枝番無し)のときだけ。5 はメッセージ上はエラー扱い(TSキューを書き戻す)だが印刷は行う。
-
通信エラーのメッセージ:通信エラーではメッセージの後半48桁だけをセットし、前半22桁は空白のまま。
-
'R' は修正に戻れない:入力区分 R(減便からの復活)で確認画面に来た場合、PF5 では修正に戻れず、実行(復活)か PF2(取消)を選ぶ。