COBOLバッチ処理設計書テンプレート.md

## 文書情報

| 項目     | 内容 |
| ------ | -- |
| 文書名    |    |
| 文書番号   |    |
| 作成日    |    |
| 最終更新日  |    |
| 作成者    |    |
| 承認者    |    |
| 対象システム |    |
| 関連文書   |    |

## 概要

### 目的

### 処理概要

### スケジュール情報

| 実行タイミング | 実行条件 | 実行優先度 | 最大許容実行時間 |
| ------- | ---- | ----- | -------- |
|         |      |       |          |

## 前提条件

### 実行環境

| 項目       | 内容 |
| -------- | -- |
| OS       |    |
| COBOL処理系 |    |
| 必要リソース   |    |
| 依存システム   |    |

### 事前条件

### 事後条件

## 処理フロー

### 全体フロー

```mermaid
flowchart TD
    A[開始] --> B[初期処理]
    B --> C[メイン処理]
    C --> D[終了処理]
    D --> E[終了]

    %% 凡例
    classDef start fill:#9f6,stroke:#333,stroke-width:2px
    classDef process fill:#66f,stroke:#333,stroke-width:1px,color:#fff
    classDef endnode fill:#f96,stroke:#333,stroke-width:2px

    class A start
    class B,C,D process
    class E endnode

詳細フロー

flowchart TD

    %% 初期処理
    A[開始] --> B[環境変数の取得]
    B --> C[ファイルオープン]
    C --> D{オープン成功?}
    D -->|Yes| E[初期値設定]
    D -->|No| Z[異常終了]

    %% メイン処理
    E --> F[入力ファイル読込]
    F --> G{EOF?}
    G -->|Yes| H[終了処理へ]
    G -->|No| I[データ処理]
    I --> J[出力ファイル書込]
    J --> F

    %% 終了処理
    H --> K[集計処理]
    K --> L[ファイルクローズ]
    L --> M[正常終了]

    %% クラス定義(クラス名 end → endClass へ変更)
    classDef startClass fill:#9f6,stroke:#333,stroke-width:2px
    classDef process fill:#66f,stroke:#333,stroke-width:1px
    classDef decision fill:#ff7,stroke:#333,stroke-width:1px
    classDef endClass fill:#f96,stroke:#333,stroke-width:2px

    %% クラス指定
    class A startClass
    class B,C,E,F,I,J,K,L process
    class D,G decision
    class M,Z endClass

入出力ファイル仕様

入力ファイル

ファイル名 形式 レコード長 ブロック化係数 説明

レコードレイアウト

項目名 開始位置 長さ 形式 説明

出力ファイル

ファイル名 形式 レコード長 ブロック化係数 説明

レコードレイアウト

項目名 開始位置 長さ 形式 説明

作業ファイル

ファイル名 形式 レコード長 ブロック化係数 説明

プログラム構成

モジュール構成

モジュール名 種別 機能概要

データ項目定義

WORKING-STORAGE SECTION

項目名 レベル データ型 長さ 初期値 説明

LINKAGE SECTION

項目名 レベル データ型 長さ 説明

主要処理ロジック

初期処理

メイン処理

終了処理

エラー処理

エラーコード一覧

エラーコード 説明 対処方法

例外処理フロー

flowchart TD
    A[エラー発生] --> B{エラー種別判定}
    B -->|ファイルエラー| C[ファイルエラー処理]
    B -->|データエラー| D[データエラー処理]
    B -->|システムエラー| E[システムエラー処理]
    C --> F[エラーログ出力]
    D --> F
    E --> F
    F --> G[リターンコード設定]
    G --> H[異常終了]

    %% 凡例
    classDef error fill:#f66,stroke:#333,stroke-width:1px
    classDef decision fill:#ff7,stroke:#333,stroke-width:1px
    classDef process fill:#66f,stroke:#333,stroke-width:1px
    classDef endClass fill:#f96,stroke:#333,stroke-width:2px

    class A error
    class B decision
    class C,D,E,F,G process
    class H endClass