IBM AS/400 Frozen Dessert Maker User Manual


 
Stepping Through the Program Object
** Note that you can enter the data structure name or a subfield name. **
> EVAL DS3
TITLE OF DS3 = 'Mr. ' 5A INZ('Mr. ')
LASTNAME OF DS3 = 'Jones ' 10A INZ('Jones ')
FIRSTNAME OF DS3 = 'Fred ' 10A INZ('Fred ')
> EVAL LastName
LASTNAME = 'Jones '
> EVAL DS1 OCCURS(3)
FLD1 OF DS1 = 'ABCDE' 5A INZ('ABCDE')
FLD1A OF DS1(1) = 'A' 1A DIM(5) OVERLAY(Fld1)
FLD1A OF DS1(2) = 'B' 5B 2 INZ(123.45)
FLD1A OF DS1(3) = 'C'
FLD1A OF DS1(4) = 'D'
FLD1A OF DS1(5) = 'E'
FLD2 OF DS1 = 123.45
> EVAL _QRNU_DSI_DS1 ** Determine current index value **
_QRNU_DSI_DS1 = 1
> EVAL DS1=%INDEX(2) ** Change the occurrence of DS1 **
DS1=%INDEX(2) = 2
> EVAL Fld1 ** Display a Subfield **
FLD1 = 'ABCDE' (current occurrence)
> EVAL fld1(2)
FLD1(2) = 'ABCDE' (second occurrence)
> EVAL Fld1a ** Display an Array Overlay Subfield **
FLD1A OF DS1(1) = 'A' (current occurrence)
FLD1A OF DS1(2) = 'B'
FLD1A OF DS1(3) = 'C'
FLD1A OF DS1(4) = 'D'
FLD1A OF DS1(5) = 'E'
> EVAL Fld1a(2,1) ** Display 2nd occurrence, 1st element **
FLD1A(2,1) = 'A'
> EVAL Fld1a(2,1..2) ** Display 2nd occurrence, 1st - 2nd elements **
FLD1A(2,1) = 'A'
FLD1A(2,2) = 'B'
Figure 100. Using EVAL with Data Structures
To display a data structure for which no subfields have been defined, you must use
the character display function of EVAL which is discussed below.
Displaying Indicators
Indicators are defined as 1-byte character fields. Except for indicators such as
*INLR, you can display indicators either as '*INxx' or '*IN(xx)'. Because the system
stores indicators as an array, you can display them all or some subset of them
using the range notation. For example, if you enter EVAL *IN, you will get a list of
indicators 01 to 99. To display indicators *IN01 to *IN06 you would enter EVAL
*IN(1..6).
Figure 101 on page 205 shows each of these ways using the indicators as they
were set in DBGEX.
204 ILE RPG for AS/400 Programmer's Guide