プロジェクト

全般

プロフィール

レビュー指摘 #12454 » BV28300P_仕様書.md

幸塚 和久, 2026-10-29 05:12 午後

 

プログラム仕様書 BV28300P(他社直卸し中継渡し入力(委託票) 送り状NO のセンター照会)

項目 内容
システムID BV
参考資料 ・現行ソース BV28300P.pl1
・現行の解析資料 BV0190_到着入力(他社直卸中継渡し).xlsx(シート「資産一覧」「レコードフォーマット」「SRC_BV28300P」)
項目名の出典 マスターの項目は解析資料のシート「レコードフォーマット」の日本語名称

1. 概要

項目 内容
プログラムID BV28300P(手続き名:BV28300)
プログラム名称 他社直卸し中継渡し入力(委託票)送り状NO のセンター照会(ソースの冒頭コメントは空欄。処理内容から命名)
言語 PL/I(CICS コマンドレベル)
処理形態 オンライン(APPC 会話の相手側。画面なし)
動作環境 CIC1(センター側)
トランザクションID B83V(DDP の BV18300P から CONNECT PROCESS で起動される)
パターンID PPOC010P(1987/04/30)
呼出し元 BV18300P(BV82 から XCTL)
参照ファイル VKSFSNO(送付書送り状NOマスター)参照のみ

1.1 機能概要

DDP から受け取った送付書NO で送付書送り状NOマスターを読み、送付書に含まれる送り状NO の一覧を、削除分を除き昇順に並べて DDP に返す。

flowchart LR
    DDP[DDP BV18300P] -- 送付書NO 12バイト --> B83V[B83V<br/>本プログラム]
    B83V -- 送付書送り状NOマスター 7068バイト --> DDP
    B83V --> SFS[(VKSFSNO<br/>送付書送り状NOマスター)]

2. インターフェース

2.1 受信データ(12バイト)

項目ID 項目名 桁 用途
SESS_TRID トランザクションID 4 'B83V'
B83VSFNO 送付書NO 8 送付書送り状NOマスターのキー

2.2 送信データ(7068バイト)

項目ID 内容
SESS_ERR_FLG エラーフラグ。'0':正常、'1':送付書送り状NOマスターが読めない
SESS_ERR_CODE エラーコード。常に空白
BV83AREA(7063バイト) 送付書送り状NOマスター(SOHFUSNO)のレコード。送り状NO の一覧を 3.2 のとおり編集したもの。読めない場合は空白

レコードのうち DDP(BV18300P)が使うのは、送り状枚数(送り状データ件数)(VSHSOKCN)と発送送り状NO(VSHSOKNO(n))。


3. 処理仕様

3.1 処理の流れ

flowchart TD
    S([開始]) --> RCV[送付書NO を受信]
    RCV --> RD[送付書送り状NOマスターを読む]
    RD -- 読めない --> E1[エラーフラグ 1]
    RD -- 読めた --> C{送り状枚数 > 1}
    C -- はい --> ED[削除分を除き<br/>昇順に並べる 3.2]
    C -- いいえ --> SET
    ED --> SET[レコードを送信データにセット]
    E1 --> SND
    SET --> SND[結果を送信して終了]

3.2 送り状NO の一覧の編集

送り状枚数が 2 以上の場合だけ行う。

  1. 送り状の一覧(送り状枚数分)のうち、削除区分(VSHSKRKB)が 9 の送り状NO を 99999999999 にし、その件数を数える。
  2. 一覧を送り状NO の昇順に並べ替える(削除区分も一緒に入れ替える)。削除分(99999999999)は末尾に集まる。
  3. 送り状枚数から削除分の件数を引き、末尾の削除分の欄の送り状NO・削除区分を 0 にする。

3.3 送信・エラー処理

  1. 結果(7068バイト)を送信して会話を終える(SEND LAST)。
  2. CICS のエラー(HANDLE CONDITION ERROR)が発生した場合は、そのまま送信する(エラーフラグは変えない)。

4. 補足・留意事項

  1. 削除件数の初期値:削除分の件数を数える作業域(ZCNT)に初期値を設定していないため、件数が正しく数えられない可能性がある。
  2. 送り状枚数が1件の場合:送り状枚数が 1 以下の場合は編集をしないため、1件の送り状が削除済みでもそのまま返る。
  3. CICS のエラー時:エラーフラグを '2' などにせず送信するため、DDP では正常として扱われる場合がある。
  4. エラーコードを返さない:読めない場合もエラーコードは空白。DDP の BV18300P はセンターのエラーを画面に表示しない(BV18300P_仕様書.md 7章 2)。
  5. 並べ替え:単純な比較・入れ替えによる並べ替えで、送り状枚数が多いと比較回数が多くなる。
(7-7/10)