== Why is this an issue? The use of a result data structure with file I/O improves performance because it moves the data in one large block from file to data structure (or vice versa) rather than field by field. Additionally using a data structure can limit the problems caused by having bad data in a file. Without a data structure, the entire ``++READ++`` operation will fail at the first bad value. With one, the error comes only when the bad field is used. === Noncompliant code example [source,rpg] ---- F MyFile IF E Disk * Noncompliant C READ Record1 ---- === Compliant solution [source,rpg] ---- F MyFile IF E Disk D InputData DS LikeRec(Record1) C READ Record1 InputData ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message Use a result data structure for this file I/O. ''' == Comments And Links (visible only on this page) === on 2 Apr 2015, 17:42:59 Ann Campbell wrote: http://www.bmeyers.net/faqs/14-tips/32-rpg-iv-style?start=3 http://www.ibmsystemsmag.com/ibmi/developer/rpg/Ending-Those-Decimal-Data-Error-Blues/?page=1 endif::env-github,rspecator-view[]