Assistant de création d'écran
L'Assistant de création d'écran construit un écran complet en une seule passe. Deux points de départ sont possibles :
- Database table (une table de la base) — une table de base et d'éventuelles tables jointes. L'assistant écrit un
SELECTneuf sur le connecteur. - Existing query (une requête existante) — réutilisation en lecture d'une requête déjà définie sur le connecteur. L'assistant lit ses colonnes et construit l'écran par-dessus ; aucune requête dupliquée n'est générée. Un preset de catalogue qui nomme une requête suit le même chemin.
Une fois la source choisie, vous sélectionnez les colonnes affichées dans la grille (elles deviennent la vue partagée par défaut de l'écran), vous répartissez au besoin des colonnes dans des onglets pour l'édition, vous revoyez les entrées de dictionnaire et vous posez une entrée de menu — l'assistant écrit ensemble la requête de lecture (quand la source est une table), l'écran, son dialogue, la vue par défaut et l'entrée de menu.
C'est la voie rapide vers un écran qui fonctionne : ce que vous assembleriez à la main entre les pages Connecteurs, Dictionnaire, Écrans et Menus, l'assistant le produit en une étape contrôlée.
L'assistant est un outil superutilisateur. Il apparaît dans la barre latérale, juste au-dessus de Monitoring, pour les seuls superutilisateurs. Il s'ouvre en fenêtre par-dessus la page courante — sans route dédiée.
Cet assistant est déterministe — il lit votre schéma et génère du SQL et de la configuration standard ; il n'appelle aucun modèle. C'est une fonctionnalité différente du tiroir de chat Assistant IA, qui propose le même genre d'artefacts par la conversation. Utilisez l'assistant quand vous connaissez déjà les tables ; utilisez le chat IA pour explorer.
La passe
Avant les étapes ci-dessus, une courte étape Cible demande le Connecteur source (un connecteur SQL) et l'Application à laquelle le nouvel écran et son menu se rattachent. À partir de là, l'assistant vous guide :
1 · Source
Deux choix mutuellement exclusifs :
- Database table — choisir une table de base sur le connecteur, puis au besoin ajouter une table jointe (type de jointure et conditions ON). Un preset de catalogue câble les jointures en un clic.
- Existing query — choisir une requête de lecture déjà définie sur le connecteur. L'assistant introspecte ses colonnes au lieu d'écrire un nouveau
SELECT; l'écran lit à travers la requête existante.
Dans les deux cas, l'assistant lit les colonnes réelles pour que les étapes suivantes disposent de vrais champs.
2 · Vue de grille
La requête de lecture sélectionne toutes les colonnes de la source ; cette étape choisit lesquelles apparaissent dans la grille. La sélection retenue est enregistrée comme vue partagée par défaut de l'écran — une vue partagée qu'un utilisateur peut ensuite surcharger avec ses propres vues enregistrées.
3 · Colonnes de dialogue (optionnel)
Sauter cette étape produit un écran en lecture seule — pas de dialogue. Sinon, une disposition à deux volets : les colonnes disponibles d'un côté, vos onglets de dialogue de l'autre. Répartir les colonnes dans les onglets, ajouter, renommer ou supprimer des onglets, et cocher les colonnes clés (celles qui identifient une ligne) : elles pilotent les requêtes de mise à jour et de suppression. Seules les colonnes posées ici apparaissent dans le dialogue d'édition ; la grille garde la sélection de l'étape 2.
4 · Dictionnaire
L'assistant analyse la source et propose les entrées de dictionnaire dont l'écran a besoin. Les entrées déjà présentes sont affichées mais grisées et laissées intactes — seules les manquantes sont cochées d'avance pour création. Pour chaque entrée proposée, vous réglez le Libellé, le Format, la Règle, la valeur de règle, les paramètres de lookup (pour une règle UDC / table de correspondance) et la valeur par défaut. C'est la même table de scan que l'éditeur de dictionnaire.
5 · Menu
Cochez Ajouter une entrée de menu sous cette application pour placer l'écran dans la navigation, puis réglez le Libellé du menu, un Menu parent optionnel et une Icône. Laissez décoché pour créer l'écran sans entrée de menu — utile pour un écran atteint seulement comme onglet imbriqué.
6 · Revue & création
Nommez la table / requête et le libellé de l'écran, vérifiez le récapitulatif À créer et l'aperçu du SQL de lecture généré, puis Créer l'écran. En cas de succès, l'assistant signale que l'écran est créé et actif, et propose de l'ouvrir.
L'écran généré a auto_load activé et l'espace de travail se rafraîchit à la fermeture — le nouvel écran s'ouvre là où pointe le menu, sans rechargement manuel du navigateur.
Ce qu'il crée
En une passe validée — rien n'est écrit tant que chaque pièce n'est pas valide — l'assistant ajoute :
| Artefact | Ce qui est posé |
|---|---|
| Requête de connecteur | Database table — une nouvelle table sur le connecteur source avec une requête get, plus les requêtes d'écriture post / put / delete pour que l'écran soit modifiable. Existing query — rien n'est ajouté sur le connecteur ; l'écran lit à travers la requête choisie. |
| Entrées de dictionnaire | Les entrées proposées que vous avez conservées (les existantes ne sont jamais écrasées). |
| Écran + dialogue | L'écran sous l'application choisie, ses colonnes de grille et — si l'étape 3 a été remplie — un dialogue dont les onglets portent les champs du formulaire. |
| Vue partagée par défaut | La sélection de grille de l'étape 2, enregistrée comme vue partagée par défaut de l'écran. |
| Entrée de menu | Optionnelle — une feuille sous le menu de l'application, pointant vers le nouvel écran. |
Une table ou un écran dont le nom existe déjà est refusé plutôt qu'écrasé. Comme l'assistant capture la configuration avant d'écrire, le changement figure dans l'historique de configuration au même titre qu'une modification manuelle : vous pouvez le revoir ou le rétablir.
Presets de catalogue
Un preset de catalogue est un point de départ prêt à l'emploi : une table de base et ses jointures déjà câblées, pour éviter de parcourir le schéma. Quand le connecteur a des presets, l'étape Tables & jointures affiche Partir d'un preset de catalogue et un bouton Parcourir le catalogue qui ouvre une liste recherchable, groupée par famille. En sélectionner un introspecte les colonnes de chaque table et câble les jointures — en résolvant chaque condition de jointure depuis son data item jusqu'à la colonne physique réelle.
Les presets sont des fichiers gérés par l'opérateur, sous le répertoire presets/ du déploiement ; chaque fichier porte une ou plusieurs entrées [[presets]] avec une table de base et ses tables jointes. C'est de la configuration, pas du code — ajoutez les vôtres pour amorcer les écrans que votre équipe construit le plus souvent.
Liberty Apps livre dix catalogues JD Edwards, construits d'après les modèles de données Oracle E1 : Address Book, General Accounting, Accounts Payable, Accounts Receivable, Inventory, Sales, Procurement, Manufacturing, Product Data Management et Product Costing. Procurement couvre les commandes d'achat, les réceptions et rapprochements de factures, le cheminement des réceptions, l'historique des lignes de commande, les relations fournisseur / article, le catalogue de prix fournisseurs, les règles de coûts annexes et les adresses de commande, combinés avec le fournisseur, l'article, l'établissement et la facture fournisseur. Les préréglages complets de chaque domaine (le grand livre fournisseurs avec fournisseur, adresse et société ; la commande client avec lignes, client, article et établissement…) fournissent aussi un modèle prêt à l'emploi à l'explorateur de données.
Le catalogue Address Book (config/presets/jdedwards/address_book.toml) : la table maître F0101 jointe en LEFT au who's-who, aux téléphones, e-mails, adresses, au client et au fournisseur, plus chaque table liée comme preset de base à part entière. Les conditions de jointure s'écrivent par data item (ex. F0101.AN8) ; l'assistant résout le préfixe JDE jusqu'à la colonne réelle (ABAN8, AIAN8, …) pour remplir les jointures. Une table de preset peut nommer une query (un SELECT * FROM <table> déjà défini sur le connecteur) : l'assistant lit alors ses colonnes en décrivant cette requête — bien plus rapide sur un gros catalogue JDE.
Un module entier
Un module, à côté de Un écran dans l'en-tête de l'assistant, construit d'un seul coup tout un module fonctionnel — plusieurs écrans reliés entre eux, leur dossier de menu et leurs entrées de dictionnaire — à partir d'un catalogue de modules livré avec les préréglages.
- Choisir un module dans la liste — avec recherche, groupée par domaine (JDE · Address Book) ; chacun indique son application, son connecteur et son nombre d'écrans.
- L'aperçu lit aussitôt les tables en service et présente l'arbre des écrans, les détails en retrait sous leur parent : Écran, Table, Préfixe (le préfixe de colonnes trouvé dans la base), Colonnes, Absent de la table (les éléments qui manquent à la table), et l'État de chacun — nouveau, existe ou remplacé. La ligne Menu présente de la même façon le dossier et ses entrées. Une table ou une clé introuvable bloque le module, avec la raison.
- Appliquer le module écrit tout d'un coup : Appliqué : 7 requêtes, 7 écrans, 4 entrées de menu, 244 entrées de dictionnaire. Le menu latéral affiche aussitôt le nouveau dossier, et Ouvrir le nouvel écran ouvre son premier écran.
Ce que crée un module :
- une requête de lecture par écran, triée sur la clé, avec les tables de référence jointes pour leurs libellés ;
- des écrans en consultation dont le dialogue porte les onglets du module, et un onglet par table liée — une liste pour un lien un-à-plusieurs, un formulaire pour un lien un-à-un —, reliés à la clé du parent ;
- les filtres que nomme le module, appliqués dans la base ;
- le dossier de menu du module, avec une entrée par écran principal ;
- les entrées de dictionnaire des colonnes, issues du dictionnaire de données de la source — libellés, formats, listes de valeurs.
L'application est additive : ce qui existe déjà est conservé. Remplacer les entrées existantes du module réécrit les requêtes, écrans et entrées de menu propres au module — une modification faite depuis est perdue. Quand tout existe déjà, il n'y a rien à appliquer. Les trois fichiers sont validés avant toute écriture : tout est écrit, ou rien. Réservé aux superutilisateurs.
Liberty Apps livre le module Address Book pour JD Edwards EnterpriseOne : le carnet d'adresses avec ses contacts, téléphones, e-mails et adresses datées, les fichiers clients et fournisseurs — voir Nomajde → Carnet d'adresses.
Sélecteur de colonnes
Les sélecteurs des étapes 2 et 3 sont pensés pour les sources larges — un scan complet d'un F0101 JDE n'est pas amusant dans une liste plate. Ils partagent quelques conventions :
- Groupement arborescent par table parente. Les colonnes sont regroupées par table source, et une ligne parent replie toutes les colonnes de cette table. Repliez celles qui ne servent pas.
- Recherche par groupe. Chaque groupe de table a son propre champ de recherche — saisir le nom (ou le libellé) de la colonne réduit ce seul groupe ; les autres restent dépliés comme ils l'étaient.
- Ajouter tout par table. À côté de chaque groupe, un bouton pousse toutes les colonnes de la table dans la disposition en une fois. Utile pour prendre une table parent complète sur la grille et ne garder que les enregistrements fils dans le dialogue.
- Volets à pleine hauteur. Les deux volets prennent toute la hauteur de la fenêtre et défilent indépendamment — un sélecteur à plusieurs milliers de colonnes n'écrase pas l'autre côté.
- Indicateurs de chargement pendant la lecture du schéma — visibles sur un gros catalogue / une requête lente.
Conseils et bonnes pratiques
- Partez d'un preset quand il convient. C'est la différence entre choisir une entrée et câbler cinq jointures à la main.
- Marquer les clés à l'étape 3. Les colonnes clés pilotent les requêtes de mise à jour / suppression ; un écran sans clé est en lecture seule par construction.
- Réutilisez une requête existante pour un état en lecture seule. Existing query est le chemin le plus court quand le SQL existe déjà — aucune requête dupliquée n'est ajoutée et l'écran obtient tout de même un dialogue et une revue de dictionnaire.
- Sautez l'étape 3 pour un écran en lecture seule. Laisser Colonnes de dialogue vide livre un écran sans dialogue d'édition — pratique pour les écrans d'observation où rien ne doit être modifiable.
- Revoyez le dictionnaire, ne le validez pas à l'aveugle. Le scan déduit le format du type de colonne (ou, sur JDE, du dictionnaire de données) ; un coup d'œil aux colonnes Format et Règle évite un aller-retour plus tard.
- Ouvrez l'écran et affinez-le dans le Concepteur. L'assistant vous donne vite un écran fonctionnel ; les onglets imbriqués, les champs conditionnels et les actions s'ajoutent ensuite dans le Concepteur d'écran.