Archive

Archive for the ‘Trucs & Astuces’ Category

Web Dynpro ABAP, Oui mais…


Alors voilà, je ne vais pas alimenter une quelconque guerre de religion concernant Web Dynpro ABAP ou Java. Mais je veux que vous ayez en vue l’une des très grosses « erreur » ou en tout cas manquement à cette technologie pour la partie ABAP : Le modèle. Lire la suite…

TRY…ENDTRY – Comment annuler les accès DB après une exception ?


Bonjour 🙂

Comment, lors d’un processus réalisant de multiples modifications dans les bases de données, unifier la séquence dans un seul bloque mémoire (LUW) ? L’idée est de pouvoir gérer les « retours arrière » (Call Back) en cas d’erreur au milieu de la séquence !

Il n’est pas anodin d’entendre nos clients nous demander de modifier des données clients puis des données d’une commande de vente, en une seule fois et de rajouter « c’est tout ou rien, tu ne m’enregistres pas les données clients si ça ne marche pas sur la commande de vente !« .

Il existe (à ma connaissance) deux méthodes en ABAP, lors d’un TRY-CATCH-ENDTRY pour annuler des modifications faites dans les bases de données. Lire la suite…

PLM – Normaliser les entêtes de programmes


Allez, un billet pour les fainéants  des entêtes de fonction. Si vous trouvez comme moi que faire des entêtes de méthode/fonction est un peu rasoir et de toujours copier son Code nom et la date et éventuellement d’autres information alors ce temps est révolu 🙂

Suivez moi… Lire la suite…

Web Dynpro ABAP : Best Practices


Cela fait quelque temps que je plonge dans les méandres du développement ABAP avec le framework Web Dynpro et je me suis dit qu’il fallait faire un petit point sur les Best Practices (enfin les miennes).

Je tiens tout de suite à clarifier le système sur lequel j’ai évolué, car les derniers Enhancement Package (EHP) de l’ECC modifient largement la donne. Cela étant dit le système est un ECC 6.0 Version 700 SP 12. Lire la suite…

JDOM


  • Lire un fichier XML
SAXBuilder sxb = new SAXBuilder();
File sourceFile = new File("myTest.xml");
Document myDocument = sxb.build(sourceFile);
List componentTargetList = myDocument.getRootElement().getChildren();
Iterator iterSource = componentTargetList.iterator();
while(iterSource.hasNext()){ 
     Element currElem = (Element)iterSource.next(); 
}
  • Ecrire dans un fichier ou sur la console :

(c.f. Lire un fichier XML)

XMLOutputter xmlOut = new XMLOutputter(Format.getPrettyFormat());
FileWriter wFile = new FileWriter(sourceFile);
xmlOut.output(myDocument, wFile);
wFile.flush();
wFile.close();

Dans ce cas j’ai utilisé un fichier mais à la place de wFile il est possible de le remplacer par System.out

  • Pour ajouter un élément

On part du principe qu’on lit le fichier comme expliqué ci-dessus et qu’on accède aux éléments via les listes.

Si on veut dupliquer un élément, il faut faire :

Element myClone = myCurrentElement.clone();

Ainsi il sera possible de l’ajouter via la fonction :

myRootElement.addContent(myClone)