IF TYPE('_SCREEN.ActiveForm') = 'O' AND UPPER(_SCREEN.ActiveForm.BaseClass) = 'FORM' IF _Screen.ActiveForm.DataSession = 2 _Screen.ActiveForm.DataSessionID = <i>whatever</i> ENDIF ENDIF In order to operate in the context of the Active Form, add a custom class to your Form Parent class. PROCEDURE DoJunkPrg DO JunkPrg ENDPROC Now, your OKL calls: ON KEY F2 DO DoFormJunkPrg *DoFormJunkPrg.PRG IF PEMSTATUS('_SCREEN.ActiveForm.DoJunkPrg',3) = 'Method' _Screen.ActiveForm.DoJunkPrg() ENDIF Or to generalize for lots of OKLs PROCEDURE DoJunk LPARAMETER cPrgName DO (cPrgName) ENDPROC ON KEY F2 DO DoFormJunk WITH 'JunkPrg' *DoFormJunkPrg.PRG LPARAMETER cWhatToDo IF PEMSTATUS('_SCREEN.ActiveForm.DoJunk',3) = 'Method' _Screen.ActiveForm.DoJunkPrg(cWhatToDo) ENDIF