FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 25
→
Exemplo de Commit e Rollback usando 2 procedures
Exemplo de Commit e Rollback usando 2 procedures
Débuté par BOLLER, 28 mar. 2020 14:36 - 2 réponses
Connectez-vous…
BOLLER
#1
Membre enregistré
3 657 messages
Popularité : +175 (223 votes)
Posté le 28 mars 2020 - 14:36
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/
Signaler
0
0
BOLLER
#2
Membre enregistré
3 657 messages
Popularité : +175 (223 votes)
Posté le 28 mars 2020 - 14:39
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/
Signaler
1
0
BOLLER
#3
Membre enregistré
3 657 messages
Popularité : +175 (223 votes)
Posté le 28 mars 2020 - 14:50
É 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/
Signaler
0
0
→ Revenir à WINDEV 25
WINDEV 25
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte