Histórico da Página
...
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 assim as informações na SXD. O retorno da SchedDef deverá ser um array com o seguinte padrão:
aReturnaReturn[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)
Observações:
- Válido para Function e User Function, lembrando que uma vez definido a SchedDef, ao chamar a rotina o ambiente já está inicializado.
- 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").
...
- O nome da função principal deve ter o mesmo nome do fonte. No exemplo abaixo, o nome do fonte seria TSTSCHD.prw.
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 |
---|