Concevoir et utiliser des panneaux d'Aide AS400

Cette aide décrit comment créer des groupes de panneaux d'aide et les utiliser.

Toute ressemblance avec HTML n'est pas nécessairement fortuite. Ce document a été créé à partir d'un panneau d'aide avec utilisation intensive de la recherche-remplacement pour remplacer les tags IBM par des tags HTML.
La connaissance des panneaux reste assez confidentielle, même s'ils sont disponibles depuis déjà fort longtemps. Les panneaux sont de type PNLGRP et doivent être compilés (option 14) avant utilisation.

Les menus natifs, créés à partir de sources de type MENU utilisent la sysntaxe des panneaux. Ils sont plus faciles à concevoir et à maintenir que les autres types de menu. Trouver un modèle à copier et/ou se référer à la documentation.

Les Tags inclus dans un source de panneaux sont les mots clé permettant sa mise en forme et ses accès. Leur systaxe est de type :TAG parm=valeur. Pour plus de commodité, les tags seront nommés dans la suite du texte sans ':' ni '.' .

Organisation du document :

Principes de l'Aide par groupe de panneaux

Un groupe de panneaux est équivalent à un document texte doté de mots clé pour la mise en forme et l'accès.

Il est subdivisé en blocs de texte indépendants appelés Modules. Un module peut être consulté depuis un appel écran en utilisant les fonctions d'aide, par inclusion logique dans un autre module, par appel hypertexte depuis un autre module, ou par la fonction index d'aide.

Les caractéristiques des index d'aide (mots clé,lignes descriptives) sont définis dans les sources des panneaux. L'objet index sert à établir une liste de panneaux dont on veut regrouper les rubriques d'accès.

Structure d'un panneau d'aide

Un source de panneau d'aide est inclus entre des tags PNLGRP ... EPNLGRP.
Il peut inclure un accès par index dont les mots clés et synomymes sont définis en début de source par le tag ISCHSYN ROOT.
Il est composé de modules délimités par HELP NAME ... EHELP. L'accès à un module se fait par appel extérieur (direct ou par index), inclusion logique dans un autre module ou appel hypertexte.

Principaux tags permettant de concevoir un panneau d'aide :

PNLGRP
Début du groupe de panneaux.
Doivent suivre : les ISCHSYN ROOTs, puis les blocs HELP ... EHELP.
EPNLGRP
Fin groupe de panneaux.
ISCHSYN ROOT=Cle1. Syn1 Syn2
Définition de synonymes pour l'index d'aide. Cle1 désigne le mot utilisé comme index et Syn1 Syn2 ses synonymes.
HELP NAME=Mod1
Début de module d'aide. Mod1 est le nom du module d'aide.
ISCH=Cle1
Identifiant d'index d'aide. Cet identifiant doit suivre le HELP NAME. Il peut comporter plusieurs mots clé. Il doit etre suivi d'une ligne de texte qui apparaitra dans la recherche par index.
ISCHSUBT topics='IdAide1 IdAide2'
Ce tag doit suivre le descriptif du ISCH Les aides incluses dans la liste de sujets apparaitront comme sous poste dans l'index d'aide.
EHELP
Fin de module d'aide.
LINK PERFORM='dsphelp Mod1 Grp1'. Texte1
- Ajout de lien hypertexte.
Mod1 est le nom du module lié, Grp1 celui optionnel de son groupe de panneaux. Texte1 est le texte haute intensité / souligné permettant l'appel. Le texte doit être immédiatement suivi d'un Tag ELINK.
IMHELP name=Mod1
Inclusion d'un autre module d'aide. Mod1 est le nom du module inclus. Une inclusion peut intervenir n'importe ou à l'intérieur d'un module HELP ... EHELP.
IMPORT NAME='Mod1'ou'*' PNLGRP=Grp1
Importer des modules.
Pour pouvoir utiliser des modules externes à un panneau par IMHELP, il est nécessaire de les importer. L'IMPORT doit être situé avant le premier HELP. Pour les liens hypertexte, l'importation n'est pas nécessaire. .

Mise en forme d'un Panneau d'Aide

Cette aide décrit les Tags utilisés pour mettre en forme les paragraphes et positionner des attributs d'affichage.

P
Début de paragraphe, précédé d'un saut de ligne.
PC
Suite de paragraphe, précédé d'un saut à la ligne.
NT ... ENT
Bloc de texte constituant une Note. Automatiquement précédé de 'Remarque:'.
XHn. texte1
Entete d'aide étendue.
n est compris entre 1 et 4, texte1 est l'entete de paragraphe. en cas d'appel depuis un autre module d'aide, le premier entete est ignoré.
Hn .texte1.
Entete d'aide.
Même fonctionnement que XHn, mais non conditionné.
HPn ... EHPn
Affectation d'attributs à un bloc de texte.
n est compris entre 0 et 9.
CIT ... ECIT
Citation. Bloc de texte souligné.
PK (DEF) ... EPK
Mot clé programme. DEF=Défaut. Bloc de texte haute intensité.
PV ... EPK
Variable programme. Bloc de texte haute intensité. Sorte de PK.
XPM ... EXPM
Bloc de texte affiché tel qu'il a été entré (passage à la ligne, ...)

