Quelquepart

Blog d'un développeur ABAP

Vous êtes ici : Accueil>Mots clés>fichier

fichier

ZBACKUP : Import / Export de tables

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

Avant d'effectuer une opération critique sur une cible, il est parfois bon de faire un backup de son contenu, juste "au cas ou"

Aujourd'hui je vous propose un petit programme afin de pouvoir faire des copies de sauvegarde de vos contenus de tables, sous forme de fichier local ou sur le serveur SAP. La version locale est destiné a copier des tables de taille raisonable (limité par la RAM du serveur) alors que la copie sur serveur n'est pas limitée (testé sur une table de 100 million de lignes)

Vous avez ensuite la possibilité de restaurer le contenu d'une table sauvegardé en rechargeant le fichier.

A noter : n’oubliez pas que vous aurez besoin de SAPLINK pour installer le programme.

Mise à jour de ZAL11 - l'explorateur de fichiers

Rédigé par Sébastien Hermann dans Mise à jour -

ZAL11 a un peu évolué depuis la dernière version mise en ligne (1.4.1).

La nouvelle version est estampillée 2.1, rien que çà. C'est dire si les nouveautés sont nombreuses :

  • Gestion des serveurs SAP sous windows
  • Répertoire "bureau"
  • Possibilité de glisser des fichiers/répertoires vers l'arborescence de répertoires et plus seulement vers la grille ALV.
  • Simplification de la personnalisation : tous les paramètres ont été mis au début du programme
  • Affichage du propriétaire des fichiers
  • Calcul de la taille des répertoires (automatique ou a la demande)
  • Choix du nom lors de la création d'un répertoire
  • Affichage de liens vers les répertoires système
  • Acces a des serveurs distants (//serveur/chemin/) par copier coller d'adresse
  • Réécriture de la gestion des commandes serveurs pour permettre plus de souplesse
  • Correction d'erreurs
  • Nettoyage du code

Le lien de téléchargement est disponible sur la fiche principale de l'outil : ZAL11 - L'explorateur de fichiers

ZRSPC : Mini ordonnanceur BW par fichier plat

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

SAP a eu la bonne idée de fournir un ordonanceur avec sa solution BI, c'est le concept de Process chain, accessible via la transaction RSPC.

Si la solution technique est très efficace (de nombreuses sociétés lui font confiance pour la gestion de leur nuit applicative), en revanche l'interface est assez désastreuse : peu ergonomique, très lente, incomplète...

Sur BW il n'est pas rare de devoir planifier des actions manuelles de chargement, que ce soit pour un déploiement ou bien une initialisation de données à refaire. L'usage d'une process chain est alors recommandé mais ne peut couvrir 100% des besoins car certains processus essentiels sont absents, comme par exemple la suppression de flag d'initialisation. Cela oblige à panacher entre process chain et action manuelle (donc risque d'erreur).

Pour palier ces manques j'ai créé un petit programme : ZRSPC. Il permet de planifier une suite d'opérations qui sera réalisée automatiquement, de la même manière que le ferait le lancement d'une process chain.

L'intéret est d'une part d'avoir une gestion des actions par fichier, ce qui permet une plus grande réactivité que lorsque l'on doit gérer le transport d'une process chain. D'autre part le programme gère certaines actions non prises en charge par RSPC, comme par exemple la suppression des données non utilisées dans les dimensions d'un cube ou la suppression de flag delta.

Un rapport d'exécution permet de suivre l'avancement des chargements en temps réel. Un email peut être envoyé automatiquement à la fin du traitement.

Voici la liste des processus gérés actuellement par le programme :

  • Suppression complète ou sélective d'un cube ou d'un DSO
  • Suppression d'un flag d'initialisation de chargement delta
  • Lancement d'un IP
  • Chargement des cibles depuis la PSA
  • Lancement d'un DTP (option pour lancer un DTP init sans transfert de données)
  • Lancement d'une process chain
  • Activation d'un DSO
  • Suppression et création d'index (cube)
  • Suppression des données inutilisées dans les dimensions d'un cube
  • Suppression des données inutilisées dans un info objet
  • Lancement d'un programme ABAP
  • Faire une pause
  • Interrompre le traitement

La structure du programme est assez souple pour permettre de gérer tout type de processus donc n'hésitez pas à le compléter des votres !

A noter : n’oubliez pas que vous aurez besoin de SAPLINK pour installer le programme.

ZAL11 : Cure de rajeunissement pour AL11

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

Le travail sur un datawarehouse nous confronte régulièrement à des injections de fichier. Et sur SAP, nous ne sommes pas gâté niveau outils...
J'entendais souvent mes collègues râler à propos de la transaction AL11, la seule chose dont nous disposons en standard pour naviguer sur le serveur SAP.

J'ai parcouru la toile à la recherche d'une solution de remplacement mais ne fut pas convaincu par ce que j'y ai trouvé, aussi j'ai pris mon courage (et mon clavier) à deux mains afin de réaliser ma propre solution : plus complète, plus lisible et avec l'ergonomie qui me sied (mais je ne crache pas dans leur soupe, j'ai d'ailleurs repris leur manière de déterminer l'icone relatif a chaque type de fichier).

Entièrement graphique, le programme "ZAL11" (tout simplement ;-) ) vous permettra de naviguer sur le serveur SAP, mais également :

  • D'ouvrir les fichiers avec votre application par défaut sur votre PC (excel pour les CSV par exemple)
  • D'ouvrir les fichiers avec un éditeur de texte sur votre PC
  • De télécharger ou télédécharger des fichiers
  • De gérer les fichiers/répertoires du serveur (ajout, copie, déplacement, renommage)
  • De compresser (tar+bz2) ou décompresser (zip, tar, gz, bz2) des fichiers et répertoires sur le serveur
  • De copier dans le presse-papier le chemin d'un fichier sur le serveur, ou d'accéder directement au répertoire d'un chemin contenu dans le presse-papier.

