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.
Ao definir em sua rotina a static function SchedDef, no cadastro da rotina no Agendamento do Schedule será verificado se existe esta static function e irá executá-la habilitando o botão Parâmetros com as informações do retorno da SchedDef() deixando de verificar na SXD. O retorno da SchedDef deverá ser um array com o seguinte padrão:
aReturn[1] - Tipo: "P" - para Processo, "R" - para Relatórios
aReturn[2] - Nome do Pergunte
aReturn[3] - Alias (para Relatório)
aReturn[4] - Array de ordem (para Relatório)
aReturn[5] - Título (para Relatório)
Uma vez definido a Static Function SchedDef, a rotina deixa de ser uma execução como processo especial, ou seja, não se deve cadastrá-la no Agendamento passando parâmetros de linha. Ex: Funcao("A","B") ou U_Funcao("A","B").
Válido para Function e User Function, lembrando que uma vez definido a SchedDef, ao chamar a rotina o ambiente já está inicializado.
Exemplo de definição da SchedDef:
User function TSTSCHD()
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