1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
| PROCEDURE AjouteAbonnéSupplémentaire()
Sablier()
// Ouvre la fenêtre de progression
OuvreFille(FEN_InfoSynchro)
// On désactive le GFI temporairement pour éviter les effets de scintillement
// avec la fenêtre de conflit
FenActiveGFI(FEN_Accueil, Faux)
FenActiveGFI(FEN_InfoSynchro, Faux)
// Borne de la jauge
FEN_InfoSynchro.JAUGE_TRAITEMENT..BorneMax = 3
// Variables locales
sPays est une chaîne = Synchronisation.gsNomAssistante
sRéplicaMaitre est une chaîne
sRepertoireNouvelAbonne est une chaîne
sRéplicaTransportable est une chaîne
// Définition de l'assistante
sPays =ParametreAssistantes.NuméroAgenceCommerciale+ParametreAssistantes.Initiales
// Création du répertoire d'accueil des données
sRepertoireNouvelAbonne = Synchronisation.gsRepertoireBase+["\"]+sPays +"\"
// Crée le répertoire abonné
fRepCrée(sRepertoireNouvelAbonne)
// Création du réplica abonné pour le site
ErreurChangeParamètre(epCode)
SI HCréeRéplicaAbonné(Synchronisation.gsRepertoireMaitre, sRepertoireNouvelAbonne, sPays, 0) = Faux ALORS
// Il n'a pas été possible de créer l'abonné
// Traitement du cas ou il a déjà été créé dans ce cas il faut le recréer, sinon abandon de la création avec affichage de la cause...
SI ErreurInfo(errCode) = 180020 ALORS
// Recréation d'un abonné déjà créé précédemment ...
SI HRecréeRéplicaAbonné(Synchronisation.gsRepertoireMaitre, sRepertoireNouvelAbonne, sPays) = Faux ALORS
FinProgramme("Echec de création du réplica abonné."+RC+ErreurInfo())
FIN
SINON
FinProgramme("Echec de création du réplica abonné."+RC+ErreurInfo())
FIN
FIN
ErreurChangeParamètre(epAfficheMessageFinProgramme)
// Transfert de la base HyperFileSQL (maître) dans une nouvelle base correspond à ce nouvel abonné (première synchronisation)
sRéplicaMaitre = Synchronisation.gsRepertoireMaitre +["\"]+ cstNomReplicaMaitre
// Ouverture d'une connexion sur la base HyperFileSQL (Portugal - Maître)
OuvreUneConnexion(Synchronisation.gsNumCommercial)
// Création du réplica transportable avec contenu initial de la base HyperFileSQL
HCréeRéplicaTransportable(sRéplicaMaitre,sPays,"")
// Ouverture d'une connexion HyperFileSQL dans le dossier des données du nouvel abonné
OuvreUneConnexion(sPays)
sRéplicaTransportable = Synchronisation.gsRepertoireMaitre +["\"]+ RPL.Fichier
// Création du fichier de données : la base Abonnée
// fCopieFichier(Synchronisation.gsRepertoireBase + "\AgendaEvénement.fic",sRepertoireNouvelAbonne)
// fCopieFichier(Synchronisation.gsRepertoireBase + "\AgendaEvénement.mmo",sRepertoireNouvelAbonne)
HCréation(AgendaEvénement)
// Synchronisation du réplica avec la base Access
HSynchroniseRéplica(sRéplicaTransportable, sRepertoireNouvelAbonne+"Replica_"+sPays+".RPL", rplVersAbonné)
// Il faut effectuer une synchronisation de l'abonné vers le maître également
// Le maître sera ainsi "informé" que la synchronisation initiale a bien été faite
HCréeRéplicaTransportable(sRepertoireNouvelAbonne+"Replica_"+sPays+".RPL", sPays, "")
sRéplicaTransportable = sRepertoireNouvelAbonne +["\"]+ RPL.Fichier
// Connexion à la base maître afin de synchroniser ce nouveau réplica abonné...
OuvreUneConnexion(Synchronisation.gsNumCommercial)
HSynchroniseRéplica(Synchronisation.gsRepertoireMaitre +["\"]+ cstNomReplicaMaitre, sRéplicaTransportable, rplVersMaître)
Ferme(FEN_InfoSynchro)
Sablier(Faux)
Info("Traitement terminé") |
Partager