プログラム仕様書 BV13500P(他社直卸分発送伝票送付書(傭車便) 照会)
| 項目 |
内容 |
| システムID |
BV |
| 参考資料 |
・現行ソース BV13500P.pl1 ・画面イメージ MPBV350.jpg(他社直卸分発送伝票送付書(傭車便)) ・現行の解析資料 BV0180_他社直卸出発入力(傭車.xlsx(シート「資産一覧」「MPBV350」「レコードフォーマット」「SRC_BV13500P」) |
| 項目名の出典 |
画面項目は解析資料のシート「MPBV350」の日本語名、送受信データ・マスターの項目はシート「レコードフォーマット」の日本語名称 |
1. 概要
| 項目 |
内容 |
| プログラムID |
BV13500P(手続き名:BV13500) |
| プログラム名称 |
他社直卸分発送伝票送付書(傭車便)照会(ソースの冒頭コメントは「傭車発送入力(出発・直集)」) |
| 言語 |
PL/I(CICS コマンドレベル) |
| 処理形態 |
オンライン(CICS 疑似会話型) |
| 動作環境 |
SV(DDP 側) |
| トランザクションID |
BV35 |
| パターンID |
PPOD150P(1987/05/01)、部品 PBOD200P、業務 BXHEAD30 |
| 使用画面(マップ) |
MPBV350(他社直卸分発送伝票送付書(傭車便))、MPDM010(共通ヘッダ画面)、ELEPHAN(終了画面) |
| 次の処理 |
照会OK → BV36(BV13600P:項目の入力・登録) |
| センター照会 |
SYSID 'CIC1'、プロセス 'B35V'(BV23500P)と APPC 会話 |
| 参照ファイル |
VPSOHFU(DDP 送付書マスター)、VPTENMS(DDP 店所マスター)、VPUNKEI(DDP 運賃計算荷主マスター(1))、VPKONAM(直卸他社の名称マスター)、VPERMSG(エラーメッセージファイル)。いずれも参照のみ |
| 呼出しモジュール |
LSO0020(チェックデジットのチェック) |
| 一時記憶 |
TSキュー(キュー名「端末ID+トランザクションID(BV35)」、長さ 300) |
1.1 機能概要
傭車便で、他社直卸分の発送伝票送付書を入力する機能の最初の画面。指令書NO・送付書NO を入力して実行キーを押すと、送付書(またはその元になる指令書)を照会して内容を表示し、次の入力(BV36)に進む。
- 指令書NO・送付書NO をチェックする。
- DDP の送付書マスターを送付書NO で読む。
- ある場合:傭車便か、利用運送でないか、指令書NO が合っているかを確認して内容を表示する。
- ない場合(またはデータ区分が 0 の場合):センターに照会し、送付書(またはその元の指令書)の内容を表示する。
- 照会結果の区分(COMM_ITEM_DDP)に応じて、次の画面で入力できる項目を決め、TSキューに保存して BV36 で待機する。
flowchart LR
MENU[出発到着入力選択<br/>メニュー] --> BV35[BV35<br/>本プログラム<br/>MPBV350]
BV35 -- エラー --> BV35
BV35 <-- APPC B35V --> CIC1[(センター CIC1<br/>BV23500P)]
BV35 --> SOHFU[(VPSOHFU<br/>送付書マスター)]
BV35 -- 照会OK --> BV36[BV36<br/>BV13600P 入力・登録]
2. 画面仕様(MPBV350:他社直卸分発送伝票送付書(傭車便))
2.1 画面レイアウト
MPBV350 他社直卸分発送伝票送付書(傭車便) YY/MM/DD
HH:MM:SS
指令書NO. _________ 運行便名(18)
送付書NO. ________ _
発送年月日 __年 __月 __日 __時 __分
発店・発地 ____ _____ 発店所名(20)
着店・着地 ____ _____ 着店所名(20)
傭車会社 _______ 傭車会社名(20)
傭車形態 _ 傭車形態名 傭車料金 _______ 円
傭車車号 ____ 標示屯数 __._ トン
OW区分 _ OW区分名
直集軒数 __ 軒
一車保険料 _______ 円
直卸他社コード _______ 直卸他社名(14)
(扱事業所) ____ 扱事業所名(14)
実行:継続 1:補助 2:取消 3:終了 4:戻り
エラーメッセージ(70) エラーコード(5)
2.2 画面項目
I:入力、O:出力。「FLG」は BV13600P が使う TSキューのチェック結果の番号(2.4)。
| No |
項目ID |
項目名 |
属性・桁 |
I/O |
本プログラムで表示する内容 |
| 1 |
BV35011 |
システム年月日 |
文字 8 |
O |
YY/MM/DD |
| 2 |
BV35021 |
システム時分秒 |
文字 8 |
O |
HH:MM:SS |
| 3 |
BV35041 |
指令書NO |
数字 9 |
I |
入力値(必須、FLG 1) |
| 4 |
BV35042 |
運行便名 |
文字 18 |
O |
センターの運行便名 |
| 5 |
BV35051 |
送付書NO |
数字 8 |
I |
入力値(必須、FLG 2) |
| 6 |
BV35052 |
(名称なし) |
文字 1 |
O |
使用しない |
| 7~11 |
BV35071~BV35075 |
発送年・発送月・発送日・発送時・発送分 |
数字 2×5 |
I |
送付書の発送年月日・出発時分、またはセンターの年月日・時分(FLG 3~7) |
| 12・13 |
BV35081・BV35082 |
発店コード・発地コード |
数字 4・5 |
I |
送付書の積店コード・発地コード、または端末の店所コード・所在地コード(先頭5桁)(FLG 8・9) |
| 14 |
BV35083 |
発店所名 |
文字 20 |
O |
店所略名(漢字) |
| 15・16 |
BV35091・BV35092 |
着店コード・着地コード |
数字 4・5 |
I |
送付書の卸店コード・着地コード(FLG 10・11) |
| 17 |
BV35093 |
着店所名 |
文字 20 |
O |
着店コードの店所略名(漢字) |
| 18 |
BV35111 |
傭車会社コード |
数字 7 |
I |
傭車会社コード |
| 19 |
BV35112 |
傭車会社名 |
文字 20 |
O |
運賃計算荷主マスター(1)の略名(KNTNRGNM) |
| 20 |
BV35121 |
傭車形態 |
文字 1 |
I |
傭車形態(2:屯当り、3:定額) |
| 21 |
BV35122 |
傭車形態名 |
文字 6 |
O |
2→「屯当」、3→「定額」、それ以外→空白。差額区分が '1' なら「利用」 |
| 22 |
BV35123 |
傭車料金 |
数字 7 |
I |
傭車料(定額傭車料) |
| 23 |
BV35131 |
傭車番号(傭車車号) |
数字 4 |
I |
車号(5桁)の下4桁 |
| 24・25 |
BV35132・BV35133 |
標示屯数(整数)・標示屯数(小数) |
数字 2・1 |
I |
標屯の整数部・小数第1位 |
| 26 |
BV35141 |
OW区分 |
数字 1 |
I |
OW区分 |
| 27 |
BV35142 |
OW区分名 |
文字 8 |
O |
1→「Oマン」、2→「Wマン」、それ以外→空白 |
| 28 |
BV35151 |
直集軒数 |
数字 2 |
I |
送付書の直集軒数(FLG 12)。照会OK 後は常に入力不可 |
| 29 |
BV35161 |
一車保険料 |
数字 7 |
I |
一車保険料 |
| 30 |
BV35181 |
直卸他社コード |
数字 7 |
I |
直卸他社コード(FLG 13) |
| 31 |
BV35182 |
直卸他社名 |
文字 14 |
O |
直卸他社の名称マスターの名称 |
| 32 |
BV35191 |
扱事業所コード |
数字 4 |
I |
直卸他社の名称マスターの扱店 |
| 33 |
BV35192 |
扱事業所名 |
文字 14 |
O |
扱事業所コードの店所略名(漢字) |
| 34 |
BV35231 |
PFキー説明 |
文字 76 |
O |
固定表示 |
| 35 |
BV35241 |
エラーメッセージ |
文字 70 |
O |
5章のメッセージ |
| 36 |
BV35242 |
エラーコード |
文字 5 |
O |
5章のエラーコード |
本プログラムで入力をチェックするのは指令書NO・送付書NO だけ。そのほかの項目は照会結果の表示で、入力は次の BV13600P で行う。
2.3 ファンクションキー
| キー |
機能 |
処理概要 |
| 実行(Enter) |
継続 |
指令書NO・送付書NO をチェックし、照会する |
| PF1 |
補助 |
表示はあるが処理はない(その他のキーと同じく再表示) |
| PF2 |
取消 |
画面をクリアし、TSキューを削除して、共通ヘッダ画面と空の MPBV350 を表示する。BV35 で待機 |
| PF3 |
終了 |
TSキューを削除し、戻り先画面のスタックから一つ前の画面に戻る(4.6) |
| PF4 |
戻り |
TSキューを削除し、メインメニューに戻る(4.6) |
| CLEAR |
強制終了 |
TSキューを削除し、終了画面(ELEPHAN)を表示して終了 |
| 上記以外 |
再表示 |
画面のデータ部分を再送信し、BV35 で待機 |
2.4 チェック結果の番号(FLG)
TSキューの FLG(1)~FLG(30) は、'0':未入力、'1':エラー、'2':OK、'3':関連エラー。FLGX は必須('1')かどうか。本プログラムでは 1・2 を使い、3 以降は BV13600P のために設定する。
| FLG |
項目 |
FLG |
項目 |
| 1 |
指令書NO |
8・9 |
発店コード・発地コード |
| 2 |
送付書NO |
10・11 |
着店コード・着地コード |
| 3~5 |
発送年・月・日 |
12 |
直集軒数 |
| 6・7 |
発送時・分 |
13 |
直卸他社コード |
3. インターフェース
3.1 通信領域(COMMAREA:256バイト)
| 項目ID |
本プログラムでの用途 |
| CRT_BACK_KOSU/CRT_BACK_DATA(5) |
戻り先画面のスタック(トランザクションID・マップID、最大5件) |
| TSQ_ID・TSQ_LENGTH |
TSキューの名前・長さ |
| COMM_TEN_CODE・COMM_TEN_NAME・COMM_TEN_ADRCD |
端末の店所コード・店所名・所在地コード(新規の送付書の発店・発地、他店所チェック) |
| COMM_SAGAK |
差額区分(センターまたは送付書マスターの値をセットし、後続に渡す) |
| COMM_ITEM_NO |
作業選択番号(センターに選択NO として送る) |
| COMM_ITEM_DDP |
照会結果の区分(3.4) |
3.2 センター照会(B35V:BV23500P)
| 項目 |
内容 |
| 接続先 |
SYSID 'CIC1'、プロセス名 'B35V' |
| 送信(23バイト) |
トランザクションID 'B35V'(4)+ 指令書NO(B35VSRNO、9)・送付書NO(B35VSFNO、8)・選択NO(B35VSELN、2:作業選択番号) |
| 受信(150バイト) |
エラーフラグ(SESS_ERR_FLG、1)+エラーコード(SESS_ERR_CODE、4)+ CEDPBV35(他社直卸分発送伝票送付書(傭)[CD]) |
受信データ(CEDPBV35)のうち、本プログラムで使う項目は次のとおり。
| 項目ID |
項目名 |
用途 |
| BV35SYMD・BV35DHMM |
年月日・時分 |
発送年月日・発送時分(時分は送付書ありの場合だけ) |
| BV35BNKB |
運行車区分 |
自社便のチェック、TSキューに保存 |
| BV35STNC |
指令店所 |
TSキューに保存 |
| BV35SYAB |
積載社番 |
傭車番号(下4桁) |
| BV35YSCD・BV35KETA・BV35YSRY |
傭車コード・傭車形態・傭車料 |
傭車会社・傭車形態・傭車料金 |
| BV35HYTN・BV35OWKB・BV35HKRY |
標屯・OW区分・一車保険料 |
標示屯数・OW区分・一車保険料 |
| BV35BINM |
運行便名 |
運行便名 |
| BV35TCYD |
到着予定年月日 |
TSキューに保存 |
| BV35SHAT |
送付書発店 |
他店所のチェック |
| BV35JONC |
直卸他社コード |
直卸他社コード(送付書ありの場合) |
| BV35SAGK |
差額区分 |
利用運送の表示、通信領域・TSキューに保存 |
使っていない項目:指令着店(BV35SRCT)、セミトレ社番・積載社番1・2など(BV35SEMI・BV35SYB1・BV35SEM1・BV35SYB2・BV35SEM2)、送付書発地・着店・着地(BV35SHCH・BV35SCAT・BV35SCKT)、積区分(BV35TMKB)、区域区分(BV35KUIK)、マスター区分(BV35MKBN)。
3.3 送付書マスター(VPSOHFU:DDP 送付書マスター)
キーは発送伝票送付書NO(KSHSSFNO)。本プログラムで使う項目は次のとおり。
| 項目ID |
項目名 |
用途 |
| KSHSSRNO |
指令書NO |
入力した指令書NO との一致チェック |
| KSHSDKB1 |
テ゛ータ区分 |
0 ならセンターに照会する |
| KSHSSHKB |
運行車区分 |
02(傭車)以外はエラー |
| KSHSSAGK |
差額区分 |
'1'(利用運送)はエラー |
| KSHSHYMD・KSHSHTIM |
発送年月日・出発時分 |
発送年月日・時分 |
| KSHSTUTN・KSHSHTCD |
積店コート゛・発地コード |
発店コード・発地コード |
| KSHSORTN・KSHSCKCD |
卸店コート゛・着地コード |
着店コード・着地コード |
| KSHSYSCD・KSHSKETA・KSHSYORO |
傭車会社コート゛・傭車形態・定額傭車料 |
傭車会社・傭車形態・傭車料金 |
| KSHSSHGO・KSHSHYTN・KSHSOWKB |
車号・標屯・o・w区分 |
傭車番号・標示屯数・OW区分 |
| KSHSJKKN・KSHSSHHO |
直集軒数・一車保険料 |
直集軒数・一車保険料 |
| KSHSJONC |
直卸他社コード |
直卸他社コード(レコードの136~139バイト目が空白でなければ) |
| KSHSYYMD |
到着予定年月日 |
TSキューに保存 |
3.4 照会結果の区分(COMM_ITEM_DDP)
| 区分 |
意味 |
セットする箇所 |
| '1' |
DDP の送付書マスターにあり、指令書NO も一致 |
送付書マスターの処理(4.4) |
| '2' |
DDP の送付書マスターになく、センターに照会してOK(新規の送付書・センターに送付書ありの両方。4.5・7章 1) |
照会処理(4.3) |
| '5' |
DDP の送付書マスターにあるがデータ区分 0 で、センターでは新規 |
送付書マスターの処理(4.4)・センター照会(4.5) |
| '6' |
DDP の送付書マスターにあるがデータ区分 0 で、センターに送付書あり |
センター照会(4.5) |
3.5 TSキュー(CHK_DSP_WORK:300バイト)
| 項目ID |
内容 |
| LOOP_FLG・OKFLG |
初期化済み('1')・チェック結果('2':OK、それ以外:エラー) |
| FLG(30)・FLGX(30) |
チェック結果・必須の区分(2.4) |
| BV35041B~BV35191B |
画面項目の保存域(指令書NO、送付書NO、運行便名、発送年月日時分、発店・発地・発店所名、着店・着地・着店所名、傭車会社、傭車形態・傭車形態名、傭車料金、傭車番号、標示屯数、OW区分・OW区分名、直集軒数、一車保険料、直卸他社コード、扱事業所コード) |
| TS35SYMD・TS35STNC・TS35BNKB・TS35HYTN・TS35TCYD |
照会結果の年月日・指令店所(積店)・運行車区分・標屯・到着予定年月日 |
| BUYUSOK |
輸送粁程(本プログラムでは 0) |
| WK_TEIKBN |
項目を入力したかの区分(本プログラムでは '0') |
| TS35SAGK |
差額区分 |
4. 処理仕様
4.1 処理の流れ
flowchart TD
S([開始]) --> AID{押されたキー}
AID -- CLEAR --> CLR[TSキュー削除<br/>終了画面]
AID -- PFキー --> PF[ファンクションキー処理 4.6]
AID -- 実行 --> RCV[MPBV350 を受信<br/>TSキューを読む]
RCV -- なし --> INI[初期化 4.2]
RCV -- あり --> DEL[TSキュー削除]
INI --> CHK
DEL --> CHK[指令書NO・送付書NO のチェック 4.2]
CHK -- エラー --> ERR[TSキュー保存<br/>エラー表示] --> W35([BV35 で待機])
CHK -- OK --> SO{送付書マスター}
SO -- あり --> SOC[送付書マスターの処理 4.4]
SO -- なし --> INQ[センター照会 4.5]
SO -- 読込みエラー --> ERR
SOC -- データ区分 0 --> INQ
SOC -- エラー --> ERR
INQ -- エラー --> ERR
SOC -- OK --> OK[照会OK の処理 4.7]
INQ -- OK --> OK
OK --> W36([BV36 で待機])
4.2 初期化と入力チェック
- 画面を受信し、TSキュー(端末ID+'BV35')を読む。なければ初期化する。あれば削除する。
- 初期化:FLG(1)~FLG(5) を '1'、それ以外を '0'。FLGX(1)・FLGX(2) を '1'(必須)。画面項目の保存域を 0 または空白(傭車形態は '0')、WK_TEIKBN を '0' にする。
- 指令書NO・送付書NO をチェックする。チェック結果が '2'(OK済み)の項目はチェックしない。入力がなければ、必須なのでエラー(FLG '1')。
| FLG |
項目 |
チェック内容(満たさなければエラー) |
| 1 |
指令書NO |
数字で 0 でなく、9桁入力されている。チェックデジットが正しい(LSO0020、区分 '07'、タイプ 'C') |
| 2 |
送付書NO |
数字で 0 でなく、8桁入力されている。チェックデジットが正しい(LSO0020、10000000 未満は区分 '10'、以上は区分 '07'、タイプ 'C')。番号が 8000000~9999999 または 70000000~89999999 の範囲(傭車便のNO帯)でなければNO帯エラー |
- どちらかがエラーなら全体エラー(OKFLG '1')。
4.3 エラー時・照会前の表示(DISPLAY_SUB_RTN_LVL1)
- 指令書NO・送付書NO:OK・未入力なら入力不可(自動スキップ)、エラーなら入力可・赤でカーソルを置く。
- メッセージ:エラーならNO帯エラーのとき「ERR 2」「NO帯エラー,再入力して下さい」、それ以外は「ERR 1」「エラー項目あり,再入力して下さい」。OK なら「OK 2」でメッセージは空白。
- エラーの場合は、TSキューを書き、メッセージ・エラーコードを赤にして、画面を消去して送信し(カーソル指定)、BV35 で待機する。
- OK の場合は、送付書マスターを送付書NO で読み(4.4)、なければセンターに照会する(4.5)。
| 送付書マスターの読込み結果 |
処理 |
| あり |
4.4 |
| なし |
センターに照会する(4.5)。OK なら照会結果の区分を '2' にする |
| 上記以外(読込みエラー) |
指令書NO・送付書NO をエラーにし、全体エラーとして 3 の表示をやり直す(メッセージは「ERR 1」。7章 5) |
照会でエラーになった場合は、指令書NO・送付書NO のチェック結果をエラー(FLG・FLGX '1')にし、入力可・赤でカーソルを置いて、メッセージ(5章)を表示する。TSキューを書いて BV35 で待機する。
4.4 送付書マスターの処理(SFMST_RTN)
送付書マスターにある場合は、次の順に判定する。
| 順 |
条件 |
処理 |
| 1 |
運行車区分(KSHSSHKB)≠ 02 |
エラー「傭車便でありません。確認せよ。」 |
| 2 |
差額区分(KSHSSAGK)= '1' |
エラー「この送付書№は利用運送です。直集入力して下さい。」、エラーコード 'SAGK' |
| 3 |
テ゛ータ区分(KSHSDKB1)= 0 |
照会結果の区分を '5' にして、センターに照会する(4.5) |
| 4 |
指令書NO が送付書の指令書NO(KSHSSRNO)と同じ |
送付書の内容を表示する(下表)。照会結果の区分を '1' にする |
| 5 |
指令書NO が違う |
エラー。エラーコード 'BU04' でエラーメッセージファイルを読み、メッセージ内容を表示する |
送付書の内容の表示(区分 '1'):
| 画面項目 |
表示する値 |
| 発送年・月・日、発送時・分 |
発送年月日(KSHSHYMD)、出発時分(KSHSHTIM) |
| 発店コード・発地コード、発店所名 |
積店コート゛(KSHSTUTN)・発地コード(KSHSHTCD)、発店コードの店所マスターの店所略名(漢字) |
| 着店コード・着地コード、着店所名 |
卸店コート゛(KSHSORTN)・着地コード(KSHSCKCD)、着店コードの店所マスターの店所略名(漢字) |
| 傭車会社コード |
傭車会社コート゛(KSHSYSCD) |
| 傭車形態・傭車形態名 |
傭車形態(KSHSKETA)、2→「屯当」、3→「定額」、それ以外→空白 |
| 傭車料金・傭車番号 |
定額傭車料(KSHSYORO)・車号(KSHSSHGO)の下4桁 |
| 標示屯数・OW区分・OW区分名 |
標屯(KSHSHYTN)、o・w区分(KSHSOWKB)、1→「Oマン」、2→「Wマン」 |
| 直集軒数・一車保険料 |
直集軒数(KSHSJKKN)・一車保険料(KSHSSHHO) |
| 直卸他社コード・直卸他社名・扱事業所コード・扱事業所名 |
直卸他社コードがあれば、直卸他社の名称マスター(VPKONAM)を読み、名称・扱店と、扱店の店所略名(漢字)を表示する |
あわせて、差額区分を通信領域(COMM_SAGAK)と TSキューに、発送年月日・積店・標屯・運行車区分・到着予定年月日を TSキューに保存する。傭車会社名・運行便名は表示しない。
4.5 センター照会(INQUIRE_SUB_RTN)
- センター(CIC1 の B35V)に接続し、指令書NO・送付書NO・選択NO(作業選択番号)を送信して、結果を受信する(3.2)。終了データを送って会話を終える。
- 通信エラーは次のとおり(エラーフラグを '2' にする)。回線混雑(ASYSB)は、メッセージを赤で表示して画面を受信し、送信をやり直す。
| エラーコード |
発生箇所 |
メッセージ |
| ASYSB |
接続先の割当て(混雑) |
回線が混雑しています!! 実行キーをもう一度押して下さい |
| ASYSI・CTERM・STERM・RTERM |
割当て(SYSID エラー)・接続・送信・受信(回線切断) |
照会不可能!!回線不通の可能性あり センターに連絡して下さい |
| A9999・C9999・S9999・R9999 |
割当て・接続・送信・受信(その他) |
照会不可能!!サポート外ERROR センターに連絡して下さい |
| RLENG |
受信(長さエラー) |
照会不可能!! LENGERR |
- 受信結果を判定する。
| 条件 |
処理 |
| エラーフラグが '0'・'3' 以外 |
エラー。エラーコードがあればエラーメッセージファイルを「エラーコード+'000'」で読み、メッセージ内容を表示する(エラーコードの欄は「エラーフラグ+エラーコード」)。エラーコードがなくエラーフラグが '4' なら「この依頼書№は利用運送です。直集入力して下さい。」、エラーコード 'SAGK' |
| 送付書発店(BV35SHAT)が端末の店所でも 0 でもない |
エラー「この送付書は他店所で入力されています」 |
| 運行車区分(BV35BNKB)が 01・03・04・05(自社便) |
エラー「この指令書は自社便で入力されています」(1989/07/28 追加) |
| エラーフラグ = '3'(新規の送付書) |
下表「新規」の内容を表示する。照会結果の区分を '2'(区分が '5' ならそのまま) |
| エラーフラグ = '0'(センターに送付書あり) |
下表「送付書あり」の内容を表示する。照会結果の区分を '3'(区分が '5' なら '6') |
| 画面項目 |
新規('3') |
送付書あり('0') |
| 運行便名 |
運行便名(BV35BINM) |
同左 |
| 発送年・月・日 |
年月日(BV35SYMD) |
同左 |
| 発送時・分 |
(表示しない) |
時分(BV35DHMM) |
| 発店コード・発店所名 |
端末の店所コード・店所名(COMM_TEN_NAME) |
端末の店所コード、店所マスターの店所略名(漢字) |
| 発地コード |
端末の所在地コード(先頭5桁) |
同左 |
| 着店コード・着地コード |
(表示しない) |
(表示しない) |
| 傭車会社コード・傭車会社名 |
傭車コード(BV35YSCD)、運賃計算荷主マスター(1)の略名 |
同左 |
| 傭車形態・傭車形態名 |
傭車形態(BV35KETA)、2→「屯当」、3→「定額」 |
同左 |
| 傭車料金・傭車番号 |
傭車料(BV35YSRY)・積載社番(BV35SYAB)の下4桁 |
同左 |
| 標示屯数・OW区分・OW区分名 |
標屯(BV35HYTN)・OW区分(BV35OWKB)、1→「Oマン」、2→「Wマン」 |
同左 |
| 一車保険料 |
一車保険料(BV35HKRY) |
同左 |
| 直卸他社コード・名称、扱事業所コード・名称 |
直卸他社コード(BV35JONC)が 0 でなければ、VPKONAM の名称・扱店と、扱店の店所略名(漢字) |
同左 |
あわせて、差額区分(BV35SAGK)を通信領域と TSキューに保存し、差額区分が '1' なら傭車形態名を「利用」にする。年月日・指令店所・標屯・運行車区分・到着予定年月日を TSキューに保存する。
- DDP の送付書マスターになかった場合(4.3)は、照会OK の後で照会結果の区分を '2' にする(センターに送付書があり '3' にした場合も '2' になる。7章 1)。
4.6 ファンクションキー・例外処理
| キー・条件 |
処理 |
| PF2 |
画面をクリアし、TSキューを削除して、共通ヘッダ画面(MPDM010)にシステム日付・時刻をセットして送信し、空の MPBV350 を表示する。BV35 で待機 |
| PF3 |
TSキューを削除し、戻り先画面のスタックから一つ前の画面を決める。スタックの最上位が MPBV350 以外ならその画面、MPBV350 ならその一つ下の画面(スタックが空、または下がなければ終了画面)。共通ヘッダ画面に日時をセットして送信し、戻り先の画面をデータなしで送信して、そのトランザクションで待機 |
| PF4 |
TSキューを削除し、スタックの1件目が MPBV350 以外ならその画面(スタックを全件消去)、それ以外(スタックが空を含む)は終了画面 |
| CLEAR |
TSキューを削除し、終了画面(ELEPHAN)を表示して終了 |
| その他のキー(PF1 を含む) |
画面のデータ部分を再送信し、BV35 で待機 |
| 画面データなし・レコードなし・ファイルの終わり |
TSキューの読込みから処理を続ける(4.2) |
4.7 照会OK時の処理(OK_DATA_PROCESS_SUB_RTN)
直集軒数を入力不可にし、照会結果の区分に応じて BV36 で入力できる項目(黄色で入力可)とチェック結果を設定する。傭車会社・傭車形態・傭車料金・傭車番号・標示屯数・OW区分・一車保険料は、どの区分でも入力できない。
| 区分 |
入力可にする項目(BV36 で入力) |
チェック結果をOKにする項目 |
ほかの設定 |
| '1' |
発送時・分(カーソル)、着店・着地、直卸他社コード。発送年月日は入力不可 |
年・月・日、発店・発地 |
TSキューの到着予定年月日・運行車区分に送付書マスターの値をセット |
| '2'・'5' |
発送年月日・時分(カーソルは時)、着店・着地、直卸他社コード |
発店・発地 |
直卸他社コードを必須(未チェック) |
| '3'・'6' |
直卸他社コード(ほかは入力不可) |
発店・発地 |
直卸他社コードを必須(未チェック) |
その後、TSキューに書き、戻り先画面のスタックの最上位が「MPBV350/BV35」でなければ積み(最大5件)、メッセージ・エラーコード(「OK 2」)をターコイズにして画面を送信し(画面は消去しない、カーソル指定)、BV36 で待機する。
4.8 システム日付・時刻の設定(TIMESET_SUB_RTN)
現在の日時を YY/MM/DD・HH:MM:SS に編集して日付・時刻欄にセットする(入力不可・変更フラグオン)。
5. メッセージ一覧
| No |
エラーコード |
メッセージ |
表示するとき |
| 1 |
ERR 1 |
エラー項目あり,再入力して下さい |
指令書NO・送付書NO のエラー、送付書マスターの読込みエラー |
| 2 |
ERR 2 |
NO帯エラー,再入力して下さい |
送付書NO がNO帯の範囲外 |
| 3 |
OK 2 |
(空白) |
照会OK |
| 4 |
― |
傭車便でありません。確認せよ。 |
DDP の送付書が傭車便でない |
| 5 |
SAGK |
この送付書№は利用運送です。直集入力して下さい。 |
DDP の送付書の差額区分が '1' |
| 6 |
SAGK |
この依頼書№は利用運送です。直集入力して下さい。 |
センターのエラーフラグが '4'(エラーコードなし) |
| 7 |
BU04 など |
エラーメッセージファイルのメッセージ内容 |
DDP の送付書と指令書NO が違う(BU04)、センターのエラー(エラーコードあり) |
| 8 |
― |
この送付書は他店所で入力されています |
センターの送付書の発店が他店 |
| 9 |
― |
この指令書は自社便で入力されています |
センターの運行車区分が自社便(01・03・04・05) |
| 10 |
ASYSB ほか |
4.5 の通信エラーのメッセージ |
センター照会の通信エラー |
6. 画面遷移
flowchart LR
MENU[メニュー] --> BV35[BV35<br/>本プログラム]
BV35 -- 実行(エラー) --> BV35
BV35 -- 実行(照会OK) --> BV36[BV36<br/>BV13600P]
BV35 -- PF2 --> BV35
BV35 -- PF3 --> PREV[一つ前の画面]
BV35 -- PF4 --> MAIN[メインメニュー]
BV35 -- CLEAR --> END[ELEPHAN 終了]
7. 補足・留意事項
-
センターに送付書がある場合の区分:DDP の送付書マスターにない場合、センター照会の後に照会結果の区分を無条件に '2' にしている(4.5 の 4)。このため、センターに送付書がある場合(エラーフラグ '0')も区分 '2'(新規)となり、BV36 で発送年月日・時分・着店・着地が入力可になる。照会の中で '3' をセットしても、最終的に '3' が残ることはない。一方、DDP にデータ区分 0 の送付書がある場合(区分 '5')は、センターに送付書があれば '6' になる。
-
送付書ありでも着店・着地を表示しない:センターに送付書がある場合(エラーフラグ '0')でも、送付書着店・着地・直集軒数・積区分を画面に表示していない(受信データにはある)。発店も、送付書の発店ではなく端末の店所を表示する。
-
自社便の判定:センターの運行車区分が 01・03・04・05 の場合だけエラーにする。02(傭車)以外でも、00 や 06 以上ならエラーにならない。DDP の送付書マスターでは「02 以外」をエラーにしており、判定の仕方が違う。
-
送付書マスターの判定順:運行車区分・差額区分のチェックは、データ区分のチェックより前に行う。データ区分 0 の送付書でも、運行車区分が 02 以外ならエラーになる。
-
読込みエラー時の色の設定:送付書マスターの読込みエラー(なし以外)の場合、指令書NO・送付書NO の色ではなく属性に赤(DFHRED)の値をセットしている(ソースの記述誤りと思われる)。その後の表示処理で属性は設定し直される。
-
BU04 のエラーコードの表示:送付書マスターの指令書NO が違う場合、エラーコード欄には「エラーフラグ+'BU04'」を表示するが、このときセンターに照会していないため、エラーフラグは前の値(未設定)のままである。
-
他店所・自社便のエラーコード:No.8・9 のメッセージのときはエラーコードをセットしないため、エラーコード欄は空白(または前の値)になる。
-
NO帯エラーの判定:NO帯エラーの判定に使う作業域(NO_CHK)は、送付書NO のチェックを行ったときだけセットされる。送付書NO がOK済みで指令書NO だけエラーの場合などは、前回の値によって「NO帯エラー」が表示される可能性がある。
-
センターのエラーフラグ '4':エラーコードが空白の場合だけ「依頼書№は利用運送」のメッセージになる。エラーコードがあれば、エラーメッセージファイルのメッセージが優先される。
-
発店所名の保存:新規の送付書(センターのエラーフラグ '3')では、発店所名を画面にだけセットし、TSキューの保存域(BV35083B)にはセットしていない。
-
運行便名の表示:DDP の送付書マスターから表示する場合(区分 '1')は、運行便名・傭車会社名を表示しない。
-
PF1(補助):PFキー説明に「1:補助」とあるが、処理はなく再表示になる。