Having all the pieces in front of you makes it easier to understand and debug or maintain a piece of code. Unfortunately, that's often not the case with compile-time arrays, since they are often separated from the code that uses them by many, many lines. Instead, data structures are often a better option.


== Noncompliant Code Example

[source,rpg]
----
     D directions      S              5  0 dim(4) ctdata perrcd(1)
----


== Compliant Solution

[source,rpg]
----
     D dirData         DS
     D                                5    Inz('North')
     D                                5    Inz('South')
     D                                5    Inz('East')
     D                                5    Inz('West')
     D directions                     5    Dim(4) Overlay(dirData)
----


ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

include::message.adoc[]

'''
== Comments And Links
(visible only on this page)

include::comments-and-links.adoc[]
endif::env-github,rspecator-view[]
