-
In diesem Fall geht es ja genau darum. Es ist eine dynamische Tabelle, die HausId's beinhaltet.
Diese Liste ändert sich nicht stündlich. Jedes Programm, das im gleichen Aufrufstapel die Prozedur aufruft, soll das gleiche Ergebnis erhalten.
Aber danke für den Hinweis.
-
... ich würde die Variable schlicht in dem module global deklarieren, das ist förderlich für Modularisierung.
D*B
-
Hallo BenderD,
es ist kein Modul, sondern ein Serviceprogramm.
-
 Zitat von Lucky662
Hallo BenderD,
es ist kein Modul, sondern ein Serviceprogramm.
ohne Modul kein Serviceprogramm, Du meinst wohl es ist das einzige Modul im Serviceprogramm.
-
Also ein Serviceprogramm mit mehreren Modulen, auf die Idee würde ich nicht kommen. Wenn die Prozeduren thematisch zusammen gehören, dann sollten die Prozeduren auch in einem Modul stecken und somit ein Serviceprogramm mit einem Modul.
-
Globale Variablen in einem Modul (unabhängig davon ob es in ein Programm oder Service-Programm gebunden wird), können von allen (exportierten) Prozeduren innerhalb des gleichen Moduls verändert werden.
... und wahrscheinlich will man genau das umgehen.
-
... wenn das zum Problem wird, ist das Modul zu groß!
-
 Zitat von BenderD
... wenn das zum Problem wird, ist das Modul zu groß!
Das kann schon in dem Moment zum Problem werden, wenn in dem Modul mehr als eine Prozedur vorhanden ist.
... man sollte manchmal nicht glauben auf welche Ideen Programmierer kommen können!
-
Also wenn ich die Prozedur aufrufe, möchte ich das Ergebnis des letzten Aufrufs haben.
Ist die Variable global definiert, so kann jede Prozedur die Variable ändern und vor allen Dingen aus allen aufrufenden Programmen heraus. Wenn die Variable also im andernen Programm anders benutzt wird, sind die Folgen eventuell Fatal.
Deshalb wähle ich lokale Variablen in der einzelnen Prozedur.
-
 Zitat von Lucky662
Also wenn ich die Prozedur aufrufe, möchte ich das Ergebnis des letzten Aufrufs haben.
Ist die Variable global definiert, so kann jede Prozedur die Variable ändern und vor allen Dingen aus allen aufrufenden Programmen heraus. Wenn die Variable also im andernen Programm anders benutzt wird, sind die Folgen eventuell Fatal.
Deshalb wähle ich lokale Variablen in der einzelnen Prozedur.
... wenn Variablen nicht exportiert werden (was man auch besser bleiben lässt) sind sie nur innerhalb des Moduls sichtbar. Module sollten nur so groß sein, dass man den Überblick leicht behält. Macht man die statefull Variablen global, kann man den prozeduralen Anteil leichter modularisieren. Über die Parameter Schnittstellen kann man steuern, dass interne Zustände nicht von außen überschrieben werden können. Wichtig ist, dass man keine Parameter per reference weiterreicht, dann können sie nämlich verändert zurückkommen, selbst wenn sie lokal static definiert sind.
D*B
Similar Threads
-
By Peet in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 25-06-19, 10:59
-
By Kerki in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 07-08-18, 12:27
-
By svit in forum NEWSboard Programmierung
Antworten: 21
Letzter Beitrag: 30-01-17, 09:45
-
By opeker in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 21-10-15, 12:42
-
By Tonazzo in forum NEWSboard Programmierung
Antworten: 29
Letzter Beitrag: 15-09-15, 14:03
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks