-
 Zitat von B.Hauser
ILE-Programme mit Aktivierungs-Gruppe *CALLER, die von OPM-Programmen aufgerufen werden bzw. Programmen, die in der Default-Aktivierungs-Gruppe laufen, werden weder mit RCLRSC noch mit RCLACTGRP freigegeben. Beim erneuten Aufruf werden nur die Variablen initialisiert und *INSR ausgeführt. Default-Aktivierungs-Gruppen werden nur durch das Job-Ende (normal oder abnormal) beendet.
Birgitta
Gehst du jetzt davon aus das die ILE-Programme *INLR = *OFF haben? Falls ja: Ich dachte die Variablen werden beim erneuten Aufruf nicht initialisiert?
Ausserdem, wenn ich mir das Beispiel aus dem Redbook ILE Concepts (V5R2M0) auf Seite 96-97 ansehe sieht es schon so aus als ob die Resourcen eines ILE-RPG Programms das in der Standard-Aktivierungsgruppe läuft nach einem RCLRSC wieder freigegeben werden.
Zum Testen: Wie krieg ich raus ob von einem Programm noch Teile im Speicher sind (z.B. Variablen,...). Kann man sich das irgendwo anzeigen lassen?
MfG
Martin Stöberl
-
Testen kannst du das konkret mittels STRDBG, indem du z.B. eine *INZSR-Routine einbaust und dort einen Breakpoint setzt (alternativ ein DSPLY in der *INZSR).
Bei Neu-/Aktivierung wird *INZSR ausgeführt, ansonsten nicht.
-
Wenn ein Modul mit *INLR = *ON verlassen wird, wird IMMER die *INZSR ausgeführt bzw. die Variablen intitialisiert, unabhängig davon, ob eine Aktivierung stattgefunden hat oder nicht.
Wird eine Modul mit Return verlassen, wird die *INZSR nur beim ersten Aufruf ausgeführt bzw. immer dann, wenn eine neue Aktivierung stattgefunden hat. Hat also das rufende Programm die Aktivierungsgruppe *New wird bei dem aufgerufenden Programm die *INZSR jedes Mal ausgeführt.
Wäre dies nicht so, hatte es für manch einen nach der Konvertierung von RPGIII zu RPGIV ein böses Erwachen gegeben.
Prozeduren unterliegen nicht mehr dem Zyklus und sind daher von *INLR und Return unabhängig und können rekursiv aufgerufen werden. Return muss sogar nur angegeben werden, wenn ein Rückgabe-Wert ausgegeben werden muss. Prozeduren erhalten für jeden Aufruf ein neues initialisiertes Variablen Set.
Birgitta
-
OK, ich denke soweit hab ich's begriffen.
Wie sieht es eigentlich bei der Performance (= Zeit zum Initialisieren/Einrichten des Speichers für das Programm) beim ersten Aufruf aus? Macht es da einen Unterschied ob ich das Programm in der Standardaktivierungsgruppe, einer benannten Aktivierungsgruppe oder der Aktivierungsgruppe *NEW laufen lasse?
cu
Martin
Similar Threads
-
By shorty in forum NEWSboard Drucker
Antworten: 7
Letzter Beitrag: 20-12-06, 16:11
-
By Beffe in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 08-11-06, 15:43
-
By y-richy in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 10-08-06, 13:59
-
By Stoeberl in forum NEWSboard Server Software
Antworten: 1
Letzter Beitrag: 29-06-06, 14:56
-
By Andreas.Meyer in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 11-06-06, 09:08
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