Olá, tudo bem?
Prezados, alguém conheçe alguma função ADVPL em que se eu repassar o nome do programa por parâmetro, ela me retorne o título da rotina?
Exemplo: MATA410 - Pedidos de Venda
Obrigado
Olá, tudo bem?
Prezados, alguém conheçe alguma função ADVPL em que se eu repassar o nome do programa por parâmetro, ela me retorne o título da rotina?
Exemplo: MATA410 - Pedidos de Venda
Obrigado
Bom dia,
A Função ProcName() me atendeu. Essa função retorna toda arvore de processo:
Se vc usar Procname(4), ela retorna a pilha de chamada: Exemplo:
"{||FWPreExecute('Clites', 'XMCD072()', 3, '01', 'xxxxxxxxxx') }"--> onde Clites é o titulo da minha função no Menu
Repare que o retorno, é separado por aspas simples, voce pode converter isso em array, e jogar e uma variavel: Exemplo:
cTitMenu:= SEPARA(Procname(4),"'",.T.)[2] --> separa por aspas simples, como no retorno
cTitMenu será igual a: Clites
Me diz se isso te atende...
Elielton,
Eu necessito consultar o título\descrição de qualquer rotina, independente de estar na pilha de chamadas ou não.
Logo, à solução que você repassou não atende à minha necessidade.
— Marcelo I Castro Joner 12 de May de 2022hum... vlw pelo retorno. Eu precisei de um controle de rotinas , aquele trecho que te passei é para rotinas clicadas no Menu, de fato não te atende. Talvez a solução seja voce ler o .xnu, até mesmo porque tem rotinas que estão em mais de um Menu ou mais de um Modulo e estão com titulos diferentes.
— Elielton Oliveira 12 de May de 2022Pode usar esta função nas duas rotinas que pega a rotina corrente.
Ex: Local cNmFun := FUNNAME()
Titulo da Rotina através de função Eu desconheço.
— Rhander 12 de May de 2022A função FUNNAME() retorna à função que esta em execução, a minha necessidade é retornar o nome\descrição\título de um programa que eu repassar por parâmetro...
— Marcelo I Castro Joner 12 de May de 2022Eu entendi sua questão é que realmente retornar o título Eu desconheço. Sugiro abrir um ticket para a turma do ADVPL, po que se existir não esta no TDN..
— Rhander 12 de May de 2022