Quelquepart

Blog d'un développeur ABAP

Vous êtes ici : Accueil>Application>ZAUTODOC : Documentation technique BW automatique !

ZAUTODOC : Documentation technique BW automatique !

Rédigé par Sébastien Hermann dans Application - 4 commentaires

Dans un passé fort lointain, je me suis retrouvé chez un client qui avait la phobie du black out. Il craignait par dessus tout que l'ensemble de ses serveurs soit détruits, backup compris. Aussi souhaitait-il une documentation papier complète de chaque système. BW n’échappant pas à la règle, le client souhaitait une documentation de chaque objet et de chaque flux...

C'est à cette époque que j'ai décidé d'automatiser le tout, et ZAUTODOC est né. Ce programme va lire dans la base de données toutes les informations relatives à un flux ou un objet afin de le retranscrire dans Word.

Si la première version générait du HTML (le docx n'existait pas encore... c'est dire si le programme est vieux !), le programme a fait beaucoup d'émules et a été utilisé dans de nombreux projets. Je l'ai même retrouvé récemment chez un client, taggé au nom d'une SSII sans scrupule dont je tairais le nom.

Depuis la version originale de 2006, ZAUTODOC a bien évolué. Enrichi par plusieurs développeurs talentueux puis livré aux aléas du temps, je l'ai entièrement réécrit récemment afin qu'il génère un DOCX directement (grâce a la classe CL_WORD).

Son utilisation est simple : Vous choisissez un objet (DSO, Cube, InfoObjet, mais aussi multiprovider ou même WORKBOOK, WAD ou Query BEx) et le programme va créer un fichier Word contenant l'objet et son flux d'alimentation (une option vous permet de remonter l'intégralité du flux jusqu'à arriver à des systèmes hors BW). Les routines abap et les formules sont également remontées dans le fichier

Le document contient également un diagramme "data flow" du flux, ainsi que la liste des process chain utilisées. Les DTP et IP peuvent également y être ajoutés. Enfin le programme gère le traitement en masse afin de générer 1 fichier par objet (cube, dso...). Les flux 7, mais aussi les vieillissants flux 3 sont pris en charge. Le programme peut très facilement être personnalisé : au tout début du code, vous trouverez tous les points de paramétrage dans une structure cs_custo afin de définir vos préférences projets.

Le seul travail qu'il vous reste à faire est de créer le template DOTX aux couleurs de votre projet afin de personnaliser votre documentation technique !

Un template et une image de couverture de démo ont été ajoutés dans ZIP, n'oubliez pas d'en indiquer le chemin dans le programme avant de l'exécuter. CL_WORD en version 1.2 a également été ajouté. C'est la version minimale nécessaire pour ZAUTODOC.

4 commentaires

#1 Dom a dit :

Bonjour Sébastien,

Je viens d'essayer d'implémenter vos programmes, qui me semblent très intéressants .
J'aimerai savoir si il y a une version minimum de BW car à la compilation j'ai une erreur sur la zone rstran_t_segid qui n'existe pas dans ma version de BW 702.
cette zone semble disponible qu'à partir de la version 730 de BW.
Existerait-il une ancienne version compatible BW 702 ?

Merci par avance.

Dom

#2 Sébastien Hermann a dit :

@Dom :
Difficile a dire, comme je n'ai que rarement acces a plus d'une version de BW a la fois...

Tu peux mettre en commentaire la définition de la variable lt_sourceseg ainsi que tout le passage qui l'alimente (c'est a dire tout le contenu du "IF lw_segments GT 1.")
Ce bout de code sert a afficher les différents segments de transformation pour les hiérarchies.

Avec un peu de chance, tu n'auras pas d'autre problème à la compilation.

#3 Dom a dit :

Merci,

j'ai mis ce test en commentaire et également à un autre endroit qui faisait une erreur à la compilation( MESSAGE 'Erreur avec la query' && fw_query TYPE 'E'.
) .
Après cela tout fonctionne correctement.
Je n'ai plus qu'à compléter avec les commentaires fonctionnels !

Merci d'avoir partagé ce super boulot.

Dom

#4 Sébastien Hermann a dit :

@Dom :
Pour le message, désolé j'ai utilisé la nouvelle syntaxe... il faut que tu fasses un "CONCATENATE" pour préparer la chaine comme il faut :
CONCATENATE 'Erreur avec la query' fw_query INTO lw_message SEPARATED BY space.
MESSAGE lw_message type 'E'.

Pour les commentaires fonctionnels, tu peux les ajouter directement dans BW, en tant que document sur un élément de ton flux (le multiprovider par exemple). ZAUTODOC les incorporera directement dans la doc :)

Écrire un commentaire

 Se rappeler de moi sur ce site

Capcha
Entrez le code de l'image :