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