Os pontos  de entrada tem  por objetivo deixar o sistema flexível, permitindo uma grande variedade de desenvolvimento pelos analistas de suporte de acordo com a necessidade de cada tipo de cliente/implantação. 

XXYYYZZZZ

XX - Iniciais do módulo.

 

YYY - Código sequencial do programa. Mantenha o padrão de numeração de 10 em 10.

ZZZZ  - Nome dado ao ponto de entrada.

 

Exemplos:

Módulo

Parâmetro

SIGALOJA

LJ010ZZZZ

SIGATEC

AT010ZZZZ

 

Para criar e utilizar pontos de entrada, devemos ter em mente:

 

  • Analisar o motivo da criação do ponto, pois é importante cria-lo num ponto que seja útil, não redundante e que atenda as condições do cliente;
  • De forma alguma se deve utilizar o ponto de entrada para corrigir eventuais falhas no sistema;
  • Também não se devem inserir pontos de entrada em processo críticos do sistema, pois isto acarretará em resultados imprevisíveis;
  • É imprescindível a utilização da função ExistBlock() que verifica a existência no ponto de entrada no repositório além de condicionar a execução do mesmo;
  • Não tratar ponto de entrada com find function e user function;
  • Não é necessário efetuar o cache da existência de um determinado ponto de entrada, a função ExistBlock já faz esse trabalho.

 

Exemplo:

 

// EntrancePointExample.prw

#INCLUDE "TOTVS.CH"

 

Function EntrancePointExample()

       While SA1->(!EOF())

             If ExistBlock("SAVECLI")

                    ExecBlock("SAVECLI", .F., .F., aParam)

             EndIf

             SA1->(DbSkip())

       EndDo 

Return

 

  • Sem rótulos