Adélia ne gère pas ou mal le multiformat.
Adélia ne génère pas de fichier multiformats, mais peut travailler sur des fichiers de ce type.
Cas d'un logique multiformats pointant sur plusieurs fichiers physiques :
1/ Sur Adelia/400 vous pouvez récupérer la description du fichier dans le glossaire des Fichiers.
Sur Adélia Studio, créez une pseudo entité logique dont le nom du fichier reprend le nom du logique multiformats et dans laquelle vous créerez l'ensemble des zones dont vous avez besoin (vous leur donnerez bien le même nom DDS que dans le logique multiformats). S'il y a des zones clés, indiquez-les comme identifiants de l'entité. Puis lancez la génération de cette entité sous forme de fichier natif AS/400 mais en suspendant au préalable file des travaux à compiler du gestionnaire de travaux; ainsi vous pourrez supprimer le travail de compilation correspondant à votre génération pour qu'il ne s'exécute pas sur l'AS/400 (la génération sert uniquement à mettre à jour des informations interne dans l'environnement).
2/ Dans votre programme vous pourrez vous définir une vue et faire des accès uniquement en lecture sur votre fichier.
3/ A la génération du programme, accédez aux paramètres de génération et dans les caractéristiques choisissez une lecture par nom de fichier et non par nom de format pour le fichier concerné (sur Adélia Studio cochez la case Fic. puis Modifier, sur Adélia/400 mettre un 'O' pour la colonne 'Fich.').
ATTENTION : il n'est pas possible d'indiquer qu'on travaille en lecture fichier pour les programmes Visual Adélia. Vous devrez donc mettre comme nom de format au niveau de votre entité logique le nom du fichier.
ATTENTION : Pour une génération RPG 3, les noms de zones doivent avoir une longueur inférieure ou égale à 6, en effet les renommages Adélia ne sont pas appliqués à ces zones.
Cas d'un logique multiformats pointant sur un seul fichier physique :
PRINCIPE :
Environnement Adelia de développement
Générer le fichier physique PF1
Il faut définir dans l'environnement et générer autant de fichiers logiques qu'il y a de formats dans le fichier multiformats :
(Rappel : les programmes Adélia travaillent avec le glossaire des fichiers de l'environnement.)
LF10
LF11
""
LF1C
CALL NOMPGM pour tester le programme.
Environnement d'exploitation
On a donc : le fichier physique PF1, les fichiers logiques LFxx utilisés dans le programme, le fichier logique multiformat LF1.
L'appel du programme doit être placé dans un CLP contenant tous les OVRDBF correspondants.
Il faut donc écrire un programme CLP "NOMPGMC" ayant la forme suivante :
PGM
OVRDBF FILE(LF10) TOFILE(LF1)
OVRDBF FILE(LF11) TOFILE(LF1)
""
OVRDBF FILE(LF1C) TOFILE(LF1)
CALL NOMPGM
ENDPGM
et faire CALL NOMPGMC pour exécuter le programme NOMPGM