1. File Layouts and Program Information.
2. Enable debugging, then in a task, click the Sage icon in the upper left menu bar, expand Debugging Environment, click Command mode window, click Halt, then type OBJ. (you can thank @AlnoorCassim for this tip).
3. Enable debugging, then in a task, click the Sage icon in the upper left menu bar, expand Debugging Environment, click Command mode window, click Halt, then type DUMP. You can then press enter to page through all of the details.
4. Use a little ProvideX program I wrote to dump the current program to a text file in the MAS90\Home\Textout directory. To use it, have the DumpData.pvc file in MAS90\CM\Script then from the debugging menu, you type the following, excluding the brackets, [PERFORM ""..\CM\Script\DumpData.pvc""]. The text file will reveal a lot about the current state of the program but if executed from the debugging window, the data dumped will be in the context of the UI object, to get the data at a table business object level, you define a UDS on the table and event and in the script it simply has the following, excluding the brackets, [oScript.Execute ""PERFORM """"..\CM\Script\DumpData.pvc""""""]. I've attached both the pvc and vbs. The attached vbs also has a line before the dump calling the ReadAdditional method just to make sure any child collections and objects are initialized before dumping the data. You can comment out as needed.