プロジェクト

全般

プロフィール

レビュー指摘 #12086 » BK10030_回送到着入力_仕様書.md

幸塚 和久, 2026-10-26 11:21 午前

 

機能仕様書(現行) BK10030 回送到着入力

項目 内容
機能ID BK10030
機能名 回送到着入力
システムID BK
サブシステムID BK0070(回送・域内便到着入力)
画面ID(マップID) MPBK150(回送・域内便到着入力)
構成プログラム BK11500P(BK15)、BK21500P(センター B15K)、BK11600P(BK16)、BK11700P(BK17)
位置づけ 現行プログラム4本の動作を、1つの画面機能としてまとめた現行仕様書
参考資料 ・現行ソース BK11500P.pl1、BK21500P.pl1、BK11600P.pl1、BK11700P.pl1
・画面設計書「BK0070_回送・域内便到着入力.xlsx」(Ver.1.2023.1016.3):資産一覧、MPBK150 の項目名、レコードフォーマット
個別仕様書 BK11500P_仕様書.md、BK21500P_仕様書.md、BK11600P_仕様書.md、BK11700P_仕様書.md

項目・ファイル・レコードの日本語名称は、画面設計書(BK0070)の MPBK150 シートとレコードフォーマットに合わせている。


1. 概要

1.1 機能概要

発送済みの回送便が到着したときに、到着情報を入力する画面機能。

  1. 回送入力票NOを入力し、発送時の内容(発店・発送日時・入力区分・社番・乗務員・指示キロメートル)を照会する。DDP(店所側)の回送マスターになければ、センターの回送マスターに照会する。
  2. 到着店コード・到着日時・指示キロメートルを入力し、チェックする。
  3. 確認画面で実行キーを押すと、DDP回送マスターに到着情報を書き込み、集信データ(発送鑑データ・到着鑑データ)を出力する。
  4. 登録後は空の画面に戻り、次の回送入力票NOを入力できる。

1.2 処理段階

画面 MPBK150 の状態を、次の3つの段階に分けて説明する。

段階 画面の状態 担当プログラム 待機トランザクション
① 回送入力票NOの照会 回送入力票NOだけ入力可 BK11500P(センター照会は BK21500P) BK15
② 到着情報の入力・検証 到着店コード・到着年月日時分・指示キロメートルが入力可 BK11600P BK16
③ 確認・登録 全項目が入力不可(確認画面) BK11700P BK17
stateDiagram-v2
    state "① 回送入力票NOの照会(BK15)" as S1
    state "② 到着情報の入力・検証(BK16)" as S2
    state "③ 確認・登録(BK17)" as S3
    [*] --> S1 : サブメニューから起動
    S1 --> S1 : 実行[エラー・取消済み・入力区分エラー・回送未入力]
    S1 --> S2 : 実行[照会OK]
    S2 --> S2 : 実行[エラー]
    S2 --> S3 : 実行[OK → 確認画面]
    S3 --> S1 : 実行[登録 → 空の画面]
    S3 --> [*] : PF3 終了/PF4 戻り[登録してから戻る]
    S2 --> S1 : PF2 取消
    S3 --> S1 : PF2 取消[登録しない]
    S1 --> [*] : PF3/PF4/CLEAR
    S2 --> [*] : PF3/PF4/CLEAR

1.3 システム構成

画面設計書の資産一覧に基づく。

環境 プログラム 画面 使用ファイル(R:読込、W:書込) モジュール
SV BK11500P MPBK150、MPDM010、ELEPHAN VPTENMS(R)、VPJYUGY(R)、VPKAISO(R)、センターとの受渡し DPCEB02K・CEDPB15K LSO0020
CIC1 BK21500P ― VKKAISO(R) ―
SV BK11600P MPBK150、MPDM010、ELEPHAN VPTENMS(R) LSO0020、LSO0040
SV BK11700P MPBK150、MPDM010、ELEPHAN VPKAISO(R/W)、VPTENMS(R)、VPMORTR(R)、TD(SYUS)SSS21・SSS13(W) ―
flowchart LR
    MENU[サブメニュー] --> P1[BK11500P<br/>BK15<br/>① 照会]
    P1 -- 読込 --> DDP[(VPKAISO<br/>DDP 回送マスター)]
    P1 -- APPC 照会 --> P0[BK21500P<br/>CIC1 B15K]
    P0 -- 読込 --> CEN[(VKKAISO<br/>回送マスター(センター))]
    P1 -- 書込 --> TS[(TSキュー<br/>端末ID+BK15)]
    TS --> P2[BK11600P<br/>BK16<br/>② 検証]
    P2 --> TS
    TS --> P3[BK11700P<br/>BK17<br/>③ 登録]
    P3 -- 更新 --> DDP
    P3 -- 書込 --> TD[(TDキュー SYUS<br/>発送鑑・到着鑑)]

