ソース・リスト

図 1 にソース・リストを示します。 ソース・プログラムのステートメントは、REPLACE ステートメントで識別されるプログラム・ソース・テキストを除き、 実行要求されたとおりに正確にリストされます。 置換テキストはソース・リストに表示されます。 PROGRAM-ID 段落のリストのページの後、 すべてのコンパイラー出力ページのシステム名の前のヘッディングのところには、 リスト出力されるプログラム ID 名が示されます。

図 1. ILE COBOL ソース・リストの例
 5722WDS V5R4M0 060210 LN  IBM ILE COBOL            CBLGUIDE/SAMPLE      ISERIES1   06/02/15 11:18:21      ページ    4
STMT PL SEQNBR -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN  S COPYNAME   CHG DATE
    A   B      C                                                                           D      E          F 
     1     000300 IDENTIFICATION DIVISION.
     2     000500 PROGRAM-ID.     SAMPLE.
     3     000600   AUTHOR.       PROGRAMMER NAME.
     4     000700   INSTALLATION. COBOL DEVELOPMENT CENTRE.
     5     000800   DATE-WRITTEN. 02/24/94.
     6     000900   DATE-COMPILED. 02/02/05 11:18:21
     7     001100 ENVIRONMENT DIVISION.
     8     001300 CONFIGURATION SECTION.
     9     001400 SOURCE-COMPUTER. IBM-ISERIES
    10     001500 OBJECT-COMPUTER. IBM-ISERIES
    11     001700 INPUT-OUTPUT SECTION.
    12     001800 FILE-CONTROL.
    13     001900     SELECT FILE-1 ASSIGN TO DISK-SAMPLE.
    15     002100 DATA DIVISION.
    16     002300 FILE SECTION.
    17     002400 FD  FILE-1
           002500     LABEL RECORDS ARE STANDARD
*==>                  a
*=a> LNC0848   0  The LABEL clause is syntax checked and ignored.   G 
           002600     RECORD CONTAINS 20 CHARACTERS
           002700     DATA RECORD IS RECORD-1.
*==>                  a
*=a> LNC0848   0  The DATA RECORDS clause is syntax checked and ignored.
    18     002800 01  RECORD-1.
    19     002900   02 FIELD-A      PIC X(20).
    20     003100 WORKING-STORAGE SECTION.
    21     003200 01  SUBSCRIPT-TYPE   TYPEDEF   PIC S9(2) COMP-3.
    22     003300 01  FILLER.
    23     003400   05 KOUNT        TYPE SUBSCRIPT-TYPE.
    24     003500   05 LETTERS      PIC X(26) VALUE "ABCDEFGHIJKLMNOPQRSTUVWXYZ".
    25     003600   05 ALPHA REDEFINES LETTERS
           003700                   PIC X(1) OCCURS 26 TIMES.
    26     003800   05 NUMBR        TYPE SUBSCRIPT-TYPE.
    27     003900   05 DEPENDENTS   PIC X(26) VALUE "01234012340123401234012340".
    28     004000   05 DEPEND REDEFINES DEPENDENTS
           004100                   PIC X(1)  OCCURS 26 TIMES.
           004200 COPY WRKRCD.
    29    +000100 01  WORK-RECORD.                                                             WRKRCD
    30    +000200   05 NAME-FIELD   PIC X(1).                                                  WRKRCD
    31    +000300   05 FILLER       PIC X(1)  VALUE SPACE.                                     WRKRCD
    32    +000400   05 RECORD-NO    PIC S9(3).                                                 WRKRCD
    33    +000500   05 FILLER       PIC X(1)  VALUE SPACE.                                     WRKRCD
    34    +000600   05 LOCATION     PIC A(3)  VALUE "NYC".                                     WRKRCD
    35    +000700   05 FILLER       PIC X(1)  VALUE SPACE.                                     WRKRCD
 5722WDS V5R4M0 060210 LN  IBM ILE COBOL          CBLGUIDE/SAMPLE       ISERIES1   06/02/15 11:18:21        ページ      5
  STMT PL SEQNBR -A 1 B..+....2....+....3....+....4....+....5....+....6....+....7..IDENTFCN  S COPYNAME   CHG DATE
    36    +000800   05 NO-OF-DEPENDENTS                                                        WRKRCD
          +000900                   PIC X(2).                                                  WRKRCD
    37    +001000   05 FILLER       PIC X(7)  VALUE SPACES.                                    WRKRCD
    38     004300 77  WORKPTR USAGE POINTER.
           004500*****************************************************
           004600* THE FOLLOWING PARAGRAPH OPENS THE OUTPUT FILE TO  *
           004700* BE CREATED AND INITIALIZES COUNTERS               *
           004800*****************************************************
    39     004900 PROCEDURE DIVISION.
           005100 STEP-1.
    40     005200     OPEN OUTPUT FILE-1.
    41     005300     MOVE ZERO TO KOUNT, NUMBR.
           005500*****************************************************
           005600* THE FOLLOWING 3 PARAGRAPHS CREATE INTERNALLY THE  *
           005700* RECORDS TO BE CONTAINED IN THE FILE, WRITES THEM  *
           005800* ON THE DISK, AND DISPLAYS THEM                    *
           005900*****************************************************
           006000 STEP-2.
    42     006100     ADD 1 TO KOUNT, NUMBR.
    43     006200     MOVE ALPHA  (KOUNT) TO NAME-FIELD.
    44     006300     MOVE DEPEND (KOUNT) TO NO-OF-DEPENDENTS.
    45     006400     MOVE NUMBR          TO RECORD-NO.
           006600 STEP-3.
    46     006700     DISPLAY WORK-RECORD.
    47     006800     WRITE RECORD-1 FROM WORK-RECORD.
           007000 STEP-4.
    48     007100     PERFORM STEP-2 THRU STEP-3 UNTIL KOUNT IS EQUAL TO 26.
           007300*****************************************************
           007400* THE FOLLOWING PARAGRAPH CLOSES FILE OPENED FOR    *
           007500* OUTPUT AND RE-OPENS IT FOR INPUT                  *
           007600*****************************************************
           007700 STEP-5.
    49     007800     CLOSE FILE-1.
    50     007900     OPEN INPUT FILE-1.
           008100*****************************************************
           008200* THE FOLLOWING PARAGRAPHS READ BACK THE FILE AND   *
           008300* SINGLE OUT EMPLOYEES WITH NO DEPENDENTS           *
           008400*****************************************************
           008500 STEP-6.
    51     008600     READ FILE-1 RECORD INTO WORK-RECORD
    52     008700       AT END GO TO STEP-8.
           008900 STEP-7.
    53     009000     IF NO-OF-DEPENDENTS IS EQUAL TO "0"
    54     009100       MOVE "Z" TO NO-OF-DEPENDENTS.
    55     009200     GO TO STEP-6.
           009400 STEP-8.
    56     009500     CLOSE FILE-1.
    57     009600     STOP RUN.
