Create a VL reusable part named UF_TRVRS. Copy and paste the supplied example code from UF_TRVRS - Signal VLF Objects into it and compile it.
UF_TRVRS is the engine that drives all queries. It traverses the current and signals back to your program when it finds different types of Framework objects:
You start it by invoking #UF_TRVRS.uTraverseFramework. For each object encountered uTraverseFramework sends a signal back to your query program. The signals are not issued in any particular order. This process is very like parsing an XML document.
For example, it you wanted to make a list of all the captions of all the applications in a Framework you would add a routine like this to your query program:
EvtRoutine Handling(#UF_TRVRS.Application) Reference(#TheApplication)
#Std_TextL := #TheApplication.Ucaption.AsNativeString