Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

01. DADOS GERAIS

Linha de Produto:Microsiga Protheus
Segmento:Recursos Humanos 
Módulo:SIGAPON
Função:

PNA020GRV

02. SITUAÇÃO/REQUISITO

Essa implementação

...

possibilita que a manutenção feita no cadastro de Feriados possa ser replicada para outras tabelas, como por exemplo, a tabela

...

63 da SX5 que foi foco do desenvolvimento. 

03. SOLUÇÃO

...

Criado o ponto de entrada PNA020GRV

...

para replicar os feriados cadastros, alterados ou excluídos na rotina "Feriados" (PONA020) em outras tabelas.

04. DEMAIS INFORMAÇÕES

Exemplo de uso do Ponto de entrada PNA020GRV

...

.

Bloco de código
#Include "rwmake.ch"
#Include "PROTHEUS.CH"

...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

...

User Function PNA020GRV()

...


Local aArea

...

			:= GetArea()

...


Local 

...

cFil			:= ParamIxb[1]
Local dData			:= ParamIxb[

...

2]

...


Local cDescricao

...

	:= ParamIxb[3]

...


Local 

...

nOpcao		

...

:= 

...

ParamIxb[4]
Local cX5Descr		:= ""

...


Local 

...

cData			:= ""

cX5Descr := DtoC(dData) + Space(4) + 

...

cDescricao
cData := DtoC(dData)

//

...

nOpcao

...

 = 1 - 

...

Inclusao
//nOpcao = 2 - 

...

Alteracao
//nOpcao = 3 - Exclusao

...



DbSelectArea("SX5")

If nOpcao == 1

...

 // Inclusão
	If SX5->(

...

RecLock(

...

"SX5"

...

, .T.

...

)

...

)
		SX5->X5_FILIAL := xFilial("SX5", cFil)
		

...

SX5->X5_TABELA := "63"
		SX5->X5_CHAVE  := "AAA"

...


		SX5->X5_DESCRI := cX5Descr
		

...

SX5->(

...

MsUnlock()

...

)
	

...

EndIf
ElseIf nOpcao == 2 // Alteração
	

...

If SX5->(Dbseek(xFilial("SX5", cFil)+"63")

...

)
		

...

While SX5->(

...

!Eof() .

...

And. X5_TABELA == "63"

...

)
			

...

If Left(SX5->X5_DESCRI,

...

 10) == cData
				

...

If SX5->(

...

RecLock( "SX5" , .F.

...

)

...

)
					

...

SX5->X5_DESCRI := cX5Descr
				

...

	SX5->(

...

MsUnlock()

...

)
				EndIf
	

...

			

...

Exit
			EndIF
		

...

	

...

SX5->(

...

dbSkip()

...

)
		

...

End While
	

...

EndIf
ElseIf nOpcao == 3 // Exclusao
	If SX5->(Dbseek(xFilial("SX5",cFil)+"63")

...

)
		

...

While SX5->( !Eof() .and. X5_TABELA == "63"

...

)
			

...

If Left(SX5->X5_DESCRI,

...

 10) == cData
				

...

If SX5->(

...

RecLock(

...

"SX5"

...

, .F., .T.

...

)

...

)
				

...

	dbDelete()
				

...

	SX5->(

...

MsUnlock()

...

)
				

...

EndIf
				Exit
			

...

EndIF
			

...

SX5->(

...

dbSkip()

...

)
		

...

End While

...


	EndIf
EndIf

RestArea(aArea)
Return

...