2. 画面仕様(MPBK150)

2.1 画面レイアウト(24行×80桁)

行
01  MPBK150        ┃ 回 送 ・ 域 内 便 到 着 入 力 ┃                  [システム年月日]
02                                                                   [システム時分秒]
03      回送入力票NO  : [回送入力票NO]
04      発 店 コ ー ド  : [発店][発店所名            ]
05      発 送 年月日    : [年]年 [月]月 [日]日 [時]時 [分]分
06      入 力 区 分     : [区](1店所間回送 3域内)
07
08      到着店 コード   : [到着店][到着店所名          ]
09      到 着 年月日    : [年]年 [月]月 [日]日 [時]時 [分]分
10      社 番(自社)   : [社番 ]
11      乗務員コード    : [コード1][コード2]  [乗務員名1    ] [乗務員名2    ]
12
13      ** 指 示 粁 ***
14      指示粁・出発時  : [出発時 ]
15        〃 ・到着時   : [到着時 ]         走行粁: [走行粁] km
   …
22  実行:継続 2:取消 3:終了 4:戻り
23  [エラーメッセージ(70桁)                                        ] [エラーコード]

2.2 画面項目一覧

制御の記号:入=入力可、表=表示のみ(入力不可)

No 項目ID 項目名 属性・桁 ① ② ③ 備考
1 BK15011 システム年月日 文字 8 表 表 表 YY/MM/DD
2 BK15021 システム時分秒 文字 8 表 表 表 HH:MM:SS
3 BK15031 回送入力票NO 数字 8 入(必須) 表 表
4 BK15041 発店コード 数字 4 表 表 表 回送マスターから表示
5 BK15042 発店所名 文字 20 表 表 表 店所マスターの店所略名(漢字)
6~10 BK15051~BK15055 発送年・発送月・発送日・発送時・発送分 数字 2×5 表 表 表 回送マスターから表示
11 BK15061 入力区分 数字 1 表 表 表 1:店所間回送、3:域内
12 BK15081 到着店コード 数字 4 表 入 表
13 BK15082 到着店所名 文字 20 表 表 表 店所マスターの店所略名(漢字)
14~18 BK15091~BK15095 到着年・到着月・到着日・到着時・到着分 数字 2×5 表 入 表 未登録なら年月日に処理日を表示
19 BK15121 社番(自社) 数字 5 表 表 表
20・21 BK15131・BK15132 乗務員コード1・2 数字 6 表 表 表
22・23 BK15133・BK15134 乗務員名1・2 文字 14 表 表 表 従業員マスターの従業員氏名(漢字)
24 BK15141 指示キロメートル・出発時 数字 7 表 入 表
25 BK15151 指示キロメートル・到着時 数字 7 表 入 表
26 BK15152 走行キロメートル 数字 3 表 表 表 ②で計算して表示
27 BK15231 PFキー説明 文字 表 表 表 固定表示
28 BK15241 エラーメッセージ 文字 70 表 表 表 7章 参照
29 BK15242 エラーコード 文字 5 表 表 表 7章 参照

①で回送入力票NOを入力するまでは、他の項目は空。照会OK後に回送マスターの内容が表示され、②で入力対象の項目だけが入力可になる。

2.3 ファンクションキー

キー ① 照会 ② 検証 ③ 確認・登録
実行(Enter) 照会 チェックし、OKなら確認画面 登録し、空の画面で①へ
PF2:取消 空の画面で①へ 空の画面で①へ 登録せず、空の画面で①へ
PF3:終了 一つ前の画面へ 一つ前の画面へ 登録してから一つ前の画面へ
PF4:戻り メインメニューへ メインメニューへ 登録してからメインメニューへ
CLEAR 終了画面(ELEPHAN)で終了 同左 同左(登録しない)
上記以外 再表示 再表示 再表示

