DEV Community

Cover image for EPL LOGIX
marlon-pinheiro
marlon-pinheiro

Posted on

EPL LOGIX

O que é EPL

A sigla EPL significa "Entry Point Logix", através deste recurso é possível criar no Logix um ponto de entrada para a execução de uma rotina específica.

Quando o cliente identifica a necessidade de customizar um determinado ponto do sistema, ele deve entrar em contato com a Fábrica de Software e solicitar a criação deste ponto de entrada (mediando a realização de um orçamento).

Após a aprovação, a Fábrica de Software irá alterar o programa Padrão do Logix e colocar a chamada da função especifica.

Segue exemplo de como deve ser realizada a chamada da EPL no Logix.

IF LOG_existe_epl("tst0003y_epl_teste") THEN
   CALL tst0003y_epl_teste()
END IF
Enter fullscreen mode Exit fullscreen mode

Uma vez criado o ponto de entrada no programa padrão, fica a cargo do cliente definir quem irá desenvolver o código específico, finalizado o desenvolvimento basta que o fonte seja compilado para que a rotina fique disponível no RPO do Logix.

Tipos de fontes no Logix

As chamadas de funções EPLs podem estar presentes em qualquer fonte do sistema. No Logix podemos classificar os fontes como MAINSOURCE ou SOURCE

MAINSOURCE é o programa principal, aquele que esta cadastrado no menu do sistema.

SOURCE são os fontes que possuem somente definições de funções.

Podemos pegar como exemplo o FIN10049 (MAINSOURCE) que internamente chama a função FIN85129 (SOURCE).

Por padrão todas as chamadas de EPL estão ativadas no sistema, para desativa-las existem algumas chaves de profile que precisam ser alteradas.

⚠️ Para que os controles de ativação/desativação de EPLs sejam realizados, é necessário que no fonte LOGIX seja utiliza a função LOG_existe_epl

Para exemplificar este cenário foram criados 3 fontes:

tst0001.4gl é um programa principal (MAINSOURCE)

tst0002.4gl é um fonte somente com definições de funções (SOURCE)

tst0003.4gl fonte específico (EPL)

Desativando EPLS

Segue abaixo lista das chaves que podem ser incluídas no arquivo de profile do Logix para desativar a execução das EPLS

LOGIX.EPL.ENABLE = 0

Desabilita todas as chamas de EPL no sistema. Independente do fonte em que ela esteja sendo chamada

LOGIX.EPL.MAINSOURCE.tst0001.ENABLE = 0

Desabilita todas as chamas de EPL identificas a partir da execução do programa principal

LOGIX.EPL.SOURCE.tst0001.ENABLE = 0

LOGIX.EPL.SOURCE.tst0002.ENABLE = 0

Desabilita todas as chamas de EPL somente do fonte que foi definido na chave.

LOGIX.EPL.FUNCTION.tst0003y_epl_teste.ENABLE = 0

Desabilita somente a função EPL que foi definida na chave

Exemplos

Segue exemplo utilizando cada uma das chaves

LOGIX.EPL.ENABLE = 1

Todas as EPLS liberadas

| *** [FRAMEWORK] INICIO ***
|
| [FRAMEWORK] Entrou na funcao - tst0001_inicia_processamento
| [FRAMEWORK] Teste execucao EPL [MAINSOURCE]
| [EPL] Chamada função TST0003Y_EPL_TESTE() [source: TST0001.4GL line: 41 function: TST0001_INICIA_PROCESSAMENTO()]
|
| >>> [EPL][FRAMEWORK] Entrou na funcao - tst0003y_epl_teste <<<
|
| [FRAMEWORK] Entrou na funcao - tst0002_function_logix
| [FRAMEWORK] Teste execucao EPL [FUNCTION]
| [EPL] Chamada função TST0003Y_EPL_TESTE() [source: TST0002.4GL line: 21 function: TST0002_FUNCTION_LOGIX()]
|
| >>> [EPL][FRAMEWORK] Entrou na funcao - tst0003y_epl_teste <<<
|
| *** [FRAMEWORK] FIM ***
Enter fullscreen mode Exit fullscreen mode

LOGIX.EPL.ENABLE = 0

Todas as EPLS desabilitadas

| *** [FRAMEWORK] INICIO ***
|
| [FRAMEWORK] Entrou na funcao - tst0001_inicia_processamento
| [FRAMEWORK] Teste execucao EPL [MAINSOURCE]
| [EPL] Todas chamadas EPL desabilitadas. Função TST0003Y_EPL_TESTE() ignorada. [source: TST0001.4GL line: 40 function: TST0001_INICIA_PROCESSAMENTO()]
| [FRAMEWORK] Entrou na funcao - tst0002_function_logix
| [FRAMEWORK] Teste execucao EPL [FUNCTION]
| [EPL] Todas chamadas EPL desabilitadas. Função TST0003Y_EPL_TESTE() ignorada. [source: TST0002.4GL line: 21 function: TST0002_FUNCTION_LOGIX()]
| *** [FRAMEWORK] FIM ***
Enter fullscreen mode Exit fullscreen mode

