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