Développement > Safe X3 WAS > Lien SAFE X3 > Action Web 

SEEWARNING Avant de créer votre site , il préférable de lire la documentation :Avant de commencer.


Une action utilisateur XTEND se traduit soit par une action effectuée directement par le serveur XTEND, soit par l'appel d'un web service X3 qui peut être soit un sous-programme soit une action associée à un objet X3.
L'action utilise les web services X3 lorsqu'elle est associée à une interface.
Une action permet de décrire le mapping (correspondance) entre les entités/champs XTEND et les groupes/paramètres d'une interface en entrée (valorisation des paramètres d'appel) et en sortie (traitement des valeurs renvoyés).
L'action est associée à un token lien dynamique inséré dans la page HTML, dans un tag type bouton ou ancre.
L'action est déclenchée par un clic de l'utilisateur.

Actions préféfinies

Détail des actions prédéfinies :

Code

Paramètres

Lien dynamique

Description

ABLKFIRSTPAGE

Non

ADLKFIRSTPAGE

Affiche la première page d'un bloc
Syntaxe MonBloc.MonLienDynamique

ABLKNEXTPAGE

Non

ADLKNEXTPAGE

Affiche la page suivante d'un bloc

ABLKPREVPAGE

Non

ADLKPREVPAGE

Affiche la page précédente d'un bloc

ABLKLASTPAGE

Non

ADLKLASTPAGE  

Affiche la dernière page d'un bloc

ABLKRESTOREMAINCTX

Non  

A créer  

Retour vers une liste sans perdre la pagination
Créer un lien dynamique avec la page qui contient le bloc comme page cible

ABLKSELECT

Non

ADLKSELECT

Sélectionne la ligne d'un bloc
MonBloc.MonChamp renvoie la valeur de MonChamp pour la ligne sélectionnée

ABLKUNSELECT

Non  

ADLKUNSELECT

Déselectionne la ligne sélectionnée d'un bloc

ARESTOREFORM

Non  

ADLKRESTOREFORM

Restaure un formulaire HTML avec les valeurs initiales
Ne tient pas compte du paramètre HTML xrc

ARESTORESESSION

Non

ADLKRESTORESESSION

Utilisée dans la page de reconnexion (voir fiche site)
Affiche la dernière page ouverte avant fermeture du navigateur

ASESSLOGIN  

Oui

ADLKLOGIN

Login de l'utilisateur
Code utilisateur(AUSERCODE) et mot de passe(APWD) en paramètre
L'interface et le mapping des paramètre est à faire

ASESSLOGOUT

 Non

ADLKLOGOUT

Déconnecte l'utilisateur

ASESSSWITCHCOOKIES

Non

ADLKSWITCHCOOKIES

Permute le mode 'sans cookies' et le mode 'avec cookies'
Utiliser le bloc conditionné ADISPNOCOOKIES
pour afficher l'état avec/sans cookies de la session

ASESSSWITCHLANG

Oui

Non

Change la langue utilisateur
Code langue en paramètre

ASESSSWITCHSITE

Oui

Non

Change de site
Codes X3SOLUTION/X3FOLDER/XTENDLANG/XTENDSITE en paramètre

ATRACESET

Non

ADLKTRACESET 

Mise à jour de la trace XTEND

SEEINFO Pour pouvoir fonctionner, l'action AXTDLOGIN doit être configurée avec l'interface de login que vous avez créée pour le site.

Pré-requis

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre

Gestion de l'écran

En-tête

Champs

Les champs suivants sont présents dans cet onglet :

Sélectionnez un code action.

SEEREFERTTO Voir le tableau des Actions prédéfinies.

  • Site (champ FCYLIB)

Site Web courant.

  • Intitulé (champ INTIT)

Intitulé de l'action courante.

 

Onglet Généralités

Champs

Les champs suivants sont présents dans cet onglet :

Action

  • Type (champ ACTTYP)

Ce champ indique si l'action est de type :

  • standard,
  • de login (connexion),
  • ou de logout (déconnexion).

Par défaut, le champ est à 'Standard'.

  • Actif sur reload (champ ACTREFRESH)

Ce champ indique si l'action doit être ré-exécutée lorsque l'utilisateur appuie sur la touche F5.

Par défaut, le champ est à 'Non' pour bloquer l'action.
Cela permet d'éviter la création d'une nouvelle commande quand l'utilisateur appuie sur F5.

  • Suivi de l'activité (champ LOGMOD)

Ce champ permet d'activer le suivi de l'activité pour l'action.
Une trace sera enregistrée dans le fichier .log du serveur XTEND.

Entités à supprimer

  • Suppression en début (champ ENTSUPBEF)

L'action peut supprimer des entités en début ou en fin d'exéution.

  • Par défaut, la case est décochée : la suppression a lieu en fin d'exécution si aucune erreur ne se produit.

  • Si la case est cochée : la suppression a lieu en début d'action.

Exemple :

