GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEV
,
WEBDEV
e
WINDEV Mobile
Inicio
|
Mensagens recentes
|
Conecte-se...
|
Disconnect
|
Português
Inicio
→
WINDEV 25
→
Exemplo de Commit e Rollback usando 2 procedures
Exemplo de Commit e Rollback usando 2 procedures
Iniciado por BOLLER, mar., 28 2020 2:36 PM - 2 respostas
Conecte-se…
BOLLER
#1
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em março, 28 2020 - 2:36 PM
Procedure inicial
// Summary: <specify the procedure action>
// Syntax:
// Evento_Gravar ()
//
// Parameters:
//
None
// Return value:
//
None
//
// For instance:
// Indicate an example.
//
Procedure
Evento_Gravar
(
)
HTransactionStart
(
MyHfsql01
,
"T032_Usuarios,T034_UsuarioXDiretiva"
)
ScreenToFile
(
)
ok
is boolean
erro
is int
IF
gs
_Acao
=
"Incluir"
THEN
//T032_Usuarios.T032_Usuarios_ID = GET_SEQ(T032_Usuarios) // numerador automatico feito via sequence no banco oracle/postgresql se usar hfsql pode remover essa linha
ok
=
HAdd
(
T032_Usuarios
)
IF
ok
=
False
THEN
erro
+
+
END
ELSE IF
gs
_Acao
=
"Alterar"
ok
=
HModify
(
T032_Usuarios
)
IF
ok
=
False
THEN
erro
+
+
END
END
IF
ok
=
True
THEN
erro
+
=
SecWin_CadastraUsuarioXDiretiva
(
T032_Usuarios.T032_Usuarios_ID
,
T032_Usuarios.T032_Login
)
END
IF
erro
=
0
THEN
HTransactionEnd
(
MyHfsql01
)
//commit
ELSE
HTransactionCancel
(
MyHfsql01
)
//rollback
END
TableDisplay
(
TABLE_
T032_Usuarios
,
taInit
)
{
gs
_NameWindow
,
indWindow
}
..
Plane
=
1
gs
_Acao
=
""
gn
_Id
=
0
// Summary: <specify the procedure action>
// Syntax:
//[ <Result> = ] SecWin_CadastraUsuarioXDiretiva (<gUsuarioID>, <gLogin>)
//
// Parameters:
//
gUsuarioID:
//
gLogin: <specify the role of gLogin>
Procedure
SecWin_CadastraUsuarioXDiretiva
(
gUsuarioID
,
gLogin
)
erro
is
8
-
byte int
=
0
FOR
E
ACH T034_UsuarioXDiretiva
IF
T034_UsuarioXDiretiva.T032_Usuarios_ID
=
gUsuarioID
THEN
IF
HDelete
(
T034_UsuarioXDiretiva
) =
False
erro
+
+
END
END
END
FOR
E
ACH T033_Diretivas
T034_UsuarioXDiretiva.T032_Usuarios_ID
=
gUsuarioID
T034_UsuarioXDiretiva.T034_Login
=
gLogin
T034_UsuarioXDiretiva.T033_Diretivas_ID
=
T033_Diretivas.T033_Diretivas_ID
T034_UsuarioXDiretiva.T034_Janela
=
T033_Diretivas.T033_NomeJanela
T034_UsuarioXDiretiva.T034_Status
=
1
IF
HAdd
(
T034_UsuarioXDiretiva
) =
True
erro
+
+
END
END
RESULT
erro
--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Denunciar
0
0
BOLLER
#2
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em março, 28 2020 - 2:39 PM
IF
erro
=
0
THEN
HTransactionEnd
(
MyHfsql01
)
//commit
Info
(
"Gravou com sucesso!"
)
ELSE
HTransactionCancel
(
MyHfsql01
)
//rollback
Info
(
"Procedimento cancelado"
)
END
--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Denunciar
1
0
BOLLER
#3
Membro registado
3.651 mensagems
Popularité : +175 (223 votes)
Publicado em março, 28 2020 - 2:50 PM
É possivel tambem ter variaveis auxiliares para contabilizar erros e tempo de execução
datahoraInicial
is
datetime
=
DateSys
(
) +
TimeSys
(
)
transactionsstart
(
...
........)
erro
+
=
proc01
( )
erro
+
=
proc02
( )
datahorafinal
is
datetime
=
DateSys
(
) +
TimeSys
(
)
//ip do terminal ou login reservar
IF
ErrorInfo
(
) <
>
0
erro
+
+
END
IF
erro
=
0
THEN
HTransactionEnd
(
MyHfsql01
)
//commit
Info
(
"Gravou com sucesso!"
)
ELSE
HTransactionCancel
(
MyHfsql01
)
//rollback
Info
(
"Procedimento cancelado"
)
END
Log
(
Login
,
datahoraInicial
,
datahorafinal
,
erro
)
--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 99949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/
Denunciar
0
0
→ Voltar para WINDEV 25
WINDEV 25
Français
English
Español
Portuguesa
Fermer cette fenêtre
Tipo de Pesquisa
Apenas tópicos
Todas as mensagens
Período de pesquisa
Qualquer momento
Última hora
Últimas 24 horas
Semana passada
Mês passado
Ano passado
Cancelar
Pré-visualização da sua mensagem
Adicionar imagem
Importar uma imagem de uma URL
Enviar uma imagem a partir do seu disco
Deixe um ficheiro ou clique em "Procurar ..."
ou
Cancelar
0%
WLanguage
SQL
XML, HTML
JAVA, Javascript
Texto