Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.
Commentaire: Migration of unmigrated content due to installation of a new plugin

Surcharge, Connecteur mobile

Ancre
Surcharge
Surcharge
Surcharge


A partir de la version :

Date

Auteur

Commentaire

7.5a

28/06/2017

Sébastien Nadaus



Ancre
Description des fonctions de surcharge
Description des fonctions de surcharge
Description des fonctions de surcharge

Ancre
Fonctions et procédures implicites
Fonctions et procédures implicites
Fonctions et procédures implicites


Ce sont toutes les ouvertures utilisées mais non présentes dans le A5TTMOBISYNC.
Lors d'un parcours des enregistrements d'une table, nous utilisons les fonctions ReaderXXX_YYY (ou autre) des modules xxPMFICSQL.dhop ; par conséquent, de multiples ouvertures sont disponibles :
XXX_ReaderSelect_Av et XXX_ReaderSelect_Ap pour les fonctions ReaderSelect_XXX, XXX_ReaderUpdate_Av pour les fonctions ReaderUpdate_XXX,
XXX_ReaderDelete_Av pour les fonctions ReaderDelete_XXX, XXX_ReaderNext_Av et XXX_ReaderNext_Ap pour les fonctions ReaderNext_XXX, XXX_Select_Av et XXX_Select_Av pour les fonctions Select_XXX/Seek_XXX, XXX_Insert_Av pour les fonctions Insert_XXX,
XXX_Update_Av pour les fonctions Update_XXX, XXX_Delete_Av pour les fonctions Delete_XXX.



Ancre
Fonctions et procédures du A5TTMOBISYNC
Fonctions et procédures du A5TTMOBISYNC
Fonctions et procédures du A5TTMOBISYNC