Pour une action qui passe une commande :

  • Décochez la case pour supprimer le panier.
  • Si la commande a été créée sans erreur, le panier est supprimé.

Tableau Suppressions

Saisissez les codes des entités à supprimer.

Gestion service web

Ce champ indique le code de l'interface appelée par l'action.

  • champ INTTYP

 

  • Activation bouton (champ WSOACT)

Sélectionnez le type de bouton de l'objet :

  • Lecture,
  • Créer,
  • Supprimer,
  • Enregistrer,
  • Autre : le code bouton devra être renseigné.

  • Code bouton (champ WSOACTBTN)

Si l'option 'Autre' du champ 'Activation du bouton' est sélectionnée, saisissez un code bouton particulier.

Exemple :

Pour l'objet Facture, on peut renseigner 'V' pour activer le bouton validation de la facture.

  • Type de paramètre (champ WSOTYPPAR)

Pour une action 'Autre', sélectionnez la 'signature' de la méthode 'actionObject' à appeler.

Pour le web service Objet X3, deux méthodes 'actionObjet' de même nom sont disponibles, mais avec des paramètres différents. Ces paramètres sont :

  • 'Clés' : un tableau de clés d'objet,
  • 'Données' : le contenu XML d'un objet.

Tableau Paramètres de l'action

Code du paramètre de l'action.
Le paramètre est un 'Token champ' qui doit être déclaré dans le dictionnaire.

  • Valeur (champ VALTYP40)

Deux types de valeur sont possibles :

  • Constante : permet de saisir une valeur fixe ; la valeur doit être renseignée dans la colonne 'Constante'.
  • Saisie : la valeur est renseignée dans le 'Lien dynamique' en fonction du contexte d'utilisation.

En général, un paramètre est valorisé dans le 'Lien dynamique' :

  • A partir d'un champ du formulaire HTML,
  • A partir d'un champ d'une entité session ou action,
  • A partir du champ d'un bloc (Entité Accès données) : dans  ce cas, le bloc ACURRENT permet de lire la valeur.
  • Constante (champ VALEUR40)

Valeur de la constante.

 

Onglet Mapping Interface

Présentation

Cet onglet détaille la correspondance (mapping) entre les champs XTEND et les paramètres du sous-programmes ou champs de l'objet X3.

Tableaux

Paramètres en entrée (Entités vers Interface)

Le tableau 'Entité/Param --> Interface' décrit la correspondance entre les paramètres de l'action décrits précédemment et les paramètres du web service associé à l'interface.

SEEINFO Pour sélectionner un paramètre de l'action il ne faut pas valoriser la colonne entité.
Dans ce cas la liste des paramètres de l'action est affichée sur F12 dans la cellule 'Champ/Param..

Il est également possible de 'mapper' directement le champ d'une entité vers un paramètre du web service en précisant le code entité dans la colonne entité.

Paramètres en sortie (Interface vers Entités)

Le tableau 'Interface --> Entité' décrit la correspondance entre les paramètres du web service associé à l'interface et les entités XTEND qui seront crées par l'action.

___________________________

Lors d'un mapping d'un webservice objet X3 le paramètre AMODSTAMP du groupe ADXTEC contient le TimeStamp (identifiant de dernière modification) de l'objet X3.

AMODSTAMPest un token champ fourni.

Il permet de gérer les conflits de mise à jour d'objets qui peuvent survenir en mode web service (asynchrone).

Si ce paramètre est renvoyé à X3, le processus X3 compare sa valeur à celle de l'objet stocké dans la base de données et génère une erreur si les deux valeurs sont différentes ('objet en cours de modification sur un autre poste').

 

Champs

Les champs suivants sont présents dans cet onglet :

Tableau Entités/Param. --> Interface

Le code de l'entité XTEND permet d'effectuer le mapping du paramètre.
Laissez ce champ vide si vous voulez 'mapper' un paramètre de l'action.

  • Champ / Param. (champ FIEKEY20)

Code paramètre de l'action, ou code champ de l'entité.

  • Groupe (champ DSCGRP20)

Groupe de publication ou code écran du web service.

  • Paramètre de l'interface (champ DSCCOD20)

Sélectionnez 'Non' pour effectuer un mappping de N champs Xtend vers N valeurs d'un même paramètre X3.

La colonne 'Indice' devient saisissable et permet de saisir l'index du 'paramètre interface' (paramètres X3) à valoriser avec la valeur du champ XTEND.

SEEREFERTTO Pour plus d'informations, voir le paragraphe sur le mapping multiple.

  • Multi (champ INTMLT20)

Sélectionnez 'Non' pour effectuer un mappping de N valeurs d'un même paramètre X3 vers N champs Xtend.

La colonne 'Indice' devient saisissable et permet de saisir l'index du paramètre X3 qui donne la valeur du champ XTEND.

SEEREFERTTO Pour plus d'informations, voir le paragraphe sur le mapping multiple.

  • Indice (champ DSCIND20)

