プログラム仕様書 BK10030 回送到着入力 - BK11500P(① 回送入力票NOの照会)
| 項目 |
内容 |
| 機能ID・機能名 |
BK10030 回送到着入力(機能仕様書:BK10030_回送到着入力_仕様書.md) |
| システムID |
BK |
| サブシステムID |
BK0070 |
| サブシステム名 |
回送・域内便到着入力 |
| 参考資料 |
・現行ソース BK11500P.pl1、BK21500P.pl1(センター側) ・画面設計書「BK0070_回送・域内便到着入力.xlsx」(Ver.1.2023.1016.3):資産一覧、MPBK150 の項目名、レコードフォーマット |
| 関連仕様書 |
BK21500P_仕様書.md(センター照会)、BK11600P_仕様書.md(次の処理:到着内容の検証) |
1. 概要
| 項目 |
内容 |
| プログラムID |
BK11500P(手続き名:BK11500) |
| プログラム名称 |
回送到着入力(照会) |
| 言語 |
PL/I(CICS コマンドレベル) |
| 処理形態 |
オンライン(CICS 疑似会話型) |
| 動作環境 |
SV(DDP 側) |
| トランザクションID |
BK15 |
| パターンID |
PPOD150P(1987/05/01)、業務 BXHEAD30 |
| 使用画面(マップ) |
MPBK150(回送・域内便到着入力)、MPDM010(共通ヘッダ画面)、ELEPHAN(終了画面)、戻り先画面(PF3/PF4 時に動的に決定) |
| 次の処理 |
トランザクション BK16(プログラム BK11600P:到着内容のチェック) |
| 参照ファイル |
VPKAISO(DDP 回送マスター)、VPTENMS(DDP 店所マスター)、VPJYUGY(DDP 従業員マスター) |
| センター照会 |
システム CIC1 のトランザクション B15K(プログラム BK21500P)に APPC 会話で問い合わせ、センターの回送マスター(VKKAISO)を照会 |
| 使用モジュール |
LSO0020(チェックディジット検証) |
| 一時記憶 |
TSキュー(キュー名=端末ID+'BK15'、280バイト) |
1.1 機能概要
回送便の到着入力の1画面目。回送入力票NOを入力すると、その回送便の発送時の内容を画面に表示し、到着情報(到着店・到着日時・指示粁)を入力できる状態にする。
- 回送入力票NOの形式とチェックディジットをチェックする。
- DDP(店所側)の回送マスターを読む。登録があれば、その内容を表示する。
- DDPに登録がなければ、センターに照会し、センターの回送マスターの内容を表示する。
- 回送票が取消済み、または入力区分が対象外(店所間回送・域内以外)の場合はエラーにする。
- 正常なら、到着店・到着年月日時分・指示粁を入力可にして、次の処理(BK16)に進む。
flowchart LR
MENU[メニュー] --> BK15[BK15<br/>本プログラム<br/>回送入力票NOの照会]
BK15 -- 照会OK --> BK16[BK16<br/>BK11600P<br/>到着内容のチェック]
BK16 --> BK17[BK17<br/>BK11700P<br/>回送マスター更新・集信]
BK15 -. 読込 .-> DDP[(VPKAISO<br/>DDP回送マスター)]
BK15 -. DDPになければ照会 .-> CEN[CIC1 B15K<br/>BK21500P]
CEN -. 読込 .-> VK[(VKKAISO<br/>センター回送マスター)]
BK11600P は BK11600P_仕様書.md、BK11700P は BK11700P_仕様書.md を参照。
2. 画面仕様(MPBK150)
2.1 画面レイアウト
行
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 画面項目一覧
「BK15」の列は本プログラムでの入出力(I:入力、O:出力、―:扱わない)。
| No |
項目ID |
項目名 |
型・桁 |
BK15 |
照会OK後の状態 |
| 1 |
BK15011(IMD) |
システム年月日 |
文字 8 |
O |
YY/MM/DD |
| 2 |
BK15021(IMT) |
システム時分秒 |
文字 8 |
O |
HH:MM:SS |
| 3 |
BK15031 |
回送入力票NO |
数字 8 |
I(必須) |
入力不可 |
| 4 |
BK15041 |
発店コード |
数字 4 |
O |
表示 |
| 5 |
BK15042 |
発店所名 |
文字 20 |
O |
表示 |
| 6~10 |
BK15051~BK15055 |
発送 年・月・日・時・分 |
数字 2×5 |
O |
表示 |
| 11 |
BK15061 |
入力区分 |
数字 1 |
O |
表示 |
| 12 |
BK15081 |
到着店コード |
数字 4 |
O |
入力可(カーソル位置) |
| 13 |
BK15082 |
到着店所名 |
文字 20 |
O |
表示 |
| 14~18 |
BK15091~BK15095 |
到着 年・月・日・時・分 |
数字 2×5 |
O |
入力可 |
| 19 |
BK15121 |
社番(自社) |
数字 5 |
O |
表示 |
| 20・21 |
BK15131・BK15132 |
乗務員コード1・2 |
数字 6 |
O |
表示 |
| 22・23 |
BK15133・BK15134 |
乗務員名1・2 |
文字 14 |
O |
表示 |
| 24 |
BK15141 |
指示粁・出発時 |
数字 7 |
O |
入力可 |
| 25 |
BK15151 |
指示粁・到着時 |
数字 7 |
O |
入力可 |
| 26 |
BK15152 |
走行粁 |
数字 3 |
O |
表示 |
| 27 |
BK15231 |
PFキー説明 |
文字 |
― |
画面定義の固定表示 |
| 28 |
BK15241 |
エラーメッセージ |
文字 70 |
O |
|
| 29 |
BK15242 |
エラーコード |
文字 5 |
O |
|
項目名は画面設計書(MPBK150 シート)の名称。
2.3 ファンクションキー
| キー |
機能 |
処理概要 |
| 実行(Enter) |
継続 |
回送入力票NOをチェックし、回送マスターを照会する |
| PF2 |
取消 |
TSキューを削除し、空の MPBK150 を表示して BK15 で待機(入力のやり直し) |
| PF3 |
終了 |
一つ前の画面(サブメニュー)に戻る |
| PF4 |
戻り |
メインメニューに戻る |
| CLEAR |
強制終了 |
終了画面(ELEPHAN)を表示して終了 |
| 上記以外 |
再表示 |
画面をそのまま再表示し、BK15 で待機 |
2.4 表示属性
| 状態 |
対象 |
属性 |
| 回送入力票NO OK |
BK15031 |
入力不可(DFHBMASK) |
| 回送入力票NO エラー |
BK15031 |
入力可・高輝度(DFHUNINT)、カーソル |
| 照会OK後 |
到着店コード、到着年月日時分、指示粁 出発時・到着時 |
入力可・数字のみ(DFHBMUNN)。カーソルは到着店コード |
色は設定しない(画面定義の初期値のまま)。
3. インターフェース
3.1 通信領域(COMMAREA:256バイト)
| 項目ID |
型 |
項目名・本プログラムでの用途 |
| CRT_BACK_KOSU/CRT_BACK_DATA(5) |
|
戻り先画面のスタック。照会OK時に本画面(MPBK150/BK15)を積む |
| TSQ_LENGTH |
2進(15) |
TSキューの長さ。280 をセット |
| TSQ_ID |
文字(8) |
TSキュー名。端末ID+'BK15' をセット(次の処理に引き継がれる) |
| XC_RTNCD |
2進(31) |
戻りコード(作業用) |
| COMM_RPOC_YMD |
数字(6) |
処理日(YYMMDD)。到着年月日の初期値に使う |
| COMM_ITEM_DDP |
文字(2) |
照会元。'1':DDPの回送マスター、'2':センター照会 |
その他(端末コード、店所コードなど)は使用しない。
3.2 TSキュー(CHK_DSP_WORK:280バイト)
キュー名は「端末ID+'BK15'」。
| 項目ID |
型 |
内容 |
| LOOP_FLG |
文字(1) |
ループフラグ |
| OKFLG |
文字(1) |
全体チェック結果(下表) |
| FLG(30)・FLGX(30) |
文字(1) |
項目ごとのチェック結果・入力状態。本プログラムでチェックするのは FLG(1)(回送入力票NO)だけ |
| BK15031B~BK15152B |
|
画面項目の値(2.2 の各項目) |
| BK20DUMB |
文字(60) |
予備 |
| BK15UNKB |
数字(2) |
運行車区分(13) |
| BK15KIKM |
数字(5) |
回送粁程 |
| BK21DUMB |
文字(9) |
予備 |
| WK_TEIKBN |
文字(1) |
訂正区分(初期化時 '0') |
OKFLG の値:
| 値 |
意味 |
| '0' |
初期状態 |
| '1' |
回送入力票NOのエラー |
| '2' |
正常 |
| '3' |
センターに登録なし、またはセンターの回送マスターの I/O エラー |
| '4' |
センターとの通信エラー |
| '5' |
入力区分エラー |
| '8' |
センターからの想定外の戻りコード |
| '9' |
取消済み |
3.3 参照ファイル
共通の読込みルーチン(DPVSSRH)で読む。戻り値 'O':正常、'N':該当なし、'E':その他エラー。
| 識別 |
データセット |
名称 |
キー |
取得する項目 |
| KA |
VPKAISO |
DDP 回送マスター(DDPKAISO) |
回送入力票NO |
下表 |
| TE |
VPTENMS |
DDP 店所マスター(DDPTENMS) |
店所コード |
VETNSRNM(店所略名(漢字)) |
| JN |
VPJYUGY |
DDP 従業員マスター(DDPJYUGY) |
従業員コード |
VEJYJNM1(従業員氏名(漢字)) |
DDP回送マスターから画面への設定:
| 画面項目 |
回送マスターの項目 |
| 発店コード |
KSKJHTCD(回送発送店所コード) |
| 発送 年・月・日 |
KSKJYMDH(回送発送年月日) |
| 発送 時・分 |
KSKJHTTM(回送発時分) |
| 入力区分 |
KSKJINKB(回送入力区分) |
| 到着店コード |
KSKJCTCD(回送着店所コード) |
| 到着 年・月・日・時・分 |
KSKJTCYM(回送着年月日)・KSKJTCTM(回送着時分)。着年月日が 0 なら処理日 |
| 社番 |
KSKJSYNO(回送社番) |
| 乗務員コード1・2 |
KSKJJYCA・KSKJJYCB(回送従業員コード(A)・(B)) |
| 指示粁・出発時・到着時 |
KSKJSJKD・KSKJSJKT(指示粁 出発時・帰着時) |
| 走行粁 |
KSKJKIKM(回送粁程)の下3桁 |
判定に使う項目:KSKJDLKB(取消区分:0 通常、9 削除)、KSKJINKB(入力区分)。
3.4 センター照会(APPC 会話)
| 項目 |
内容 |
| 相手システム |
CIC1 |
| 相手トランザクション |
B15K(センター側プログラム BK21500P) |
| 送信データ(49バイト) |
トランザクションID 'B15K' + DPCEB02K(回送・航空・域内入力(DDP~センター))。回送入力票NO(WBK2KSNO)をセットし、入力区分・指令書NO(行き・帰り)は 0 |
| 受信データ(89バイト) |
エラーフラグ(1桁)+エラーコード(4桁)+ CEDPB15K(回送・航空・域内照会到着(DD~セン)) |
センターから返るエラーコード(BK21500P の処理。詳細は BK21500P_仕様書.md):
| コード |
センター側の判定 |
本プログラムでの扱い |
| 0000 |
正常(入力区分が 1 または 3、取消されていない) |
正常 |
| 0001 |
センターの回送マスターに該当なし |
OKFLG '3':回送未入力です |
| 0002 |
センターの回送マスターの読込みエラー |
OKFLG '3':センターの回送マスターの I/O エラー |
| 0003 |
入力区分が 1(店所間回送)・3(域内)以外 |
OKFLG '5':入力区分エラー |
| 0009 |
取消済み(削除区分=9) |
OKFLG '9':取消済み |
| BU02 |
センター側の CICS エラー(エラーフラグ '2') |
OKFLG '8':想定外 |
| その他 |
― |
OKFLG '8':想定外 |
センターからの受信データ(CEDPB15K)から画面への設定:
| 画面項目 |
受信データの項目 |
| 発店コード |
UB02HTCD(発店) |
| 発送 年・月・日・時・分 |
UB02SYMD(年月日)・UB02DHMM(時分) |
| 入力区分 |
UB02INKB |
| 到着店コード |
UB02TOCD(到着店) |
| 到着 年・月・日・時・分 |
UB02CYMD(年月日)・UB02CHMM(時分)。年月日が 0 なら処理日 |
| 社番 |
UB02SYAB |
| 乗務員コード1・2 |
UB02JYCA・UB02JYCB |
| 指示粁・出発時・到着時 |
UB02STKM・UB02TCKM |
| 走行粁 |
UB02SKOM(センターで計算) |
| 運行車区分 |
UB02UNKB |
3.5 使用モジュール
| モジュール |
引数 |
用途 |
| LSO0020 |
FLD(番号)、MOD('10':モジュラス10、'07':7DR)、TYPE('C':検証)、RESULT('0':正常) |
回送入力票NOのチェックディジット検証 |
4. 処理仕様
4.1 処理の流れ
flowchart TD
S([開始]) --> AID{押されたキー}
AID -- CLEAR --> CLR[TSキュー削除<br/>終了画面]
AID -- PF2/PF3/PF4/その他 --> PF[ファンクションキー処理<br/>4.7]
AID -- 実行 --> RCV[MPBK150 を受信]
RCV --> TSQ{TSキューを<br/>読めたか}
TSQ -- キューなし --> INI[初期化 4.2]
TSQ -- 読めた --> DEL[TSキューを削除]
INI --> CHK[回送入力票NOのチェック 4.3]
DEL --> CHK
CHK --> DSP[表示の編集・メッセージ 4.6]
DSP --> OK1{OK}
OK1 -- いいえ --> ERR[TSキューに保存<br/>エラー表示]
ERR --> R1([BK15 で待機])
OK1 -- はい --> DDP{DDP回送マスターに<br/>あるか 4.4}
DDP -- ある --> JUD{取消済み・<br/>入力区分の判定}
DDP -- ない --> CEN[センター照会 4.5]
CEN --> JUD2{照会結果}
JUD -- エラー --> DSP
JUD2 -- エラー --> DSP
JUD -- OK --> NXT[到着項目を入力可にする<br/>TSキューに保存]
JUD2 -- OK --> NXT
NXT --> R2([BK16 で待機])
4.2 開始時の処理
- 例外条件の分岐先を登録する(画面データなし・レコードなし・ファイルの終わり → いずれも TSキューの読込みから続行)。
- 押下キーの分岐先を登録する(CLEAR → 終了処理、実行・CLEAR以外 → ファンクションキー処理)。
- 画面 MPBK150 を受信する。
- TSキュー名を「端末ID+'BK15'」、長さを 280 にして読む。
- 読めた場合:キューを削除する。
- キューがない場合:次のように初期化する。
| 項目 |
初期値 |
| LOOP_FLG |
'1' |
| OKFLG |
'0' |
| FLG・FLGX |
1番目(回送入力票NO)だけ '1'(必須)、他は '0' |
| 画面項目の値 |
空 |
| WK_TEIKBN |
'0' |
4.3 回送入力票NOのチェック(CHECK_SUB_RTN_LVL1)
すでにOK(FLG(1)='2')なら再チェックしない。未入力なら必須エラー。入力ありの場合:
| No |
チェック |
エラー条件 |
| 1 |
形式 |
数字以外を含む |
| 2 |
桁数 |
8桁で入力されていない |
| 3 |
値 |
0 |
| 4 |
番号の範囲 |
10000000~89999999(先頭が 1~8) |
| 5 |
チェックディジット |
10000000 未満(先頭 0)はモジュラス10、90000000 以上(先頭 9)は 7DR で検証してエラー |
エラーがあれば OKFLG = '1'。
4.4 DDP回送マスターの照会(OK_DATA_PROCESS_SUB_RTN)
回送入力票NOをキーに、DDP回送マスター(VPKAISO)を読む。読めなかった場合(該当なし・エラーとも)は、センター照会(4.5)に進む。
読めた場合:
- COMM_ITEM_DDP = '1'、運行車区分 = 13 にする。
- 回送マスターの内容を画面とTSキューにセットする(3.3 の表)。
- 発店所名・到着店所名:店所マスターの店所略名(漢字)。店所マスターになければ空白。
- 到着年月日:回送着年月日が 0 の場合は処理日(COMM_RPOC_YMD)をセットし、FLGX(6)~(9) を '1' にする。次の処理 BK11600P では、この番号が到着時・到着分・指示粁 出発時・到着時に当たり、これらが必須になる。到着時分は設定しない。
- 乗務員名1・2:従業員マスターの従業員氏名(漢字)。従業員マスターになければ、コードが 0 なら空白、111111 なら「ライナー傭車」、999999 なら「ダミーコード」、それ以外は「????」。
- 指示粁:出発時・帰着時がどちらも 0 なら設定しない。それ以外は出発時・到着時と、走行粁(回送粁程の下3桁)をセットする。
- 回送票の状態を判定する。
| 条件 |
結果 |
| 取消区分 = 9 |
OKFLG = '9'(取消済み)。回送入力票NOをエラー表示 |
| 入力区分が 1(店所間回送)または 3(域内) |
正常 → 4.6 の正常時処理へ |
| 入力区分が上記以外 |
OKFLG = '5'(入力区分エラー)。回送入力票NOをエラー表示 |
エラーの場合は表示の編集(4.6)からやり直し、エラー時の画面送信を行う。
4.5 センター照会(INQUIRE_SUB_RTN)
- COMM_ITEM_DDP = '2' にする。
- センター(CIC1)と APPC 会話を行う。
| 手順 |
CICS コマンド |
エラー時 |
| 1 |
ALLOCATE SYSID('CIC1') NOQUEUE |
4.5.1 |
| 2 |
CONNECT PROCESS(相手 'B15K'、SYNCLEVEL 1) |
4.5.1 |
| 3 |
SEND(49バイト)INVITE WAIT |
4.5.1 |
| 4 |
RECEIVE(89バイト) |
正常・EOC 以外は 4.5.1 |
| 5 |
SEND(1バイト)LAST WAIT |
正常・EOC 以外は 4.5.1 |
| 6 |
FREE |
― |
- 受信したエラーコードで OKFLG を決める(3.4 の表)。
- 正常(OKFLG = '2')なら、受信データを画面とTSキューにセットする(3.4 の表)。発店所名・到着店所名・乗務員名の取り方は 4.4 と同じ。
- エラーなら、回送入力票NOをエラー(FLG(1)='3')にして、表示の編集(4.6)からやり直す。
4.5.1 通信エラー時
| 発生箇所 |
条件 |
エラーコード |
メッセージ |
| ALLOCATE |
SYSBUSY(回線混雑) |
ASYSB |
回線が混雑しています!! 実行キーをもう一度押して下さい(※) |
| ALLOCATE |
SYSIDERR |
ASYSI |
照会不可能!!回線不通の可能性あり センターに連絡して下さい |
| ALLOCATE |
その他 |
A9999 |
照会不可能!!サポート外ERROR センターに連絡して下さい |
| CONNECT |
TERMERR |
CTERM |
照会不可能!!回線不通の可能性あり センターに連絡して下さい |
| CONNECT |
その他 |
C9999 |
照会不可能!!サポート外ERROR センターに連絡して下さい |
| SEND |
TERMERR |
STERM |
照会不可能!!回線不通の可能性あり センターに連絡して下さい |
| SEND |
その他 |
S9999 |
照会不可能!!サポート外ERROR センターに連絡して下さい |
| RECEIVE・最後の SEND |
TERMERR |
RTERM |
照会不可能!!回線不通の可能性あり センターに連絡して下さい |
| RECEIVE・最後の SEND |
LENGERR |
RLENG |
照会不可能!! LENGERR |
| RECEIVE・最後の SEND |
その他 |
R9999 |
照会不可能!!サポート外ERROR センターに連絡して下さい |
(※)SYSBUSY の場合だけは、メッセージを表示して同じタスクのまま画面の入力を待ち、入力があったら ALLOCATE からやり直す。
それ以外は OKFLG = '4' にして、上表のメッセージとエラーコードを表示する。
4.6 表示の編集とメッセージ(DISPLAY_SUB_RTN_LVL1)
回送入力票NOの表示属性を設定し(2.4)、OKFLG に応じてメッセージを設定する。
| OKFLG |
エラーコード |
メッセージ |
| '2' |
OK DD |
到着店,到着日時,指示粁を入力してください。 |
| '1' |
ERR 1 |
エラー項目あり,再入力して下さい |
| '5' |
ERR 5 |
この回送票の入力区分がエラーです。再入力して下さい |
| '3'(センターのコード 0001) |
ERR 3 |
回送未入力です。 |
| '3'(センターのコード 0002) |
ERR 3 |
センターの回送マスターの I/Oエラー |
| '9' |
ERR 9 |
この回送票は取消済みです。 再入力して下さい |
| '4' |
4.5.1 のコード |
4.5.1 のメッセージ |
| その他('8' など) |
ERR ? |
???????????? |
エラー時の画面送信
- TSキュー(端末ID+'BK15'、280バイト)に保存する。
- システム日付・時刻を設定する。
- 画面のデータ部分を送信し(カーソル位置を指定、アラームを鳴らす)、BK15 で待機する。
DDP回送マスターやセンターから取得した内容は、エラーのときも画面に表示される。
4.7 正常時の処理(OK_DATA_RTN 以降)
- 到着店コードにカーソルを置き、到着店コード・到着 年・月・日・時・分・指示粁 出発時・到着時を入力可(数字のみ)にする。
- TSキュー(端末ID+'BK15'、280バイト)に保存する。
- 戻り先画面のスタックの最上位が「MPBK150/BK15」でなければ、件数を1増やして積む(最大5件。5件を超える場合は5件目を上書き)。
- システム日付・時刻を設定する。
- 画面を消去して MPBK150 を送信し(カーソル位置を指定、アラームを鳴らす)、トランザクション BK16 で待機する。
4.8 ファンクションキーの処理
| キー |
処理 |
| PF2:取消 |
画面をクリアし、TSキューを削除して、空の MPBK150 を画面を消去して送信する。BK15 で待機 |
| PF3:終了 |
TSキューを削除し、戻り先画面のスタックから一つ前の画面を決める(下表)。共通ヘッダ画面(MPDM010)に日時を設定して送信し、戻り先の画面をデータなしで送信して、そのトランザクションで待機 |
| PF4:戻り |
TSキューを削除し、スタックの1件目(メインメニュー)に戻る。表示方法は PF3 と同じ |
| その他 |
画面のデータ部分を再送信し、BK15 で待機 |
| PF3 の条件 |
戻り先 |
| スタックが空 |
なし(終了画面を表示して終了) |
| 最上位が MPBK150 以外 |
最上位の画面(1件取り除く) |
| 最上位が MPBK150 で、その下がない |
なし(終了画面を表示して終了) |
| 最上位が MPBK150 で、その下がある |
その下の画面(2件取り除く) |
| PF4 の条件 |
戻り先 |
| スタックが空、または1件目が MPBK150 |
なし(終了画面を表示して終了) |
| 1件目が MPBK150 以外 |
1件目の画面(スタックを全件消去) |
4.9 例外処理
| 発生条件 |
処理 |
| CLEAR キー |
TSキューを削除し、終了画面(ELEPHAN)を表示して終了 |
| 画面データなし(MAPFAIL)・レコードなし(NOTFND)・ファイルの終わり(ENDFILE) |
TSキューの読込みから処理を続ける(画面の受信は飛ばす) |
4.10 システム日付・時刻の設定(TIMESET_SUB_RTN)
現在の日時を YY/MM/DD・HH:MM:SS に編集して画面の日付・時刻欄に設定する(入力不可・変更フラグオン)。
5. メッセージ一覧
| No |
コード |
メッセージ |
表示するとき |
| 1 |
OK DD |
到着店,到着日時,指示粁を入力してください。 |
照会が正常に終わったとき |
| 2 |
ERR 1 |
エラー項目あり,再入力して下さい |
回送入力票NOが不正なとき |
| 3 |
ERR 3 |
回送未入力です。 |
DDPにもセンターにも回送票がないとき |
| 4 |
ERR 3 |
センターの回送マスターの I/Oエラー |
センターの回送マスターの読込みエラー |
| 5 |
ERR 5 |
この回送票の入力区分がエラーです。再入力して下さい |
入力区分が対象外のとき |
| 6 |
ERR 9 |
この回送票は取消済みです。 再入力して下さい |
回送票が取消済みのとき |
| 7 |
ASYSB |
回線が混雑しています!! 実行キーをもう一度押して下さい |
センター照会で回線混雑のとき |
| 8 |
ASYSI・CTERM・STERM・RTERM |
照会不可能!!回線不通の可能性あり センターに連絡して下さい |
センターとの回線不通 |
| 9 |
RLENG |
照会不可能!! LENGERR |
センターからの受信データの長さ不正 |
| 10 |
A9999・C9999・S9999・R9999 |
照会不可能!!サポート外ERROR センターに連絡して下さい |
その他の通信エラー |
| 11 |
ERR ? |
???????????? |
センターから想定外のコード(センター側の CICS エラー BU02 を含む)が返ったとき |
6. 画面遷移
flowchart LR
MENU[サブメニュー] --> BK15[BK15<br/>本プログラム]
BK15 -- 実行(エラー) --> BK15
BK15 -- 実行(照会OK) --> BK16[BK16<br/>BK11600P]
BK15 -- PF2 --> BK15
BK15 -- PF3 --> PREV[一つ前の画面]
BK15 -- PF4 --> MAIN[メインメニュー]
BK15 -- CLEAR --> END[ELEPHAN 終了]
7. 補足・留意事項
-
受け付ける入力区分:DDP回送マスター・センター照会とも、入力区分 1(店所間回送)と 3(域内)を受け付ける。なお、画面設計書(BK0070)に収録されている BK21500P のソースは入力区分 1 だけを受け付ける古い内容で、現行ソースとは異なる。
-
センター照会の条件:DDP回送マスターの読込みが「該当なし」以外のエラー(I/O エラーなど)でも、センター照会に進む。
-
同じタスクのまま入力を待つ:センター照会で回線混雑(SYSBUSY)の場合、トランザクションを終わらせずに画面の入力を待つ(会話型)。待っている間もタスクが残る。
-
通信エラー時の会話の解放:CONNECT・SEND・RECEIVE でエラーになった場合、FREE を行わずに処理を終える。
-
戻り先画面のスタック:照会OK時に、スタックの最上位(CRT_BACK_KOSU 番目)を確認してから積む。件数が 0 の場合は 0 番目を参照することになり、配列の範囲外を読む。
-
走行粁の表示:DDP回送マスターから表示する場合、回送粁程(5桁)の下3桁だけを表示する。1,000km 以上は正しく表示されない。
-
照会元のメッセージコード:センター照会が正常だった場合、ソース上は 'OK CE' を設定しているが、画面にはすでに 'OK DD' が設定済みのため表示されない。
-
到着年月日の初期値:回送マスターに到着年月日がない場合は処理日を表示し、次の処理 BK11600P で到着時・到着分・指示粁(出発時・到着時)を必須にする(BK11600P_仕様書.md の 2.2 参照)。到着時分は空のまま。
-
使っていない領域:HELP画面コントロールエリア、TSQ_LENGTH_W 等、CNT_MAX、MAX・XCNT、END_MSG、VKEY2、BK15101B・BK15111B(航空会社区分・空港行帰区分。コメントのみで設定なし)は使っていない。