Árvore de páginas


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 

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.

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.

Filtro
#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})