Função StartJOB - Variavel DDATABASE

Estou tentando criar uma rotina usando a função Start JOB, porem fica dando erro nessa variavel alguem ja pegou esse erro ?

Variables in use Publicas Public 1: CPAISLOC(C) :BRA Public 2: ASX8(A) :

STACK U_TSTJOB(CTBP4SK0.PRW) 24/02/2021 08:48:30

Files

Stack : variable does not exist DDATABASE on U_TSTJOB


StartJob("U_TSTJOB()",GetEnvServer(),.F.)

User Function TSTJOB() Conout("TESTE JOB") Return Nil

As Soluções abaixo embora sejam corretas de acordo com o TDN.

NEnhuma funcionou comigo.

No meu caso, eu tive que usara DDataBase como Parâmetro de entrada, mesmo não precisando dela para Nada

Consegue anexar o seu código fonte completo para vermos?

Bom dia Guilherme ! Tem que usar o PREPARE ENVIRONMENT na sua função.

Testei também, coloquei apenas o PREPARE ENVIRONMENT, mais nada, e ele acusa o erro nessa variavel

Fiz o teste abaixo e não deu nenhum erro:

#INCLUDE “TOTVS.CH”

User Function TesteJob()
StartJob( “U_TstJob()”, GetEnvServer(), .F. )
Return( NIL )

User Function TstJob()
ConOut( “TESTE JOB” )
Return( NIL )

Aqui não vai… Desisti e coloquei a variável como parâmetro de entrada ai ela parou de acusar erro

Guilherme, você pode usar também a função Date() que pega a data do server e não da conexão com o protheus.

a Minha função JOB, é apenas o Conout
eu nem chamo nada

Bom dia, Favor tentar conforme abaixo:


#INCLUDE "TOTVS.CH"
User Function TesteJob() 

StartJob( "U_TstJob()", GetEnvServer(), .F. ) 

Return( NIL ) 

User Function TstJob() 

Local cEmp        := "01"
Local cFil        := "01"

PREPARE ENVIRONMENT EMPRESA cEmp FILIAL cFil

ConOut( "TESTE JOB" ) 

RESET ENVIRONMENT

Return( NIL )

Unica mudança que fiz no seu fonte, foi remover os parênteses StartJob( “U_TstJob”, GetEnvServer(), .F. )
Porque dessa forma começou a dar o Erro: Invalid function call : U_TSTJOB()

Porem mesmo assim deu erro na Variavel DDATABASE

coloque o prepare environmnet na função TesteJob() tb, pois acredito que a função GetEnvServer() esteja puxando a variável ddatabase pra passar como parâmetro.