Home

Linha Microsiga Protheus

Páginas filhas
  • PNA020GRV - Manutenção no Cadastro de Feriados -- 10423

Ponto-de-Entrada: PNA020GRV - Manutenção no Cadastro de Feriados
Versões: Microsiga Protheus 8.11 , Microsiga Protheus 10
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Idiomas: Espanhol , Inglês
Descrição:

Essa implementação possibilita que a manutenção feita no Cadastro de Feriados possa ser replicada para outras tabelas, como por exemplo, a Tabela 65 do SX5 que foi o foco do desenvolvimento.

Eventos

Na rotina de cadastramento de feriados, durante a inclusão, alteração ou exclusão dos feriados.

Programa Fonte
PONA020.PRW
Sintaxe

PNA020GRV - Manutenção no Cadastro de Feriados ( [ cFilial ], [ dData ], [ cDescricao ], [ nOpcao ] ) --> Nil

Parâmetros:
Nome Tipo Descrição Default Obrigatório Referência
cFilial Caracter Filial onde foi incluso o feriado
dData Data Data (dd/mm/aa) do feriado
cDescricao Caracter Descrição do feriado
nOpcao Numérico Opção de manutenção (1 - Inclusão, 2 - Alteração , 3 - Exclusão )
Retorno
    Nil(nulo)
Observações

Serão enviadas quatro variáveis para a função do usuário via ParamIXB.

cFilial         := ParamIxb[1]

dData        := ParamIxb[2]

cDescricao := ParamIxb[3]

nOpcao      := ParamIxb[4]

nOpcao poderá conter 3 valores distintos, sendo eles:

1 - Inclusão de novo feriado.

2 - Alteração de um feriado existente.

3 - Exlcusão de um feriado.

Exemplos
#Include 'rwmake.ch'User Function PNA020GRV()Local aArea      := GetArea()Local cFilial    := ParamIxb[1]Local cDescricao := ParamIxb[3]Local cX5Descr	 := ""Local cData      := ""Local dData      := ParamIxb[2]Local nOpcao     := ParamIxb[4]cX5Descr := DtoC(dData) + Space(4) + cDescricaocData    := DtoC(dData)/*nOpcao:1 - Inclusao2 - Alteracao3 - Exclusao*/DbSelectArea("SX5")If nOpcao == 1	SX5->( RecLock( "SX5" , .T. ) )	SX5->X5_FILIAL := xFilial("SX5")	SX5->X5_TABELA := "63"	SX5->X5_CHAVE  := "AAA" //Exemplo	SX5->X5_DESCRI := cX5Descr	SX5->( MsUnlock() )	ElseIf nOpcao == 2	If SX5->(Dbseek(xFilial("SX5")+"63") )		While SX5->( !Eof() .and. X5_TABELA == "63" )			If Left(SX5->X5_DESCRI,8) == cData				SX5->( RecLock( "SX5" , .F. ) )				SX5->X5_DESCRI := cX5Descr				SX5->( MsUnlock() )				Exit			EndIF					      	SX5->( dbSkip() )		End While	EndIfElseIf nOpcao == 3	If SX5->(Dbseek(xFilial("SX5")+"63") )		While SX5->( !Eof() .and. X5_TABELA == "63" )			If Left(SX5->X5_DESCRI,8) == cData				SX5->( RecLock( "SX5" , .F., .T. ) )				dbDelete()				SX5->( MsUnlock() )				Exit							EndIF					      	SX5->( dbSkip() )		End While	EndIfEndIfRestArea(aArea)Return(Nil)