The source section shows records that comprise the ILE RPG source specifications. The root source member records are always shown. If OPTION(*EXPDDS) is also specified, then the source section shows records generated from externally described files, and marks them with a '=' in the column beside the line number. These records are not shown if *NOEXPDDS is specified. If OPTION(*SHOWCPY) is specified, then it also shows the records from /COPY members specified in the source, and marks them with a '+' in the column beside the line number. These records are not shown if *NOSHOWCPY is specified.
The source section also shows the conditional compilation process. All lines with /IF, /ELSEIF, /ELSE and /ENDIF directives and source lines selected by the /IF groups are printed and given a listing line number. If OPTION(*SHOWSKP) is specified, it shows all statements that have been excluded by the /IF, /ELSEIF, and /ELSE directives, and marks them with a '-------' in the column beside the statement. Line numbers in the listing are not incremented for excluded lines. All skipped statements are printed exactly as specified, but are not interpreted in any way. For example, an excluded statement with an /EJECT directive does not cause a page break. Similarly, /SPACE, /TITLE, /COPY and /EOF compiler directives are ignored if they are encountered in excluded lines. These statements are not shown if the default OPTION(*NOSHOWSKP) is specified; instead a message is printed giving the number of lines excluded.
The source section identifies any syntax errors in the source, and includes a match-field table, when appropriate.
If OPTION(*NOSRCSTMT) is specified, line numbers are printed sequentially on the left side of the listing to reflect the compiled source line numbers. Source IDs and SEU sequence numbers are printed on the right side of the listing to identify the source members and records respectively. For example, Figure 241 shows a section of the listing with a /COPY statement in line 35. In the root source member, the next line is a DOWEQ operation. In the listing, however, the DOWEQ operation is on line 39. The three intervening lines shown in the listing are from the /COPY source member.
Line <--------------------- Source Specifications ----------------------------------------------><---- Comments ----> Src Seq
Number ....1....+....2....+<-------- 26 - 35 -------->....4....+....5....+....6....+....7....+....8....+....9....+...10 Id Number
34 C MOVE '123' BI_FLD1 001500
35 C/COPY MYCPY 971104 001600
*--------------------------------------------------------------------------------------------*
* RPG member name . . . . . : MYCPY * 5
* External name . . . . . . : RPGGUIDE/QRPGLESRC(MYCPY) * 5
* Last change . . . . . . . : 98/07/24 16:20:04 * 5
* Text 'description' . . . . : 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
If OPTION(*SRCSTMT) is specified, sequence numbers are printed on the left side of the listing to reflect the SEU sequence numbers. Statement numbers are printed on the right side of the listing. The statement number information is identical to the source ID and SEU sequence number information. For example, Figure 242 shows a section of the listing that has a /COPY statement with sequence number 001600. The next line in the root source member is the same as the line with the next sequence number in the listing: sequence number 001700. The three intervening lines are assigned the SEU sequence numbers from the /COPY source member. The corresponding statement numbers are genereated from source IDs and SEU sequence numbers of the root and /COPY source members.
Seq <--------------------- Source Specifications ----------------------------------------------><---- Comments ----> Statement
Number ....1....+....2....+<-------- 26 - 35 -------->....4....+....5....+....6....+....7....+....8....+....9....+...10 Number
001500 C MOVE '123' BI_FLD1 001500
001600 C/COPY MYCPY 971104 001600
*--------------------------------------------------------------------------------------------*
* RPG member name . . . . . : MYCPY * 5
* External name . . . . . . : RPGGUIDE/QRPGLESRC(MYCPY) * 5
* Last change . . . . . . . : 98/07/24 16:20:04 * 5
* Text 'description' . . . . : 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
Figure 243 shows the entire source section for MYSRC with OPTION(*NOSRCSTMT) specified.
5769WDS V5R2M0 020719 RN IBM ILE RPG MYLIB/MYSRC ISERIES1 02/08/15 14:21:00 Page 2
1a
Line <---------------------- Source Specifications ----------------------------><---- Comments ----> Do Page Change Src Seq
Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line Date Id Number
S o u r c e L i s t i n g
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
* Compiler Options in Effect: *
*--------------------------------------------------------------------*
* Text 'description' . . . . . . . : *
* Text specified on the Control Specification *
* Generation severity level . . . : 10 *
* Default activation group . . . . : *NO *
* Compiler options . . . . . . . . : *XREF *GEN *
* *SECLVL *SHOWCPY *
* *EXPDDS *EXT *
* *SHOWSKP *NOSRCSTMT *
* *NODEBUGIO *NOEVENTF *
* Optimization level . . . . . . . : *NONE *
* Source listing indentation . . . : '| ' *
* Type conversion options . . . . : *NONE *
* Sort sequence . . . . . . . . . : *HEX *
* Language identifier . . . . . . : *JOBRUN *
* User profile . . . . . . . . . . : *USER *
* Authority . . . . . . . . . . . : *LIBCRTAUT *
* Truncate numeric . . . . . . . . : *YES *
* Fix numeric . . . . . . . . . . : *ZONED *INPUTPACKED *
* Allow null values . . . . . . . : *NO *
* Binding directory from Command . : BNDDIRA BNDDIRB *
* Library . . . . . . . . . . . : CMDLIBA CMDLIBB *
* Binding directory from Source . : BNDDIR1 BNDDIR2 *
* Library . . . . . . . . . . . : SRCLIB1 SRCLIB2 *
* "ext.nam" *
* *LIBL *
* Activation group . . . . . . . . : Srcactgrp *
* Enable performance collection . : *PEP *
* Profiling data . . . . . . . . . : *NOCOL *
*--------------------------------------------------------------------*
7 FInFile IF E DISK 971104 000700
*--------------------------------------------------------------------------------------------* 3
* RPG name External name *
* File name. . . . . . . . . : INFILE MYLIB/INFILE *
* Record format(s) . . . . . : INREC INREC *
*--------------------------------------------------------------------------------------------*
8 FKEYL6 IF E K DISK 971104 000800
*--------------------------------------------------------------------------------------------*
* RPG name External name *
* File name. . . . . . . . . : KEYL6 MYLIB/KEYL6 *
* Record format(s) . . . . . : REC1 REC1 *
* REC2 REC2 *
*--------------------------------------------------------------------------------------------*
9 FOutfile O E DISK 971104 000900
*--------------------------------------------------------------------------------------------*
* RPG name External name *
* File name. . . . . . . . . : OUTFILE MYLIB/OUTFILE *
* Record format(s) . . . . . : 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
* Data structure . . . . . . : DSEXT1 * 1
* Prefix . . . . . . . . . . : BI_ : 0 * 1
* External format . . . . . : REC1 : MYLIB/DSEXT1 * 1
* Format text . . . . . . . : Record format description * 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 record format . . . . : INREC * 2
* External format . . . . . : 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 record format . . . . : REC1 * 3
* External format . . . . . : 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 record format . . . . : REC2 * 4
* External format . . . . . : 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
Line <--------------------- Source Specifications ----------------------------------------------><---- Comments ----> Src Seq
Number ....1....+....2....+<-------- 26 - 35 -------->....4....+....5....+....6....+....7....+....8....+....9....+...10 Id Number
38 C MOVE '123' BI_FLD1 001500
39 C/COPY MYCPY 971104 001600
*--------------------------------------------------------------------------------------------* 6
* RPG member name . . . . . : MYCPY * 5
* External name . . . . . . : MYLIB/QRPGLESRC(MYCPY) * 5
* Last change . . . . . . . : 98/07/24 16:20:04 * 5
* Text 'description' . . . . : 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 002300
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
Line <---------------------- Source Specifications ----------------------------><---- Comments ----> Do Page Change Src Seq
Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line Date Id Number
57=OOUTREC 6000001
*--------------------------------------------------------------------------------------------* 6
* RPG record format . . . . : OUTREC * 6
* External format . . . . . : 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
* * * * * E N D O F S O U R C E * * * * *
1b
Seq <---------------------- Source Specifications ----------------------------><---- Comments ----> Do Page Change Statement
Number ....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+...10 Num Line Date Number
stmt_num = source_ID * 1000000 + source_SEU_sequence_number
Use this number when debugging using statement numbers.