Presentation is loading. Please wait.

Presentation is loading. Please wait.

Presentation © Copyright 2002, Bryan Meyers Defining Data with Definition Specifications Chapter 3.

Similar presentations


Presentation on theme: "Presentation © Copyright 2002, Bryan Meyers Defining Data with Definition Specifications Chapter 3."— Presentation transcript:

1 Presentation © Copyright 2002, Bryan Meyers Defining Data with Definition Specifications Chapter 3

2 Programming in RPG IV Third Edition 2 Objectives Define work fields, data structures and other data items Identify the appropriate data type for data items Set the initial value for data items Distinguish among program variables, literals and constants

3 Programming in RPG IV Third Edition 3 Definition Specifications Define all fields in your program Definition specifications define work fields (standalone variables) –Input specifications define fields from database –S in position 24 indicates standalone variable Specify name, length, and decimal positions (if any) *.. 1...+... 2...+... 3...+... 4...+... 5...+... 6...+... 7...+... 8 DName+++++++++++ETDsFrom+++To/Len+IDc.Keywords+++++++++++++++++++++++++++++ D TotalDue S 7 2 D CtyStZip S 40

4 Programming in RPG IV Third Edition 4 Numeric Literal May include a decimal point and/or sign Sign must be the left most character of the literal May include digits 0 thru 9 Should never contain commas, dollar signs, or percent signs Must not be enclosed in apostrophes

5 Programming in RPG IV Third Edition 5 Character Literals To indicate that a value is a character literal simply enclose it with apostrophes

6 Programming in RPG IV Third Edition 6 Figurative Constants *BLANK(S) –Fills a character field with blanks *HIVAL –Fills a character with X’FFFF (all bits on) –Fills a numeric field with all 9s and + sign *LOVAL –Fills a character with x’000 (all bits off) –Fills a numeric field with all 9s and - sign *ZERO(S) –Fills a numeric field with zeros *ALL –Causes a string to be repeated in a field *OFF –Character value of ‘0’ *ON –Character value of ‘1’ *NULL –Used with pointers

7 Programming in RPG IV Third Edition 7 Assigning Initial Values to Data Specify the value using the INZ keyword in the field definition The value is indicated using a literal or a figurative constant *.. 1...+... 2...+... 3...+... 4...+... 5...+... 6...+... 7...+... 8 DName+++++++++++ETDsFrom+++To/Len+IDc.Keywords+++++++++++++++++++++++++++++ D MaxLimit S 7 2 INZ(10500.00) D CompName S 40 INZ(‘Kay Elmnop Enterprises’) D HighLimit S 7 2 INZ(*HIVAL)

8 Programming in RPG IV Third Edition 8 Zoned vs. Packed Decimal Zoned decimal requires a full byte of storage –Data type S in position 40 Packed decimal use a compressed storage format –Data type P in position 40 Integers and binary numbers require even less memory than the decimal data types do –Data type I (integer) –Data type U (unsigned integer) –Data type B (binary) *.. 1...+... 2...+... 3...+... 4...+... 5...+... 6...+... 7...+... 8 DName+++++++++++ETDsFrom+++To/Len+IDc.Keywords+++++++++++++++++++++++++++++ D TotalDue S 7S 2 D TotalDue2 S 7P 2 D UpDown S 5I 0 D RecCount S 10U 0

9 Programming in RPG IV Third Edition 9 Date, Time, and Timestamp Timestamp is a combination of date and time Define a standalone field, put a D (for dates), T (for times) and Z (for timestamp) in column 40 –Do not specify length or decimal positions *.. 1...+... 2...+... 3...+... 4...+... 5...+... 6...+... 7...+... 8 DName+++++++++++ETDsFrom+++To/Len+IDc.Keywords+++++++++++++++++++++++++++++ D EnrollDate S D D StartTime S T D TransTime S Z

10 Programming in RPG IV Third Edition 10 Indicator Data Type Referred to in other languages as Boolean data type Code N in column 40 Must be a single byte You can initialize to *ON or *OFF *.. 1...+... 2...+... 3...+... 4...+... 5...+... 6...+... 7...+... 8 DName+++++++++++ETDsFrom+++To/Len+IDc.Keywords+++++++++++++++++++++++++++++ D InpError S N INZ(*OFF)

11 Programming in RPG IV Third Edition 11 Defining Constants A named constant differs from a standalone in two respects –Value never changes during processing –Defined with no specified length Code the letter C, for constant, in column 24 Enter the value in the Keywords area *.. 1...+... 2...+... 3...+... 4...+... 5...+... 6...+... 7...+... 8 DName+++++++++++ETDsFrom+++To/Len+IDc.Keywords+++++++++++++++++++++++++++++ D FICA C.0765 D ExVicePres C 'John Adams' D PhoneEdtWd C '( ) - ' D IndDay C D'1776-07-04'

12 Programming in RPG IV Third Edition 12 Defining Data Structures Subdivide fields into subfields Change field data types Data structure has two parts –Data structure header –Definition for the subfields DS coded in 24-25 on D spec signals the beginning of a data structure Enter name of data structure in 7-21 *.. 1...+... 2...+... 3...+... 4...+... 5...+... 6...+... 7...+... 8 DName+++++++++++ETDsFrom+++To/Len+IDc.Keywords+++++++++++++++++++++++++++++ D OptName DS D SubfieldA 3 0 D SubfieldB 5 2

13 Programming in RPG IV Third Edition 13 Defining Data Structure Subfields Length notation –Leaves From blank and enters the subfield length in the To positions Absolute notation –From and To indicate the beginning and ending positions of the subfield Length notation is preferred

14 Programming in RPG IV Third Edition 14 Overlapping Subfields Locations of subfields can overlap Length notation uses the keyword OVERLAY –Absolute notation indicates the overlap with the From and To *.. 1...+... 2...+... 3...+... 4...+... 5...+... 6...+... 7...+... 8 DName+++++++++++ETDsFrom+++To/Len+IDc.Keywords+++++++++++++++++++++++++++++ D DS D Phone 10 0 D AreaCode 3 0 OVERLAY(Phone) D Exchange 3 0 OVERLAY(Phone:4) D LocalNbr 4 0 OVERLAY(Phone:7) //Using OVERLAY with *NEXT D DS D Phone 10 0 D AreaCode 3 0 OVERLAY(Phone) D Exchange 3 0 OVERLAY(Phone:*NEXT) D LocalNbr 4 0 OVERLAY(Phone:*NEXT)

15 Programming in RPG IV Third Edition 15 Points to Remember RPG IV requires you to define all fields your programs will use Input fields (from files) are defined using Input Specifications Standalone fields are defined using Definition Specifications You can use the keyword INZ to assign a value to a field

16 Programming in RPG IV Third Edition 16 Points to Remember Figurative constants are built-in literals with specified values Definition Specifications are used to define named constants as well as standalone fields RPG IV supports many data types –Character, numeric, date, Boolean, etc. Data structures let you subdivide fields into subfields and redefine fields


Download ppt "Presentation © Copyright 2002, Bryan Meyers Defining Data with Definition Specifications Chapter 3."

Similar presentations


Ads by Google