プログラム仕様書 BV28000P(他社直卸し中継渡し入力(委託票) センター照会)
| 項目 |
内容 |
| システムID |
BV |
| 参考資料 |
・現行ソース BV28000P.pl1 ・現行の解析資料 BV0190_到着入力(他社直卸中継渡し).xlsx(シート「資産一覧」「レコードフォーマット」「SRC_BV28000P」) |
| 項目名の出典 |
マスターの項目は解析資料のシート「レコードフォーマット」の日本語名称 |
1. 概要
| 項目 |
内容 |
| プログラムID |
BV28000P(手続き名:BV28000) |
| プログラム名称 |
他社直卸し中継渡し入力(委託票)センター照会(ソースの冒頭コメントは「KSDS・UPDATE センター CICS」。処理内容から命名) |
| 言語 |
PL/I(CICS コマンドレベル) |
| 処理形態 |
オンライン(APPC 会話の相手側。画面なし) |
| 動作環境 |
CIC1(センター側) |
| トランザクションID |
B80V(DDP の BV18000P から CONNECT PROCESS で起動される) |
| パターンID |
PPOC050P(1987/05/06)、業務 BXHEAD30 |
| 呼出し元 |
BV18000P(BV80)。DDP の送付書マスターに送付書がない場合だけ呼ばれる |
| 参照ファイル |
VKUNKSH(運行指令マスター)、VKSFSNO(送付書送り状NOマスター)。いずれも参照のみ |
1.1 機能概要
DDP から受け取った指令書NO・送付書NO で、指令書にその送付書が登録されているかを確認し、送付書送り状NOマスターから送付書の発送情報を返す。DDP はこの情報で DDP の送付書マスターにレコードを作る。
flowchart LR
DDP[DDP BV18000P<br/>BV80] -- 照会データ 21バイト --> B80V[B80V<br/>本プログラム]
B80V -- 照会結果 50バイト --> DDP
B80V --> UNK[(VKUNKSH<br/>運行指令マスター)]
B80V --> SFS[(VKSFSNO<br/>送付書送り状NOマスター)]
2. インターフェース
2.1 受信データ(21バイト)
| 項目ID |
項目名 |
桁 |
用途 |
| SESS_TRID |
トランザクションID |
4 |
'B80V' |
| B80VSFNO |
送付書NO |
8 |
指令書の送付書の一覧との照合、送付書送り状NOマスターのキー |
| B80VSRNO |
指令書NO |
9 |
運行指令マスターのキー |
2.2 送信データ(50バイト)
送信前に全体を空にし、エラーフラグを '0' にする。
| 項目ID |
内容 |
編集元 |
| SESS_ERR_FLG |
エラーフラグ |
'0':正常、'1':指令書・送付書がない、'2':CICS のエラー |
| SESS_ERR_CODE |
エラーコード |
CICS のエラーのとき 'ZZZZ'、それ以外は空白 |
| BV80YYMD |
到着予定年月日 |
送付書送り状NOマスターの年月日(VSHSTYMD)。0 なら運行指令マスターの予定年月日時分(VBKYBTIM、11桁)の2~7桁目(年月日) |
| BV80DKB1 |
データ区分 |
1 |
| BV80ORTN |
卸店コード |
到着店所コート゛(VSHSTTCD) |
| BV80SHKB |
運行車区分 |
運行車区分(VSHSHUNK) |
| BV80HYMD |
発送年月日 |
発送年月日(VSHSHYMD) |
| BV80HTIM |
出発時分 |
発送時分(VSHSHTIM) |
| BV80TUTN |
積店コード |
店所コート゛(VSHSTNCD) |
| BV80YSCD |
傭車会社コード |
傭車会社コード(VSHSYOSY) |
| BV80SHBN |
車番 |
社番(VSHSSYBN) |
| BV80DUMY |
予備 |
空白 |
3. 処理仕様
3.1 処理の流れ
flowchart TD
S([開始]) --> RCV[照会データを受信]
RCV --> R1[運行指令マスターを指令書NOで読む]
R1 -- なし・エラー --> E1[エラーフラグ 1]
R1 -- あり --> L{送付書の一覧に<br/>送付書NO がある}
L -- ない --> E1
L -- ある --> Y[予定年月日時分から<br/>到着予定年月日をセット]
Y --> R2[送付書送り状NOマスターを<br/>送付書NOで読む]
R2 -- なし・エラー --> E1
R2 -- あり --> F0[発送情報を編集<br/>エラーフラグ 0]
E1 --> SND
F0 --> SND[結果を送信<br/>終了データを受信して終了]
3.2 指令書・送付書の確認
- 指令書NO で運行指令マスター(VKUNKSH)を読む。読めなければ(なし・読込みエラーとも)エラーフラグ '1'。
- 送付書の一覧(送付書枚数 VBKBSOFM 件分の送付書NO VBKBSENO)から、受信した送付書NO を探す。なければエラーフラグ '1'。
- あれば、予定年月日時分(VBKYBTIM)の年月日を到着予定年月日にセットする。
3.3 送付書の発送情報の取得
- 送付書NO で送付書送り状NOマスター(VKSFSNO)を読む。読めなければ(なし・読込みエラーとも)エラーフラグ '1'。
- 読めたら 2.2 のとおり編集する。年月日(VSHSTYMD)が 0 でなければ、到着予定年月日をその値で置き換える。
3.4 送受信・エラー処理
- 結果(50バイト)を送信して応答を待ち(SEND INVITE WAIT)、DDP からの終了データを受信して終了する。
- CICS のエラー(HANDLE CONDITION ERROR)が発生した場合は、送信データを空にし、エラーフラグ '2'、エラーコード 'ZZZZ' にして送信する。
4. 補足・留意事項
-
読込みエラーも「なし」と同じ扱い:運行指令マスター・送付書送り状NOマスターの読込みで、レコードなし以外のエラーでもエラーフラグ '1' を返す。
-
送付書の状態を確認しない:送付書の一覧の発到区分・取消区分は確認せず、送付書NO があれば正常とする。
-
データ区分は常に 1:正常時のデータ区分は常に 1(発送あり)を返す。
-
DDP 側の扱い:DDP の BV18000P は、エラーフラグが '0' 以外ならエラーコードに関係なく「送付書未登録、出発入力後実行して下さい。」を表示する(BV18000P_仕様書.md 4.3)。
-
使っていない項目:運行指令マスターの項目は、送付書の一覧と予定年月日時分だけを使う。