I need to change SetFormAction routine...
After some hours of examinating, I decide to omit default SetFormAction routine and call my SetFormAction from within local routine, with some condition:
Example:
If loc:logok = 1
  loc:FormAction = p_web.GetValue('onsave')
  If loc:formaction = 'stay'
    loc:FormAction = p_web.Requestfilename
  Else
    loc:formaction = 'IndexPage'
  End
  if p_web.IfExistsValue('ChainTo')
    loc:formaction = p_web.GetValue('ChainTo')
    p_web.SetSessionValue('LoginForm_ChainTo',loc:FormAction)
    loc:formactiontarget = '_self'
  ElsIf p_web.IfExistsSessionValue('LoginForm_ChainTo')
    loc:formaction = p_web.GetSessionValue('LoginForm_ChainTo')
    loc:formactiontarget = '_self'
  End
  If loc:FormActionTarget = ''
    loc:FormActionTarget = '_self'
  End
  If loc:formaction = ''
    loc:formaction = lower(p_web.getPageName(p_web.RequestReferer))
  End
  loc:FormActionCancel = 'Login.html'
  loc:FormActionCancelTarget = ''
end
-------------------------------------
but this didnt work...
My goal to call 'IndexPage' only when condition (loc:logok) is true... 
After fetching data from logging database, loc:logok is set to true, I check this out, but local routine did not open IndexPage as expected....
Any hint on that?