Mise en forme de listes dans un panneau

Cette aide décrit les tags nécessaires pour constituer des listes. Elles peuvent etre imbriquées, et le niveau d'imbrication détermine alors les types d'entete de liste automatiques si nécessaires.

DL ... DTHD ... DDHD ... DT ... DD ... EDL
Début de liste de définition, incluant éléments et définitions.
Entetes de colonne de la liste, pour élément et définition.
Elément de la liste, haute intensité, et définition en retrait.
Fin de la liste.
LP
Commentaire ou explication hors liste
CIT ... ECIT
Citation. Bloc de texte souligné.
OL (COMPACT) ... LI ... EOL
Liste ordonnée, avec entete automatique numérique ou alpha fonction du niveau d'imbrication. Si COMPACT est précisé, aucune ligne n'est sautée entre deux postes LI.
PARML ... PT ... PD ... EPARML
Début de liste de paramètres. Cette liste fonctionne un peu comme DL ... EDL, mais avec passage à la ligne entre paramètre et définition et un retrait plus faible pour les définitions. Elle est plus adaptée pour des paramètres et des textes longs.
SL (COMPACT) ... LI ... ESL
Liste simple, avec retrait. Si COMPACT est précisé, aucune ligne n'est sautée entre deux postes LI.
UL (COMPACT) ... LI ... EUL
Liste simple, avec retrait et marque ajoutée, fonction du niveau d'imbrication. Si COMPACT est précisé, aucune ligne n'est sautée entre deux postes LI.

Appel d'un groupe de panneaux d'aide

Cette aide décrit les éléments extérieurs nécessaires à l'appel de panneaux d'aide. Les index peuvent être démarrés directement par commande, ou indirectement en lançant l'aide par index (Touche F11) depuis un panneau d'aide. Les panneaux d'aide sont généralement appelés depuis un écran applicatif ou depuis un écran d'invite de commande.

Gestion d'un index d'aide

Pour utiliser une aide par index, il faut créer un index, puis lui ajouter des postes. Ensuite l'index peut etre appelé.

CRTSCHIDX
Création d'un index d'aide. Cet index regroupe les définitions d'un ensemble de panneau d'aide telles qu'elles ont été définies dans les panneaux avec les Tags ISCH.
WRKISCHIDX
Affichage de la liste des index disponibles, et gestion des postes d'index (commande WRKSCHIDXE). Un poste d'index est un groupe de panneaux.
Lancer cette commande sur *ALL pour consulter tous les index disponibles en ligne, y compris les index système. Ils sont généralement peu nombreux. La consultation des index (STRSCHIDX) peut être lancée depuis cet écran.
si un panneau d'aide incluant des références d'index est modifié, le supprimer des index auxquels il est rattaché, puis le rajouter.

Appel d'un panneau d'aide depuis un écran SDA.

HELP
Mot clé aide obligatoire. Rajouter ALTHELP(CA01).
HLPTITLE
Titre des écrans d'aide.
HLPPNLGRP
('Module' Panneau) - Panneau d'aide utilisé.
HLPSCHIDX
(Index) - Index d'aide utilisé
HLPFULL
Aide plein écran. Par défaut, l'aide est fenêtrée.
HLPARA
(Ln1 Col1 Ln2 Col2) - Aide sur partie d'écran.
Doit suivre une ligne HLPPNLGRP. Il est préférable de définir un panneau d'aide général et un index au niveau fichier, puis des appels sur des modules plus spécifiques niveau format, avec HLPARA.

Appel d'un panneau d'aide pour une commande

Un groupe de panneaux est utilisable en aide de commande. Pour cela le premier module du panneau doit porter le nom de la commande (HELP NAME='NomCmd'), et les modules suivants doivent porter le nom des mots clé, précédés du nom de la commande (NAME='NomCmd/MotClé').

La commande doit être compilé avec HLPPNLGRP(Panneau) HLPID(*CMD).

Symboles pour un groupe de panneaux

Un symbole se présente sous la forme d'une variable qui sera remplacée par quelque chose d'autre lors de la compilation.
Par exemple, "&colon." est un caractère ne pouvant souvent pas être saisi directement, et devant alors l'être sous forme de symbole.

Principaux symboles :

&amp.
Apostrophe (&).
&colon.
Deux points (:).
&cont.
Continuation de ligne, concaténation.
&period.
Point (".").
&slr.
Barre oblique, slash ("/").

Patrick Larreya, Septembre 2000.