戻る

出力サンプル -TESTCOBOL6(日本語表示版)-

元のソースコード

****************************************************************** * Author: * Date: * Purpose: * Tectonics: cobc ****************************************************************** IDENTIFICATION DIVISION. PROGRAM-ID. TESTCOBOL6. ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT EMPF ASSIGN TO 'EMPFILE' ORGANIZATION INDEXED ACCESS MODE IS SEQUENTIAL RECORD KEY IS EMPKEY. SELECT PRINTF ASSIGN TO 'EMPDATA.TXT'. DATA DIVISION. FILE SECTION. FD EMPF. 01 EMPF-REC. 03 EMPKEY PIC X(3). 03 EMPNO REDEFINES EMPKEY PIC 9(3). 03 EMPNAME PIC X(10). FD PRINTF. 01 PRINT-REC PIC X(22). WORKING-STORAGE SECTION. 01 PRINT-H. 03 FILLER PIC X(10) VALUE "社員番号". 03 FILLER PIC X(10) VALUE "社員名". 03 FILLER PIC XX VALUE X"0D0A". 01 PRINT-D. 03 FILLER PIC X(2) VALUE SPACE. 03 EMPKEY-P PIC X(3). 03 FILLER PIC X(5) VALUE SPACE. 03 EMPNAME-P PIC X(10). 03 FILLER PIC XX VALUE X"0D0A". 77 END-F PIC X. 77 人数 PIC ZZZ. 77 NIN PIC 999. PROCEDURE DIVISION. MAIN-PROCEDURE. DISPLAY "社員一覧表出力中" OPEN INPUT EMPF OUTPUT PRINTF. WRITE PRINT-REC FROM PRINT-H. PERFORM UNTIL END-F = "E" READ EMPF AT END MOVE "E" TO END-F NOT AT END ADD 1 TO NIN MOVE EMPKEY TO EMPKEY-P MOVE EMPNAME TO EMPNAME-P WRITE PRINT-REC FROM PRINT-D END-READ END-PERFORM. MOVE NIN TO 人数. DISPLAY "社員は" 人数 "人". CLOSE EMPF PRINTF. STOP RUN. END PROGRAM TESTCOBOL6.
セクション関係図

対象のプログラムにはセクションが検出されませんでした


フローチャート図で表現したもの

プロシージャディビジョン(セクション外)
%%{init: {'theme':'base','themeVariables':{ 'primaryColor':'white', 'primaryTextColor':'#000000', 'primaryBorderColor':'#000000', 'lineColor':'#808080', 'textColor':'#6A7FABCC', 'fontSize':'15px'}}}%% %%{ init: { 'flowchart': { 'curve': 'basis' } } }%% graph TD; classDef default fill:#FFFFE0,stroke:#333,stroke-width:2px; classDef clrPattern1 fill:#FFFF00,stroke:#333,stroke-width:2px; classDef clrPattern2 fill:#F0E68C,stroke:#333,stroke-width:2px; classDef clrPattern3 fill:#ADD8E6,stroke:#333,stroke-width:2px; classDef clrPattern4 fill:#FFC0CB,stroke:#333,stroke-width:2px; classDef clrPattern5 fill:#ADFF2F,stroke:#333,stroke-width:2px; linkStyle default stroke:#808080,stroke-width:2px; %%データ項目 s([処理開始])--> 19[/"46行目 「社員一覧表出力中」を表示する"/]:::clrPattern5 20[/"47行目 INPUTモードで従業員ファイルを開く"/]:::clrPattern4 21[/"48行目 OUTPUTモードで印刷ファイルを開く"/]:::clrPattern4 22[/"49行目 印刷行に書き込む"/]:::clrPattern5 23[/"50行目 ファイルの終端フラグ = 「E」が満たされるまで繰り返す"\]:::clrPattern2 24[/"51行目 従業員ファイルを読み込む"/]:::clrPattern4 25["51行目 ファイルの終端に達した場合"] 27["52行目 ファイルの終端フラグに「E」を代入する"] 28["53行目 ファイルの終端に達していない場合"] 29["54行目 1とNINを加算して結果をNINに代入する"] 30["55行目 従業員キー-Pに従業員キーを代入する"] 31["56行目 従業員名-Pに従業員名を代入する"] 32[/"57行目 印刷行に書き込む"/]:::clrPattern5 33["58行目 読み込み終了する"] 34[\"59行目 繰返文を終了する"/]:::clrPattern2 35["60行目 人数にNINを代入する"] 36[/"61行目 「社員は」 人数 「人」を表示する"/]:::clrPattern5 37[/"62行目 従業員ファイル 印刷ファイルを閉じる"/]:::clrPattern5 38["63行目 実行を終了する"] %%ルート設定 19-->20 20-->21 21-->22 22-->23 23-->24 24-->25 25{ファイルの終端 に達したか}:::clrPattern1 25-->|終端に達した場合|25True[51行目 ファイルの終端に達した場合]--->27 25-->|終端に達しない場合|28 27-->33 28-->29 29-->30 30-->31 31-->32 32-->33 33-->34 34-->|繰返文を継続する|23 34-->|繰返文を終了する|35 35-->36 36-->37 37-->38 38--> e([処理終了]) style j1 color:red,fill-opacity:0, stroke-opacity:0 style j2 color:red,fill-opacity:0, stroke-opacity:0 subgraph j1["ファイルの終端に達した場合"] subgraph j2[ ] 25 end end