JIN04PRT 詳細設計書
プログラム概要
| 項目 |
内容 |
| プログラムID |
JIN04PRT(人事→JINji, 04, 社員台帳印刷→PRT) |
| プログラムタイプ |
04(レイアウト編集のみ。LINAGE印刷制御) |
| 機能 |
EMP-VALID(チェック済社員データ)を読込み、社員台帳(JIN-LEDGER)形式で印刷出力する |
| CALL方式 |
メインプログラム(JCLからCALL) |
| DBアクセス |
なし |
| 使用サブプログラム |
SUB01DAT(日付), SUB02MSG(メッセージ), SUB03END(アベンド) |
前提条件
| NO |
対象ファイル |
条件 |
| 1 |
EMP-VALID |
JCL の SORT(STEP010)で社員番号昇順に並替済であること |
使用ファイル一覧
| NO |
使用ファイル名 |
識別子 |
DD名 |
I/O |
COPY群 |
形式 |
レコード長 |
媒体 |
備考 |
| 1 |
EMP-VALID |
R01 |
JIN04R01 |
I |
JIN01REC |
FB |
200 |
PS |
チェック済社員データ |
| 2 |
JIN-LEDGER |
W01 |
JIN04W01 |
O |
JIN04RPT-REC |
|
132 |
PS |
社員台帳印刷(LINAGE 66行) |
キー項目一覧
| NO |
ファイル名 |
ソート条件(キー項目) |
キー条件(マッチング/キーブレイク) |
| 1 |
EMP-VALID |
JIN04R01: EMP-ID 升順 |
なし(順次印刷) |
使用モジュール一覧
| NO |
機能 |
プログラムID |
使用COPY名 |
| 1 |
運用日付取得SUB |
SUB01DAT |
JINDATAC |
| 2 |
メッセージ編集出力SUB |
SUB02MSG |
JINMSGAC |
| 3 |
ABEND処理SUB |
SUB03END |
JINENDAC |
処理詳細
段落一覧(実装コードの SOR 規約名に対応)
| 段落名 |
機能 |
| 0000MAJCOLSOR |
メインコントロール(初期→読込→印刷ループ→終了) |
| 1000ITTSOR |
初期処理(開始表示・初期化・日付/時刻取得・OPEN・ヘッダー) |
| 2000MAINSOR |
主処理(明細行編集→WRITE) |
| 2100READSOR |
R01読込・EOF判定 |
| 3000HEADER |
ページヘッダー出力(改ページ+頁番号) |
| 4000STPSOR |
終了処理(CLOSE・終了表示・終了メッセージ) |
| 9000ERRSOR |
エラー処理(STOP literal 予約語カバー。通常フローでは呼ばれない) |
処理フロー
I-O-CONTROL / 印刷制御
LINAGE 句でページ制御(66行・本文60行・論理頁上下餘白)。WRITE AFTER ADVANCING PAGE で改ページ、AT END-OF-PAGE でヘッダー再出力。
カバレッジ対象キーワード
| 予約語/記号 |
区分 |
使用箇所 |
| ACCEPT FROM DATE |
予約語 |
1000ITTSOR: ACCEPT WRK-DATE FROM DATE |
| ACCEPT FROM TIME |
予約語 |
1000ITTSOR: ACCEPT WRK-TIME FROM TIME |
| LINAGE(PAGE) |
予約語 |
FD W01OUTFIL LINAGE IS 66 LINES |
| AT END-OF-PAGE |
予約語 |
2000MAINSOR: WRITE AT END-OF-PAGE |
| STRING ... ON OVERFLOW |
予約語 |
各種STRINGで ON OVERFLOW 使用 |
| DISPLAY UPON / WITH NO ADVANCING |
予約語 |
1000/4000: UPON CONSOLE、4000: WITH NO ADVANCING |
| CLOSE WITH LOCK |
予約語 |
4000STPSOR: CLOSE W01OUTFIL WITH LOCK |
| STOP literal |
予約語 |
9000ERRSOR: STOP '…ABNORMAL END' |
出力レコード定義
出力ファイル1(W01/JIN-LEDGER)— JIN04RPT-REC 132B
| No |
項目名 |
設定元 |
PIC |
備考 |
| 1 |
W01RPT-EMP-ID |
R01EMP-ID |
X(8) |
社員ID |
| 2 |
W01RPT-KANA-SEI |
R01KANA-SEI |
X(20) |
半角カナ姓 |
| 3 |
W01RPT-KANA-MEI |
R01KANA-MEI |
X(20) |
半角カナ名 |
| 4 |
W01RPT-KANJI-NAME |
R01KANJI-NAME |
X(40) |
漢字氏名 |
| 5 |
W01RPT-DEPT-CD |
SPACES(未設定) |
X(4) |
部門コード(STRING対象外) |
| 6 |
W01RPT-ENTRY-DATE |
SPACES(未設定) |
X(8) |
入社日(STRING対象外) |
| 7 |
FILLER |
SPACES |
X(32) |
|
レコード長 132B(実規格)。設計書他行の記載値 133B は誤記 → 132B に統一。
COPY 参照書式の確認
- R01: JIN01REC(200B)を REPLACING (A)→R01 で定義
- W01: JIN04RPT-REC(132B)を REPLACING (A)→W01 で定義