Infos ERP
Nom de l'action : INFOS_INFINITY
Lectures des RecordSQL ERP. On indique les entités à lire sous la forme "Applic.NomRecordSQL" et les champs que l'on veut obtenir.
Par défaut seuls les champs demandés seront lu dans le RecordsSQL. Une option permet de lire l'ensemble des champs du SQL.
On peut rajouter des filtres : ils doivent correspondre à des clauses where du RecordSQL. On peut ajouter un ordre de tri : il doit correspondre à un tri du RecordSQL.
Gestion des confidentialités :
La gestion des confidentialités associée à l'action "infos_infinity" permet de bloquer les enregistrements confidentiels par rapport à l'utilisateur déclaré.
Utilisateurs Infinity
On indique l'utilisateur avec l'attribut "user" de la balise "action"
Exemple : <action dos="998" nom="infos_infinity" user="DEMO">
Utilisateurs Mobile
On indique l'utilisateur mobile avec l'attribut "mobuser" de la balise "action"
Exemple : <action dos="998" nom="infos_infinity" mobuser ="GRO_OUEST">
Si un attribut "mobuser" est défini dans la balise "action" on ne lit pas l'attribut "user"
Absence d'utilisateur
Si ni l'attribut "mobuser", ni l'attribut "user" ne sont présents : on teste la confidentialité avec le user associé au Service Web
Listes des champs
Le nœud "groupe_champs" permet de définir la liste des champs qui seront retournés.
Option lire_tout
Par défaut seul les champs demandés seront lu dans le Records.
Pour forcer le RecodSQL à lire l'ensemble des champs il faut rajouter l'attribut "lire_tout' à 'OUI' <groupe_champs lire_tout ='OUI'>
Gestion des champs "note"
Si le champ demandé est reconnu comme un champ contenant un n° de note.
On retourne le contenu de la note et pas son N°
C'est la fonction ' Type_Num_NOTEBLOB' du module a5tmswagil.dhop qui permet de déterminer si le champ est de type note. Dans le standard seul les champs qui ont le nom 'Note' sont traités comme des notes.
Exemple sur RecordSQL "DPAIE.Individu
Lecture des champs "individu", "nom Usage", "prenom" et "naisDt" de l'individu 13 Toutes les jointures du records sont désactivées
Réponse :
Exemple sur le RecordSQL "DPAIE.Contrat"
Lecture des champs "Code_individu", "Num_contrat", "entreeDt" , "SortieDt" et "Emploi_Lib" Pour les contrats de nature "sal" des individus 14 et 15.
Le tri demandé est "par_contrat"
Seule la jointure sur la table des codes emploi est utile.
Exemple de demande :
Exemple de réponse :
Réponse si le contrat 15-1 est confidentiel :
Filtres
Gestion des filtres.
A l'intérieur d'un filtre les critères sont évalués selon la valeur de l'attribut "op" de la balise "filtre". "op" peut prendre la valeur "OU" ou "ET.
La valeur par défaut est "OU"
A l'intérieur d'un groupe de filtres les filtres sont évalués selon la valeur de l'attribut "op" de la balise "groupe_filtres".
"op" peut prendre la valeur "OU" ou "ET. La valeur par défaut est "ET"
Exemple : Recherche des contrats actifs des individus 12 et 13
Jointures
On a la possibilité de désactiver ou d'activer des jointure en fonction des besoin. Désactiver des jointures inutiles permet d'accélérer le temps de réponse du SW.
Liste des champs demandés
Les balises <champ> positionné sous la balise <groupe_champs> permettent de définir la liste des champs qui seront affichés dans la réponse du SW.
Par défaut la liste des champs du Records sera réduite aux champs demandés. Exemple :
Option "lire_tout"
L'option lire_tout permet de lire l'ensemble des champs du recordSQL.
Attention : cette option ne permet que de définir les champs lus par le record. Dans tous les cas les champs retournés par la fonction infos_infinity seront limités à ceux définis dans les balises <champ>
Champ type date, time et date time
On a la possibilité de définir un format de retour "date" , "time" ou "date time"
Date : le champ est renvoyé sous la forme 'AAAA-M0-J0'
Time : le champ est renvoyé sous la forme 'hh:mm:ss'
Datetime : le champ est renvoyé sous la forme 'AAAA-M0-J0Thh:mm:ss'
Si aucun type n'est précisé les champs sont retournés sans formatage spécifique.
Soit AAAAMMJJ pour un champ date
Et AAAAMMJJHHMMSS pour un champ date time
Champ sql_id
Pour récupérer l'ID SQL d'un recordSQL il faut utiliser le type "idsql"
Exemple avec le champ START_ID du RecordSql "SousReference"
Liste de fichiers joints
Lors de l'interrogation d'un champ de type fichierJoint si le type "filelist" est précisé, on retourne la liste des fichiers joints associés.
Exemple avec le champ JOINT du RecordSql "SousReference"
En retour : on trouvera la valeur du champ "joint" dans l'attribut valeur de la balise 'Champ'
Et puis pour chaque fichier joint : l'id, le nom, le libellé et la taille dans une balise "joint"