>What I am missing (because I never did in the past is how to create the global property, i.e. oApp.CurrentUser once I have oApp.
DEFINE CLASS oApp AS SESSION
CurrentUser = .NULL.
PROCEDURE Init()
USE MyUserTable
GO TOP
This.CurrentUser = MyUserTable.UserID
ENDPROC
ENDDEFINE
To do it visually, create a classlib, add a custom, or session class. Under the Class method, create a custom property for each bit of data you need.
You'll probably want to review this issue in some detail before you just start out. I believe that the Application Wizard creates an oApp object (I don't have time to check this right now). There is also a free version of Code Book that will illustrate application frameworks.