Search code examples
openedgeprogress-4glprocedural-programming

Progress 4GL: How to find where a procedure is defined


I have Progress code which runs a procedure.

RUN myProc.

The procedure could be defined in the current external procedure, one of its super-procedures, the super-procedure of that one, the session super-procedure, etc. I understand that I cannot know until run-time where the procedure is defined because new super-procedures can be added at run-time.

Is there a way to know at run-time where (in what file) the procedure is defined?


Solution

  • You can iterate THIS-PROCEDURE:SUPER-PROCEDURES and SESSION:SUPER-PROCEDURES. Both are comma delimited lists of procedure handles.

    Every handle in that list has an property INTERNAL-ENTRIES which is a comma delimited list of internal procedure names.