Árvore de páginas

ERROR - ParamIxb para gravar dados do usuário no nome do arquivo na pasta spool

Linha de Produto:

Microsiga Protheus

Segmento:

Recursos Humanos

Módulo:

Gestão de Pessoal

Função:

PE padrão RPTNAME

Situação/Requisito:

Ao tentar gerar o relatório GPER102 em Spool o sistema gera ERRLOG

Solução/Implementação:

Para relatórios em TReport este PE possui o diretório completo do arquivo no parâmetro PARAMIXB[1]. Para os demais relatórios temos apenas o nome dele no PARAMIXB[1]. Para tratar esta situação,

sugerimos alterar seu Ponto de Entrada da seguinte forma:


User Function RPTNAME()

Local nTam     := 0
Local cNome    := ''
Local cNomeVar := ParamIxb[1] // Fonte TReport terá por exemplo: "\SPOOL\GPER102.prt" Já os demais possuem apenas o nome do arquivo "GPER102"


cNomeVar   := Alltrim (cNomeVar)
cNomeVar   := Upper  (cNomeVar)
nTam       := Len (cNomeVar)

If nTam > 0 .And. At("\",cNomeVar) > 0 //para Linux a barra deve ser invertida

While nTam > 0 //remove caminho completo do nome

   If substr(cNomeVar,nTam,1) != "\" 
    cNome := substr (cNomeVar,nTam,1) + cNome
   nTam  -= 1
   Else
    nTam := 0
    EndIf

End

cNome := strtran(cNome,".PRT","",1,1)//remove extensao

Else

cNome := cNomeVar

EndIf

If !Empty(cNome)

Return cNome + "_" + Alltrim(cUserName) + "_" + DToS(Date()) + StrTran(Time(),":","")

EndIf


Return

Tickets relacionados:

1491528