2.4 表示属性

状態 入力可否 カーソル
チェックOK・確定した項目 入力不可 ―
チェックエラーの項目 入力可・高輝度 置く
①の照会OK後の入力対象項目(到着店コード・到着年月日時分・指示キロメートル) 入力可(数字のみ) 到着店コード

色は設定しない(画面定義の初期値のまま)。


3. インターフェース

3.1 通信領域(COMMAREA)

項目ID 項目名 用途
CRT_BACK_KOSU/CRT_BACK_DATA(5) 戻り先画面のスタック PF3・PF4 の戻り先。①の照会OK時に本画面を積む
TSQ_ID・TSQ_LENGTH TSキュー名・長さ ①で「端末ID+BK15」・280 を設定し、②③でもそのまま使う
COMM_TEN_CODE 店所コード 集信データの入力店所コード
COMM_TEN_ADRCD 店所の所在地コード 発送鑑データの着地コード
COMM_RPOC_YMD 処理日(YYMMDD) 到着年月日の初期値
COMM_ITEM_DDP 照会元(DDP区分) '1':DDP回送マスターから照会、'2':センターから照会。③でDDP回送マスターを更新するかどうかに使う

3.2 段階間の受渡しデータ(TSキュー:端末ID+'BK15'、280バイト)

内容 ① ② ③
項目ごとのチェック結果・入力状態(FLG・FLGX) 回送入力票NO(1番)を設定。到着年月日が未登録なら②の必須項目を設定 到着店~指示キロメートル(2~9番)を設定 使わない
画面項目の値(回送入力票NO~走行キロメートル) 回送マスターの内容を設定 到着情報を設定 参照(登録に使う)
運行車区分(BK15UNKB) 13 を設定 ― ―
回送粁程(BK15KIKM、5桁) ― 走行キロメートルを設定 回送マスター・集信データに使う
訂正区分(WK_TEIKBN) '0' で初期化 入力があれば '1' 使わない

②で必須になる項目:

ケース 必須になる項目
回送マスターに回送着年月日がない 到着時・到着分・指示キロメートル・出発時・到着時
回送マスターに回送着年月日がある なし

3.3 使用ファイル

データセット 名称 キー 使用段階 入出力
VPKAISO DDP 回送マスター(DDPKAISO) 回送入力票NO ①(読込)、③(更新) 読込・更新
VKKAISO 回送マスター(センター、KAISOHBN) 回送入力票NO ①(センター照会) 読込
VPTENMS DDP 店所マスター(DDPTENMS) 店所コード ①②③ 読込
VPJYUGY DDP 従業員マスター(DDPJYUGY) 従業員コード ① 読込
VPMORTR DDP 車両マスター(DDPMORTR) 社番 ③ 読込

3.4 出力:集信データ(TDキュー SYUS、384バイト)

③で、回送票1件につき2レコードを出力する。

集信R2 発送鑑データ(SSS21、レコードID 230)

項目ID 項目名 設定値
SS21TNCD 入力店所コード 店所コード(COMM_TEN_CODE)
SS21KEKB 継続区分 0
SS21REID レコードID 230
SS21LENG LENG 384
SS21ENYY~SS21ENSS 入力 年・月・日・時・分・秒 出力時点のシステム日時
SS21SINO 指令書NO 0
SS21SONO 送付書NO 回送入力票NO
SS21TRIK 取消区分(ソースのコメントでは「訂正区分」) 1
SS21HATN 出発 店所コード 発店コード
SS21STYY~SS21STMI 出発 年・月・日・時・分 発送年・月・日・時・分
SS21TYYY~SS21TYDD 到着予定年月日 0
SS21HACH 発地コード 発店の店所所在地コードの先頭5桁。店所マスターになければ 0
SS21ORTN 卸店コード 到着店コード
SS21CCHI 着地コード 店所の所在地コード(COMM_TEN_ADRCD)の先頭5桁
SS21ATTN 扱い店所コード 到着店コード
SS21USKM 輸送粁程 回送粁程(走行キロメートル)
SS21SHKB 運行車区分 13
SS21SBAN 積載社番(車号) 社番
SS21HTON 標屯 車両マスターの最大積載量 ÷ 1000。車両マスターになければ空
SS21OWKB ow区分 乗務員コード2 = 0 なら 1(ワンマン)、それ以外は 2(ダブル)
SS21YOCD・SS21KEIT・SS21YORY 傭車会社コード・形態・定額傭車料 0
SS21GIKN・SS21TUOR・SS21HOKN 直集軒数・積区分・一車保険料 0
SS21FUGO・SS21ROGA 符合・増減重量 '0'・0
SS21KNKB 入力区分 入力区分
SS21KOKU・SS21KORO 航空会社区分・航空航路区分 0
SS21STAT・SS21KCHA 指示粁 出発時・帰着時 指示キロメートル・出発時・到着時
SS21CODA・SS21CODB 従業員コードA・B 乗務員コード1・2
SS21TCDT 到着年月日時分 0
SS21ORNO(1)(2)・SS21FKNO(1)(2) 行き分指令書NO・帰り分指令書NO 0
SS21SPAC スペース 空白

