Anwendungsgebiet: Umgebungsinformationen
Die Funktion PROC-NAME() liefert den Original-Namen des Funktionsaufrufers.
Meistens lässt sich dieser Name alternativ auch mit SYSCMD() ermitteln. Die Kommandos CALL-, ENTER- und INCLUDE-PROCEDURE kopieren jedoch manchmal die im Kommando angegebene Prozedur und bringen dann die Kopie zum Ablauf. Dann liefert SYSCMD() den Namen der Kopie, PROC-NAME() dagegen den Namen der Original-Prozedur, die kopiert worden ist.
Format
PROC-NAME( ) |
Ergebnistyp
STRING
Eingabeparameter
Keine
Ergebnis
Der zum Aufruf der aktuellen Prozedur mit dem Kommando CALL-, ENTER- oder INCLUDE-PROCEDURE verwendete Prozedurname (eine Datei, ein Bibliothekselement oder eine Variable).
datei
Datei, aus der die aktuelle Prozedur aufgerufen wurde.
*LIBRARY-ELEMENT(bibliothek,element(version),typ)
Bibliothekselement (bestimmt durch den Bibliotheksnamen, den Elementnamen mit Version sowie den Elementtyp), aus dem die aktuelle Prozedur aufgerufen wurde.
Achtung
Wenn die Originalprozedur mit /ENTER-PROCEDURE *LIBRARY-ELEMENT(…) aufgerufen wurde, gelten derzeit folgende Einschränkungen:
- Die Ausgabe der Elementversion ist immer *HIGHEST-EXISTING, die Ausgabe des Elementtyps ist immer *STD
- Bei der Addition der Länge von Bibliotheksname und Elementname sollten maximal 52 Zeichen nicht überschritten werden (siehe Handbuchbeschreibung des ENTER-PROCEDURE-Kommandos). Wenn längere Namen verwendet werden, werden Bibliotheks- und/oder Elementname wie im Beispiel mit dem Platzhalter Sternchen „*“ gekürzt:
*LIBRARY-ELEMENT(:ANY:$EXAMPLE.LIB.TEST.LONGNAME*,P.TESTELEM.LONGNAM*(*HIGHEST-EXISTING),*STD)
Diese Einschränkungen sind nicht garantiert und können in Zukunft abgeschafft werden!
*VARIABLE(variable)
Listenvariable, aus der die aktuelle Prozedur aufgerufen wurde.
*PRIMARY
Rückgabewert, wenn PROC-NAME() nicht aus aus einer Prozedur heraus aufgerufen wird.
Fehlermeldung
Keine Fehlermeldungen