Função disponível a partir da lib 20230109


Função que retorna um array com a stack de apps em utilização no momento
array json com a seguinte estrutura
appExec, appOwner, idApp, idOwner, seqApp

Retorno será em ordem decrescente de chamada

#include "protheus.ch"

/*/{Protheus.doc} ExecAppFun
descricao
@author Caio.Lima
@since 18/11/2022
/*/
Function ExecAppFun()
    FwCallApp("apptst1",,,,,,,.F.)
Return

//-------------------------------------------------------------------
/*/{Protheus.doc} JsToAdvpl
    chamada a partir do app
@author Caio Lima
@since 18/11/2022
//-----------------------------------------------------------------*/
Static Function JsToAdvpl(oWebChannel,cType,cContent)

    Do Case
        Case cType == "preLoad"
        Case cType == "exec"
            &(cContent)
        Case cType == "openApp1"
            FwCallApp("apptst1",,,,,,,.F.)
        Case cType == "openApp2"
            FwCallApp("apptst2",,,,,,,.F.)
        Case cType == "openApp3"
            FwCallApp("apptst3",,,,,,,.F.)
            Aviso( 'VarInfo', VarInfo('FwAppStack()', FwAppStack() , , .F. ) ,{'ok'} ,4,,,, .T.)
    EndCase
Return


FwAppStack() -> ARRAY (    2) [...]
     FwAppStack()[1] -> OBJECT (    5) [...]
          FwAppStack()[1]:appExec -> C (    7) [apptst2]
          FwAppStack()[1]:appOwner -> C (    7) [apptst1]
          FwAppStack()[1]:idApp -> C (    8) [AAAAAAAE]
          FwAppStack()[1]:idOwner -> C (    8) [AAAAAAAD]
          FwAppStack()[1]:seqApp -> N (   15) [         2.0000]
     FwAppStack()[2] -> OBJECT (    5) [...]
          FwAppStack()[2]:appExec -> C (    7) [apptst1]
          FwAppStack()[2]:appOwner -> C (    7) [apptst1]
          FwAppStack()[2]:idApp -> C (    8) [AAAAAAAD]
          FwAppStack()[2]:idOwner -> C (    8) [AAAAAAAC]
          FwAppStack()[2]:seqApp -> N (   15) [         1.0000]