PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Code réplication : qu'est ce qui ne va pas ?
Code réplication : qu'est ce qui ne va pas ?
Débuté par florent.alto, 07 fév. 2006 19:02 - 2 réponses
Posté le 07 février 2006 - 19:02
Bonjour,

Je souhaite tester une réplication avec un fichier nommé ici MONFICHIER.
Mais le code suivant ne marche pas. Pourriez-vous y jeter un coup d'oeil ??
Le but étant de créer un fichier et de le répliquer dans un code bouton.
Merci d'avance.

---


gsREP_SITE_CENTRAL est une chaîne = "C:\Replication\Central"
gsREP_SITE_ABONNE est une chaîne = "C:\Replication\Abonné"
gsREP_REPLICA_TRANSPORTABLE est une chaîne = "C:\Replication\Fichiers
échangés"


HCreationSiInexistant(MonFichier)

// --------------------------------------------------------------------------------------------
// Création de la base du site central.
// Aucune données au départ.

SI PAS (fRep(gsREP_SITE_CENTRAL, frRépertoire)<>"") ALORS
fRepCrée(gsREP_SITE_CENTRAL)
HChangeRep(MonFichier, gsREP_SITE_CENTRAL)
HChangeRepJnl(MonFichier,gsREP_SITE_CENTRAL,gsREP_SITE_CENTRAL)
Info("La base a été créé sur le ""site central"", elle ne contient aucun
enregistrement.")



SI HCréeRéplicaMaître(gsREP_SITE_CENTRAL) ALORS
SINON
Erreur("Impossible de créer le réplica maître.", ErreurInfo())
Ferme()
FIN


// Création du réplica abonné pour le PAYS sélectionné
(<Sélectionner>/Allemagne/Espagne/Italie)
sRepABO est une chaîne
Identifiant est une chaîne = 123456789

// Création de l'abonné s'il n'existe
sRepABO = gsREP_SITE_ABONNE

// Création du répertoire de l'abonné
SI fRepCrée(sRepABO) ALORS

// Création de l'abonné avec les données actuelles du site central
SI HCréeRéplicaAbonné(gsREP_SITE_CENTRAL, sRepABO, Identifiant, 10000)
ALORS

// Pour l'abonné, préparation d'un jeu de données à partir de la base
maître
HFerme(MonFichier)
Multitâche(20)

fCopieFichier(gsREP_SITE_CENTRAL+"\CLEMENT.FIC", sRepABO)
fCopieFichier(gsREP_SITE_CENTRAL+"\CLEMENT.NDX", sRepABO)
fCopieFichier(gsREP_SITE_CENTRAL+"\CLEMENT.MMO", sRepABO)

// Ouverture des fichiers copiés pour l'abonné
// afin d'adapter la plage de valeur des identifiants
// En effet la base de départ de l'abonné étant à l'origine celle du
maitre,
// Il faut indiquer qu'elle va maintenant servir à l'abonné.
HChangeRep(MonFichier, sRepABO)
HChangeRepJnl(MonFichier, sRepABO, sRepABO)
HOuvre(MonFichier)
HInitAbonné(MonFichier, sRepABO+"\REPLICA_CLEMENT"+".RPL")

// Retour sur la base du site central
// pour les prochaines saisies des données
HFerme(MonFichier)
Multitâche(20)
HChangeRep(MonFichier, gsREP_SITE_CENTRAL)
HChangeRepJnl(MonFichier, gsREP_SITE_CENTRAL)

Info("Une copie de la base de données a été créée et l'abonné a été
initialisé.")

SINON

Erreur("""Impossible de créer le réplica abonné.""", ErreurInfo())

FIN

FIN // Condition sur création du répertoire de l'abonné


// --------------------------------------------------------------------------------------------

// Transfert des nouvelles données du site central vers les sites abonnés
// Le transfert se fait directement du maitre à l'abonné,
// C'est donc dans le cas ou il existe une connexion physique entre les deux

// Sans connexion, il faut utiliser un réplica transportable comme
intermédiaire.

sRepABO = "C:\Replication\REPLICA_CLEMENT.RPL"
IndicePays est un entier


// sRepAbonne = gsREP_SITE_ABONNE
SI fRep(sRepABO, frRépertoire) <> "" ALORS

SI HSynchroniseRéplica(gsREP_SITE_CENTRAL,gsREP_SITE_ABONNE, rplVersAbonné)
ALORS
Info("La synchronisation des données du site central vers l'abonné a été
faite.")
SINON
Erreur("Synchronisation des données impossible.")
FIN

FIN // test existence de l'abonné
Posté le 08 février 2006 - 17:04
S'il vous plait une petite correction de ce code et je ne vous embete plus
avec ce pb de réplication!


"Florent" <florent.alto@free.fr> a écrit dans le message de news:
43e8d116$1@news.pcsoft.fr...

Bonjour,

Je souhaite tester une réplication avec un fichier nommé ici MONFICHIER.
Mais le code suivant ne marche pas. Pourriez-vous y jeter un coup d'oeil
??
Le but étant de créer un fichier et de le répliquer dans un code bouton.
Merci d'avance.

---


gsREP_SITE_CENTRAL est une chaîne = "C:\Replication\Central"
gsREP_SITE_ABONNE est une chaîne = "C:\Replication\Abonné"
gsREP_REPLICA_TRANSPORTABLE est une chaîne = "C:\Replication\Fichiers
échangés"


HCreationSiInexistant(MonFichier)

// --------------------------------------------------------------------------------------------
// Création de la base du site central.
// Aucune données au départ.

SI PAS (fRep(gsREP_SITE_CENTRAL, frRépertoire)<>"") ALORS
fRepCrée(gsREP_SITE_CENTRAL)
HChangeRep(MonFichier, gsREP_SITE_CENTRAL)
HChangeRepJnl(MonFichier,gsREP_SITE_CENTRAL,gsREP_SITE_CENTRAL)
Info("La base a été créé sur le ""site central"", elle ne contient aucun
enregistrement.")



SI HCréeRéplicaMaître(gsREP_SITE_CENTRAL) ALORS
SINON
Erreur("Impossible de créer le réplica maître.", ErreurInfo())
Ferme()
FIN


// Création du réplica abonné pour le PAYS sélectionné
(<Sélectionner>/Allemagne/Espagne/Italie)
sRepABO est une chaîne
Identifiant est une chaîne = 123456789

// Création de l'abonné s'il n'existe
sRepABO = gsREP_SITE_ABONNE

// Création du répertoire de l'abonné
SI fRepCrée(sRepABO) ALORS

// Création de l'abonné avec les données actuelles du site central
SI HCréeRéplicaAbonné(gsREP_SITE_CENTRAL, sRepABO, Identifiant, 10000)
ALORS

// Pour l'abonné, préparation d'un jeu de données à partir de la base
maître
HFerme(MonFichier)
Multitâche(20)

fCopieFichier(gsREP_SITE_CENTRAL+"\CLEMENT.FIC", sRepABO)
fCopieFichier(gsREP_SITE_CENTRAL+"\CLEMENT.NDX", sRepABO)
fCopieFichier(gsREP_SITE_CENTRAL+"\CLEMENT.MMO", sRepABO)

// Ouverture des fichiers copiés pour l'abonné
// afin d'adapter la plage de valeur des identifiants
// En effet la base de départ de l'abonné étant à l'origine celle du
maitre,
// Il faut indiquer qu'elle va maintenant servir à l'abonné.
HChangeRep(MonFichier, sRepABO)
HChangeRepJnl(MonFichier, sRepABO, sRepABO)
HOuvre(MonFichier)
HInitAbonné(MonFichier, sRepABO+"\REPLICA_CLEMENT"+".RPL")

// Retour sur la base du site central
// pour les prochaines saisies des données
HFerme(MonFichier)
Multitâche(20)
HChangeRep(MonFichier, gsREP_SITE_CENTRAL)
HChangeRepJnl(MonFichier, gsREP_SITE_CENTRAL)

Info("Une copie de la base de données a été créée et l'abonné a été
initialisé.")

SINON

Erreur("""Impossible de créer le réplica abonné.""", ErreurInfo())

FIN

FIN // Condition sur création du répertoire de l'abonné


// --------------------------------------------------------------------------------------------

// Transfert des nouvelles données du site central vers les sites abonnés
// Le transfert se fait directement du maitre à l'abonné,
// C'est donc dans le cas ou il existe une connexion physique entre les
deux

// Sans connexion, il faut utiliser un réplica transportable comme
intermédiaire.

sRepABO = "C:\Replication\REPLICA_CLEMENT.RPL"
IndicePays est un entier


// sRepAbonne = gsREP_SITE_ABONNE
SI fRep(sRepABO, frRépertoire) <> "" ALORS

SI HSynchroniseRéplica(gsREP_SITE_CENTRAL,gsREP_SITE_ABONNE,
rplVersAbonné)
ALORS
Info("La synchronisation des données du site central vers l'abonné a été
faite.")
SINON
Erreur("Synchronisation des données impossible.")
FIN

FIN // test existence de l'abonné

Posté le 09 février 2006 - 18:24
C'est si difficile que ca ???
:(