Posts Tagged téléchargement

BW3 : Suppression des données d’un cube avec ses dimensions

Je vous conseille d’aller lire cet article à sa nouvelle adresse : BW3 : Suppression des données d’un cube avec ses dimensions

L’accroissement de la taille des dimensions sur BW3 est un problème classique de l’équipe de maintenance. En effet, lors d’un cube chargé en “full” quotidiennement, le contenu du cube est généralement purgé au début du chargement.

Malheureusement cette étape de la process chain ne propose pas d’option pour supprimer également le contenu des dimensions. Ainsi leur taille croit jour après jour, finissant si l’on y prend pas garde par dépasser la volumétrie du cube lui même, entrainant ainsi une dégradation des performances de plus en plus prononcée, ainsi qu’un accroissement de la taille occupée par le cube sur le disque.

SAP a finit par se rendre compte de ce problème, et la version BI7 propose en option de supprimer le contenu des dimensions lors de la suppression du contenu d’un cube.
Pour les malheureux qui n’ont pas encore migré, il n’y a pas de solution standard, à part effectuer régulièrement une suppression manuelle du contenu des dimensions (prévoir un réveil a 3h du matin pour intervenir juste avant le chargement de la process chain…)

J’ai donc réalisé un petit ABAP spécifique afin de réaliser cette opération. Il vient remplacer le processus de suppression de contenu de cube dans les process chain. Il suffit de préciser en paramètre d’entrée le nom du cube pour que son contenu ainsi que ses dimensions soient supprimées.

Télécharger le code source de ZCUBE_DELETE

Tags: , , , , , ,

ZTOAD – Requêteur Open SQL

Je vous conseille d’aller lire cet article à sa nouvelle adresse : ZTOAD – Requêteur Open SQL

Vous avez surement déjà été confronté à un bug dans un programme en production qui ne semble pas être reproductible en environnement de test.

Dans ces cas là, il n’est pas toujours évident de débugger directement le programme en production (problème de droits, sensibilité des données, risque de mauvaise exécution, documents créés avec votre user…). Quand le bug semble venir d’une requête SQL un peu compliquée (jointure sur 5 tables, subquery…), vous voila embarqué dans de fastidieuses recherches via SE16 avec 3 ou 4 modes ouverts pour essayer de comprendre le problème avec la requête (et encore… le problème ne vient peut-être même pas de cette requête la !)

Dans d’autres mondes, les développeurs n’ont pas ce genre de problèmes et peuvent composer en temps réel leur requêtes personnalisées directement sur la base de données. Sur SAP ce n’est pas possible. Vraiment ? Pas en standard en tout cas. Il suffit donc de créer un programme spécifique.

Dérivé de Z_TETARD lui même dérivé de YES4SQL, voici ZTOAD, mon requêteur SQL. Il permet de faire vos propres requêtes multi-tables, ou de copier coller celle du programme à débugger.

Les commentaires ABAP sont supprimés avant exécution, les alias de table sont compris, les requêtes sont mémorisées pour réutilisation  (jusqu’à 99 requêtes).

 

ZTOAD historique des requêtes

ZTOAD historique des requêtes

 

Choisissez au lancement si vous voulez partir sur une page blanche ou reprendre une ancienne requête.
Sur cet écran vous pouvez choisir de supprimer une ancienne requête afin de garder un historique clair.

 

ZTOAD Saisie de requête

ZTOAD Saisie de requête

 

Saisissez / complétez votre requête, puis sauvegardez la (cela lance le traitement). Vous pouvez l’aérer et la commenter. * et ” sont acceptés pour les commentaires.

 

ZTOAD Visualisation résultat

ZTOAD Visualisation résultat

Le résultat apparait dans un ALV grid, avec rappel en en-tête de votre requête.

 

A noter : le programme n’accepte que les requêtes de type SELECT afin d’être “acceptable” en production (sous réserve)

Télécharger ZTOAD (compatible 4.6c)
Télécharger ZTOAD (compatible 4.7+)

Tags: , , , , ,

ZSPRO – Paramétrage spécifique

Je vous conseille d’aller lire cet article à sa nouvelle adresse : ZSPRO – Paramétrage spécifique

Lors de l’implémentation d’une solution SAP, il n’est pas rare de devoir écrire des programmes spécifiques. Les bonnes pratiques recommandant de ne jamais écrire de code “en dur”, il est fréquent de créer des tables Z… pour piloter ces programmes.

Au fil du temps, il y a de plus en plus de programmes spécifiques, et de plus en plus de tables pour les piloter. Lors du projet d’implémentation en lui même, cela pose rarement de problèmes, l’équipe ayant bien en tête l’ensemble des développements (enfin, sauf dans le cas d’un très gros projet ou d’un offshore).

Mais après le passage en maintenance, ou après avoir subit du turnover sur le projet, il devient difficile d’appréhender l’ensemble de ces spécifiques et il n’est pas rare de perdre des jours à rechercher comment modifier tel spécifique (voir d’en créer un nouveau !) alors que celui livré initialement pouvait gérer l’évolution grâce a sa table de pilotage…

Voila pourquoi il est intéressant d’avoir une transaction ZSPRO. Cette dernière permet de centraliser l’ensemble des tables spécifiques du système. La documentation de chacune apparait clairement, permettant au consultant fonctionnel d’avoir un aperçu de toutes les possibilités offertes par les spécifiques en place.

ZSPRO paramétrage spécifique SAP

ZSPRO paramétrage spécifique SAP

L’organisation des dossiers et des tables est réalisée directement au sein de la transaction ZSPRO (en mode édition). Un outil de recherche est disponible, ainsi qu’un outil d’import de tables en masse.

Techniquement, cette transaction utilise plusieurs objets SAP standards (container, spliter, tree, html view)

Télécharger ZSPRO – compatible 4.6c

Tags: , , ,

Conserver ses programmes

Je vous conseille d’aller lire cet article à sa nouvelle adresse : Conserver ses programmes ABAP

Etant prestataire de service, je suis amené régulièrement à changer de client. Cela présente certains avantages mais aussi des inconvénients. Et parmi eux celui de “perdre” toutes ses réalisations.

Afin de capitaliser mon temps passé à rechercher des fonctions standards cachées, à réaliser des algorithmes tordus hyper optimisés ou à réinventer la roue, j’essaie de conserver mes codes sources.

Au fil des ans et des versions de SAP, j’ai utilisé différents programmes pour le faire car chacun devenait incompatible avec la version de SAP suivante (4.5/4.6, 4.7, ECCx…)

Récemment j’ai découvert SAPLink, un programme ABAP “open source” pour essayer de standardiser cette opération. Ce programme est très bien fait, est ouvert aux “plugins” pour en étendre les fonctionnalités, et possède l’énorme avantage de permettre d’uniformiser les échanges de programmes entre développeurs via un format de fichier commun.

L’installation se fait en 2 temps. Il y a un programme temporaire (zsaplink_installer) dont le seul usage est de charger le .nugg (format de fichier utilisé par saplink) afin d’installer complètement Saplink.

Sur leur site ils se définissent comme : “an open source project that aims to make it easier to share ABAP developments between programmers. It provides the ability to easily distribute and package custom objects.

J’ai décidé de l’utiliser et de proposer ici mes réalisations sous ce format, que je pense pérenne.
Malheureusement, SAPLink ne fonctionne qu’a partir de SAP 4.7
Aussi pour les codes compatibles 4.6, j’utiliserai le programme ZAPC0007. Bien que moins abouti, il permettra néanmoins de passer l’essentiel des éléments d’un programme. Seul le ddic restera à recréer manuellement.

bien

Tags: , , ,