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.
#Include "rwmake.ch"
#Include "PROTHEUS.CH"
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
Import HTML Content
Visão Geral
Conteúdo das Ferramentas