集信R1・2 到着鑑データ(SSS13、レコードID 130)

項目ID 項目名 設定値
SSS3TNCD 入力店所コード 店所コード(COMM_TEN_CODE)
SSS3KEKB 継続区分 0
SSS3REID レコードID 130
SSS3LENG LENG 384
SSS3ENYY~SSS3ENSS 入力 年・月・日・時・分・秒 出力時点のシステム日時
SSS3CHTN 到着店所コード 到着店コード
SSS3KNSU データ件数 1
SSS3SINO 指令書NO 0
SSS3SONO 送付書NO 回送入力票NO
SSS3CHYY~SSS3CHMI 到着 年・月・日・時・分 到着年・月・日・時・分
SSS3ORKB 卸区分 0
SSS3GHKN 直配件数 0

3.5 使用モジュール・連携プログラム

名称 種別 使用段階 用途
LSO0020 チェックディジット検証モジュール ① 回送入力票NOのチェックディジット検証(モジュラス10・7DR)
LSO0040 年月日 → 通日変換モジュール ② 発送日と到着日の日数の差を求める
BK21500P(CIC1 の B15K) センター照会プログラム ① センターの回送マスターの照会(APPC 会話)

4. 処理の全体フロー

flowchart TD
    S([実行キー]) --> ST{待機中の<br/>トランザクション}
    ST -- BK15 --> A1[① 回送入力票NOのチェック]
    A1 -- エラー --> W1([BK15 で待機])
    A1 -- OK --> A2{DDP回送マスター}
    A2 -- あり --> A4{取消済み・<br/>入力区分}
    A2 -- なし --> A3[センター照会<br/>BK21500P]
    A3 --> A4
    A4 -- エラー --> W1
    A4 -- OK --> W2([BK16 で待機<br/>到着情報を入力可])
    ST -- BK16 --> B1[② 到着情報のチェック<br/>項目間チェック]
    B1 -- エラー --> W2
    B1 -- OK --> W3([BK17 で待機<br/>確認画面])
    ST -- BK17 --> C1[③ DDP回送マスター更新<br/>集信データ出力]
    C1 --> W1b([空の画面<br/>BK15 で待機])

各段階の実行キーでの処理は、次の共通の流れになる。

  1. 画面の入力を受け取る。
  2. TSキューから前回の状態を読み込み、キューを削除する。
  3. チェック・登録などの処理を行う。
  4. エラーなら状態をTSキューに保存し、エラーメッセージを表示して同じ段階で待機する。OKなら状態を保存して次の段階で待機する。

5. 段階別の処理仕様

5.1 ① 回送入力票NOの照会(BK11500P、BK21500P)

詳細は BK11500P_仕様書.md・BK21500P_仕様書.md を参照。

5.1.1 回送入力票NOのチェック

No チェック エラー条件
1 未入力 未入力
2 形式・桁数 数字以外を含む、または8桁で入力されていない
3 値 0
4 番号の範囲 10000000~89999999(先頭が 1~8)
5 チェックディジット 先頭 0 はモジュラス10、先頭 9 は 7DR で検証してエラー

5.1.2 回送マスターの照会

  1. DDP回送マスター(VPKAISO)を読む。
    • ある場合:照会元を '1' とし、内容を画面に表示する。取消区分 = 9 なら「取消済み」、回送入力区分が 1・3 以外なら「入力区分エラー」。
    • ない場合(読込みエラーを含む):照会元を '2' とし、センターに照会する。
  2. センター照会(BK21500P)の結果:
センターの結果 画面の表示
正常(入力区分 1・3、削除区分が 9 以外) 照会内容を表示
該当なし ERR 3:回送未入力です。
読込みエラー ERR 3:センターの回送マスターの I/Oエラー
入力区分が 1・3 以外 ERR 5:この回送票の入力区分がエラーです。再入力して下さい
削除区分 = 9 ERR 9:この回送票は取消済みです。  再入力して下さい
センター側の CICS エラー ERR ?:????????????
通信エラー 照会不可能!!…(BK11500P_仕様書.md 4.5.1)
  1. 画面に表示する内容:
画面項目 設定値
発店所名・到着店所名 店所マスターの店所略名(漢字)。なければ空白
到着年~到着分 回送マスターの回送着年月日・回送着時分。回送着年月日がなければ年月日に処理日をセットし、時分は空
乗務員名1・2 従業員マスターの従業員氏名(漢字)。なければ、コード 0 は空白、111111 は「ライナー傭車」、999999 は「ダミーコード」、それ以外は「????」
指示キロメートル・走行キロメートル 出発時・帰着時がどちらも 0 なら表示しない
  1. 照会OKなら、到着店コード・到着年月日時分・指示キロメートル(出発時・到着時)を入力可にしてカーソルを到着店コードに置き、メッセージ「到着店,到着日時,指示粁を入力してください。」(OK DD)を表示する。戻り先画面のスタックに本画面を積み、BK16 で待機する。

5.2 ② 到着情報の入力・検証(BK11600P)

詳細は BK11600P_仕様書.md を参照。

5.2.1 項目チェック

項目 チェック内容
到着店コード 数字で4桁。店所マスターに存在し、店所区分が '1' または '4'
到着年 数字で、95~99 または 00~50
到着月 数字で、1~12
到着日 数字で、1~31
到着時 数字で、0~23
到着分 数字で、0~59
指示キロメートル・出発時・到着時 数字であること

画面に表示済みの値を書き換えなかった項目は、項目チェックを行わない(①で設定した値をそのまま使う)。

5.2.2 項目間チェック

No チェック エラー条件 エラー項目
1 到着日 発送日 > 到着日 到着年~到着分
2 到着日 発送日の通日 + 5 < 到着日の通日 到着年~到着分
3 到着日時 発送年月日時分 ≧ 到着年月日時分 到着年~到着分
4 走行キロメートル 到着時 − 出発時 ≧ 600 指示キロメートル
5 指示キロメートル 出発時・到着時がどちらも 0 指示キロメートル
6 走行キロメートル(メーター一巡) 到着時 − 出発時 ≦ 0 の場合、(到着時 + 10,000,000) − 出発時 ≧ 600 指示キロメートル

走行キロメートルを計算して回送粁程に保存し、画面には下3桁を表示する。

5.2.3 結果

結果 エラーコード メッセージ 次の段階
エラーあり ERR 1 エラー項目あり,再入力して下さい ②(BK16)
全項目OK OK 2 確認OKなら実行キーを押して下さい ③(BK17)。全項目が入力不可の確認画面

5.3 ③ 確認・登録(BK11700P)

詳細は BK11700P_仕様書.md を参照。

5.3.1 キーの扱い

キー 処理
実行(Enter) 画面を受信してから登録し、空の画面で①に戻る
PF3 画面を受信せずに登録し、一つ前の画面に戻る
PF4 画面を受信せずに登録し、メインメニューに戻る
PF2 登録せず、TSキューを削除して空の画面で①に戻る
CLEAR 登録せず、TSキューを削除して終了画面(ELEPHAN)で終了
上記以外 画面のデータ部分を再表示し、BK17 で待機

5.3.2 登録処理

  1. TSキューを読み込み、削除する。キューがない場合は登録せずに終了画面で終了する。
  2. 照会元がDDP(COMM_ITEM_DDP = '1')の場合、DDP回送マスターを更新する。