*==>                          a
*=a> LNC0650   0  Blocking/Deblocking for file 'FILE-1' will be performed by compiler-generated code.
                           * * * * *   ソ ー ス 仕 様 の 終 わ り   * * * * *

図 1 には、以下のフィールドが示されています。

 A 
コンパイラーが生成したステートメント番号: ソース・プログラム・リストの左に表示されます。 これらの番号は、FIPS リストを除くすべてのコンパイラー出力リストで参照されます。 1 つのステートメントが複数行にわたることもあり、1 行に複数のステートメントが含まれることもあります。 入力ソース・メンバーに一連の ILE COBOL ソース・プログラムが存在する場合、 ステートメント番号は新しいコンパイル単位ごとに 1 にリセットされます。 ステートメント番号は、1 つまたは複数のネストされた COBOL プログラムが含まれている単一のコンパイル単位ではリセットされません。
 B 
プログラム・ネスト・レベル: このフィールドに表示される数字は、プログラムのネストの程度を示します。
 C 
参照番号: ソース・ステートメントの左に表示されます。 このフィールドと列見出しに表示される番号 (このリストでは SEQNBR として表示) は、CRTCBLMOD または CRTBNDCBL コマンド、 あるいは PROCESS ステートメントで指定されたオプションによって決定されます。 次の表のとおりです。
オプション 見出し 出所

NONUMBER

SEQNBR

ソース・ファイル・シーケンス番号

NUMBER NUMBER ユーザー提供のシーケンス番号
LINENUMBER LINNBR コンパイラー生成のシーケンス番号
 D 
シーケンス・エラー標識欄: この欄の S は、その行がシーケンスから外れていることを示します。 参照番号フィールドの順序検査は、SEQUENCE オプションが指定される場合に限り実行されます。
 E 
コピー名: コピー名が ILE COBOL COPY ステートメントで指定されている場合に、 その COPY ステートメントによってソース・プログラムに含められたすべてのレコードについて、 コピー名がここに示されます。 DDS-ALL-FORMATS 句が使用される場合、<--ALL-FMTS という名前が COPYNAME の下に表示されます。
 F 
変更 / 日付フィールド: ここには、行が最後に修正された日付が示されます。
 G 
組み込みエラー: 第 1 レベルのエラー・メッセージは、リスト中のエラーが発生した行の後に示されます。 エラーの原因となる文節、ステートメント、または句が示されます。