01. VISÃO GERAL
O ponto de entrada PNA08001 permite realizar validações nas informações da tabela de horário padrão. O Ponto de Entrada é chamado na rotina de Manutenção da Tabela de Horário Padrão (PONA080), após o acionamento do botão de confirmação da rotina e antes da gravação.
O retorno do ponto de entrada determina se deve ou não continuar com a gravação das informações da Tabela de Horário Padrão.
Rotina:
- PONA080 - Tabela de Horário Padrão
Parâmetros:
Será enviado um array com 4 elementos via variável ParamIXB.
- aColsAll – Informações de cada horário para todas as seqüências do turno cadastradas.
- Tipo: array
- aHeader – Informações de identificação de cada uma das colunas discriminadas no Param1.
- Tipo: array
- cSemana – Identificação da semana visualizada antes da confirmação da rotina.
- Tipo: caracter
- nOpcx – Opção de manutenção informada pelo aRotina.
- Tipo: numérico, sendo:
- Visualização -> 2
- Inclusão -> 3
- Alteração -> 4
- Exclusão -> 5
- Tipo: numérico, sendo:
- aColsAll – Informações de cada horário para todas as seqüências do turno cadastradas.
Retorno:
Deverá ser retornado um array com 2 elementos:
- aColsAll – Informações de cada horário para todas as seqüências do turno cadastradas.
- Tipo: array
- Conforme a estrutura especificada no Param1 enviado, sendo:
- lRet – Aprovação ou não da confirmação da rotina.
- Tipo: lógico, sendo:
- .T. -> Prossegue com o processamento e finaliza a rotina.
- .F. -> Não finaliza a rotina e retorna à semana visualizada antes da execução do ponto de entrada.
- Tipo: lógico, sendo:
- lRet – Aprovação ou não da confirmação da rotina.
- aColsAll – Informações de cada horário para todas as seqüências do turno cadastradas.
02. EXEMPLO DE UTILIZAÇÃO
Observação
As variáveis aCols e aHeader estão definidas como Private na rotina PONA080 (Tabela de Horário Padrão), caso seja necessário utiliza-las para realizar alguma validação, elas estarão disponíveis no Ponto de Entrada.
Valida se existe pelo menos 1 dia cadastrado como DSR na semana utilizando as variáveis aCols e aHeader.
#Include 'RWMAKE.CH' User Function PNA08001() Local lRet := .T. Local aColsAll := ParamIxb[1] Local aHeaderAll := ParamIxb[2] Local cSemana := ParamIxb[3] Local nOpcx := ParamIxb[4] Local nPosTpDia := GdFieldPos("PJ_TPDIA", aHeader) Local nI := 0 Local nLenAcols := Len(aCols) Local lTemDSR := .F. For nI := 1 To nLenAcols If aCols[nI,nPosTpDia] == "D" lTemDSR := .T. EndIf Next If !lTemDSR lRet := MsgYesNo("Não existe um dia cadastrado como DSR, deseja continuar?", "Atenção") EndIf Return ({aColsAll , lRet})