# 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)で実施する。