Árvore de páginas

Criação do ponto de entrada ORG030MOV no controle de postos 

Linha de Produto:

Microsiga Protheus

Segmento:

Recursos humanos

Módulo:

SIGAGPE

Função:

ORGA030.PRX

Situação/Requisito:

Necessidade de implementação que permita controlar o processo de movimentação para congelamento e cancelamento de postos, permitindo que funcionalidades customizadas possam aplicar validações especificas de acordo com cada negócio.

Solução/Implementação:

Implementado o ponto de entrada ORG030MOV para realizar as validações necessárias no processo de controle para os congelamentos e cancelamentos de postos

Os parâmetros passados são:

  • nOperação: Esse parâmetro é responsável em identificar ao PE a operação que está sendo realizada no momento, de acordo com os seguintes conteúdos:
    • Conteúdo: 1 - indica se o processo é de pre-validação de um congelamento de posto;
    • Conteúdo: 2 - indica se o processo é de pós-processamento de um congelamento de posto;
    • Conteúdo: 3 - indica se o processo é de pre-validação de um cancelamento de posto;
    • Conteúdo: 4 - indica se o processo é de pós-processamento de um cancelamento de posto;
  • cFilial: carrega a filial posicionada da tabela RCL.
  • cPosto: carrega o posto posicionado da tabela RCL.
  • cDepartamento: carrega o departamento posicionado da tabela RCL.
  • cStatus: carrega o status atual do registro posicionado da tabela RCL.

 

Observações importantes:

  • Para as operações de pre-validação de congelamento e cancelamento de postos, o retorno do ponto de entrada (User Function) deverá ser obrigatoriamente uma variável lógica, contendo: .T. ou .F., qualquer resposta diferente será ignorada.

Exemplo: Caso o cliente, solicite um congelamento de um posto, e o seu ponto de entrada retornar um .F., em virtude de alguma validação, o congelamento será interrompido. Entretanto, se a devolutiva da user function não for um conteúdo boleano, o congelamento será processado normalmente.

  • As operações de pós-processamento são realizadas dentro de uma transaction, ou seja, caso o processo seja abortado as atividades realizadas dentro da user function, serão canceladas.


Exemplo de utilização:

#INCLUDE "PROTHEUS.CH"

// Ponto de Entrada para tratamento de congelamento/cancelamento de postos
User Function ORG030MOV()
LocaL lOperac := PARAMIXB[1]
Local cFil := PARAMIXB[2]
Local cPosto := PARAMIXB[3]
Local cDepto := PARAMIXB[4]
Local cStatus := PARAMIXB[5]

MSGINFO('*** PE Controle de Postos ***' +CRLF +CRLF;
+'Operacao : ' +cValToChar(lOperac) +CRLF;
+'Filial : ' +cFil +CRLF;
+'Posto : ' +cPosto +CRLF;
+'Departamento : ' +cDepto +CRLF;
+'Status : ' +cStatus, 'ORG030MOV')

Return(.t.)

Tickets relacionados:

484766

Pacote:

https://suporte.totvs.com/portal/p/10098/download?e=548615

https://suporte.totvs.com/portal/p/10098/download?e=548613