...
No novo Schedule existe uma forma para a definição dos Perguntes para o botão Parâmetros, além do cadastro das funções no SXD.
...
User function TSTSCHD() conout("Executando Tarefa " + FWGetIdTask() ) Pergunte("ACA070", .F.) If IsBlind() BatchProcess("Teste","Teste",,{ || TSTExec() }) EndIf Return Static Function TSTExec() conout("MV_PAR01 " + MV_PAR01) conout("MV_PAR02 " + MV_PAR02) conout("MV_PAR03 " + MV_PAR03) Return Static Function Scheddef() Local aParam Local aOrd := {OemToAnsi(" Por Codigo "),OemToAnsi(" Alfabetica ")} aParam := { "P",; //Tipo R para relatorio P para processo "ACA070",;// Pergunte do relatorio, caso nao use passar ParamDef "SA1",; // Alias aOrd,; //Array de ordens "Teste SchedDef"} Return aParam |
---|
FWGetIdTask()
Função que retorna o Id da tarefa(Agendamento + Código) que está sendo executada pelo novo Schedule. Esta função pode ser chamada somente se a Static Function SchedDef() estiver definida no fonte.
Para rotinas especiais(que não possuem Static Function SchedDef ), onde os parâmetros são passados via linha, o Id da tarefa será passado na ultima posição do array recebido como parâmetro.
Exemplo:
Ao cadastrar o agendamento do Schedule da User Function abaixo, informado no campo Rotina a seguinte informação: U_TSTSCHD1("A","B").
Quando o novo Schedule executar esta rotina, a mesma irá receber um array com os parâmetros passados no agendamento + Código Grupo Empresa + Código Filial + Código Usuário + Id da tarefa.
User function TSTSCHD1(aParam) conout("Parametro 1: " + aParam[1]) conout("Parametro 2: " + aParam[2]) conout("Grupo Empresa: " + aParam[3]) conout("Filial: " + aParam[4]) conout("User: " + aParam[5]) conout("Id Tarefa: " + aParam[6]) Return
Resultado:
|
---|