Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre du Club
    Nom des programmes et ordonnancement dans une application.
    Bonsoir,

    Encore un petit "post" comme tous les soirs.

    Je vais parler des noms des programmes. Tout d'abord quelques principes de base :
    Les noms des programmes font 8 caractères.
    Le premier caractère est soit I, soit M (I pour les interactifs et M pour les menus)
    Chaque programme ne gère qu'un seul écran.
    Le nom de chaque écran (DSPF) est le même que celui du programme.
    Les menus sont gérés par des CLP, les interactifs en RPG.

    Ordonnancement des programmes :
    Dans une application classique, l'utilisateur arrive sur le menu général ou principal. Comme c'est un menu son nom commence par M. Les noms des programmes faisant 8 de long, ce menu s'appellera M0000000.
    Chaque option de ce menu appellera soit un autre menu, soit un interactif. Le nom du menu ou programme appelé sera :
    Soit I (interactif) ou M (menu) + numéro d'option + 000000.

    Exemple :
    L'option 2 du menu principal (M0000000) appellera le programme I2000000 (si interactif) ou M2000000 (si menu).

    Supposons que l'option 2 du menu principal est la gestion des TRUCS (un interactif).
    Choisir cette option vous amène sur la liste des TRUCS. C'est le programme I2000000.
    Si dans la liste des TRUCS l'option 5 (afficher) est choisie devant un TRUC, le programme qui sera appelé sera I2500000 (visualisation d'un TRUC)
    Si dans la liste des TRUCS l'option 4 (supprimer) est choisie devant un TRUC, le programme qui sera appelé sera I2400000 (suppression d'un TRUC)
    Si dans la liste des TRUCS la touche de fonction F6 (Créer) est choisie, le programme qui sera appelé sera I2600000 (création d'un TRUC)
    Remarque : L'option 6 dans une liste ne doit pas exister. En effet le nom du programme correspondant à cette option est réservé à la touche de fonction F6 (Création)

    Petite exception : Le programme d'invite (vous savez, cette fameuse touche F4 qui permet avec l'option 1 dans une liste de choisir et ramener une valeur).
    Dans le cas des TRUCS, l'application peut avoir besoin de saisir un TRUC sur d'autres écrans (Sur l'écran de saisie des MACHINS, on demande de saisir un TRUC). Alors il faut faire appel au programme d'invite des TRUCS quand on fait F4 sur le champ de saisie du TRUC.
    Ce programme d'invite des TRUCS sera le même que celui de la liste des TRUCS, mais le dernier caractère sera Z (Seule l'option 1=choisir sera possible).
    Liste des TRUCS : I2000000
    Donc invite des TRUCS : I200000Z

    Dernier point : Il arrive souvent dans un menu ou une liste que le n° d'option soit supérieur à 9 …
    Dans ce cas, transformez le chiffre en lettre :
    10 devient A
    11 devient B
    ….
    20 devient K
    ….
    34 devient Y
    35 devient Z (jusqu'au 7 ième niveau)
    Evitez le Z en dernière position (Invite)

    Exemple :
    Dans le programme I2000000 de la liste des TRUCS, l'option 20 est possible. Le programme appelé sera donc I2K00000.

    En conclusion : Cette méthode permet de gérer une arborescence avec 8 niveaux et 34 nœuds à chaque niveau. En principe cela est largement suffisant pour une application standard (mais il y a toujours gens compliqués, même chez les utilisateurs) . De plus, rien n'empêche de passer d'un niveau à un autre ou d'un nœud à un autre). Dans ce "post", il ne s'agit juste que de nommer les programmes de façon rationnelle.

    Merci de me dire si cela vous semble utile, de critiquer, de proposer des alternatives ou autres possibilités …
    Demain soir je vous parlerai de comment décrire les fichiers d'une application.

    En attendant, je vous souhaite une bonne soirée.

  2. #2
    Membre à l'essai
    Citation Envoyé par le_thon Voir le message
    Bonsoir,

    Encore un petit "post" comme tous les soirs.

    Je vais parler des noms des programmes. Tout d'abord quelques principes de base :
    Les noms des programmes font 8 caractères.
    Le premier caractère est soit I, soit M (I pour les interactifs et M pour les menus)
    Chaque programme ne gère qu'un seul écran.
    Le nom de chaque écran (DSPF) est le même que celui du programme.
    Les menus sont gérés par des CLP, les interactifs en RPG.

    Ordonnancement des programmes :
    Dans une application classique, l'utilisateur arrive sur le menu général ou principal. Comme c'est un menu son nom commence par M. Les noms des programmes faisant 8 de long, ce menu s'appellera M0000000.
    Chaque option de ce menu appellera soit un autre menu, soit un interactif. Le nom du menu ou programme appelé sera :
    Soit I (interactif) ou M (menu) + numéro d'option + 000000.

    Exemple :
    L'option 2 du menu principal (M0000000) appellera le programme I2000000 (si interactif) ou M2000000 (si menu).

    Supposons que l'option 2 du menu principal est la gestion des TRUCS (un interactif).
    Choisir cette option vous amène sur la liste des TRUCS. C'est le programme I2000000.
    Si dans la liste des TRUCS l'option 5 (afficher) est choisie devant un TRUC, le programme qui sera appelé sera I2500000 (visualisation d'un TRUC)
    Si dans la liste des TRUCS l'option 4 (supprimer) est choisie devant un TRUC, le programme qui sera appelé sera I2400000 (suppression d'un TRUC)
    Si dans la liste des TRUCS la touche de fonction F6 (Créer) est choisie, le programme qui sera appelé sera I2600000 (création d'un TRUC)
    Remarque : L'option 6 dans une liste ne doit pas exister. En effet le nom du programme correspondant à cette option est réservé à la touche de fonction F6 (Création)

    Petite exception : Le programme d'invite (vous savez, cette fameuse touche F4 qui permet avec l'option 1 dans une liste de choisir et ramener une valeur).
    Dans le cas des TRUCS, l'application peut avoir besoin de saisir un TRUC sur d'autres écrans (Sur l'écran de saisie des MACHINS, on demande de saisir un TRUC). Alors il faut faire appel au programme d'invite des TRUCS quand on fait F4 sur le champ de saisie du TRUC.
    Ce programme d'invite des TRUCS sera le même que celui de la liste des TRUCS, mais le dernier caractère sera Z (Seule l'option 1=choisir sera possible).
    Liste des TRUCS : I2000000
    Donc invite des TRUCS : I200000Z

    Dernier point : Il arrive souvent dans un menu ou une liste que le n° d'option soit supérieur à 9 …
    Dans ce cas, transformez le chiffre en lettre :
    10 devient A
    11 devient B
    ….
    20 devient K
    ….
    34 devient Y
    35 devient Z (jusqu'au 7 ième niveau)
    Evitez le Z en dernière position (Invite)

    Exemple :
    Dans le programme I2000000 de la liste des TRUCS, l'option 20 est possible. Le programme appelé sera donc I2K00000.

    En conclusion : Cette méthode permet de gérer une arborescence avec 8 niveaux et 34 nœuds à chaque niveau. En principe cela est largement suffisant pour une application standard (mais il y a toujours gens compliqués, même chez les utilisateurs) . De plus, rien n'empêche de passer d'un niveau à un autre ou d'un nœud à un autre). Dans ce "post", il ne s'agit juste que de nommer les programmes de façon rationnelle.

    Merci de me dire si cela vous semble utile, de critiquer, de proposer des alternatives ou autres possibilités …
    Demain soir je vous parlerai de comment décrire les fichiers d'une application.

    En attendant, je vous souhaite une bonne soirée.
    Bonjour et merci pour ce partage.

    Notre manière de faire ne correspond pas à cette description mais il n'y a pas de façon de faire absolument parfaite. Et il vaut mieux avoir des normes bien établies que pas de norme du tout.

    1) Nous ne gérons pas de norme pour les menus. De plus un programme peut se retrouver derrière deux options différentes de deux menus différents. C'est une demande récurrente des utilisateurs et même si cela est rarement souhaitable, le client est roi.

    2) Le nom des programmes est lui plutôt bien suivi :

    Préalablement : Le préfixe des noms de programmes est constitué de 6 caractères maxi. Ainsi pour gérer l'entité MACHIN dont les propriétés sont dans le fichier physique MACHIN ou la table MACHIN, il y a d'abord le logique ou l'index MACHIN00, qui comprend la description de la clef unique ou identifiant. Ensuite il y a toutes les vues secondaires MACHIN01, MACHIN02, e.t.c.

    Lorsque nous avons besoin de logiques joints (rarement), nous commençons à MACHIN99 puis MACHIN98, lorsque MACHIN est le premier physique de la liste... Les deux seuils ne se sont encore jamais rencontrés.

    Les noms des DSPF sont toujours strictement identiques aux noms des programmes qui les gèrent.

    > Le programme appelé par "F4=Liste" s'appelle toujours MACHINA, il affiche toujours une fenêtre de choix avec menu déroulant permettant de conserver le contexte sur lequel l'utilisateur travaille. Par F20=Agrandir, on peut basculer sur le programme MACHINB auquel est ajoutée l'option "X=Choisir" de manière automatique.

    >Le programme lancé après l'option de menu s'appelle toujours MACHINB, c'est le sous-fichier de liste avec toutes les options disponibles. Nous n'avons pas de F6 (légère entorse à AUA) mais une option 1=Créer/Copier qui est utilisée indifféremment pour créer un nouvel élément ou pour copier celui désigné par l'option.
    2=Modifier, 4=Supprimer, 5=Afficher, 12=Gérer (des sous-entités par exemple).

    > C'est toujours le programme MACHINC qui gère les options 01, 02, 04, 05.

    > L'option 12 appelle un programme TRUCB qui est le sous fichier de gestion d'une autre entité.

    Le nom général d'un programme est donc : ENTITEn avec n qui varie de A à C. Pour les autres lettres c'est libre.

    Ce n'est ni mieux, ni moins bien, c'est différent rien de plus.

  3. #3
    Membre du Club
    Merci condate pour ta contribution.

    En effet ce qui compte c'est le côté normalisation.

    Pour les fichiers logiques, je fais pareil, mais sans tenir compte des fichiers joints.
    Pour les programmes j'en fait autant que de fonctions (création, mise à jour, copie, affichage, suppression) mais tu l'as lu.

    Avec la méthode que je propose, il est aussi possible d'appeler un programme de n'importe où (utilisateurs qui veulent le beurre, l'argent du beurre et … d'autres choses). La conséquence est que cet appel de "n'importes où" ne respecte pas la règle d'indentation des noms de programme que j'expose. Il faut faire alors appel à celui donc le nom respecte cette indentation.

    Bonsoir à toi et merci d'avoir exposer votre façon de faire.