例 1:
myprog: proc options(main);
dcl procedurename builtin;
call sub1(procedurename());
sub1: proc( caller);
dcl caller char (*);
put skip list('The calling procedure is: ' || caller);
/* Note: procname() is equiv. of procedurename() */
put skip list('The current procedure is: ' || procname());
end;
end;
This program prints:
The calling procedure is: MYPROG
The current procedure is: SUB1
例 2:
/* Since Open PL/I does not support Packages, the name of the outermost */
/* procedure is aways returned for the PACKAGENAME() built-in. */
Micro: proc options(main);
call Focus();
Focus: proc;
put skip list (packagename() || ' ' || procedurename() );
end;
end;
次のように表示されます。
MICRO FOCUS