Mapping de N champs Xtend -> N valeurs d'un paramètre X3 :

Saisir 'Non'dans la colonne 'Multi'.
La colonne 'Indice' donne l'index, dans le tableau des valeurs du 'paramètre de l'interface' (paramètre X3), de la cellule qui sera valorisée avec la valeur du champ XTEND.

SEEREFERTTO Pour plus d'informations, voir le paragraphe sur le mapping multiple.

Interface --> Entités

Code de l'action qui contient le mapping de retour, si celui-ci a déjà été défini dans une autre action.

Dans le cas d'un objet X3, la création d'une action XTEND se fait souvent par bouton d'action X3. Le mapping de retour est généralement le même pour toutes les actions : décrivez-le dans une seule action.

Tableau Publication

  • Groupe (champ DSCGRP21)

Groupe de publication ou code écran du web service.

  • Paramètre de l'interface (champ DSCCOD21)

Nom du paramètre du sous-programme, ou code du champ de l'objet X3.

  • Multi (champ INTMLT21)

Sélectionnez 'Non' pour effectuer un mappping de N champs Xtend vers N valeurs d'un même paramètre X3.

La colonne 'Indice' devient saisissable et permet de saisir l'index du 'paramètre interface' (paramètres X3) à valoriser avec la valeur du champ XTEND.

SEEREFERTTO Pour plus d'informations, voir le paragraphe sur le mapping multiple.

  • Indice (champ DSCIND21)

Mapping de N valeurs d'un paramètre X3 -> N champs Xtend :

Saisissez 'Non'dans la colonne 'Multi'.
La valeur du champ XTEND est donnée par la colonne 'Indice' qui est l'index dans le tableau des valeurs du 'paramètre de l'interface' (paramètre X3).

SEEREFERTTO Pour plus d'informations, voir le paragraphe sur le mapping multiple.

Code de l'entité dans laquelle sera créé le champ XTEND avec la valeur du 'paramètre interface'.

  • Champ (champ FIEKEY21)

Code du champ XTEND à créer.

 

A propos du Mapping Multiple

Le mapping standard champ à champ nécessite de déclarer un paramètre L4G par champ.

Il existe certains cas d'usage où l'on ne souhaite pas déclarer un paramètre par champ mais grouper les valeurs des champs dans un seul paramètre L4G :

  • Si le nombre de champs est supérieur à 50 (formulaire HTML avec beaucoup de champs de saisie).
    Un web service X3 n'accèpte pas plus de 60 paramètres dont 10 utilisés par XTEND comme paramètres techniques.
  • Si le nombre de champs peut être modifié par paramétrage et que l'on ne souhaite pas modifier le web service et le mapping de l'action après chaque modification.

GESAYA_1.jpg

XTEND permet de n'utiliser qu'un seul paramètre L4G multi-dimensionné pour passer toutes les valeurs des champs via les colonnes 'Multi' et 'Indice' du mapping.

La correspondance valeur/champ est effectuée par la position (indice) dans le tableau.

'Multi' et 'Indice' ne sont actifs que si le paramètre dans l'interface est de dimension >1.

Mode standard (champ à champ)

Création d'une seule ligne de mapping.
Le paramètre Multi a pour valeur 'Oui' pour indiquer qu'un champ sera créé par entité XTEND avec la valeur correspondant à l'indice de la ligne courante.

Le paramètre Indice n'est pas utilisé.

Mode N valeurs d'un paramètre X3 -> N champs Xtend

Création d'autant de lignes de mapping que de champs XTEND à valoriser.
Le paramètre Multi a pour valeur 'Non' pour indiquer qu'il faut valoriser un seul champ XTEND avec la valeur du paramètre X3 dont l'indice est donné dans la colonne indice.

Mode N champs Xtend -> N valeurs d'un paramètre X3

Création d'autant de lignes de mapping que de valeurs à ajouter au paramètre X3.
Le paramètre Multi a pour valeur 'Non' pour indiquer qu'il faut valoriser la cellule du tableau dont l'indice est donné dans la colonne indice avec la valeur du champ XTEND.

Etats

Par défaut, les états suivants sont associés à la fonction :

 PRTSCR : Impression écran

Mais ceci peut être modifié par paramétrage.

Boutons spécifiques

Ce bouton permet de mettre à jour le dictionnaire XTEND au format XML.

Le serveur X3WEB prend en compte uniquement le dictionnaire sous ce format.

Il existe un fichier xml par dictionnaire.

Par exemple le fichier ACT.xml correspondant à l'ensemble des actions web pour le site Web courant.

Ce bouton permet de copier une action Web.

Barre de menu

Outils / Validation avec vérification

Validation avec une vérification de la cohérence des données du dictionnaire XTEND. 

Messages d'erreur

Il n'y a pas de message d'erreur autre que les messages d'erreur génériques.

Tables mises en oeuvre

SEEREFERTTO Reportez-vous à la documentation de Mise en oeuvre