Schedule – Index not found

Olá amigos,

Segue uma possível solução para o erro Schedule – Index not found que geralmente ocorre ao entrar no Schedule pelo configurador(SIGACFG). Precisei criar recentemente algumas tarefas agendas, e me ocorreu esse erro.

DBSetOrder – Index not found: FWSCHD Order Number: 1 on FWTABLEDLL:OPENTABLE(FWTABLEDLL.PRX)

Continue lendo...

Função StartJob

Olá pessoal,

Vai aí mais um achado na net, bem legal:

Dias atrás tive o seguinte problema: Precisava executar uma rotina dentro de uma função mas essa primeira rotina não poderia parar e aguardar a execução desta função. Ai conheci a função StartJob. Está função permite iniciar uma Thread, ou seja, uma conexão separada no monitor, e a função que à chamou continuar rodando normalmente.

Continue lendo...

Uso do MSExecAuto

Olá Pessoal,

Encontrei esse material bem legal na net, para quem esta iniciando no ADVPL,

Objetivo
Fazer manutenção automática (inclusão, alteração e exclusão) das rotinas de manipulação de dados do sistema, automatizando o processo de entrada de dados sem a necessidade de desenvolver rotinas especificas.

Aplicação
Esta tecnica é aplicada em todas as versões Protheus.

Vantagens
1) Interface : Os dados de entrada são enviados a rotina em forma de campos e conteudos (array) e desta forma não é necessario a apresentação de nenhuma inteface ao usuário.
2) Segurança : A utilização de rotinas automáticas aumenta consideravelmente a segurança do sistema, uma vez que utiliza as validações padrões e diminui os problemas causados por atualização de versão ou inclusão de customizações nas rotinas padrões do sistema.
3) Agilidade no processo : Aumenta consideravemente o tempo de desenvolvimento das customizações que necessitam de entrada de dados. Exemplo: Importação de pedido de venda.

Procedimentos

Existem duas maneiras de utilizar a rotina automatica, sendo elas:

1. Sem Interface
2. Com Interface

Para a utilizacao da rotina automatica sem interface deve-se, configurar o ambiente utilizando-se o comando PREPARE ENVIRONMENT e chamar diretamente o nome da função.

Continue lendo...