“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:

  1. generell sind alle Variablen, die im main-Teil definiert sind, global (also überall gültig und verwendbar, auch innerhalb von subproceduren).
  2. Variablen, die in einer procedure definiert werden, gelten nur lokal innerhalb dieser einen procedure.
  3. Variablen, die in einer procedure und im main mit dem gleichen Namen definiert sind, werden in der procedure lokal angesprochen.
  4. subroutine-namen und tag-namen gelten nur in der procedure, in der sie definiert sind.
  5. alle Feld-Definitionen von input- und output-Spezifikationen sind global.

Damit kann also mit einer “Datenkapselung” im ILE-Konzept nur bedingt gearbeitet werden.

Geschrieben um 262253H Sep 2007 in der Kategorie 1. iSeries-Feinheiten. Antworten kommen auch per rss-feed RSS 2.0. Both comments and pings are currently closed.

Comments are closed.

  • Author

    Ich bin Computer-Fan (45). Diesen Blog schreibe ich, weil ich die Welt ein bisschen einfacher machen möchte.

  • Subscribe

    Subscribe to RSS Google Reader or Homepage Subscribe Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online Add to MyMSN Add to My AOL Subscribe to PageFlakes Subscribe in Rojo Add to Technorati Favorites!