PreviousNext
Help > Développement > Exemples >
Transactions

 Pour gérer les transactions les fichiers doivent être journalisés et contenir l'option JOURNALED=TRUE dans les infos étendues.

 

Cet exemple commence par créer un récepteur et un journal dans la bibliothèque EASYCOM :

 

sCmd est une chaîne

sCmd="CRTJRNRCV JRNRCV(EASYCOM/TMPRCV)"

SI PAS ASExec(sCmd) ALORS

 SI ExtraitChaîne(ErreurInfo(),2,CR)="CPF7010" ALORS Info("Récepteur déjà présent") SINON Info(ErreurInfo)

FIN

 

sCmd="CRTJRN JRN(EASYCOM/TMPJRN) JRNRCV(EASYCOM/TMPRCV)"

SI PAS ASExec(sCmd) ALORS

 SI ExtraitChaîne(ErreurInfo(),2,CR)="CPF7015" ALORS Info("Le récepteur contient déjà ce poste de journal") SINON Info(ErreurInfo)

FIN

 

sCmd="STRJRNPF FILE(EASYCOM/SP_CUST) JRN(EASYCOM/TMPJRN)"

SI PAS ASExec(sCmd) ALORS

 SI ExtraitChaîne(ErreurInfo(),2,CR)="CPF7030" ALORS Info("Fichier déjà journalisé") SINON Info(ErreurInfo)

FIN

 

 

Un parcours simplifié du fichier propose de faire des modifications dans ce dernier, avec ou sans transaction.

 

Début de transaction

 

SI SQLTransaction(sqlDébut,PrinciConnexion)

 Info("Transaction démarrée")

 btransaction=Vrai

FIN

 

Fin de transaction (COMMIT)

 

SI SQLTransaction(sqlFin,PrinciConnexion)

 Info("Transaction validée")

 btransaction=Faux

SINON

 Info(ErreurInfo())

FIN

 

Fin de transaction (ROLLBACK)

 

SI SQLTransaction(sqlAnnule,PrinciConnexion)

 Info("Transaction annulée")

 btransaction=Faux

SINON

 Info(ErreurInfo())

FIN