項目ID 項目名 設定値
KSKJKINO 回送入力票NO 回送入力票NO
KSKJDTKB データ区分(1:出発、2:到着のみ、3:両方) 2 ならそのまま。それ以外は 3
KSKJCTCD 回送着店所コード 到着店コード
KSKJTCDT 回送到着(回送着年月日+回送着時分) 到着年・月・日・時・分(YYMMDDHHMM)
KSKJKIKM 回送粁程 回送粁程(走行キロメートル)
KSKJSJKD 指示粁 出発時 指示キロメートル・出発時
KSKJSJKT 指示粁 帰着時 指示キロメートル・到着時
  • 更新用の読込みで回送票がない場合・書換えエラーの場合は、何もせずに次に進む。
  • 照会元がセンター('2')の場合は、DDP回送マスターを更新しない(新規登録もしない)。
  1. 発送鑑データ(3.4)を編集し、TDキュー SYUS に出力する。
    • 発地コード:発店コードで店所マスターを読み、店所所在地コードの先頭5桁。
    • 標屯:社番で車両マスターを読み、最大積載量 ÷ 1000。
  2. 到着鑑データ(3.4)を編集し、TDキュー SYUS に出力する。

5.3.3 登録後の画面

キー 画面
実行(Enter) 画面をクリアして空の MPBK150 を表示し、BK15 で待機(次の回送入力票NOの入力)
PF3 戻り先画面のスタックから一つ前の画面を表示(6.1)
PF4 メインメニューを表示(6.1)

6. 共通処理

6.1 ファンクションキー(PF3・PF4・PF2・CLEAR)

キー 処理
PF2:取消 TSキューを削除し、空の MPBK150 を表示して BK15 で待機
PF3:終了 TSキューを削除し、戻り先画面のスタックから一つ前の画面を決める。共通ヘッダ画面(MPDM010)に日時を設定して表示し、戻り先の画面を表示して、そのトランザクションで待機
PF4:戻り TSキューを削除し、スタックの1件目(メインメニュー)に戻る。表示方法は PF3 と同じ
CLEAR TSキューを削除し、終了画面(ELEPHAN)を表示して終了

(③では PF3・PF4 の前に登録処理を行う。5.3 参照)

PF3 の条件 戻り先
スタックが空 なし(終了画面を表示して終了)
最上位が MPBK150 以外 最上位の画面(1件取り除く)
最上位が MPBK150 で、その下がない なし(終了画面を表示して終了)
最上位が MPBK150 で、その下がある その下の画面(2件取り除く)
PF4 の条件 戻り先
スタックが空、または1件目が MPBK150 なし(終了画面を表示して終了)
1件目が MPBK150 以外 1件目の画面(スタックを全件消去)

6.2 システム日付・時刻の設定

画面を送信するたびに、現在の日時を YY/MM/DD・HH:MM:SS に編集してシステム年月日・システム時分秒に設定する。集信データの入力年月日時分秒にも、このとき取得した日時を使う。

6.3 例外処理

発生条件 ① ② ③
画面データなし・レコードなし・ファイルの終わり TSキューの読込みから処理を続ける 終了画面で終了 終了画面で終了
TSキューがない 初期化して続ける 初期化して続ける 登録せずに終了画面で終了

7. メッセージ一覧

No エラーコード メッセージ 段階 表示するとき
1 OK DD 到着店,到着日時,指示粁を入力してください。 ① 照会OK
2 ERR 1 エラー項目あり,再入力して下さい ①② 項目チェック・項目間チェックのエラー
3 ERR 3 回送未入力です。 ① DDPにもセンターにも回送票がない
4 ERR 3 センターの回送マスターの I/Oエラー ① センターの回送マスターの読込みエラー
5 ERR 5 この回送票の入力区分がエラーです。再入力して下さい ① 入力区分が 1・3 以外
6 ERR 9 この回送票は取消済みです。  再入力して下さい ① 取消済み
7 ERR ? ???????????? ① センターから想定外の結果
8 ASYSB 回線が混雑しています!! 実行キーをもう一度押して下さい ① センター照会で回線混雑
9 ASYSI・CTERM・STERM・RTERM 照会不可能!!回線不通の可能性あり センターに連絡して下さい ① センターとの回線不通
10 RLENG 照会不可能!! LENGERR ① センターからの受信データの長さ不正
11 A9999・C9999・S9999・R9999 照会不可能!!サポート外ERROR センターに連絡して下さい ① その他の通信エラー
12 OK 2 確認OKなら実行キーを押して下さい ② 全項目OK(確認画面)

