PROGRAM-NAME function

Returns the name of the calling program.

Syntax

PROGRAM-NAME( n )
n
The numeric argument. If n is 1, the name of the current program is returned. If n is 2, the name of the calling program is returned. If there is no calling program then you have reached the top of the call stack and the AVM returns the Unknown value (?).

Example

This procedure returns the names of any procedure(s) that called it and displays the number of levels that the procedure was nested:

r-prgnm.p

/* Note this program should be run as a subroutine. */
/* The deeper the nesting, the better the illustration. */

DEFINE VARIABLE level AS INTEGER NO-UNDO INITIAL 1.

REPEAT WHILE PROGRAM-NAME(level) <> ?:
  DISPLAY LEVEL PROGRAM-NAME(level) FORMAT "x(30)".
  level = level + 1.
END.

Notes