Your code will only read the first record in the file, then keep displaying the three variables. You need another read in your loop. You should also set the pointer to the first key in your file (you have the file defined as keyed) using setll :-
FMYFILE IF E K DISK
<b>C *LOVAL SETLL MYFILE</b>
C READ PFRPG1
C DOW NOT%EOF
C NAME DSPLY
C ID DSPLY
C ADDRESS DSPLY
<b>C READ PFRPG1 </b>
C SETON LR
This should loop through displaying the values for each record.
If yhu are calling this program/not submitting it then you should have seen the first values.
Not getting any output .. make certain there are rercords inthe MyFile.
You can check this with DSPFD MyFile. Record count would be near the bottom.