La gestion des raccourcis serveur de AL11 est conservée (et débuggée ;-) )
Vu qu'il s'agit de manipulation sur le serveur, chaque action demande une confirmation via un popup qui récapitule ce qui est en train d'être fait.

Le code a été écrit dans une optique de sécurité, de maintenabilité et de respect des normes de développement usuels. Il est entièrement documenté en anglais (25% de commentaires ajoutés par rapport au code brut).
La principale "entorse" aux règles est que le code est fourni dans un seul pavé de 3500 lignes au lieu d'être découpé en includes (top, class, pbo, pai, form). C'est volontaire afin de n'avoir qu'un seul code source à fournir. Néanmoins chaque partie est clairement délimitée et il ne devrait pas falloir plus d'une minute à un développeur pour recréer les includes nécessaires. Pour la même raison de simplicité de partage, aucune classe de message n'a été créée.

A noter : n’oubliez pas que vous aurez besoin de SAPLINK pour installer le programme.

Upload/download de fichiers

Rédigé par Sébastien Hermann dans Non classé -

Si la transaction AL11 permet de visualiser les fichiers sur le serveur, elle ne permet ni de les télécharger, ni d'en ajouter. C'est un vrai manque qui se fait resentir de manière chronique chez la plupart des sociétés utilisatrices de SAP.

Généralement, un programme spécifique est déployé pour répondre à ce besoin. J'ai même fait une version améliorée qui historise les fichiers en utilisant une compression tar+bz2, cela fera peut-être l'objet d'un prochain billet.

Les personne ayant déjà travaillés sur un projet de reprise de données connaissent probablement la transaction SXDA et plus spécifiquement SXDA_TOOLS, qui permet de faire des upload/download entre serveur sap et poste client, même si ce n'est pas son but premier. Cette solution standard s'apparente à un hack car on renseigne les paramètres obligatoires avec des données bidons avant d'appeler la fonction de copie. Néanmoins elle évite de développer un programme spécifique.

Mais grâce au module EHS (Environment, Health and Safety), 2 transaction 100% dédiées à ces opérations ont vues le jour :

Testé sur divers systèmes sap, de 4.6b à ECC5, les transactions semblent fonctionner convenablement.