export macht die Variable global für die ACTGRP sichtbar (soweit sie in einem Modul importiert wird), die Variable wird mit der Erzeugung der Activationgroup erzeugt und lebt bis zum Ende der Activationgroup und behält über die gesamte Lebensdauer ihren jeweiligen Inhalt bis zur nächsten Änderung.
RCLACTGRP impliziert das löschen des Inhalts aller global deklarierter Variablen, auch der exportierten, hat allerdings auch Nebenwirkungen und kann heimatlose Pointer zur Folge haben.
(BTW: LR ist hier nicht Zielführend).
Besser als Export/Import ist es; Prozeduraufrufe mit Parameter zu verwenden oder statt HUGO zu exportieren, Zugriffsprozeduren getHugo und setHugo zu exportieren, das ist besser kontrollierbar.

D*B

Zitat Zitat von jc_denton Beitrag anzeigen
Hallo zusammen,

ich habe zwei ILE-Pogramme, die mittels EXPORT-/IMPORT-Schlüsselwort kommunizieren.
Programm A schreibt etwas in die Variable und B ließt es aus.
Beide Programme sind korrekt gebunden und die Übertragung klappt wunderbar.
Nachdem die Verarbeitung abgeschlossen ist, bleibt der Variableninhalt weiterhin erhalten. Das ist ein Feature dieser Konstruktion.

Meine Frage lautet: Wie kann der Variableninhalt dennoch gelöscht werden, ohne gleich einen neuen Job starten zu müssen? Geht es über Befehle wie RCLACTGRP oder dergleichen?!


Gruß, jc