プロジェクト

全般

プロフィール

レビュー指摘 #12432 » BV13500P_仕様書.md

幸塚 和久, 2026-10-28 05:17 午後

 

プログラム仕様書 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)に進む。

  1. 指令書NO・送付書NO をチェックする。
  2. DDP の送付書マスターを送付書NO で読む。
    • ある場合:傭車便か、利用運送でないか、指令書NO が合っているかを確認して内容を表示する。
    • ない場合(またはデータ区分が 0 の場合):センターに照会し、送付書(またはその元の指令書)の内容を表示する。
  3. 照会結果の区分(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 初期化と入力チェック

  1. 画面を受信し、TSキュー(端末ID+'BV35')を読む。なければ初期化する。あれば削除する。
    • 初期化:FLG(1)~FLG(5) を '1'、それ以外を '0'。FLGX(1)・FLGX(2) を '1'(必須)。画面項目の保存域を 0 または空白(傭車形態は '0')、WK_TEIKBN を '0' にする。
  2. 指令書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帯エラー
  1. どちらかがエラーなら全体エラー(OKFLG '1')。

4.3 エラー時・照会前の表示(DISPLAY_SUB_RTN_LVL1)

  1. 指令書NO・送付書NO:OK・未入力なら入力不可(自動スキップ)、エラーなら入力可・赤でカーソルを置く。
  2. メッセージ:エラーならNO帯エラーのとき「ERR 2」「NO帯エラー,再入力して下さい」、それ以外は「ERR 1」「エラー項目あり,再入力して下さい」。OK なら「OK 2」でメッセージは空白。
  3. エラーの場合は、TSキューを書き、メッセージ・エラーコードを赤にして、画面を消去して送信し(カーソル指定)、BV35 で待機する。
  4. 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)

  1. センター(CIC1 の B35V)に接続し、指令書NO・送付書NO・選択NO(作業選択番号)を送信して、結果を受信する(3.2)。終了データを送って会話を終える。
  2. 通信エラーは次のとおり(エラーフラグを '2' にする)。回線混雑(ASYSB)は、メッセージを赤で表示して画面を受信し、送信をやり直す。
エラーコード 発生箇所 メッセージ
ASYSB 接続先の割当て(混雑) 回線が混雑しています!! 実行キーをもう一度押して下さい
ASYSI・CTERM・STERM・RTERM 割当て(SYSID エラー)・接続・送信・受信(回線切断) 照会不可能!!回線不通の可能性あり センターに連絡して下さい
A9999・C9999・S9999・R9999 割当て・接続・送信・受信(その他) 照会不可能!!サポート外ERROR センターに連絡して下さい
RLENG 受信(長さエラー) 照会不可能!! LENGERR
  1. 受信結果を判定する。
条件 処理
エラーフラグが '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キューに保存する。

  1. 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. 補足・留意事項

  1. センターに送付書がある場合の区分:DDP の送付書マスターにない場合、センター照会の後に照会結果の区分を無条件に '2' にしている(4.5 の 4)。このため、センターに送付書がある場合(エラーフラグ '0')も区分 '2'(新規)となり、BV36 で発送年月日・時分・着店・着地が入力可になる。照会の中で '3' をセットしても、最終的に '3' が残ることはない。一方、DDP にデータ区分 0 の送付書がある場合(区分 '5')は、センターに送付書があれば '6' になる。
  2. 送付書ありでも着店・着地を表示しない:センターに送付書がある場合(エラーフラグ '0')でも、送付書着店・着地・直集軒数・積区分を画面に表示していない(受信データにはある)。発店も、送付書の発店ではなく端末の店所を表示する。
  3. 自社便の判定:センターの運行車区分が 01・03・04・05 の場合だけエラーにする。02(傭車)以外でも、00 や 06 以上ならエラーにならない。DDP の送付書マスターでは「02 以外」をエラーにしており、判定の仕方が違う。
  4. 送付書マスターの判定順:運行車区分・差額区分のチェックは、データ区分のチェックより前に行う。データ区分 0 の送付書でも、運行車区分が 02 以外ならエラーになる。
  5. 読込みエラー時の色の設定:送付書マスターの読込みエラー(なし以外)の場合、指令書NO・送付書NO の色ではなく属性に赤(DFHRED)の値をセットしている(ソースの記述誤りと思われる)。その後の表示処理で属性は設定し直される。
  6. BU04 のエラーコードの表示:送付書マスターの指令書NO が違う場合、エラーコード欄には「エラーフラグ+'BU04'」を表示するが、このときセンターに照会していないため、エラーフラグは前の値(未設定)のままである。
  7. 他店所・自社便のエラーコード:No.8・9 のメッセージのときはエラーコードをセットしないため、エラーコード欄は空白(または前の値)になる。
  8. NO帯エラーの判定:NO帯エラーの判定に使う作業域(NO_CHK)は、送付書NO のチェックを行ったときだけセットされる。送付書NO がOK済みで指令書NO だけエラーの場合などは、前回の値によって「NO帯エラー」が表示される可能性がある。
  9. センターのエラーフラグ '4':エラーコードが空白の場合だけ「依頼書№は利用運送」のメッセージになる。エラーコードがあれば、エラーメッセージファイルのメッセージが優先される。
  10. 発店所名の保存:新規の送付書(センターのエラーフラグ '3')では、発店所名を画面にだけセットし、TSキューの保存域(BV35083B)にはセットしていない。
  11. 運行便名の表示:DDP の送付書マスターから表示する場合(区分 '1')は、運行便名・傭車会社名を表示しない。
  12. PF1(補助):PFキー説明に「1:補助」とあるが、処理はなく再表示になる。
(6-6/6)