105 lines
4.4 KiB
Markdown
105 lines
4.4 KiB
Markdown
# JIN08TST 詳細設計書
|
||
|
||
## プログラム概要
|
||
|
||
| 項目 | 内容 |
|
||
|------|------|
|
||
| プログラムID | JIN08TST(人事→JINji, 08, JIN07SUB呼出テスト→TST) |
|
||
| プログラムタイプ | メインプログラム(テストドライバ) |
|
||
| PGMパターン | 05(振り分け IF) |
|
||
| 機能 | JIN07SUB を 2 回 CALL(全引数 / KANJI-NAME OMITTED)して、一致レコード取得と OMITTED 引数動作を確認するテスト専用プログラム |
|
||
| CALL方式 | メインプログラム(JCLからCALL。ただしテスト専用のため本番 JCL は不要) |
|
||
| DBアクセス | なし |
|
||
| 使用サブプログラム | JIN07SUB, SUB01DAT, SUB02MSG, SUB03END |
|
||
|
||
### 前提条件
|
||
|
||
| NO | 対象ファイル | 条件 |
|
||
|----|-------------|------|
|
||
| 1 | EMP-VALID | JIN07SUB が検索対象とするデータ。JIN08TST 実行時の環境変数 JIN07R01 で割当てる |
|
||
|
||
### 使用ファイル一覧
|
||
|
||
| NO | 使用ファイル名 | 識別子 | DD名 | I/O | COPY群 | 形式 | レコード長 | 媒体 | 備考 |
|
||
|----|--------------|--------|------|-----|--------|------|-----------|------|------|
|
||
| — | — | — | — | — | — | — | — | — | ファイル入出力なし(JIN07SUB が JIN07R01 を読込む) |
|
||
|
||
### 使用COPY句
|
||
|
||
| COPY句 | 用途 | 使用箇所 |
|
||
|--------|------|---------|
|
||
| JINDATAC | SUB01DAT 運用日付連絡領域 | WORKING-STORAGE |
|
||
| JINMSGAC | SUB02MSG メッセージ連絡領域 | WORKING-STORAGE |
|
||
| JINENDAC | SUB03END ABEND連絡領域 | WORKING-STORAGE |
|
||
|
||
---
|
||
|
||
## 処理詳細
|
||
|
||
### 段落一覧(SOR規約名)
|
||
|
||
| 段落名 | 機能 |
|
||
|:-------|:-----|
|
||
| 0000MAINTST | メインコントロール(初期→テストCALL→終了) |
|
||
| 1000ITTTST | 初期処理(開始MSG・初期化・運用日付取得) |
|
||
| 2000CALTST | JIN07SUB を 2 回 CALL(全引数 / KANJI-NAME OMITTED)して結果を DISPLAY |
|
||
| 3000STPTST | 終了処理(終了MSG) |
|
||
| 4000MSGOUTTST | SUB02MSG 呼出 |
|
||
| 9000ERRTST | エラー処理(ABEND) |
|
||
|
||
### 処理フロー
|
||
|
||
```
|
||
1. 0000MAINTST(メインコントロール)
|
||
1-1. PERFORM 1000ITTTST(初期処理)
|
||
1-2. PERFORM 2000CALTST(テストCALL)
|
||
1-3. PERFORM 3000STPTST(終了処理)
|
||
1-4. GOBACK
|
||
|
||
2. 1000ITTTST(初期処理)
|
||
2-1. DISPLAY 'JIN08TST START' UPON CONSOLE
|
||
2-2. SUB02MSG で開始メッセージ(001)出力
|
||
2-3. INITIALIZE ワークエリア
|
||
2-4. CALL SUB01DAT(運用日付取得)。異常時は 4000MSGOUTTST+9000ERRTST
|
||
|
||
3. 2000CALTST(テストCALL)
|
||
3-1. 検索条件(WRK-TST-EMP-ID)に 'EMP00001' を設定
|
||
3-2. CALL 1: JIN07SUB 全引数
|
||
CALL 'JIN07SUB' USING WRK-TST-EMP-ID, WRK-TST-KANA-SEI, WRK-TST-KANA-MEI,
|
||
WRK-TST-KANJI-NAME, WRK-TST-SUB-CODE,
|
||
WRK-TST-BIRTH-DATE, WRK-TST-EMP-ID-OUT,
|
||
WRK-TST-FILLER, WRK-TST-RESULT
|
||
3-3. WRK-TST-RESULT 判定
|
||
IF = 'OK' → DISPLAY 'CALL1 OK: EMP=' WRK-TST-EMP-ID-OUT
|
||
' SUB=' WRK-TST-SUB-CODE
|
||
ELSE → DISPLAY 'CALL1 NG: RESULT=' WRK-TST-RESULT
|
||
3-4. CALL 2: JIN07SUB KANJI-NAME OMITTED
|
||
CALL 'JIN07SUB' USING WRK-TST-EMP-ID, WRK-TST-KANA-SEI, WRK-TST-KANA-MEI,
|
||
OMITTED, WRK-TST-SUB-CODE, WRK-TST-BIRTH-DATE,
|
||
WRK-TST-EMP-ID-OUT, WRK-TST-FILLER, WRK-TST-RESULT
|
||
3-5. WRK-TST-RESULT 判定
|
||
IF = 'OK' → DISPLAY 'CALL2 OK: EMP=' WRK-TST-EMP-ID-OUT
|
||
' KANA-SEI=' WRK-TST-KANA-SEI
|
||
ELSE → DISPLAY 'CALL2 NG: RESULT=' WRK-TST-RESULT
|
||
|
||
4. 3000STPTST(終了処理)
|
||
4-1. DISPLAY 'JIN08TST END' UPON CONSOLE
|
||
4-2. SUB02MSG で終了メッセージ(002)出力
|
||
```
|
||
|
||
---
|
||
|
||
## カバレッジ対象キーワード
|
||
|
||
| 予約語/記号 | 区分 | 使用箇所 |
|
||
|:-----------|:----:|:---------|
|
||
| OMITTED | 予約語 | 2000CALTST: CALL 'JIN07SUB' USING ... OMITTED(KANJI-NAME 省略) |
|
||
| CALL | 予約語 | 2000CALTST: CALL 'JIN07SUB'(2回) |
|
||
| ON EXCEPTION | 予約語 | 1000ITTTST: CALL 'SUB01DAT' ON EXCEPTION |
|
||
|
||
## 補足
|
||
|
||
- 本プログラムは JIN07SUB の動作確認用テストドライバのため、本番 JCL は不要(ローカル開発環境で単体実行する)。
|
||
- JIN07SUB が EMP-VALID を読込むための DD(JIN07R01)は、実行時に環境変数で割当てる。
|
||
- 検証は DISPLAY 出力(CALL1 OK/NG、CALL2 OK/NG)で実施する。
|