“Datenkapselung” bei ILE-subproceduren?
Beim Einsatz von ILE-subproceduren, also Programmteile in einem ILE-Programm, die zwischen zwei P-zeilen stehen, stellt sich die Frage nach der Gültigkeit von Variablen (local oder global?).
Dieses Thema wird in der IBM-Literatur als “scope of definition” bezeichnet und birgt einige Überraschungen:
- generell sind alle Variablen, die im main-Teil definiert sind, global (also überall gültig und verwendbar, auch innerhalb von subproceduren).
- Variablen, die in einer procedure definiert werden, gelten nur lokal innerhalb dieser einen procedure.
- Variablen, die in einer procedure und im main mit dem gleichen Namen definiert sind, werden in der procedure lokal angesprochen.
- subroutine-namen und tag-namen gelten nur in der procedure, in der sie definiert sind.
- alle Feld-Definitionen von input- und output-Spezifikationen sind global.
Damit kann also mit einer “Datenkapselung” im ILE-Konzept nur bedingt gearbeitet werden.










