Bedingte Kompilierung in RPG (LE)
-
18-09-2019 - |
Frage
Kann ich einen Abschnitt von Code basierend auf, ob eine Variable in meinem Programm definiert ist, oder ist der Präprozessor völlig unfähig, auf diese Informationen zuzugreifen, nur Kompilation Bedingungen? D. h Ich bin nach so etwas wie:
/IF DEFINED(myVariable)
D myOtherVariable S like(myVariable)
/ELSE
D myOtherVariable S 20A
/ENDIF
Das Link rel="nofollow erscheinen vorzuschlagen es ist nicht möglich. Wenn ja weiß jemand eine andere Art und Weise, dies zu erreichen?
Lösung
Es wäre eine schöne Sache zu haben, aber leider ist es nicht so heute arbeiten. Der Wert in Klammern nach DEFINIERT muss eine definierte Bedingung Name sein , kein Variablenname. Die Art und Weise, es Arbeit zu machen, ist ein haben / directive DEFINE, wenn Sie, dass bestimmte Variable in einem der Programme oder Programmausführungen definieren. Es hängt alles von der Nutzung für diese Situationen so weit wie, ob dies eine empfohlene Praxis ist.
Der Link in Ihrer Frage vorgesehen ist spot-on, und ich stimme mit den Schlussfolgerungen.
Andere Tipps
Als zusätzlicher Hinweis, verwenden Sie die C-Programmierung Bücher zu diesem Thema, nicht die IBM RPGLE Bücher. Die IBM-Bücher beschreiben, was mit Richtlinien durchgeführt werden kann. Die C Bücher beschreiben, wie es in der realen Welt-Programmen verwendet wird (zum Beispiel Linux Open-Source-Programme). Im Anschluss an diesen Stil macht Ihre RPG Quellen viel besser lesbar für andere Programmierer.