OVH Cloud OVH Cloud

replication

2 réponses
Avatar
bruno.mutel
Bonjour

Je ne suis pas programmeur c'est pourquoi je fais pas mal d'erreur.
Cela fait un moment que j'essai de réplicer un poste maitre vers un
abonné (mono directionnel pour le moment).
Voici ma procédure simplifiée:

Sur le maitre:
creation replica maitre, abonné.
copie des fichiers de données (fic, ndx,mno)+rpl+rpm sur
disquette.

Sur l'abonné:
copie des fichiers de données (fic, ndx,mno)+rpl+rpm venant du
maitre
initialisation du poste abonné

jusque là sa marche...

Poste maitre:
Création du support transportable avec
HCréeRéplicaTransportable sur disquette.

Poste abonné:
Mise à jour de la base avec HSynchroniseRéplica
Et la sa plante "...impossible de trouver le RPM...)etc...
J'ai essayé plein de choses a force je ne sais plus ou j'en suis.
Si dessous le code complet bouton par bouton.
Si vous pouvez m'aider se serai vraiment sympa.




//APPLICATION MAITRE

Bouton création maitre
SI PAS HCréeRéplicaMaître(fRepEnCours()+"\Maitre") ALORS
Info(ErreurInfo())

Bouton abonné

test est une chaîne=HCréeRéplicaAbonné(fRepEnCours()+"\Maitre",fRepEnCours()+"\abonné","Nom
Abonné",1000)


SI test=0 ALORS
Info(ErreurInfo())
FIN

Bouton export des Données(Permet de copier les fichiers pour un abonné
par support transportable)
epAcceuil est une chaîne

RepAcceuil=fRepSélecteur("C:\*","Sélectionnez un répertoire
d'acceuil","Selectionner un répertoire où sera enregistré les fichiers
nécessaires")

Sablier(Vrai)

SI PAS fCopieFichier(fRepEnCours()+"\abonné\*Nom
Abonné.RPL",RepAcceuil+"\abonné\")ALORS
Info(ErreurInfo())
FIN
SI PAS fCopieFichier(fRepEnCours()+"\maitre\*.RPM",RepAcceuil+"\maitre\")ALORS
Info(ErreurInfo())
FIN
SI PAS fCopieFichier(fRepEnCours()+"\*.fic",RepAcceuil) ALORS
Info(ErreurInfo())
SI PAS fCopieFichier(fRepEnCours()+"\*.mmo",RepAcceuil) ALORS
Info(ErreurInfo())
SI PAS fCopieFichier(fRepEnCours()+"\*.ndx",RepAcceuil) ALORS
Info(ErreurInfo())
Sablier(Faux)

Bouton mise à jour abonné(création du support transportable)
repAcceuil est une chaîne


Sablier()
RepAcceuil=fRepSélecteur("C:\*", "Sélectionnez un répertoire
d'acceuil", "Selectionner un répertoire ou sera enregistré les
fichiers nécessaires")

SI PAS HCréeRéplicaTransportable(fRepEnCours()+"\maitre\","Nom
Abonné",RepAcceuil+"\maitre\Zip.WDZ") ALORS Info(ErreurInfo())


Sablier(Faux)




//APPLICATION ABONNE

Bouton importation des données(Importe les fichiers sur le poste
abonné, sur ce dernier pas de Hcréationsiinexsitant)

// Déclaration des variables
FichierACopier est une chaîne
FichierCopié est une chaîne
ResCopie est un booléen



// Sélection du répertoire ou sont stocké les fichiers
RepMaj = fRepSélecteur("C:\","Répertoire source","Sélectionner le
répertoire source des données")

SI RepMaj="" ALORS RETOUR

FichierCopié=RepEnCour
Sablier(Vrai)

// Copie des fichiers
ResCopie = fCopieFichier(RepMaj+"*.Fic", FichierCopié)

// Affichage du message d'erreur si la copie n'a pas été effectuée
SI ResCopie = Faux ALORS
Erreur(ErreurInfo(errMessage))

SINON
ResCopie = fCopieFichier(RepMaj+"*.ndx", FichierCopié)
// Affichage du message d'erreur si la copie n'a pas été effectuée
SI ResCopie = Faux ALORS
Erreur(ErreurInfo(errMessage))
SINON

ResCopie = fCopieFichier(RepMaj+"*.mmo", FichierCopié)
// Affichage du message d'erreur si la copie n'a pas été effectuée
SI ResCopie = Faux ALORS
Erreur(ErreurInfo(errMessage))
SINON
ResCopie = fCopieFichier(RepMaj+"*.mmo", FichierCopié)
// Affichage du message d'erreur si la copie n'a pas été effectuée
SI ResCopie = Faux ALORS
Erreur(ErreurInfo(errMessage))
SINON
SI PAS fCopieFichier(RepMaj+"RPL\*.rpl",FichierCopié+"\RPL")
ALORS
Info(ErreurInfo())

FIN
FIN
Info("Les fichiers ont bien été copié")
FIN

FIN
FIN
Sablier(Faux)




Bouton initialisation
SI PAS HInitAbonné("*",RepEnCour+"\RPL\Replica_abonné.RPL") ALORS
Info(ErreurInfo())
SINON
TitreSuivant("Compte rendu")
Info("Initiatilation réussie")
FIN

Bouton mise à jour abonné

FichierMiseAJour est une chaîne


FichierMiseAJour=fSélecteur("C:\*","", "Sélectionnez un fichier...",
"Mise à jour"+TAB+"*.wdz", "wdz", fselOuvre+fselExiste)
SI FichierMiseAJour=""ALORS RETOUR
Sablier(Vrai)
SI PAS HSynchroniseRéplica(FichierMiseAJour,"",rplVersAbonné) ALORS
Sablier(Faux)
Info(ErreurInfo())
RETOUR
SINON
//fsupprime(FichierMiseAJour)
Sablier(Faux)
TitreSuivant("Compte rendu")
Info("Mise à jour des fichiers executée avec succès")
FIN

2 réponses

Avatar
Antoine
mut wrote:
Bonjour

Je ne suis pas programmeur c'est pourquoi je fais pas mal d'erreur.
Cela fait un moment que j'essai de réplicer un poste maitre vers un
abonné (mono directionnel pour le moment).



Regardes du coté de la lst 56, si tu l'as, tu y trouveras un exemple
didacticiel sympa.
A+
Antoine

Voici ma procédure simplifiée:

Sur le maitre:
creation replica maitre, abonné.
copie des fichiers de données (fic, ndx,mno)+rpl+rpm sur
disquette.

Sur l'abonné:
copie des fichiers de données (fic, ndx,mno)+rpl+rpm venant du
maitre
initialisation du poste abonné

jusque là sa marche...

Poste maitre:
Création du support transportable avec
HCréeRéplicaTransportable sur disquette.

Poste abonné:
Mise à jour de la base avec HSynchroniseRéplica
Et la sa plante "...impossible de trouver le RPM...)etc...
J'ai essayé plein de choses a force je ne sais plus ou j'en suis.
Si dessous le code complet bouton par bouton.
Si vous pouvez m'aider se serai vraiment sympa.




//APPLICATION MAITRE

Bouton création maitre
SI PAS HCréeRéplicaMaître(fRepEnCours()+"Maitre") ALORS
Info(ErreurInfo())

Bouton abonné

test est une



chaîne=HCréeRéplicaAbonné(fRepEnCours()+"Maitre",fRepEnCours()+"abonné","N
om
Abonné",1000)


SI test=0 ALORS
Info(ErreurInfo())
FIN

Bouton export des Données(Permet de copier les fichiers pour un abonné
par support transportable)
epAcceuil est une chaîne

RepAcceuil=fRepSélecteur("C:*","Sélectionnez un répertoire
d'acceuil","Selectionner un répertoire où sera enregistré les fichiers
nécessaires")

Sablier(Vrai)

SI PAS fCopieFichier(fRepEnCours()+"abonné*Nom
Abonné.RPL",RepAcceuil+"abonné")ALORS
Info(ErreurInfo())
FIN
SI PAS
fCopieFichier(fRepEnCours()+"maitre*.RPM",RepAcceuil+"maitre")ALORS
Info(ErreurInfo())
FIN
SI PAS fCopieFichier(fRepEnCours()+"*.fic",RepAcceuil) ALORS
Info(ErreurInfo())
SI PAS fCopieFichier(fRepEnCours()+"*.mmo",RepAcceuil) ALORS
Info(ErreurInfo())
SI PAS fCopieFichier(fRepEnCours()+"*.ndx",RepAcceuil) ALORS
Info(ErreurInfo())
Sablier(Faux)

Bouton mise à jour abonné(création du support transportable)
repAcceuil est une chaîne


Sablier()
RepAcceuil=fRepSélecteur("C:*", "Sélectionnez un répertoire
d'acceuil", "Selectionner un répertoire ou sera enregistré les
fichiers nécessaires")

SI PAS HCréeRéplicaTransportable(fRepEnCours()+"maitre","Nom
Abonné",RepAcceuil+"maitreZip.WDZ") ALORS Info(ErreurInfo())


Sablier(Faux)




//APPLICATION ABONNE

Bouton importation des données(Importe les fichiers sur le poste
abonné, sur ce dernier pas de Hcréationsiinexsitant)

// Déclaration des variables
FichierACopier est une chaîne
FichierCopié est une chaîne
ResCopie est un booléen



// Sélection du répertoire ou sont stocké les fichiers
RepMaj = fRepSélecteur("C:","Répertoire source","Sélectionner le
répertoire source des données")

SI RepMaj="" ALORS RETOUR

FichierCopié=RepEnCour
Sablier(Vrai)

// Copie des fichiers
ResCopie = fCopieFichier(RepMaj+"*.Fic", FichierCopié)

// Affichage du message d'erreur si la copie n'a pas été effectuée
SI ResCopie = Faux ALORS
Erreur(ErreurInfo(errMessage))

SINON
ResCopie = fCopieFichier(RepMaj+"*.ndx", FichierCopié)
// Affichage du message d'erreur si la copie n'a pas été effectuée
SI ResCopie = Faux ALORS
Erreur(ErreurInfo(errMessage))
SINON

ResCopie = fCopieFichier(RepMaj+"*.mmo", FichierCopié)
// Affichage du message d'erreur si la copie n'a pas été effectuée
SI ResCopie = Faux ALORS
Erreur(ErreurInfo(errMessage))
SINON
ResCopie = fCopieFichier(RepMaj+"*.mmo", FichierCopié)
// Affichage du message d'erreur si la copie n'a pas été effectuée
SI ResCopie = Faux ALORS
Erreur(ErreurInfo(errMessage))
SINON
SI PAS fCopieFichier(RepMaj+"RPL*.rpl",FichierCopié+"RPL")
ALORS
Info(ErreurInfo())

FIN
FIN
Info("Les fichiers ont bien été copié")
FIN

FIN
FIN
Sablier(Faux)




Bouton initialisation
SI PAS HInitAbonné("*",RepEnCour+"RPLReplica_abonné.RPL") ALORS
Info(ErreurInfo())
SINON
TitreSuivant("Compte rendu")
Info("Initiatilation réussie")
FIN

Bouton mise à jour abonné

FichierMiseAJour est une chaîne


FichierMiseAJour=fSélecteur("C:*","", "Sélectionnez un fichier...",
"Mise à jour"+TAB+"*.wdz", "wdz", fselOuvre+fselExiste)
SI FichierMiseAJour=""ALORS RETOUR
Sablier(Vrai)
SI PAS HSynchroniseRéplica(FichierMiseAJour,"",rplVersAbonné) ALORS
Sablier(Faux)
Info(ErreurInfo())
RETOUR
SINON
//fsupprime(FichierMiseAJour)
Sablier(Faux)
TitreSuivant("Compte rendu")
Info("Mise à jour des fichiers executée avec succès")
FIN


Avatar
bruno.mutel
Oui merci.
Je savais que la LST 56 traitait du problème mais je ne suis pas
abonné.
Quand à Pc soft aucune réponse cohérente (Manque analyse, le coup
d'après une fenètre et après silence sur la ligne...),il m'ont envoyé
un exemple qui ma servi, celui que j'ai fait marche très bien comme
l'exemple sur le meme poste mais dés que je l'intal sur un autre ou là
poste maitre/abonné:plantage
il recherche le rpm dans le répertoir du maitre....
Donc je suis encore coincé, alors que je suis sur que je tourne autour
de la solution.



"Antoine" wrote in message news:<40c886c8$0$13927$...
mut wrote:
> Bonjour
>
> Je ne suis pas programmeur c'est pourquoi je fais pas mal d'erreur.
> Cela fait un moment que j'essai de réplicer un poste maitre vers un
> abonné (mono directionnel pour le moment).

Regardes du coté de la lst 56, si tu l'as, tu y trouveras un exemple
didacticiel sympa.
A+
Antoine

> Voici ma procédure simplifiée:
>
> Sur le maitre:
> creation replica maitre, abonné.
> copie des fichiers de données (fic, ndx,mno)+rpl+rpm sur
> disquette.
>
> Sur l'abonné:
> copie des fichiers de données (fic, ndx,mno)+rpl+rpm venant du
> maitre
> initialisation du poste abonné
>
> jusque là sa marche...
>
> Poste maitre:
> Création du support transportable avec
> HCréeRéplicaTransportable sur disquette.
>
> Poste abonné:
> Mise à jour de la base avec HSynchroniseRéplica
> Et la sa plante "...impossible de trouver le RPM...)etc...
> J'ai essayé plein de choses a force je ne sais plus ou j'en suis.
> Si dessous le code complet bouton par bouton.
> Si vous pouvez m'aider se serai vraiment sympa.
>
>
>
>
> //APPLICATION MAITRE
>
> Bouton création maitre
> SI PAS HCréeRéplicaMaître(fRepEnCours()+"Maitre") ALORS
> Info(ErreurInfo())
>
> Bouton abonné
>
> test est une
>
chaîne=HCréeRéplicaAbonné(fRepEnCours()+"Maitre",fRepEnCours()+"abonné","N
om
> Abonné",1000)
>
>
> SI test=0 ALORS
> Info(ErreurInfo())
> FIN
>
> Bouton export des Données(Permet de copier les fichiers pour un abonné
> par support transportable)
> epAcceuil est une chaîne
>
> RepAcceuil=fRepSélecteur("C:*","Sélectionnez un répertoire
> d'acceuil","Selectionner un répertoire où sera enregistré les fichiers
> nécessaires")
>
> Sablier(Vrai)
>
> SI PAS fCopieFichier(fRepEnCours()+"abonné*Nom
> Abonné.RPL",RepAcceuil+"abonné")ALORS
> Info(ErreurInfo())
> FIN
> SI PAS
> fCopieFichier(fRepEnCours()+"maitre*.RPM",RepAcceuil+"maitre")ALORS
> Info(ErreurInfo())
> FIN
> SI PAS fCopieFichier(fRepEnCours()+"*.fic",RepAcceuil) ALORS
> Info(ErreurInfo())
> SI PAS fCopieFichier(fRepEnCours()+"*.mmo",RepAcceuil) ALORS
> Info(ErreurInfo())
> SI PAS fCopieFichier(fRepEnCours()+"*.ndx",RepAcceuil) ALORS
> Info(ErreurInfo())
> Sablier(Faux)
>
> Bouton mise à jour abonné(création du support transportable)
> repAcceuil est une chaîne
>
>
> Sablier()
> RepAcceuil=fRepSélecteur("C:*", "Sélectionnez un répertoire
> d'acceuil", "Selectionner un répertoire ou sera enregistré les
> fichiers nécessaires")
>
> SI PAS HCréeRéplicaTransportable(fRepEnCours()+"maitre","Nom
> Abonné",RepAcceuil+"maitreZip.WDZ") ALORS Info(ErreurInfo())
>
>
> Sablier(Faux)
>
>
>
>
> //APPLICATION ABONNE
>
> Bouton importation des données(Importe les fichiers sur le poste
> abonné, sur ce dernier pas de Hcréationsiinexsitant)
>
> // Déclaration des variables
> FichierACopier est une chaîne
> FichierCopié est une chaîne
> ResCopie est un booléen
>
>
>
> // Sélection du répertoire ou sont stocké les fichiers
> RepMaj = fRepSélecteur("C:","Répertoire source","Sélectionner le
> répertoire source des données")
>
> SI RepMaj="" ALORS RETOUR
>
> FichierCopié=RepEnCour
> Sablier(Vrai)
>
> // Copie des fichiers
> ResCopie = fCopieFichier(RepMaj+"*.Fic", FichierCopié)
>
> // Affichage du message d'erreur si la copie n'a pas été effectuée
> SI ResCopie = Faux ALORS
> Erreur(ErreurInfo(errMessage))
>
> SINON
> ResCopie = fCopieFichier(RepMaj+"*.ndx", FichierCopié)
> // Affichage du message d'erreur si la copie n'a pas été effectuée
> SI ResCopie = Faux ALORS
> Erreur(ErreurInfo(errMessage))
> SINON
>
> ResCopie = fCopieFichier(RepMaj+"*.mmo", FichierCopié)
> // Affichage du message d'erreur si la copie n'a pas été effectuée
> SI ResCopie = Faux ALORS
> Erreur(ErreurInfo(errMessage))
> SINON
> ResCopie = fCopieFichier(RepMaj+"*.mmo", FichierCopié)
> // Affichage du message d'erreur si la copie n'a pas été effectuée
> SI ResCopie = Faux ALORS
> Erreur(ErreurInfo(errMessage))
> SINON
> SI PAS fCopieFichier(RepMaj+"RPL*.rpl",FichierCopié+"RPL")
> ALORS
> Info(ErreurInfo())
>
> FIN
> FIN
> Info("Les fichiers ont bien été copié")
> FIN
>
> FIN
> FIN
> Sablier(Faux)
>
>
>
>
> Bouton initialisation
> SI PAS HInitAbonné("*",RepEnCour+"RPLReplica_abonné.RPL") ALORS
> Info(ErreurInfo())
> SINON
> TitreSuivant("Compte rendu")
> Info("Initiatilation réussie")
> FIN
>
> Bouton mise à jour abonné
>
> FichierMiseAJour est une chaîne
>
>
> FichierMiseAJour=fSélecteur("C:*","", "Sélectionnez un fichier...",
> "Mise à jour"+TAB+"*.wdz", "wdz", fselOuvre+fselExiste)
> SI FichierMiseAJour=""ALORS RETOUR
> Sablier(Vrai)
> SI PAS HSynchroniseRéplica(FichierMiseAJour,"",rplVersAbonné) ALORS
> Sablier(Faux)
> Info(ErreurInfo())
> RETOUR
> SINON
> //fsupprime(FichierMiseAJour)
> Sablier(Faux)
> TitreSuivant("Compte rendu")
> Info("Mise à jour des fichiers executée avec succès")
> FIN