LOGIX.EPL.MAINSOURCE.tst0001.ENABLE = 0

Todas as EPLS desativadas quando chamadas a partir do programa principal TST0001

| *** [FRAMEWORK] INICIO ***
|
| [FRAMEWORK] Entrou na funcao - tst0001_inicia_processamento
| [FRAMEWORK] Teste execucao EPL [MAINSOURCE]
| [EPL] Chamadas EPL desabilitadas para o programa principal TST0001. Função TST0003Y_EPL_TESTE() ignorada. [source: TST0001.4GL line: 40 function: TST0001_INICIA_PROCESSAMENTO()]
| [FRAMEWORK] Entrou na funcao - tst0002_function_logix
| [FRAMEWORK] Teste execucao EPL [FUNCTION]
| [EPL] Chamadas EPL desabilitadas para o programa principal TST0001. Função TST0003Y_EPL_TESTE() ignorada. [source: TST0002.4GL line: 21 function: TST0002_FUNCTION_LOGIX()]
| *** [FRAMEWORK] FIM ***
Enter fullscreen mode Exit fullscreen mode

LOGIX.EPL.SOURCE.tst0001.ENABLE = 0

EPLS desativadas somente no fonte TST0001

| *** [FRAMEWORK] INICIO ***
|
| [FRAMEWORK] Entrou na funcao - tst0001_inicia_processamento
| [FRAMEWORK] Teste execucao EPL [MAINSOURCE]
| [EPL] Chamadas EPL desabilitadas para o fonte TST0001. Função TST0003Y_EPL_TESTE() ignorada. [source: TST0001.4GL line: 40 function: TST0001_INICIA_PROCESSAMENTO()]
| [FRAMEWORK] Entrou na funcao - tst0002_function_logix
| [FRAMEWORK] Teste execucao EPL [FUNCTION]
| [EPL] Chamada função TST0003Y_EPL_TESTE() [source: TST0002.4GL line: 21 function: TST0002_FUNCTION_LOGIX()]
|
| >>> [EPL][FRAMEWORK] Entrou na funcao - tst0003y_epl_teste <<<
|
| *** [FRAMEWORK] FIM ***
Enter fullscreen mode Exit fullscreen mode

LOGIX.EPL.SOURCE.tst0002.ENABLE = 0

EPLS desativadas somente no fonte TST0002

| *** [FRAMEWORK] INICIO ***
|
| [FRAMEWORK] Entrou na funcao - tst0001_inicia_processamento
| [FRAMEWORK] Teste execucao EPL [MAINSOURCE]
| [EPL] Chamada função TST0003Y_EPL_TESTE() [source: TST0001.4GL line: 40 function: TST0001_INICIA_PROCESSAMENTO()]
|
| >>> [EPL][FRAMEWORK] Entrou na funcao - tst0003y_epl_teste <<<
|
| [FRAMEWORK] Entrou na funcao - tst0002_function_logix
| [FRAMEWORK] Teste execucao EPL [FUNCTION]
| [EPL] Chamadas EPL desabilitadas para o fonte TST0002. Função TST0003Y_EPL_TESTE() ignorada. [source: TST0002.4GL line: 21 function: TST0002_FUNCTION_LOGIX()]
| *** [FRAMEWORK] FIM ***
Enter fullscreen mode Exit fullscreen mode

LOGIX.EPL.FUNCTION.tst0003y_epl_teste.ENABLE = 0

Desativando a chamada da EPL pelo nome da função

| *** [FRAMEWORK] INICIO ***
|
| [FRAMEWORK] Entrou na funcao - tst0001_inicia_processamento
| [FRAMEWORK] Teste execucao EPL [MAINSOURCE]
| [EPL] Chamada EPL desabilitada para a função TST0003Y_EPL_TESTE(). Função ignorada. [source: TST0001.4GL line: 40 function: TST0001_INICIA_PROCESSAMENTO()]
| [FRAMEWORK] Entrou na funcao - tst0002_function_logix
| [FRAMEWORK] Teste execucao EPL [FUNCTION]
| [EPL] Chamada EPL desabilitada para a função TST0003Y_EPL_TESTE(). Função ignorada. [source: TST0002.4GL line: 21 function: TST0002_FUNCTION_LOGIX()]
| *** [FRAMEWORK] FIM ***
Enter fullscreen mode Exit fullscreen mode

Top comments (0)