Ancre
Fonctions Xxx_Ecriture_Av (infinity vers
Fonctions Xxx_Ecriture_Av (infinity vers
Ancre
_bookmark0
_bookmark0
Fonctions Xxx_Ecriture_Av (infinity vers mobile)


Ces fonctions servent à modifier l'enregistrement Xxx courant. Désormais, nous gérons le retour de ces fonctions :
'0' pour accepter l'enregistrement,
'1' pour le rejeter (ne pas l'écrire dans le fichier Xxx.txt, mais continuer la synchronisation).

Le paramètre idFic est l'identifiant du fichier dans lequel sera écrite la ligne, avec cet identifiant vous pourrez donc ajouter des lignes supplémentaires si besoin.

Ancre
Fonctions Xxx_Ecriture_Av (mobile vers i
Fonctions Xxx_Ecriture_Av (mobile vers i
Fonctions Xxx_Ecriture_Av (mobile vers infinity)


Ces fonctions servent à modifier l'enregistrement Xxx courant. Désormais, nous gérons le retour de ces fonctions :
'0' pour accepter l'enregistrement,
'1' pour le rejeter (ne pas l'écrire dans le fichier Xxx.txt, mais continuer la synchronisation).

Dans ce sens de synchronisation, les fonctions concernées seront les suivantes :
IPAR_Ecriture_Av, ENT_Ecriture_Av, EAD_Ecriture_Av, MOUV_Ecriture_Av,
ITXT_Ecriture_Av : texte lié à l'entête, ITXT_MOUV_Ecriture_Av : texte lié à la ligne.


Ancre
Fonctions Xxx_Lecture_Ap (mobile vers in
Fonctions Xxx_Lecture_Ap (mobile vers in
Fonctions Xxx_Lecture_Ap (mobile vers infinity)

Ces fonctions servent à accepter ou rejeter l'enregistrement Xxx courant : '0' pour accepter l'enregistrement,
'1' pour le rejeter (passer à l'enregistrement suivant de la liste).

En cas de retour '1', on pourra donc substituer le traitement standard à un traitement spécifique pour l'enregistrement Xxx courant ; en cas de retour '0', compléter ou exécuter le traitement standard.

Ancre
Fonctions Xxx_Traitement_Av (mobile vers
Fonctions Xxx_Traitement_Av (mobile vers
Fonctions Xxx_Traitement_Av (mobile vers infinity)


Ces fonctions servent à compléter et/ou accepter/rejeter l'enregistrement Xxx courant avant écriture dans la base ERP :
'0' pour accepter l'enregistrement,
'1' pour le rejeter (passer à l'enregistrement suivant de la liste).



Ancre
Fonctions SyncInfMob_DonneesXxx_Spe (inf
Fonctions SyncInfMob_DonneesXxx_Spe (inf
Fonctions SyncInfMob_DonneesXxx_Spe (infinity vers mobile)


Ces fonctions servent à choisir le traitement à effectuer :
'0' pour effectuer un traitement spécifique ou inhiber le traitement standard, '1' pour arrêter la synchronisation et générer une erreur,
'2' pour effectuer le traitement standard (et éventuellement le compléter).

Ancre
Autres fonctions
Autres fonctions
Autres fonctions


Les autres fonctions sont spécifiques à certains traitements, leur description, utilisation, étant décrites en commentaire dans le code source du A5TTMOBISYNC.dhsp.


Ancre
Fonctions publiques MOPM000
Fonctions publiques MOPM000
Fonctions publiques MOPM000


Ce chapitre traitera des fonctions publiques du module MOPM000.dhop.

Ancre
Constitution des fichiers TXT
Constitution des fichiers TXT
Constitution des fichiers TXT


Ancre
Function Char Formater_Nombre(nombre)
Function Char Formater_Nombre(nombre)
Function Char Formater_Nombre(nombre)


Cette fonction permet de formater un nombre en format dans la base mobile : au maximum, le nombre aura 5 décimales comme ce qui suit 'XXXXXXXXXXXXXX.DDDDD'.

Ancre
Function String Constituer_Ligne(type)
Function String Constituer_Ligne(type)
Function String Constituer_Ligne(type)


Cette fonction transforme un élément table en ligne à écrire dans le fichier txt, en passant le type d'entité en paramètre (voir les constantes de types dans le A5TTMOBISYNC.dhop).
Exemple : table tArticle. L'appel à cette fonction concaténera les valeurs de chaque champ en une ligne formatée comme suit :


Ancre
Gestion de fichiers
Gestion de fichiers
Gestion de fichiers


Ancre
Function Int Ouvrir_FichierW(&idfic, che
Function Int Ouvrir_FichierW(&idfic, che
Function Int Ouvrir_FichierW(&idfic, cheminSynchro, nomFichier)


Permet d'ouvrir le fichier nomFichier.txt (fonction Windows) depuis le répertoire cheminSynchro, la fonction affecte l'identifiant IdFic.

Ancre
Function Int Fermer_FichierW(idFic)
Function Int Fermer_FichierW(idFic)
Function Int Fermer_FichierW(idFic)


Ferme le fichier identifié par l'identifiant idFic.

Ancre
Function Int Ecrire_Ligne(&idFic, buffer
Function Int Ecrire_Ligne(&idFic, buffer
Function Int Ecrire_Ligne(&idFic, buffer)


Écrit le contenu du buffer (128k caractères max) dans le fichier identifié par idFic.

Ancre
Function Int Ajouter_Ligne(&cptLigne, &b
Function Int Ajouter_Ligne(&cptLigne, &b
Function Int Ajouter_Ligne(&cptLigne, &buffer, &idFic, ligne, nbLigne, forcerAjout)


Ajoute une ligne ligne au buffer si le buffer n'est pas plein. Écrit le contenu du buffer dans le fichier identifié par IdFic si :
le buffer est plein,
on force l'ajout de son contenu (forcerAjout = TRUE).



Ancre
Divers
Divers
Divers


Ancre
Function Int Verifier_CaracteresPermis(c
Function Int Verifier_CaracteresPermis(c
Function Int Verifier_CaracteresPermis(chaine)


Vérifie que la chaîne passée en paramètre contient ou non des caractères interdits (ici, interdits en saisie lors de la création d'un répertoire) et renvoie :
'0' si aucun caractère interdit n'est détecté, '1' sinon.


Ancre
Function Int Appeler_Ouverture(nomFoncti
Function Int Appeler_Ouverture(nomFoncti
Function Int Appeler_Ouverture(nomFonction, nbParametres, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, nomModule)


Cette fonction permet d'appeler une fonction/procédure nomFonction dans le module nomModule, en passant jusqu'à 12 paramètres différents :
si nomModule n'est pas renseigné, on cherchera la fonction dans MZ.MtCle,
pour passer x paramètres, affecter x à nbParametres et passer les x paramètres, la fonction renvoie :
'0' si la fonction est une procédure ou n'est pas trouvée, le retour de la fonction trouvée.

Ancre
Fonctions de parcours de record sql géné
Fonctions de parcours de record sql géné
Fonctions de parcours de record sql génériques


Ancre
Function Long ReaderOpen_RSQL(InstanceRS
Function Long ReaderOpen_RSQL(InstanceRS
Function Long ReaderOpen_RSQL(InstanceRS, &ReaderId)


Permet d'ouvrir un reader identifié par ReaderId pour une instance de record InstanceRS. La fonction renvoie toujours '0' et renseigne ReaderId.

Ancre
Function Int ReaderClose_RSQL(InstanceRS
Function Int ReaderClose_RSQL(InstanceRS
Function Int ReaderClose_RSQL(InstanceRS, &ReaderId)


Permet de fermer un reader identifié par ReaderId pour une instance de record InstanceRS. La fonction renvoie toujours '0' et remet à zéro ReaderId ; elle supprime également toutes les conditions et les clauses posées sur le record Sql InstanceRS.

Ancre
Function Int ReaderSelect_RSQL(InstanceR
Function Int ReaderSelect_RSQL(InstanceR
Function Int ReaderSelect_RSQL(InstanceRS, &ReaderId, nomIRS)


Exécute la requête sur le record sql InstanceRS. La fonction renvoie :
'1' si la requête échoue, '0' sinon.

Si le paramètre nomIRS est renseigné, deux ouvertures sont disponibles et peuvent être créées dans le module MZ.MtCle :
nomIRS_ReaderSelect_Av, nomIRS_ReaderSelect_Ap.



Ancre
Function Int ReaderNext_RSQL(InstanceRS,
Function Int ReaderNext_RSQL(InstanceRS,
Function Int ReaderNext_RSQL(InstanceRS, ReaderId, nomIRS)


Passe à l'élément suivant du record sql InstanceRS. La fonction renvoie :
'1' si aucun autre élément n'est disponible, '0' sinon.

Si le paramètre nomIRS est renseigné, deux ouvertures sont disponibles et peuvent être créées dans le module MZ.MtCle :
nomIRS_ReaderNext_Av, nomIRS_ReaderNext_Ap.

Ancre
Comment surcharger ?
Comment surcharger ?
Comment surcharger ?



Ancre
Synchronisation infinity vers mobile
Synchronisation infinity vers mobile
Synchronisation infinity vers mobile


Ancre
Initialiser des données avant synchronis
Initialiser des données avant synchronis
Initialiser des données avant synchronisation


Si vous voulez initialiser certaines données, certaines listes avant d'extraire les données dans les fichiers .txt, vous pourrez le faire dans la fonction SyncInfMob_DonneesDossier_Av.

Ancre
Ajouter une table spécifique
Ajouter une table spécifique
Ajouter une table spécifique


Pour synchroniser une table spécifique, il est préconisé de le faire :
dans la fonction SyncInfMob_DonneesDossier_Av, si vous avez besoin de certaines de ces données dans la suite de l'extraction,
dans la fonction SyncInfMob_DonneesDossier_Ap dans le cas contraire.



Ancre
Ajouter des informations spécifiques dan
Ajouter des informations spécifiques dan
Ajouter des informations spécifiques dans une ligne traitée en standard


Comme le décrit ce chapitre, il est possible de compléter, ignorer la ligne courante qui sera écrite dans un fichier .txt. Les données spécifiques devront être affectées aux champs InfoXXX, réservés distributeur.

Ancre
Synchronisation mobile vers infinity
Synchronisation mobile vers infinity
Synchronisation mobile vers infinity


Balise Wiki
\\
La synchronisation mobile vers infinity suit les étapes suivantes pour chaque dossier paramétré :
\\
Intègre les fichiers présents dans le répertoire \\[DOSSIER\]\Export\
lance le batch d'export des données de la base mobile vers les fichiers .txt, intègre ces fichiers.
\\
\\
L'intégration suit l'algorithme suivant :
\\
récupération des données de chaque fichier dans une liste particulière, dont la structure des éléments correspond à celle des lignes dudit fichier,
traitement de ces listes (intégration),
génération de fichiers d'erreur (si présence d'erreurs) ayant même structure dans un répertoire
\\[DOSSIER\]\Export\Error\AAAAMMJJHHMMSS.
\\
\\
\\


Ancre
Récupération des données d’un fichier no
Récupération des données d’un fichier no
Récupération des données d'un fichier non géré par le standard


Balise Wiki
\\
Lors du parcours des fichiers présents dans le répertoire \\[DOSSIER\]\Export, si un des fichiers n'est pas reconnu, la fonction Recuperer_DonneesFichier est appelée.
Le nom complet du fichier est envoyé par un PingLocal('SYNC_NOMFICHIER', cheminOri). Vous pourrez donc effectuer un prétraitement sur ce fichier si besoin : par exemple, comme dans le standard, insérer les lignes dans une liste qui sera traitée par la suite.
\\
\\


Ancre
Intégrer des données de fichiers spécifi
Intégrer des données de fichiers spécifi
Intégrer des données de fichiers spécifiques


Pour intégrer les données de vos tables spécifiques, vous pouvez intervenir dans la fonction Integrer_DonneesSpecifiques, dont l'exécution s'effectuera après les fichiers gérés par le standard.