Slide 1

advertisement
Welcome to RPG544
Bit about Cindy
Administrative Stuff
• Standards
• Due Dates
• Web Page
RPG IV
R – Report
P – Program
G – Generator
Version 4
History of RPG
• 1964: RPG - Report Program Generator
• 1969: RPG II
– With release of System/3
• 1979: RPG III
– Interactive programming
– Database
– Structured Programming
• 1988: RPG/400
– Upgrade to RPG III
• 1994: RPG IV
– Integrated Language Environment (ILE)
– Modular Programming
Things that made RPG unique
• Program Cycle
Read a record
Loop until Eof
process the record
read a record
End of loop
• Indicators
Specifications
• Programs are organized in a series of
specifications and appear in this order
Spec Type
Description
When Introduced
H
Header (control)
RPG
F
File
RPG
D
Definition
RPG IV
I
Input
RPG
C
Calculation
RPG
O
Output
RPG
P
Procedure
RPG IV
H-Specs (Control Specifications)
• Default formats (eg. Date formats)
• Changes to normal processing modes
– Eg changing the internal method that the
program uses to evaluate expressions
• Special options to use when compiling the
program
• Language enhancements that effect the
entire program
H Datfmt(*ISO) Timfmt(*HMS)
F-Specs
Position
Use
Position
Use
7-16
File Name
23-27
Record Length
For program described
17
File Type
(I, U, or O)
36-49
Device
Disk, Printer, Workstation
18
File Designation
Blank – output file
F – Full Procedural
P – Primary File (logic cycle)
S – Secondary File (logic
Cycle)
R – Record address file
T – Table
44-80
Keywords
(see appendix A of text book)
22
File Format
F – Program Described
E – Externally Described
D-Specs (Definition)
•
•
•
•
•
Standalone variables
Named constants
Data Structures
Prototypes
Procedure Interfaces
D-Specs
• Data name
– 15 characters
– Must start with a letter of the alphabet or $, # or @
– Remaining characters must be letters, numbers, _, #,
$ or @
• Declaration Type
–
–
–
–
–
DS – Data Structure
C – Constant
PR – Procedure
PI – Procedure Interface
S – Standalone Variable
D-Specs
• Length
– Length of Data
• Decimal Places
– Number of decimal places
• Data type
I-Specs (Field Definition)
• Used to define fields in the file
Pos
Use
Pos
Use
7 – 16
Filename
36
Data Type
17 – 18
Sequence
NS – if no sequence required
2 digit number if sequence is
required
37 – 46
Field Location
19
Number
Leave blank
47 – 48
Decimal Positions
Required by numeric fields
20
Option
Leave blank
49 – 62
Field Name
6 characters up to RPGIII
14 characters RPG IV
21 – 22
Record id (indicator)
C-Specs (Calculation)
• Program logic!
Factor1
Opcode
Factor2
Result
Indicators
• RPG IV introduces free form RPG for CSpecs
O-Specs (Output)
• Define the output of the program. May be report
definitions or database.
Pos
Use
Pos
Use
7-16
FileName
30 - 43
Field Names
17
Type
D-Detail
H-Header
E-Exception
T-Total
53 – 80
Constants / Edit Word
30 – 39
Exception Name
47 – 51
End Position
40 – 45
Skip and Space Entries
52
Edit code
P-Specs
• Will discuss later in the course
Add
qty1 add qty2
qty3
or
add qty
qty3
Sub
qty1
sub qty2
diff
or
sub qty
diff
Mult
price
mult qty
sales
or
mult 0.14
sales
Div
sales
div qty
price
or
div qty
sales
Read
• Reads the next record from a database
object (sequential read)
read sales
99
will ‘turn on’ indicator 99 if the end of file is
reached.
EXCPT (EXCEPT)
• Writes output to printer files
excpt format
IF
• RPG, RPGII, RPGIII
– IFEQ, IFNE, IFLE, IFLT, IFGT, IFGE, etc
– Ends with endif
qty
ifeq 0
endif
• RPGIV free format
– If
– Ends with endif
If qty = 0;
Endif;
Do Loops
• RPG, RPGII, RPGIII
– DOWEQ, DOWNE, DOUEQ, DOUNE etc
– Ends with ENDDO
Qty Doweq 0
enddo
• RPGIV free format
– DOW, DOU
– Ends with ENDDO
Dow qty < 0;
enddo;
Itempgm Demo
Download