pause-café
rendez-vous technique
Pause-Café est une réunion technique
destinée aux informaticiens sur plateforme IBM i.
destinée aux informaticiens sur plateforme IBM i.
Elle a lieu 3 à 4 fois par an : en Bretagne et sur internet.
Pause-café # 2
Juin 1994
L'API QCAPCMD est une alternative à QCMDEXC et QCMDCHK avec en plus: + affichage de l'invite et éxécution sur un seul appel de pgm avec récupération des mots-clés(et de la saisie, si invite) + le fait de pouvoir travailler en environnement 38 et 36 + le fait de récupérer la commande dans une autre variable (on garde trace de la variable d'origine) + Cette API peut traiter une ligne de commande - la commande n'a pas besoin d'être autorisée en environnement *EXEC - l'API vérifie les droits "possibilités restreintes" pour le profil - Affichage de l'invite s'il manque des paramètres obligatoires + Proposition d'une vérification de syntaxe type CLP,CL,CMD + Récupération des erreurs (via le paramètre code erreur commun à toutes les API), -> gestion des erreurs plus simple en HLL.
+ QCAPCMD - CHAR(??) commande - BIN(4) lg de la variable précédente - CHAR(20) options de traitement . BIN(4) type de traitement 0= idem QCMDEXC (la cde doit être *EXEC) 1= idem QCMDCHK 2= traitement ligne de cde "possibilités restreintes" testées Invite si paramètres manquants éxécution des commandes 36 si env.36 3= Vérification type de ligne de cde (même principe que 2) 4= contrôle de syntaxe CLP 5= contrôle de syntaxe CL 6= contrôle de syntaxe CMD 7= contrôle de synatxe BND (ILE) 8= options utilisateur (type PDM)
. CHAR(1) DBCS 0=non,1=oui . CHAR(1) Invite 0= jamais 1= toujours 2= si la cde contient "?" . CHAR(1) 0= syntaxe AS 1= syntaxe 38 . CHAR(13) réservé (doit être x'00') - BIN(4) lg de la variable options de traitement - CHAR(8) format de la variable options de traitement (= CPOP0100) - CHAR(??) commande en retour la commande avec les mots-clés et la saisie utilisateur,si invite. - BIN(4) lg de la variable précédente - BIN(4) lg de la commande retournée, si > à la lg de la variable, la commande à été tronquée - CHAR(??) code erreur
EXEMPLE: PGM PARM(&LCDE &IN04) /*recoit ligne de commande et F4*/ DCL &LCDE *CHAR 155 DCL &IN04 *LGL DCL &RQSBLK *CHAR 20 + VALUE(X'00000002F0F0F000000000000000000000000000') DCL &CDLGX *CHAR 4 DCL &CDLG *DEC (7 0) DCL &CD512 *CHAR 512 DCL &ERRCOD *CHAR 16 VALUE(X'00000010) /* lg = 16 */ /* F4 */ IF &IN04 CHGVAR %SST(&RQSBLK 6 1) '1' ELSE CHGVAR %SST(&RQSBLK 6 1) '2' /* LIGNE DE CDE LOGEE DANS L'EXTERNAL */ SNDPGMMSG MSG(&MSG) TOPGMQ(*EXT) MSGTYPE(*RQS) + KEYVAR(&KEYPOS) RCVMSG PGMQ(*EXT) MSGKEY(&KEYPOS) RMV(*NO) /* EXECUTION x9B=155 x14=20 */ CALL QCAPCMD PARM(&LCDE X'0000009B' &RQSBLK X'00000014' + 'CPOP0100' &CD512 X'00000200' &CDLGX + &ERRCOD) /* x200= 512 */
CHGVAR &CDLG %BIN(&CDLGX) /* si cde retournée ==> &CDLG > à 0 */ IF (&CDLG > 0) THEN(DO) /* ligne de commande enlevée de l'external */ RCVMSG PGMQ(*EXT) MSGKEY(&KEYPOS) RMV(*YES) /* et cde retournée logée (complète ou suivie de ...) */ IF COND(&CDLG > 512) THEN(SNDPGMMSG MSG(&CD512 + *CAT '...') TOPGMQ(*EXT) MSGTYPE(*RQS) + KEYVAR(&KEYPOS)) ELSE CMD(SNDPGMMSG MSG(%SST(&CD512 1 &CDLG)) + TOPGMQ(*EXT) MSGTYPE(*RQS) KEYVAR(&KEYPOS)) RCVMSG PGMQ(*EXT) MSGKEY(&KEYPOS) RMV(*NO) /* si cde renvoyée et erreur ==> erreur à l'éxécution,MàJ &LCDE */ /* en cas d'erreur type cde inconnue(&CDLG=0),on ne touche à rien */ IF (%BIN(&ERRCOD 5 4) > 0) DO /* erreur recue */ IF COND(&CDLG > 512) THEN(CHGVAR VAR(&LCDE) + VALUE(%SST(&CD512 1 152) *CAT '...')) ELSE CHGVAR &LCDE %SST(&CD512 1 155) ENDDO ENDDO /* pas d'erreur ==> ligne de cde à blanc */ IF (%BIN(&ERRCOD 5 4) = 0) CHGVAR &LCDE ' ' ENDPGM
USER INDEX Type d'objet disponible depuis la V2R10, mais les APIs de manipulation ne ne sont fournies que depuis la V2R30. C'est un index dont toutes les entrées sont automatiquement triées A L'INSERTION. soit sur la totalité de la valeur de chaque poste soit sur une notion de clé (contigüe à partir du premier octet) Cela permet : - D'avoir une liste de paramètres automatiquement triés,par ex - C'est beaucoup plus souple qu'un fichier PF de travail cela apporte moins de sécurité(pas de données permanantes) - C'est beaucoup plus performant qu'une table triée par pgm au dela d'un certain nombre de postes. Utilisation: Tri automatique d'un grand nombre de données par pgm Stockage de paramètres dans UN SEUL objet (peut éviter une multiplication de DATA AREA) L'API d'extraction permet un acces direct même en CLP.
Contenu interne d'un user index AS/400 DUMP DMPOBJ PARAMETERS OBJ- index CONTEXT- bibli OBJTYPE- *USRIDX INDEX ATTRIBUTES- 000000 00FFFF00 00000071 0E0AC6C9 E7C5C440 40404040 40404040 40404040 4040 000020 40404040 40404040 E0000000 00000000 00000000 00800000 00000000 0000 000040 00000000 00000000 000800E2 85000400 00000000 00000000 00000000 0000 000060 20003200 0A000000 03000000 01000000 00 INDEX ENTRIES- . 00001- 000000 C3D3C5F1 82969591 96A49940 40404040 40404040 40404040 40404040 4040 000020 40404040 40404040 40404040 40404040 4040 *CLE1bonjour * * * . 00002- 000000 C3D3C5F2 81A44099 85A59689 99404040 40404040 40404040 40404040 4040 000020 40404040 40404040 40404040 40404040 4040 *CLE2au revoir * * * * * * * * E N D O F L I S T I N G
API de création d'un user index + QUSCRTUI - CHAR(20) <--user index-><--bibli--> un nom *CURLIB - CHAR(10) attribut (ce que vous voulez) - CHAR(1) F = entrées (postes) à lg fixe V = entrées à lg variable - BIN(4) lg d'une entrée lg fixe, 1 à 2000 octets. lg var., 0 = 120 maxi -1 = 2000 maxi - CHAR(1) insertion par clé 0 = pas de clé (classement sur la valeur de chaque entrée, qui doit être unique) 1 = notion de clé
- BIN(4) lg de la clé nombre d'octets à partir du premier, si insertion par clé - CHAR(1) màj synchrone (idem frcratio 1) 0 = non 1 = oui - CHAR(1) optimisé pour: 0 = acces direct 1 = acces séquentiel - CHAR(10) autorisations pour *PUBLIC *ALL,*USE,*CHANGE,.... - CHAR(50) texte descriptif groupe optionnel de paramètres N° 1 - CHAR(10) REPLACE : *YES, *NO - CHAR(??) code erreur
groupe optionnel de paramètres N° 2 - CHAR(10) DOMAINE : *DEFAULT *SYSTEM *USER Ce paramètre intervient avec un niveau de sécurité 40 ou supérieur. API d'extraction des attributs d'un user index. + QUSRUIAT - CHAR(??) variable en retour - BIN(4) lg de la variable en retour - CHAR(8) format = IDXA0100 - CHAR(20) <--user index--><--bibli--> - CHAR(??) code erreur
API d'écriture dans un user index + QUSADDUI - CHAR(10) bibliothèque en retour - BIN(4) nombre d'entrées ajoutées (retour d'infos) - CHAR(20) <--user index--><--bibli--> - BIN(4) type d'insertion 1 = argument unique (index sans clé) si l'entrée existe ==> erreur 2 = remplacement (index avec clé) 3 = sans remplacement (index avec clé) si la clé existe ==> erreur - CHAR(??) les entrées à ajouter si lg fixe le système utilise ce paramètre fonction de la longueur indiquée à la création.
SI lg variable le système utilisera la structure donnant lg et offset de chaque entrée. - BIN(4) lg de la variable précédente (contenant les entrées) - CHAR(??) lg et offset des entrées pour un index à lg variable = x fois la structure suivante (8 octets) . BIN(4) lg de l'entrée . BIN(4) offset pour atteindre l'entrée - BIN(4) nombre d'entrées à ajouter - CHAR(??) code erreur. Pour un index à lg fixe la zone "entrées" fera (nb d'entrées) fois la lg la zone "lg et offset" n'est pas utilisée Pour un index à lg variable la zone "entrée" contiendra les entrées contigues, la zone "lg et offset" contiendra (nb d'entrées) fois 8 octets.
Soit un index à lg fixe (15 c) Nombre d'entrées: 2 Entrées : de 1 à 15 la première 16 à 30 la deuxième. Offset : (inutilisée) Soit un index à lg variable Nombre d'entrées: 2 Entrées : de 1 à 7 "bonjour" (lg 7) 8 à 18 "à suivre..." (lg 11) Offset (lg 16) : ! 7 ! 1 !11 ! 8 ! lg ^ lg ^ ! !-déplacement pour atteindre la deuxième ! !- déplacement pour atteindre la première entrée
API d'extraction d'entrées dans un user index + QUSRTVUI - CHAR(??) variable en retour - BIN(4) lg de la variable précédente - CHAR(??) lgs et offsets en retour - BIN(4) lg de la variable précédente - BIN(4) nombre d'entrées retournées - CHAR(10) bibliothèque en retour - CHAR(20) <--user index--><--bibli--> - CHAR(8) format : IDXE0100 - BIN(4) nombre maxi d'entrées à retourner
- BIN(4) type de recherche 1 = *EQ 2 = *GT 3 = *LT 4 = *GE 5 = *LE 6 = la première entrée 7 = la dernière entrée 8 = compris entre deux valeurs - CHAR(??) argument de recherche ignoré pour 6 et 7 doit contenir deux valeurs pour 8 une valeur pour 1,2,3,4,5 - BIN(4) lg de la variable précédente - BIn(4) offset pour la deuxième valeur dans le paramètre argument si type = 8. - CHAR(??) code erreur.
La variable en retour (format IDXE0100) est découpée comme suit: 1 à 4 (BIN 4) nbr d'octets retournés 5 à 8 (BIN 4) nbr d'octets nécessaires (si 1 à 4 < 5 à 8, toutes les entrées ne tiennent pas dans la variable) 9 à ... toutes les entrées contigues La variable en retour contenant lg et offset est découpée comme suit : 1 à 4 (BIN 4) nbr d'octets retournés 5 à 8 (BIN 4) nbr d'octets nécessaires puis une structure de 8 octets répétée (nb d'entrées retournées) fois. 9 à 12 (BIN 4) lg de la première entrée 13 à 16 (BIN 4) déplacement à partir du début de la variable précédente pour atteindre la première entrée. ..... .. à .. (BIN 4) lg de l'entrée X .. à .. (BIN 4) déplacement à partir du début de la variable précédente pour atteindre l'entrée X
API de suppression d'entrées dans un user index (renvoi les entrées supprimées) + QUSRMVUI - BIN(4) nombre d'entrées supprimées - CHAR(??) variable en retour(entrées supprimées) - BIN(4) lg de la variable précédente - CHAR(??) lgs et offsets en retour - BIN(4) lg de la variable précédente - CHAR(10) bibliothèque en retour - CHAR(20) <--user index--><--bibli--> - CHAR(8) format : IDXE0100 - BIN(4) nombre maxi d'entrées à supprimer
- BIN(4) type de recherche 1 = *EQ 2 = *GT 3 = *LT 4 = *GE 5 = *LE 6 = la première entrée 7 = la dernière entrée 8 = compris entre deux valeurs - CHAR(??) argument de recherche ignoré pour 6 et 7 doit contenir deux valeurs pour 8 une valeur pour 1,2,3,4,5 - BIN(4) lg de la variable précédente - BIn(4) offset pour la deuxième valeur dans le paramètre argument si type = 8. - CHAR(??) code erreur.
Exemple d'utilisation: Un mémo entreprise: INDEX : MEMO lg fixe 266,clé : 10 (profil utilisateur+ 256 = notes) Pgm de traitement en CLP retrouvant le profil en cours et le profil de groupe ........................................ : Mémo : utilisateur AF400 : : Ne pas oublier de ........ : : : : : : : : : : : : Rendre dossier yyyyyyyyyy !!! : : : : F3= Exit, F10 = Groupe. : : : :......................................:
Avec F10 le pgm propose de retrouver le mémo associé au groupe de travail (profil de groupe) Il serait assez simple d'imaginer un niveau entreprise, .. etc ... ........................................ : Mémo : - groupe - QPGMR : : Notes destinées au groupe: : : Réunion du xx/xx/xx : : 9 à 10 H ------ : : 10 à 12 H ------ : : : : Bernard fait un pot pour son : : départ en retraite le zz/zz/zz : : : : F3= Exit, F12 = retour utilisateur : ... : : : :......................................: :
Colonnes . . : 1 71 Conception d'état SOURCE/QDDSSRC RLU==> PRTF FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ------------------------ Début de la page 001 ------------------------- ''''''' ''''''' ''''''' ............................... ''''''' : Voici l'écran de travail : ''''''' : : ''''''' : R L U : ''''''' : : ''''''' :.............................: ''''''' ''''''' ''''''' ''''''' ''''''' ''''''' ''''''' --------------------------- Fin de l'état ----------------------------- F3=Exit F11=Définir zone F16=Supprimer zone F22=Touches en alternance F24=Autres touches
Colonnes . . : 1 71 Conception d'état SOURCE/QDDSSRC RLU==> PRTF FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ------------------------ Début de la page 001 ------------------------- ''''''' Titre de l'état ''''''' ''''''' ............................... ''''''' : Il fonctionne en partie : ''''''' : comme S E U : ''''''' : : ''''''' : (Tapons un texte) : ''''''' :.............................: ''''''' ''''''' ''''''' ''''''' ''''''' ''''''' ''''''' --------------------------- Fin de l'état ----------------------------- F3=Exit F11=Définir zone F16=Supprimer zone F22=Touches en alternance F24=Autres touches
Colonnes . . : 1 71 Conception d'état SOURCE/QDDSSRC RLU==> PRTF FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ------------------------ Début de la page 001 ------------------------- DR 01 . Titre de l'état --------------------------- Fin de l'état ----------------------------- ............................... : Ce texte ne signifie rien : : pour RLU : : La commande DR permet de : : définir un FORMAT : :.............................: F3=Exit F11=Définir zone F16=Supprimer zone F22=Touches en alternance F24=Autres touches
Colonnes . . : 1 71 Conception d'état SOURCE/QDDSSRC RLU==> PRTF FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ------------------------ Début de la page 001 ------------------------- RCD001 Titre de l'état --------------------------- Fin de l'état ----------------------------- ............................... : Le format RCD001 à été crée : : : : Avec F18 nous pouvons le : : modifier. : :.............................: F3=Exit F11=Définir zone F16=Supprimer zone Définissez au moins une zone dans le format d'enregistrement RCD001.
Gestion des mots-clés format Format d'enregistrement: RCD001 Indiquez vos options, puis appuyez sur ENTREE. 2=Définir 4=Supprimer Opt Mot-clé Opt Mot-clé Opt Mot-clé CHRSIZ SPACEA CPI SPACEB DFNCHR TEXT DRAWER FONT HIGHLIGHT ............................. INDTXT :Avec F10 il est possible : LPI : de renommer de format : PAGRTT :...........................: PRTQLTY SKIPA > SKIPB F3=Exit F5=Réafficher F9=Paramètres de mots-clés F10=Renommer format F12=Annuler F16=Supprimer tous les mots-clés
Changement de nom de format Nombre de mots-clés . . . . . . . . : 1 Indiquez votre choix, puis appuyez sur ENTREE. Format d'enregistrement . . . . . . TITRE Nom F3=Exit F5=Réafficher F12=Annuler
Colonnes . . : 1 71 Conception d'état SOURCE/QDDSSRC RLU==> PRTF FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ------------------------ Début de la page 001 ------------------------- DF ITRE Titre de l'état --------------------------- Fin de l'état ----------------------------- ............................... : La commande DF permet de : : définir des zones : : elle considere comme zone : : toutes infos séparées par : : deux espaces. : :.............................: F3=Exit F11=Définir zone F16=Supprimer zone F22=Touches en alternance F24=Autres touches
Colonnes . . : 1 71 Conception d'état SOURCE/QDDSSRC RLU==> PRTF FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ------------------------ Début de la page 001 ------------------------- ZONE1 <.............> TITRE Titre de l'état --------------------------- Fin de l'état ----------------------------- ............................... : A dessus de chaque ligne de : : format RLU crée une ligne : : "ZONE" chargée de marquer : : les zones.C'est notre ligne: : de travail dans RLU. : :.............................: F3=Exit F11=Définir zone F16=Supprimer zone Création par DF de 1 zones dans le format d'enregistrement TITRE.
Colonnes . . : 1 71 Conception d'état SOURCE/QDDSSRC RLU==> PRTF FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ------------------------ Début de la page 001 ------------------------- ZONE1 <.............> TITRE Titre de l'état --------------------------- Fin de l'état ----------------------------- ............................... : Depuis la V2R20 il existe : : la commande DC qui permet : : de considérer tout ce qui : : est nouveau sur la ligne : : comme des CONSTANTES. : :.............................: F3=Exit F11=Définir zone F16=Supprimer zone F22=Touches en alternance F24=Autres touches
Colonnes . . : 1 71 Conception d'état SOURCE/QDDSSRC RLU==> PRTF FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ------------------------ Début de la page 001 ------------------------- ZONE1 <.> <......> <.............> <...> <..> I TITRE le: 05/02/91 Titre de l'état Page: 9999 --------------------------- Fin de l'état ----------------------------- ............................... :Considérons le format TITRE : : comme terminé. : :Nous allons maintenant : : définir un nouveau format. : :D'abord Insertion d'une ligne: :.............................: F3=Exit F11=Définir zone F16=Supprimer zone F22=Touches en alternance F24=Autres touches
Colonnes . . : 1 71 Conception d'état SOURCE/QDDSSRC RLU==> PRTF FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ------------------------ Début de la page 001 ------------------------- ZONE1 <.> <......> <.............> <...> <..> TITRE le: 05/02/91 Titre de l'état Page: 9999 DR 02 . --------------------------- Fin de l'état ----------------------------- ............................... :Puis la commande RLU DR. : : : : : : : : : :.............................: F3=Exit F11=Définir zone F16=Supprimer zone F22=Touches en alternance F24=Autres touches
Colonnes . . : 1 71 Conception d'état SOURCE/QDDSSRC RLU==> PRTF FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ------------------------ Début de la page 001 ------------------------- ZONE1 <.> <......> <.............> <...> <..> TITRE le: 05/02/91 Titre de l'état Page: 9999 RCD002 ####################################################################### --------------------------- Fin de l'état ----------------------------- F3=Exit F11=Définir zone F16=Supprimer zone Définissez au moins une zone dans le format d'enregistrement RCD002.
Colonnes . . : 1 71 Conception d'état SOURCE/QDDSSRC RLU==> PRTF FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ------------------------ Début de la page 001 ------------------------- ZONE1 <.> <......> <.............> <...> <..> TITRE le: 05/02/91 Titre de l'état Page: 9999 VF D002 ####################################################################### --------------------------- Fin de l'état ----------------------------- ............................... :La commande RLU VF permet : : d'afficher la ligne ZONE : : pour un format. : : : : : :.............................: F3=Exit F11=Définir zone F16=Supprimer zone F22=Touches en alternance F24=Autres touches
Colonnes . . : 1 71 Conception d'état SOURCE/QDDSSRC RLU==> PRTF FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ------------------------ Début de la page 001 ------------------------- ZONE1 <.> <......> <.............> <...> <..> TITRE le: 05/02/91 Titre de l'état Page: 9999 ZONE1 RCD002 ####################################################################### --------------------------- Fin de l'état ----------------------------- ............................... :Avec F10 il est possible de : : rechercher des variables en : : référence d'un fichier B.D : : : :.............................: F3=Exit F11=Définir zone F16=Supprimer zone F22=Touches en alternance F24=Autres touches
Gestion des zones base de données Indiquez vos options, puis appuyez sur ENTREE. 1=Ajouter zone 4=Supprimer 8=Afficher description de zone Option Zone Biblio Fichier Format 1 MABIB REPERTP1 REPERTF1 (Aucune zone base de données sélectionnée) Fin F3=Exit F4=Invite F5=Réafficher F12=Annuler F16=Supprimer toutes les zones
Sélection de zones base de données Fichier . . . . . . : REPERTP1 Format . . . . . . . : REPERTF1 Bibliothèque . . . : MABIB Afficher à partir de Zone Sous-liste . . . . . . *ALL *ALL, nom, *générique* Indiquez vos options, puis appuyez sur ENTREE. 1=Choisir 8=Afficher description de zone En-tête Opt Zone Long Type de colonne ADRSTG 35 Caractère ADRESSE STAGIAIRE BURSTG 3,0 Décimal étendu BUR DIST STG DEPSTG 2,0 Décimal étendu DEPARTEMENT STG ENTSTG 6,0 Décimal étendu DATE D'ENTRE 1 NOMSTG 20 Caractère NOM DU STGAIAIRE 1 NOTCBL 4,2 Décimal étendu NOTE COBOL 1 NOTCL 4,2 Décimal étendu NOTE L.C 1 NOTRPG 4,2 Décimal étendu NOTE RPG F5=Réafficher F12=Annuler
Gestion des zones base de données Indiquez vos options, puis appuyez sur ENTREE. 1=Ajouter zone 4=Supprimer 8=Afficher description de zone Option Zone Biblio Fichier Format NOMSTG MABIB REPERTP1 REPERTF1 NOTCBL MABIB REPERTP1 REPERTF1 NOTCL MABIB REPERTP1 REPERTF1 NOTRPG MABIB REPERTP1 REPERTF1 Fin F3=Exit F4=Invite F5=Réafficher F12=Annuler F16=Supprimer toutes les zones
Colonnes . . : 1 71 Conception d'état SOURCE/QDDSSRC RLU==> PRTF FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ------------------------ Début de la page 001 ------------------------- ZONE1 <.> <......> <.............> <...> <..> TITRE le: 05/02/91 Titre de l'état Page: 9999 ZONE1 1C RCD002 ####################################################################### --------------------------- Fin de l'état ----------------------------- ............................... :Comme avec SDA ces variables : : apparaissent en bas d'écran.: :Pour sélectionner une zone : : il suffit de tapez son n° : : dans la ligne ZONE. : :.............................: 1:NOMSTG 2:NOTCBL 3:NOTCL 4:NOTRPG F3=Exit F11=Définir zone F16=Supprimer zone F22=Touches en alternance F24=Autres touches
Colonnes . . : 1 71 Conception d'état SOURCE/QDDSSRC RLU==> PRTF FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ------------------------ Début de la page 001 ------------------------- ZONE1 <.> <......> <.............> <...> <..> TITRE le: 05/02/91 Titre de l'état Page: 9999 ZONE1 <..............> RCD003 NOM DU STAGIAIRE ZONE1 <..................> RCD002 XXXXXXXXXXXXXXXXXXXX --------------------------- Fin de l'état ----------------------------- ..................................... :Suivi de C pour le COLHDG centré. : : R à droite : : L à gauche : :...................................: 1:NOTCBL 2:NOTCL 3:NOTRPG F3=Exit F11=Définir zone F16=Supprimer zone F22=Touches en alternance F24=Autres touches
Colonnes . . : 1 71 Conception d'état SOURCE/QDDSSRC RLU==> PRTF FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ------------------------ Début de la page 001 ------------------------- ZONE1 <.> <......> <.............> <...> <..> TITRE le: 05/02/91 Titre de l'état Page: 9999 ZONE1 <..............> <........> <......> <......> CLC 003 NOM DU STAGIAIRE NOTE COBOL NOTE L.C NOTE RPG ZONE1 <..................> <..> <..> <..> RCD002 XXXXXXXXXXXXXXXXXXXX 9999 9999 9999 --------------------------- Fin de l'état ----------------------------- ..................................... :RLU a crée un nouveau format pour : : entetes de colonne.Pour modifier : : une ligne il faut utiliser CL : : Suivi de: C pour Continuation : : R Record (format) : : S Sample (exemple): : F Filler (indéfini) :...................................: F3=Exit F11=Définir zone F16=Supprimer zone F22=Touches en alternance F24=Autres touches
Colonnes . . : 1 71 Conception d'état SOURCE/QDDSSRC RLU==> PRTF FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ------------------------ Début de la page 001 ------------------------- ZONE1 <.> <......> <.............> <...> <..> TITRE le: 05/02/91 Titre de l'état Page: 9999 ZONE1 <..............> <........> <......> <......> 00002 + NOM DU STAGIAIRE NOTE COBOL NOTE L.C NOTE RPG ZONE1 <..................> <..> <..> <..> LIGNE XXXXXXXXXXXXXXXXXXXX 9999 9999 9999 --------------------------- Fin de l'état ----------------------------- F3=Exit F11=Définir zone F16=Supprimer zone F22=Touches en alternance F24=Autres touches
Améliorations de la V2R30 RLU : reconnait (dans la ligne zone) les définition de variables et de constantes "type SDA" 'constante' (entre ') variable +o alpha +ooo +o(3) +6 numérique +6666 +6(7,2)
Colonnes . . : 1 121 Conception d'état RLU==> BASE ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 . ------------------------------------------------- Début de la page 001 - VF D001 ---------------------------------------------------- Fin de l'état ----- ################################################## # # # RAPPEL: pour faire apparaitre la ligne "zone" # # (ligne de travail) sur un format vide, # # tapez "VF". # ##################################################
Colonnes . . : 1 121 Conception d'état RLU==> BASE ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 . ------------------------------------------------- Début de la page 001 - ZONE1 +OOOOO RCD001 ---------------------------------------------------- Fin de l'état -----
Colonnes . . : 1 121 Conception d'état RLU==> BASE ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 . ------------------------------------------------- Début de la page 001 - ZONE1 <...> +6(7,2) RCD001 XXXXX ---------------------------------------------------- Fin de l'état -----
Colonnes . . : 1 121 Conception d'état RLU==> BASE ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 . ------------------------------------------------- Début de la page 001 - ZONE1 <...> <.......> 'CECI EST UN ESSAI' RCD001 XXXXX 99999,99- ---------------------------------------------------- Fin de l'état -----
Colonnes . . : 1 121 Conception d'état RLU==> BASE ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 . ------------------------------------------------- Début de la page 001 - ZONE1 <...> <.......> <...............> RCD001 XXXXX 99999,99- CECI EST UN ESSAI ---------------------------------------------------- Fin de l'état -----
Liste des commandes RLU valides. (dans le n° de sequence) Toutes les commandes SEU sont connues: I,D,C,M,A,B,X, etc.... PLUS: DR Définition d'un format pour cette ligne DRx Définition d'un format pour cette ligne et les (x-1) suivantes ou DRR-DRR DF Définition de zones pour cette ligne. ou DFx ou DFF-DFF CF Centrage de zone. ou CFx ou CFF-CFF SP Espacement des zones. ou SPx ou SPP-SPP NP New page (saut à une nouvelle page) SD Création d'une ligne exemple. SDx Création de x lignes exemple.
CL Change ligne (modifier le type de ligne) Les types de ligne sont les suivants: RCDxxx ou autre = 1 ere ligne d'une format + = autre ligne d'un format (continuation) S = ligne d'exemple . = ligne Filler (ligne de remplissage) CL peut etre suivi de R (format) C (continuation) S (sample) F (filler)