Bonjour,

j'aimerais réaliser une cartographie de l'ensemble des relations entre plusieurs programmes et je sèche un peu sur la méthode à utiliser. De plus, je n'ai pas des outils très adapter pour m'aider (j'utilise cobol, db2 et excel). Je précise que je ne peut utliser cobol qu'en passant par des jcl ou utlitaires mais pas de programmes (je suis sur endevor..)


Je contient l'ensemble de mes programmes dans 2 tables disctinctes.
1 ere solution :
Une table m'indique les relations de premier niveau entre les programmes (A appelle B; A appelle C; B appelle D, etc... mais je n'ai pas A appelle D par exemple).
J'ai donc extrait tout les programmes de cette table puis exporte sur excel et j'aimerais les mettre en forme de sorte à avoir les programmes de niveau 1 sur la 1ere colonne, ceux de niveau 2 sur la seconde et ainsi de suite.. De plus pour chaque programme je l'insere directement sur la ligne en dessous du programme appelant.

Pour tenter d'etre un peu plus clair, je regarde mon premier enregistrement dans ma premiere colonne et je l'insere sur une nouvelle feuille dans la cellule (1;1).
Je regarde mon premier enregistrement dans la 2nde colonne, je l'insere dans la cellule (2;2). Ensuite je regarde si cet enregistrement se trouve dans la premiere colonne. Si je le trouve, je met l'enregistrement associe de la seconde colonne dans la cellule (3;3) sinon je passe a mon second enregistrement.

Je regarde s'il correspond a celui de dessus. Si oui (je rappelle que je suis sur ma seconde ligne) j'insere l'enregistrement de la seconde colonne dans la cellule (2;3) et ainsi de suite.

Voici en gros un exemple ce ce que je doit avoir :

1er tableau :
A-B
A-C
A-D
C-E
C-D
D-F

2nd tableau (que je desire)
A
- B
- C
- - E
- - D
- - - F
- D
- - F
C
- E
- D
- - F
D
- F

Bien entendu j'ai pris le soin d'eliminer avant tout phénomène de récursivité ou de noeuds (moins génant)
En travaillant dessus, je me suis rendu compte pour arriver à ce résultat,que je dois imbriquer N boucles; N étant mon niveau max, je peut poster l'algo que j'ai trouvé, je n'en suist pas sur a 100% mais je suis sur que je doit faire beaucoup de boucles imbriquées . Etant un peu feignant, je cherche a tester une méthode plus simple.

2e solution :
Une table contient deja une cartographie mais seulement pour des programmes points d'entree (programmes apelles par aucun autre programme). Je suis capable de sortir les programmes qui m'interesses, j'arrives a magouiller avec excel et ces tableaux dynamiques pour sortir une pseudo cartographie mais qui ne me convient pas. Le problème étant que dans cette table si un programme A se retrouve a des niveaux différents d'appels pour un meme programme B, on ne repporte qu'une seule fois les programmes appelés par le programme A.

Par conséquent, quand le programme point d'entree ne m'interesses pas (malheuresement trop souvent ) je perds certaines informations ensuite que j'arrive a retrouver en magouillant avec des tableaux dynamiques mais qui n'est pas exploitable a mon avis pour une personne ne connaissant pas ma méthode. Une personne m'a suggéré avec excel et Vb de passer par des collections. Faire une collection par niveau d'appels et a partir de cela je devrais ensuite etre capable de tout remettre en ordre comme je le desire.

Je ne connait pas trop les collections mais cette méthode me semble plus simple a réaliser. J'aurrais aimé souhaité avoir vos avis si bien entendu vous avez reussi a comprendre mon problème Si quelqu'un peut me dire qu'elle solution est plus simple a réalisé sachant que la seconde je ne devrait pas trop avoir de mal (faut juste que je me plonge dans les collections) tandis que la premiere faut que je sois sur de mon algo.

Merci d'avance pour votre aide, je reste suis a disposition pour toutes question ou informations supplementaires si vous souhaite m'aider,

Cordialement,

PS : Ne faites pas trop attention aux fautes d'orthographes svp, je suis fache avec les accents et ne me relits pas forcement