プログラム仕様書 BU20700P(配車修正入力 センター照会)
| 項目 |
内容 |
| システムID |
BU |
| 参考資料 |
・現行ソース BU20700P.pl1 ・現行の解析資料 BU0070_配車修正入力.xlsx(シート「資産一覧」「レコードフォーマット」「SRC_BU20700P」) ・呼出し元の仕様書 BU10700P_仕様書.md
|
| 項目名の出典 |
受渡し項目(DPCEB05U・CEDPBU07)・マスターの項目は解析資料のシート「レコードフォーマット」の日本語名称 |
1. 概要
| 項目 |
内容 |
| プログラムID |
BU20700P(手続き名:BU20700) |
| プログラム名称 |
配車修正入力 センター照会 |
| 言語 |
PL/I(CICS コマンドレベル) |
| 処理形態 |
オンライン(APPC 会話の相手側。画面なし) |
| 動作環境 |
CIC1(センター側) |
| プロセス名(トランザクションID) |
B07U |
| パターンID |
PPOC030P(1987/04/30)、業務 BUSHRE30 |
| 呼出し元 |
BU10700P(DDP の BU07)。SYSID 'CIC1'、プロセス 'B07U' で接続 |
| 参照ファイル |
VKUNKSH(運行指令マスター)、VKFIXNW(計画便マスター(NEW)) |
| 呼出しモジュール |
LSS0030A(応答コードの16進表示への変換) |
1.1 機能概要
DDP(BU10700P)から指令書NO を受け取り、運行指令マスターを読んで、配車修正に必要な項目を編集して返す。マスターの更新はしない。
flowchart LR
DDP[BU10700P<br/>DDP BU07] -- 指令書NO 35バイト --> C[BU20700P<br/>CIC1 B07U]
C --> UNK[(VKUNKSH<br/>運行指令マスター)]
C --> FIX[(VKFIXNW<br/>計画便マスター)]
C -- 照会結果 250バイト --> DDP
2. インターフェース
2.1 受信データ(IN_DATA:35バイト)
| 項目ID |
項目名 |
内容 |
| SESS_TRID |
トランザクションID |
'B07U' |
| SESS_SPEC |
予備 |
|
| UNKTRID |
トランザクションID |
'B07U' |
| UNKDTID |
データ区分 |
空白 |
| UNKSHIN |
指令書NO |
9桁。運行指令マスターのキー |
| UNKSPE1 |
SPACE |
|
2.2 送信データ(OUT_DATA:250バイト)
| 項目ID |
内容 |
| SESS_SEN_TRID |
'BU07' |
| SESS_ERR_FLG |
エラーフラグ。常に '0' |
| SESS_ERR_CODE |
エラーコード。通常 'B000'、マスターの読込みエラー時は応答コード(16進表示) |
| SESS_SEND_DATA(CEDPBU07) |
配車修正照会後データ(3章) |
3. 処理仕様
3.1 処理の流れ
- DDP からのデータを受信する。
- 送信域をクリアし、エラーフラグ '0'、エラーコード 'B000' をセットする。
- 運行指令マスター(VKUNKSH)を指令書NO で読む。
- 読めたら 3.2 のとおり送信域を編集する。読めなければ 3.3。
- 送信域の入力年月日に運行指令マスターの入力年月日(年・月・日)をセットする(読めなかった場合も同じ領域の値をセットする)。
- 送信データ(250バイト)を送信して応答を待ち(INVITE WAIT)、DDP からの終了データを受信して終了する。
3.2 運行指令マスターがある場合の編集
入力結果を '0' にして、次の値をセットする。
| 送信項目 |
項目名 |
運行指令マスターの項目(編集) |
| UNKSHNO |
指令書NO |
指令書NO(VBKBSRSH) |
| UNKSHCN |
指令書発行枚数 |
指令書発行枚数(VBKBSHIC) |
| UNKSHYM |
指令月日 |
指令年月日(=出発年月日)(VBKBSRDD)の月日 |
| UNKBNCD |
計画便コード |
計画便コート゛(VBKBKEIK) |
| UNKBNNM |
便名(漢字) |
便名(漢字)(VBKBKANG)のシフトコードを除いた16桁 |
| UNKKUBN |
運行車区分 |
運行車区分(VBKBYKKN) |
| UNKKEIT |
運行形態区分 |
運行形態(VBKBUKTI) |
| UNKINKB |
入力区分 |
入力区分(VBKBNURK) |
| UNKSTID・UNKSTTC |
発支社区分・発店 |
入力区分が 0・9 なら計画の支社区分(VBKKKHSK)・発店コート゛(VBKKKHCD)、それ以外は実績の支社区分(VBKGJHSK)・発店コート゛(VBKGJHCD) |
| UNKENID・UNKENTC |
最終卸支社区分・最終卸店 |
入力区分が 0・9 なら計画の支社区分(VBKKKCSK)・着店コード(最終卸店)(VBKKKCCD)、それ以外は実績(VBKGJCSK・VBKGJCCD) |
| UNKSTYY~UNKSTMI |
出発 年・月・日・時・分 |
予定年月日時分(出発)(VBKYATIM) |
| UNKENYY~UNKENMI |
最終卸店到着 年・月・日・時・分 |
予定年月日時分(到着)(VBKYBTIM) |
| UNKFUID・UNKFUTC |
次運行発支社・次運行発店 |
指令書NO の8桁目が発行枚数と同じ(最終枚)で、運行車区分が 02 以外、増定減便区分(VBKBZTGK)が 2 なら、支社区分は空白、店所は配車で予定の店所コード(VBKGDTEN。0 なら計画便マスターより の店所コード VBKYCTEN)。それ以外は支社区分(VBKGSSID)・実績店所コート゛(VBKGJTCD) |
| UNKCARS・UNKTONS・UNKSYAS |
積載社番・標屯・車種 |
1台目の車種(VBKGSAS1)が 'F' なら2台目(車番 VBKGSBN2・標屯 VBKGFYT2・車種 VBKGSAS2)、それ以外は1台目(VBKGSBN1・VBKGFYT1・VBKGSAS1) |
| UNKCART・UNKTONT・UNKSYAT |
トレーラ頭・コンテナ車(社番・標屯・車種) |
上と逆の1台(車種が 'F' なら1台目、それ以外は2台目) |
| UNKDRIA・UNKDRIB |
乗務員 A・B |
乗務員コート゛(VBKGJMIN・VBKGBJMI) |
| UNKNTI1・UNKNTC1 |
乗継店1支社区分・乗継店1 |
空白・乗り継ぎ店コード(VBKKNRT1) |
| UNKND1A・UNKND1B |
乗継員1A・1B |
乗務員コート゛(VBKGCJMI・VBKGDJMI) |
| UNKNTI2・UNKNTC2 |
乗継店2支社区分・乗継店2 |
空白・乗り継ぎ店コード(VBKKNRT2) |
| UNKND2A・UNKND2B |
乗継員2A・2B |
乗務員コード(VBKGEJMI・VBKGFJMI) |
| UNKGHKB・UNKGHCD・UNKGHTC |
直配区分・直配着地コード・直配着地最寄りの店所 |
直配区分(VBKBHIKB)・直配着地コード(VBKBHICD)・直配着地標準最終扱店所(VBKBHITC) |
| UNKINFO |
連絡事項 |
連絡事項(漢字)(VBKBRENR) |
| UNKKBID・UNKTKNO |
特定便区分・特定便NO |
特定便区分(VBKBKBID)・特定便NO(VBKBTKCD) |
| UNKFISH |
一車保険料(自社、鮮魚の場合) |
一車保険料(自社鮮魚)(VBKBHOKN) |
| UNKSOFI・UNKSOFD |
送付書枚数・取消送付書枚数 |
送付書枚数(VBKBSOFM)・取消送付書枚数(VBKBTRKS) |
| UNKSAIT |
最低保障区分 |
使用形態(VBKGKITI)が 2 で定額傭車料(VBKGTGKU)が 0 でなければ 1、それ以外 0 |
| UNKYOSK |
傭車使用形態 |
自動車利用運送区分(VBKKSAGK)が '1' なら 4(差額的傭車)、それ以外は使用形態(VBKGKITI) |
| UNKYSRY・UNKYOSH |
定額傭車料・一車保険料(傭車の場合) |
定額傭車料(VBKGTGKU)・一車保険料(傭車)(VBKGYOHO) |
| UNKNAMC |
便名(カナ) |
便名(カナ)(VBKBKANA) |
| UNKSEKM |
設定粁 |
計画設定粁(VBKKKSKM) |
| UNKSYMD |
計画出発年月日 |
計画出発年月日(VBKBKYMD) |
| UNKKDAY |
計画最終卸経過日数 |
指令書NO の1桁目が 9(増便)なら 0。定便は計画便マスター(VKFIXNW)を計画便コードで読み、計画の最終卸経過日数(VBKKSKDY)。読めなければ 1 |
| UNKYOSC |
傭車会社コード |
運行車区分が 02 なら、フェリー会社・傭車コード(VBKGFYCD) |
| UNKFRCD |
フェリー、ライナーコード |
運行車区分が 02 以外なら、フェリー会社・傭車コード(VBKGFYCD) |
3.3 運行指令マスターがない・読めない場合
| 条件 |
編集 |
| レコードがない(NOTFND) |
指令書NO に受信した指令書NO、入力区分を 6 にする |
| その他の読込みエラー |
指令書NO に受信した指令書NO、入力区分を 7 にし、応答コード(EIBRCODE の先頭2バイト)を LSS0030A で16進表示に変換してエラーコードにセットする |
どちらもエラーフラグは '0' のまま。DDP(BU10700P)は入力区分 6・7 を見てエラーメッセージを表示する。
4. 補足・留意事項
-
エラーフラグを使わない:マスターがない・読めない場合もエラーフラグは '0' で、入力区分(6・7)で結果を返す(エラーフラグ '2' をセットする処理はコメントになっている)。
-
入力年月日:送信域の入力年月日は、運行指令マスターを読めなかった場合も、作業域に残っている値(運行指令マスターの入力年月日の領域)をセットする。
-
傭車会社とフェリー会社の兼用:運行指令マスターの「フェリー会社・傭車コード」1項目を、運行車区分が 02(傭車)なら傭車会社コード、それ以外ならフェリー会社コードとして返す。
-
送受信の長さ:受信 35バイト、送信 250バイト。送信後に DDP から 1バイトの終了データを受信してから終了する。