③では、メッセージを設定しない(登録後は空の画面になる)。


8. 画面遷移

flowchart LR
    MENU[サブメニュー] --> S1[① 照会<br/>BK15]
    S1 -- 実行(エラー) --> S1
    S1 -- 実行(照会OK) --> S2[② 検証<br/>BK16]
    S2 -- 実行(エラー) --> S2
    S2 -- 実行(OK) --> S3[③ 確認・登録<br/>BK17]
    S3 -- 実行(登録) --> S1
    S2 -- PF2 --> S1
    S3 -- PF2(登録しない) --> S1
    S1 -- PF3 --> PREV[一つ前の画面]
    S2 -- PF3 --> PREV
    S3 -- PF3(登録する) --> PREV
    S1 -- PF4 --> MAIN[メインメニュー]
    S2 -- PF4 --> MAIN
    S3 -- PF4(登録する) --> MAIN
    S1 & S2 & S3 -- CLEAR --> END[ELEPHAN 終了]

9. 補足・留意事項

  1. ③の PF3・PF4 は登録してから戻る:確認画面で PF3(終了)・PF4(戻り)を押すと、実行キーと同じく登録してから戻る。登録せずに抜けるには PF2(取消)か CLEAR を使う。
  2. センター照会の回送票はDDP回送マスターに登録されない:①でセンターから照会した回送票(照会元 '2')は、③でDDP回送マスターの更新も新規登録もしない。集信データ(発送鑑・到着鑑)だけを出力する。
  3. 回送マスターの更新エラーを無視する:③でDDP回送マスターの読込み・書換えがエラーになっても、メッセージを出さずに集信データを出力する。マスターと集信データが食い違うおそれがある。
  4. 集信データの出力エラーを想定していない:TDキューへの書込みに戻りコードの判定がなく、エラー時は CICS の異常終了になる。
  5. 登録完了のメッセージがない:③で登録した後は空の画面になるだけで、登録したことを示すメッセージは表示しない。
  6. 同じ回送票の再登録を防いでいない:到着済みの回送票でも①で照会でき、再度登録すると回送マスターを上書きし、集信データを再出力する。
  7. 発送鑑データの着地コード:着地コードは到着店ではなく、入力した端末の店所の所在地コードから作る。到着店と入力店が異なる場合は、到着店の所在地と一致しない。
  8. ②で書き換えない値はチェックされない:①で表示した到着店・到着日時・指示キロメートルは、書き換えなければ項目チェックを行わない(項目間チェックは行う)。
  9. 指示キロメートルは実質的に必須:出発時・到着時がどちらも 0 だと②でエラーになる。
  10. 年をまたぐ日付の判定:②の「発送日+5日」の判定は年内の通日で比べるため、年をまたぐと正しく判定できない。
  11. 走行キロメートルの表示:①でDDP回送マスターから表示する場合は回送粁程の下3桁、センターからの照会ではセンター側で計算した3桁の値を表示する。1,000km 以上は正しく表示されない(②で 600km 以上はエラーになる)。
  12. ①のセンター照会での待機:回線混雑時は、トランザクションを終わらせずに再入力を待つ(会話型)。
  13. 戻り先画面のスタック:①で本画面をスタックに積むとき、件数が 0 だと配列の範囲外を参照する。

付録 プログラムと処理段階の対応

処理 BK11500P BK21500P BK11600P BK11700P
トランザクション BK15 B15K(センター) BK16 BK17
回送入力票NOのチェック ○ ― ― ―
DDP回送マスターの読込み ○ ― ― ○(更新用)
センターの回送マスターの照会 ○(依頼) ○(読込み) ― ―
到着情報のチェック ― ― ○ ―
DDP回送マスターの更新 ― ― ― ○
集信データ(発送鑑・到着鑑)の出力 ― ― ― ○
次の待機トランザクション BK16(OK)/BK15(エラー) ― BK17(OK)/BK16(エラー) BK15(実行)/戻り先(PF3・PF4)
(2-2/5)