ソース・セクション
ソース・セクションは、ILE RPG ソース仕様書を含むレコードを示しています。ルート・ソース・メンバー・レコードは常に表示されます。OPTION(*EXPDDS) も指定されると、 ソース・セクションは外部記述ファイルから生成されたレコードを示し、 それらの行番号の横の欄に '=' の印を付けます。これらのレコードは、*NOEXPDDS が指定された場合には表示されません。 OPTION(*SHOWCPY) が指定された場合には、これもまたソースに指定された /COPY メンバーからのレコードを示し、行番号の横の欄に '+' でこれらに印を付けます。これらのレコードは、*NOSHOWCPY が指定された場合には表示されません。
またソース・セクションは、条件付きコンパイル処理を示します。/IF、/ELSEIF、 /ELSE および /ENDIF 指示のあるすべての行および /IF グループが選択するソース行は印刷され、リスト行番号が指定されます。OPTION(*SHOWSKP) を指定すると、 /IF、/ELSEIF、および /ELSE 指示によって除外されたすべてのステートメントを表示し、 ステートメントの横の桁に '-------' の印を付けます。 リスト内の行番号は、除外された行について増分されることはありません。 スキップされたステートメントはすべて、指定されたとおり正確に印刷されますが、解釈はされません。 例えば、/EJECT 指示で除外されたステートメントによってページに切れ目が生じることはありません。 同様に、/SPACE、/TITLE、/COPY および /EOF コンパイラー指示は、除外行で検出されても無視されます。 こうしたステートメントは、 デフォルトの OPTION(*NOSHOWSKP) が指定されている場合には表示されません。 その代わりに、除外された行数を示すメッセージが印刷されます。
ソース・セクションは、ソースの構文エラーを識別し、適切であれば、フィールド表を含みます。
OPTION(*NOSRCSTMT) が指定された場合、行番号はリストの左側に順番に示され、コンパ イルされたソース行番号を反映します。ソース ID および SEU 順序番号は、リストの右 側に示され、ソース・メンバーおよびレコードをそれぞれ識別します。例えば 、図 1 は、行 35 に /COPY ステートメントが入っているリストの セクションを示します。 ルート・ソース・メンバーでは、次の行が DOWEQ 命令です。 しかし、このリストでは 、DOWEQ 命令は行 39 にあります。 リストに示された 3 つの中間の行は /COPY ソース・メンバーからのものです。
行 <--------------------- ソースの仕様 ----------------------------------------------><---- 注記 ----> Src Seq
番号 ....1....+....2....+<-------- 26 - 35 -------->....4....+....5....+....6....+....7....+....8....+....9....+...10 ID 番号
34 C MOVE '123' BI_FLD1 001500
35 C/COPY MYCPY 971104 001600
*--------------------------------------------------------------------------------------------*
* RPG メンバー名 . . . . . : MYCPY * 5
* 外部名 . . . . . . . . . . : RPGGUIDE/QRPGLESRC(MYCPY) * 5
* 最終変更 . . . . . . . . . : 98/07/24 16:20:04 * 5
* テキスト '記述' . . . . . : Text on copy member * 5
*--------------------------------------------------------------------------------------------*
36+C Blue(1) DSPLY 5000100
37+C Green(4) DSPLY 5000200
38+C Red(2) DSPLY 5000300
39 C *in20 doweq *OFF 001700
OPTION(*SRCSTMT) が指定された場合、順序番号は、リストの左側に示され、SEU 順序番号 を反映し ます。ステートメント番号は、リストの右側に示されます。ステートメント番号情報は 、ソース ID および SEU 順序番号情報と同じです。例えば 、図 2 は、順序番号 001600 をもつ /COPY ステートメントが 入っているリストのセクションを示しています。ルート・ソース・メンバーの次の行は 、リスト内の次の行番号、つまり順序番号 001700 をもつ行と同じです。リストに示さ れた中間の 3 行には、/COPY ソース・メンバーからの SEU 順序番号が割り当てられていま す。対応するステートメント番号は、ルート・ソース・メンバーおよび /COPY ソース・ メンバーのソース ID および SEU 順序番号から生成されます。
SEQ <------------------------------------ ソースの仕様 ----------------------------------------------><------ 注記 ------> Statement
番号 ....1....+....2....+<-------- 26 - 35 -------->....4....+....5....+....6....+....7....+....8....+....9....+...10 番号
001500 C MOVE '123' BI_FLD1 001500
001600 C/COPY MYCPY 971104 001600
*--------------------------------------------------------------------------------------------*
* RPG メンバー名 . . . . . : MYCPY * 5
* 外部名 . . . . . . . . . . : RPGGUIDE/QRPGLESRC(MYCPY) * 5
* 最終変更 . . . . . . . . . : 98/07/24 16:20:04 * 5
* テキスト '記述' . . . . . : Text on copy member * 5
*--------------------------------------------------------------------------------------------*
000100+C Blue(1) DSPLY 5000100
000200+C Green(4) DSPLY 5000200
000300+C Red(2) DSPLY 5000300
001700 C *in20 doweq *OFF 001700
図 3 は、OPTION(*NOSRCSTMT) が指定された MYSRC のソース・セクシ ョン全体を示しています。
5769WDS V5R2M0 020719 RN IBM ILE RPG MYLIB/MYSRC ISERIES1 02/08/15 14:21:00 Page 2
1a
行 <--------------------------- ソースの仕様 ---------------------------------><------ 注記 -------> Do Page 変更 SRC SEQ
番号 ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 番号 行 日付 ID 番号
ソ ー ス ・ リ ス ト
1 H DFTACTGRP(*NO) ACTGRP('Srcactgrp') CCSID(*GRAPH:*SRC) 980727 000100
2 H OPTION(*NODEBUGIO) 980727 000200
3 H BNDDIR('SRCLIB1/BNDDIR1' : 'SRCLIB2/BNDDIR2' : '"ext.nam"') 971104 000300
4 H ALTSEQ(*SRC) 971104 000400
5 H FIXNBR(*ZONED) 980728 000500
6 H TEXT('Text specified on the Control Specification') 971104 000600
*--------------------------------------------------------------------* 2
* 有効なコンパイラー・オプション: *
*--------------------------------------------------------------------*
* テキスト '記述' . .. . . . . . . : *
* Text specified on the Control Specification *
* 生成重大度レベル . . . . . . . . : 10 *
* 省略時の活動化グループ . . . . : *NO *
* コンパイラー・オプション . . . . : *XREF *GEN *
* *SECLVL *SHOWCPY *
* *EXPDDS *EXT *
* *SHOWSKP *NOSRCSTMT *
* *NODEBUGIO *NOEVENTF *
* 最適化レベル . . . . . . . : *NONE *
* ソース・リストの字下げ . . . . . : '| ' *
* タイプ変換オプション . . . . . . : *NONE *
* ソート順序 . . . . . . . . . . . : *HEX *
* 言語 ID . . . . . . : *JOBRUN *
* ユーザー・プロファイル . . . . . : *USER *
* 権限 . . . . . . . . . . . . . . : *LIBCRTAUT *
* 数値の切り捨て . . . . . . . . . : *YES *
* 数値の修正 . . . . . . . . . . . : *ZONED *INPUTPACKED *
* ヌル値可能 . . . . . . . . . . . : *NO *
* CMD からの BINDING ディレクトリー: BNDDIRA BNDDIRB *
* ライブラリー . . . . . . . . . : CMDLIBA CMDLIBB *
* SRC からの BINDING ディレクトリー: BNDDIR1 BNDDIR2 *
* ライブラリー . . . . . . . . . : SRCLIB1 SRCLIB2 *
* "ext.nam" *
* *LIBL *
* 活動化グループ . . . . . . . . . : Srcactgrp *
* パフォーマンス収集使用可能化 . . : *PEP *
*|-プロファイリング・データ . . . . : *NOCOL *
*--------------------------------------------------------------------*
7 FInFile IF E DISK 971104 000700
*--------------------------------------------------------------------------------------------* 3
* RPG 名 外部名 *
* ファイル名 . . . . . . . . : INFILE MYLIB/INFILE *
* レコード様式 . . . . . . . : INREC INREC *
*--------------------------------------------------------------------------------------------*
8 FKEYL6 IF E K DISK 971104 000800
*--------------------------------------------------------------------------------------------*
* RPG 名 外部名 *
* ファイル名 . . . . . . . . : KEYL6 MYLIB/KEYL6 *
* レコード様式 . . . . . . . : REC1 REC1 *
* REC2 REC2 *
*--------------------------------------------------------------------------------------------*
9 FOutfile O E DISK 971104 000900
*--------------------------------------------------------------------------------------------*
* RPG 名 外部名 *
* ファイル名 . . . . . . . . : OUTFILE MYLIB/OUTFILE *
* レコード様式 . . . . . . . : OUTREC OUTREC *
*--------------------------------------------------------------------------------------------*
10 D Blue S 4 DIM(5) CTDATA PERRCD(1) 971104 001000
11 D Green S 2 DIM(5) ALT(Blue) 971104 001100
12 D Red S 4 DIM(2) CTDATA PERRCD(1) 980727 001200
13 D DSEXT1 E DS 100 PREFIX(BI_) INZ(*EXTDFT) 980727 001300
14 D FLD3 E INZ('111') 980727 001400
*--------------------------------------------------------------------------------------------* 4 1
* データ構造 . . . . . . : DSEXT1 * 1
* 接頭部 . . . . . . . . . . : BI_ : 0 * 1
* 外部フォーマット . . . . . : REC1 : MYLIB/DSEXT1 * 1
* 様式テキスト . . . . . . . : レコード様式の説明 * 1
*--------------------------------------------------------------------------------------------* 1
5
15=D BI_FLD1 5A EXTFLD (FLD1) FLD1 description 1000001
16=D INZ (*BLANK) 1000002
17=D BI_FLD2 10A EXTFLD (FLD2) FLD2 description 1000003
18=D INZ (*BLANK) 1000004
19=D BI_FLD3 18A EXTFLD (FLD3) FLD3 description 1000005
20=D INZ ('111') 1000006
21=IINREC 2000001
*--------------------------------------------------------------------------------------------* 2
* RPG レコード様式 . . . . : INREC * 2
* 外部フォーマット . . . . . : INREC : MYLIB/INFILE * 2
*--------------------------------------------------------------------------------------------* 2
22=I A 1 25 FLDA 2000002
23=I A 26 90 FLDB 2000003
24=I 13488 *VAR C 91 112 UCS2FLD 2000004
25=IREC1 3000001
*--------------------------------------------------------------------------------------------* 3
* RPG レコード様式 . . . . : REC1 * 3
* 外部フォーマット . . . . . : REC1 : MYLIB/KEYL6 * 3
*--------------------------------------------------------------------------------------------* 3
26=I *ISO-D 1 10 FLD12 3000002
27=I A 11 13 FLD13 3000003
28=I A 14 17 FLD14 3000004
29=I A 18 22 FLD15 3000005
30=I 13488 C 23 32 FLDC 3000006
31=I 13488 *VAR C 33 44 FLDCV 3000007
32=I 835 G 45 54 FLDG 3000008
33=IREC2 4000001
*--------------------------------------------------------------------------------------------* 4
* RPG レコード様式 . . . . : REC2 * 4
* 外部フォーマット . . . . . : REC2 : MYLIB/KEYL6 * 4
*--------------------------------------------------------------------------------------------* 4
34=I *ISO-D 1 10 FLD22 4000002
35=I A 11 13 FLD23 4000003
36=I A 14 17 FLD24 4000004
37=I A 18 22 FLD25 4000005
行 <--------------------- ソースの仕様 ----------------------------------------------><---- 注記 ----> Src Seq
番号 ....1....+....2....+<-------- 26 - 35 -------->....4....+....5....+....6....+....7....+....8....+....9....+...10 ID 番号
38 C MOVE '123' BI_FLD1 001500
39 C/COPY MYCPY 971104 001600
*--------------------------------------------------------------------------------------------* 6
* RPG メンバー名 . . . . . : MYCPY * 5
* 外部名 . . . . . . . . . . : MYLIB/QRPGLESRC(MYCPY) * 5
* 最終変更 . . . . . . . . . : 98/07/24 16:20:04 * 5
* テキスト '記述' . . . . . : Text specified on Copy Member * 5
*--------------------------------------------------------------------------------------------*
7
40+C Blue(1) DSPLY 5000100
41+C Green(4) DSPLY 5000200
42+C Red(2) DSPLY 5000300
8
43 C *in20 doweq *OFF 001700
44 C | READ InRec ----20 001800
45 C | if NOT *in20 001900
46 C FLDA | | DSPLY 002000
47 C | endif 002100
48 C enddo 002200
49 C write outrec
9
50 C SETON LR---- 002400
47 C/DEFINE ABC 971104 002500
51 C/IF DEFINED(ABC) 971104 002600
52 C MOVEL 'x' Y 10 002700
54 C MOVEL 'x' Z 10 002800
55 C/ELSE 971104 002900
10
------ C MOVEL ' ' Y 10 971104 003000
------ C MOVEL ' ' Z 10 971104 003100
56 C/ENDIF 971104 003200
行 <--------------------------- ソースの仕様 ---------------------------------><------ 注記 -------> Do Page 変更 SRC SEQ
番号 ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 番号 行 日付 ID 番号
57=OOUTREC 6000001
*--------------------------------------------------------------------------------------------* 6
* RPG レコード様式 . . . . . : OUTREC * 6
* 外部フォーマット . . . . . : OUTREC : MYLIB/OUTFILE * 6
*--------------------------------------------------------------------------------------------* 6
58=O FLDY 100A CHAR 100 6000002
59=O FLDZ 132A CHAR 32 6000003
60=O GRAPHFLD 156G GRPH 12 835 6000004
* * * * * ソ ー ス の 終 わ り * * * * *
- 1a *NOSRCSTMT ソース見出し
- 上の例のソース見出しは、OPTION(*NOSRCSTMT)
を指定して生成されたものです。
- 行番号
- 1 で始まり、各ソースまたは生成されたレコードで 1 ずつ増えます。ステートメント番号を使用してデバッグする時には、この番号を使用してくだ さい。
- 桁表示行
- この行は、字下げが指定された時に調整されます。
- DO NO.
- 構造化命令のレベルを指定します。 字下げが要求された場合には、この番号は現れません。
- PAGE 行
- ソース・レコードの最初の 5 桁を示します。
- Src ID
- レコードのソース (/COPY または DDS) を指定します。 /COPY メンバーの場合には、これを使用して、/COPY メンバー・テーブルから 外部メンバー名を入手することができます。
- 順序番号 (リストの右側に示されるもの)
- ソース物理ファイルのメンバーからのレコードの SEU 順序番号を 示します。 /COPY メンバーからのレコードまたは DDS からのレコードの増分番号を示します。
- 1b *SRCSTMT ソース見出し
- OPTION(*SRCSTMT) が指定された場合には、ソース見出しは、次のように変わりま
す。
桁表示行、DO NUM、および PAGE 行は、変わりません。
1b SEQ <--------------------------- ソースの仕様 --------------------------------><------ 注記 ------> DO PAGE 変更 Statement 番号 ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 番号 行 日付 番号- 順序番号 (リストの左側に示されるもの)
- ソース物理ファイルのメンバーからのレコードの SEU 順序番号を 示します。 /COPY メンバーからのレコードまたは DDS からのレコードの増分番号を示します。
- STATEMENT 番号
- 以下のような、ソース ID 番号および SEU 順序番号から生成されたステートメント番号を
示します。
ステートメント番号を使用してデバッグする時には、この番号を使用してくだ さい。ステートメント番号 = ソース ID * 1000000 + ソース SEU 順序番号
- 2 有効なコンパイラー・オプション
- 有効なコンパイラー・オプションを識別します。コンパイル・オプション・キーワードが 制御仕様書に指定されると表示されます。
- 3 ファイル/レコード情報
- 外部記述ファイル、およびこれが含むレコードを指定します。
- 4 DDS 情報
- フィールド情報がどの外部記述ファイルから取り出されるかを 確認します。 指定された場合には、接頭部値が示されます。 DDS で指定された場合には、 様式レコード・テキストが示されます。
- 5 生成された仕様書
- 行番号の横に '=' が示された、DDS から生成された仕様書を 示します。 DDS で指定された場合には、最大 50 桁のフィールド・テキストを示します。 定義仕様書に INZ キーワードで指定されたとおりの初期値を示します。 外部記述データ構造サブフィールドに INZ(*EXTDFT) が指定された場合には、DDS デフォルト値が表示されます。長すぎて 1 行に収まらないデフォルト値は、切り捨てら れ、終わりに '…' が付けられます。
- 6 /COPY メンバー情報
- 使用される /COPY メンバーを指定します。 もしあれば、メンバー・テキストを示します。メンバーへの最終変更の日付および時刻を示します。
- 7 /COPY メンバー・レコード
- /COPY メンバーからのレコードを示しますが、これは行番号の横に '+' で示さ れます。
- 8 字下げ
- 構造化命令にマークを付けるように要求した時に、構造化命令がどのように現 れるかを示します。
- 9 標識使用状況
- 標識が使用される時に、未使用の標識の位置を示します。
- 10 OPTION(*SHOWSKP) の使用
- /IF 指示によって除外される 2 つのステートメントは、 横に '-------' を付けて表示されます。 OPTION(*NOSHOWSKP) が指定されると、この 2 つのステートメントは、 LINES EXCLUDED: 2 に置き換えられます。