version 6.0
bk_Lire etat Entier
| Paramètre | Type | Description | ||||
| Cette commande ne requiert pas de paramètre | ||||||
| Résultat | Entier | Etat du process de sauvegarde | ||||
Description
La commande bk_Lire etat permet de suivre la sauvegarde intégrale ou la mise à jour du miroir, en vous informant sur l'état du process de 4D Backup.
bk_Lire etat peut être appelée dans les circonstances suivantes :
avant la copie,
pendant la copie,
après la copie.
Il ne faut pas confondre la fonction bk_Lire etat et la fonction bk_Lire erreur. bk_Lire etat retourne une information sur l'état de la sauvegarde, ce qui permet par exemple de savoir que la copie est terminée et de clore la méthode par la commande bk_FIN SAUVEGARDE. La fonction bk_Lire erreur ne retournera un numéro d'erreur qu'en cas de problème.
Il est capital d'appeler périodiquement la fonction bk_Lire etat après avoir lancé la copie, car son rôle est double :
elle renseigne sur l'état de la sauvegarde,
elle alloue du temps machine au process de sauvegarde pour qu'il puisse avancer dans la copie. Si vous n'appelez pas cycliquement bk_Lire etat après avoir démarré la copie, cette dernière ne s'exécutera pas.
Les valeurs retournées par bk_Lire etat peuvent être les suivantes :
1 : Pas de disque sélectionné.
Cette valeur est retournée après le démarrage du process de sauvegarde, pour indiquer qu'il n'y a pas de disque sélectionné. Il vous faut en choisir un par la commande bk_FIXER VOLUME. Si vous lanciez malgré tout la sauvegarde par la fonction bk_Lancer copie, vous obtiendriez une erreur et la sauvegarde ne s'effectuerait pas.
2 : Impossible d'utiliser le disque sélectionné.
Le disque sélectionné par le projet ou par la commande bk_FIXER VOLUME ne convient pas pour la sauvegarde. Il ne dispose peut-être pas de la place nécessaire pour assurer la sauvegarde, ou alors il n'est plus présent. Il peut également ne pas y avoir de disquette insérée dans le lecteur.
3 : Prêt à copier.
Cette valeur signifie que tout est prêt pour que vous puissiez lancer la sauvegarde (le disque sélectionné est correct, le miroir est en attente, etc.).
Nous vous conseillons de procéder à ce test avant de démarrer une copie (avec la fonction bk_Lancer copie).
4 : Copie en cours.
La copie se déroule correctement. Vous pouvez montrer la progression de la copie en vous servant de la commande bk_LIRE PROGRESSION ou des Zones de progression %PROGRESSION SAUVEGARDE et %REMPLISSAGE DISQUE.
5 : Copie terminée.
La copie s'est correctement déroulée. Vous pouvez maintenant appeler la commande bk_FIN SAUVEGARDE pour conclure la sauvegarde.
6 : Process de sauvegarde non démarré.
Vous n'avez pas appelé la fonction bk_Debut sauvegarde integrale ou bk_Debut mise a jour miroir ou cette fonction a échoué. Le code retourné par la fonction vous informera sur la raison pour laquelle elle a échoué.
7 : Echec de la sauvegarde.
La fonction bk_Lancer copie a été lancée mais un problème a interrompu la sauvegarde.
Exemple
Voici un exemple d'implémentation standard de la sauvegarde, avec une gestion complète des états possibles :
C_ENTIER($Etat;$Progress;$Rempliss)
Si(bk_Debut sauvegarde integrale#0)
ALERTE("Impossible de commencer la sauvegarde.")
Sinon
MESSAGE("Sauvegarde en cours
")
bk_OUVRIR PROJET("Sauvegarde hebdomadaire")
$Etat:=bk_Lire etat
Au cas ou
:($Etat=1)
ALERTE("Il n'y a pas de disque sélectionné.")
:($Etat=2)
ALERTE("Impossible d'utiliser le disque sélectionné.")
:($Etat=3)
Si(bk_Lancer copie#0)
ALERTE("Impossible de lancer la sauvegarde")
Sinon
Repeter
bk_LIRE PROGRESSION($Progress;$Rempliss)
MESSAGE("Sauvegarde en cours : "+Chaine($Progress)+"%")
Jusque(bk_Lire etat#4)
Si(bk_Lire etat=5)
MESSAGE("La sauvegarde s'est correctement déroulée.")
Sinon
ALERTE("Problème durant la sauvegarde.")
Fin de si
Fin de si
Fin de cas
bk_FIN SAUVEGARDE
Fin de si