IDENTIFICATION DIVISION. PROGRAM-ID. JIN07SUB. ***************************************************************** * システム名 : 人事情報管理システム * * プログラムID : JIN07SUB * * プログラム名 : 社員情報取得サブ * * 作成日 : 2026-08-02 * * 処理概要 : 指定 EMP-ID に一致する EMP-VALID レコードの * * 項目を返却するサブプログラム * * 終了は EXIT PROGRAM(GOBACK 不使用) * ***************************************************************** * 更新履歴 * *---------------------------------------------------------------* * 更新日付 担当者 更新内容 * *---------------------------------------------------------------* * 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-VALID(200B 社員データ) * ***************************************************************** 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.