機能仕様書(現行) 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 機能概要
発送済みの回送便が到着したときに、到着情報を入力する画面機能。
- 回送入力票NOを入力し、発送時の内容(発店・発送日時・入力区分・社番・乗務員・指示キロメートル)を照会する。DDP(店所側)の回送マスターになければ、センターの回送マスターに照会する。
- 到着店コード・到着日時・指示キロメートルを入力し、チェックする。
- 確認画面で実行キーを押すと、DDP回送マスターに到着情報を書き込み、集信データ(発送鑑データ・到着鑑データ)を出力する。
- 登録後は空の画面に戻り、次の回送入力票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 で待機])
各段階の実行キーでの処理は、次の共通の流れになる。
- 画面の入力を受け取る。
- TSキューから前回の状態を読み込み、キューを削除する。
- チェック・登録などの処理を行う。
- エラーなら状態を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 回送マスターの照会
- DDP回送マスター(VPKAISO)を読む。
- ある場合:照会元を '1' とし、内容を画面に表示する。取消区分 = 9 なら「取消済み」、回送入力区分が 1・3 以外なら「入力区分エラー」。
- ない場合(読込みエラーを含む):照会元を '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・2 |
従業員マスターの従業員氏名(漢字)。なければ、コード 0 は空白、111111 は「ライナー傭車」、999999 は「ダミーコード」、それ以外は「????」 |
| 指示キロメートル・走行キロメートル |
出発時・帰着時がどちらも 0 なら表示しない |
- 照会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 登録処理
- TSキューを読み込み、削除する。キューがない場合は登録せずに終了画面で終了する。
- 照会元がDDP(COMM_ITEM_DDP = '1')の場合、DDP回送マスターを更新する。
| 項目ID |
項目名 |
設定値 |
| KSKJKINO |
回送入力票NO |
回送入力票NO |
| KSKJDTKB |
データ区分(1:出発、2:到着のみ、3:両方) |
2 ならそのまま。それ以外は 3 |
| KSKJCTCD |
回送着店所コード |
到着店コード |
| KSKJTCDT |
回送到着(回送着年月日+回送着時分) |
到着年・月・日・時・分(YYMMDDHHMM) |
| KSKJKIKM |
回送粁程 |
回送粁程(走行キロメートル) |
| KSKJSJKD |
指示粁 出発時 |
指示キロメートル・出発時 |
| KSKJSJKT |
指示粁 帰着時 |
指示キロメートル・到着時 |
- 更新用の読込みで回送票がない場合・書換えエラーの場合は、何もせずに次に進む。
- 照会元がセンター('2')の場合は、DDP回送マスターを更新しない(新規登録もしない)。
- 発送鑑データ(3.4)を編集し、TDキュー SYUS に出力する。
- 発地コード:発店コードで店所マスターを読み、店所所在地コードの先頭5桁。
- 標屯:社番で車両マスターを読み、最大積載量 ÷ 1000。
- 到着鑑データ(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. 補足・留意事項
-
③の PF3・PF4 は登録してから戻る:確認画面で PF3(終了)・PF4(戻り)を押すと、実行キーと同じく登録してから戻る。登録せずに抜けるには PF2(取消)か CLEAR を使う。
-
センター照会の回送票はDDP回送マスターに登録されない:①でセンターから照会した回送票(照会元 '2')は、③でDDP回送マスターの更新も新規登録もしない。集信データ(発送鑑・到着鑑)だけを出力する。
-
回送マスターの更新エラーを無視する:③でDDP回送マスターの読込み・書換えがエラーになっても、メッセージを出さずに集信データを出力する。マスターと集信データが食い違うおそれがある。
-
集信データの出力エラーを想定していない:TDキューへの書込みに戻りコードの判定がなく、エラー時は CICS の異常終了になる。
-
登録完了のメッセージがない:③で登録した後は空の画面になるだけで、登録したことを示すメッセージは表示しない。
-
同じ回送票の再登録を防いでいない:到着済みの回送票でも①で照会でき、再度登録すると回送マスターを上書きし、集信データを再出力する。
-
発送鑑データの着地コード:着地コードは到着店ではなく、入力した端末の店所の所在地コードから作る。到着店と入力店が異なる場合は、到着店の所在地と一致しない。
-
②で書き換えない値はチェックされない:①で表示した到着店・到着日時・指示キロメートルは、書き換えなければ項目チェックを行わない(項目間チェックは行う)。
-
指示キロメートルは実質的に必須:出発時・到着時がどちらも 0 だと②でエラーになる。
-
年をまたぐ日付の判定:②の「発送日+5日」の判定は年内の通日で比べるため、年をまたぐと正しく判定できない。
-
走行キロメートルの表示:①でDDP回送マスターから表示する場合は回送粁程の下3桁、センターからの照会ではセンター側で計算した3桁の値を表示する。1,000km 以上は正しく表示されない(②で 600km 以上はエラーになる)。
-
①のセンター照会での待機:回線混雑時は、トランザクションを終わらせずに再入力を待つ(会話型)。
-
戻り先画面のスタック:①で本画面をスタックに積むとき、件数が 0 だと配列の範囲外を参照する。
付録 プログラムと処理段階の対応
| 処理 |
BK11500P |
BK21500P |
BK11600P |
BK11700P |
| トランザクション |
BK15 |
B15K(センター) |
BK16 |
BK17 |
| 回送入力票NOのチェック |
○ |
― |
― |
― |
| DDP回送マスターの読込み |
○ |
― |
― |
○(更新用) |
| センターの回送マスターの照会 |
○(依頼) |
○(読込み) |
― |
― |
| 到着情報のチェック |
― |
― |
○ |
― |
| DDP回送マスターの更新 |
― |
― |
― |
○ |
| 集信データ(発送鑑・到着鑑)の出力 |
― |
― |
― |
○ |
| 次の待機トランザクション |
BK16(OK)/BK15(エラー) |
― |
BK17(OK)/BK16(エラー) |
BK15(実行)/戻り先(PF3・PF4) |