Files

127 lines
6.3 KiB
COBOL
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
IDENTIFICATION DIVISION.
PROGRAM-ID. JIN07SUB.
*****************************************************************
* システム名 : 人事情報管理システム *
* プログラムID : JIN07SUB *
* プログラム名 : 社員情報取得サブ *
* 作成日 : 2026-08-02 *
* 処理概要 : 指定 EMP-ID に一致する EMP-VALID レコードの *
* 項目を返却するサブプログラム *
* 終了は EXIT PROGRAMGOBACK 不使用) *
*****************************************************************
* 更新履歴 *
*---------------------------------------------------------------*
* 更新日付 担当者 更新内容 *
*---------------------------------------------------------------*
* 26-08-02 @@@ 新規作成 *
* *
*****************************************************************
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-ZSERIES.
OBJECT-COMPUTER. IBM-ZSERIES.
*
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT R01INNFIL ASSIGN TO EXTERNAL JIN07R01
ORGANIZATION IS SEQUENTIAL
ACCESS MODE IS SEQUENTIAL.
*
DATA DIVISION.
*****************************************************************
FILE SECTION.
*****************************************************************
* R01: EMP-VALID200B 社員データ) *
*****************************************************************
FD R01INNFIL
LABEL RECORD IS STANDARD
BLOCK CONTAINS 0
RECORDING MODE IS F.
01 R01INNREC.
COPY JIN01REC REPLACING ==(A)== BY ==R01==.
*
*****************************************************************
WORKING-STORAGE SECTION.
*****************************************************************
01 WRKARA.
*** 読込フラグ
03 WRK-R01EOF PIC X(001).
88 WRK-R01EOF-Y VALUE '1'.
*** ADDRESS OF 取得用ポインタ
03 WS-PTR USAGE POINTER.
*
*****************************************************************
* リンケージエリア(個別引数方式) *
*****************************************************************
LINKAGE SECTION.
*****************************************************************
01 LK-EMP-ID PIC X(008).
01 LK-KANA-SEI PIC X(020).
01 LK-KANA-MEI PIC X(020).
01 LK-KANJI-NAME PIC N(040).
01 LK-SUB-CODE PIC X(004).
01 LK-BIRTH-DATE PIC X(008).
01 LK-EMP-ID-OUT PIC X(008).
01 LK-FILLER PIC X(060).
01 LK-RESULT PIC X(002).
*
PROCEDURE DIVISION
USING LK-EMP-ID, LK-KANA-SEI, LK-KANA-MEI, LK-KANJI-NAME,
LK-SUB-CODE, LK-BIRTH-DATE, LK-EMP-ID-OUT, LK-FILLER,
LK-RESULT.
*****************************************************************
* サブモジュールNO: (0.0) *
* サブモジュール名: 制御処理 *
* 処理概要 : メインコントロール処理 *
*****************************************************************
0000MAINSOR SECTION.
*
*** ADDRESS OF 予約語カバー(引数アドレス取得)
MOVE ADDRESS OF LK-EMP-ID TO WS-PTR.
*
*** 検索結果初期化(不一致初期値)
MOVE 'NG' TO LK-RESULT.
*
*** 入力ファイルOPEN
OPEN INPUT R01INNFIL.
*
*** 社員検索
PERFORM 1000FNDSOR.
*
*** 入力ファイルCLOSE
CLOSE R01INNFIL.
*
0000MAINSOR-EXT.
EXIT PROGRAM.
*
*EJECT
*****************************************************************
* サブモジュールNO: (1.0) *
* サブモジュール名: 社員検索 *
* 処理概要 : EMP-VALID 順次検索で一致レコード返却 *
*****************************************************************
1000FNDSOR SECTION.
*
PERFORM UNTIL LK-RESULT = 'OK' OR WRK-R01EOF-Y
READ R01INNFIL
AT END
MOVE '1' TO WRK-R01EOF
NOT AT END
IF R01EMP-ID = LK-EMP-ID
MOVE R01KANA-SEI TO LK-KANA-SEI
MOVE R01KANA-MEI TO LK-KANA-MEI
IF LK-KANJI-NAME NOT OMITTED
MOVE R01KANJI-NAME TO LK-KANJI-NAME
END-IF
MOVE R01SUB-CODE TO LK-SUB-CODE
MOVE R01BIRTH-DATE TO LK-BIRTH-DATE
MOVE R01EMP-ID TO LK-EMP-ID-OUT
MOVE R01FILLER TO LK-FILLER
MOVE 'OK' TO LK-RESULT
END-IF
END-READ
END-PERFORM.
*
1000FNDSOR-EXT.
EXIT.