Archive for October, 2009

Quelques grammes de GuiXT dans un monde de brutes…

Je vous conseille d’aller lire cet article à sa nouvelle adresse : Quelques grammes de GuiXT dans un monde de brutes…

La plupart des gens que je connais utilisent des couleurs distinctes pour différencier les environnements SAP (développement/recette/production).

Personnellement je ne suis pas adepte de cette solution. Quel faire quand on a 7 serveurs de production, 2 pre-prod, 2 recettes, 2 dev ? (fréquent en phase de montée de version)

Heureusement GuiXT vient au secours de tous les daltoniens pour les sauver d’erreurs aux conséquences incalculables ( oups, je viens de lancer l’impression de 30000 factures… en production… bon, je vide mon bureau de suite ? ). Grâce à une simple commande GuiXT, vous pouvez préfixer toutes vos fenêtres SAP par le trigramme du serveur. Voici comment faire :

  1. Activer GuiXT
    Cocher l’option “Activer GuiXT” dans les options du sapgui

    Activer GuiXT

    Activer GuiXT

  2. La fenêtre de GuiXT s’ouvre, cliquer sur le bouton “Profile”

    Fenêtre GuiXT

    Fenêtre GuiXT

  3. La fenêtre d’options apparaît, renseigner un répertoire ou vous souhaitez placer les scripts (C:\guixt par exemple). Attention, vous devrez créer manuellement le répertoire s’il n’existe pas.
    Dans le cadre “Start Window”, choisir “Minimized”
    Dans le cadre “Further Options”, cocher “No language key in script file name”
    Valider avec le bouton OK

    Profile GuiXT

    Profile GuiXT

  4. Créer un fichier nommé “session.txt”. L’éditer avec Notepad (Blocnote) et copier coller le code suivant :
    titleprefix &V[_database]
  5. Quitter SAP et le relancer.

Le trigramme du serveur vient désormais préfixer l’ensemble de vos fenêtres SAP.

La barre de titre SAP est préfixée par GuiXT

La barre de titre SAP est préfixée par GuiXT

Les fenêtres sont préfixées par GuiXT dans la barre des taches

Les fenêtres sont préfixées par GuiXT dans la barre des taches

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: , , , , ,

Fonction RV_CALL_DISPLAY_TRANSACTION

Je vous conseille d’aller lire cet article à sa nouvelle adresse : Fonction RV_CALL_DISPLAY_TRANSACTION

Petit focus sur une fonction “magique” de SAP.

RV_CALL_DISPLAY_TRANSACTION permet d’ouvrir en mode transactionnel tout type (ou presque) de documents SD/MM dans SAP.

function rv_call_display_transaction.
*"----------------------------------------------------------------------
*"*"Globale Schnittstelle:
*"       IMPORTING
*"             VALUE(BUKRS) DEFAULT '    '
*"             VALUE(FCODE) DEFAULT '    '
*"             VALUE(GJAHR) DEFAULT '0000'
*"             VALUE(LGNUM) LIKE  VBFA-LGNUM DEFAULT '   '
*"             VALUE(POSNR) LIKE  VBAP-POSNR DEFAULT '000000'
*"             VALUE(VBELN) LIKE  VBUK-VBELN
*"             VALUE(AUFNR) LIKE  VBAK-AUFNR OPTIONAL
*"             VALUE(VBTYP) LIKE  VBUK-VBTYP DEFAULT ' '
*"             VALUE(FI_APPLI) LIKE  VBFAL-APPLI DEFAULT '  '
*"----------------------------------------------------------------------

Il suffit de renseigner le numéro de document (VBELN) pour ouvrir commande, contrat, livraison sortante ou facture.
Mieux, ajouter le numéro de poste (POSNR) et le document ouvert arrive directement sur ce poste

Mais ce n’est pas tout. Si vous spécifiez le type de document (VBTYP), vous pouvez ouvrir une multitude d’autres documents. Voici un petit tableau des transactions gérées par cette fonction :

VBTYP Transaction Document Champs pris en compte
1 VC03, VC02 Contact VBELN
3 ou 4 VF23, VF22 Liste de factures VBELN
5, 6, M, N, O, P, S, U VF03, VF02 Facture VBELN POSNR
7 VL33N, VL32N Livraison entrante VBELN
8 VT03N, VT02N Transport VBELN
A VA13, VA12 Demande d’offre VBELN POSNR
B VA23, VA22 Offre VBELN POSNR
C, H, I, K, L VA03, VA02 Commande VBELN POSNR
D VA53, VA52 Proposition VBELN POSNR
E, F VA33, VA32 Programme de livraison VBELN POSNR
F, G, 0 VA43, VA42 Contrat VBELN POSNR
Q LT21 Ordre de transfert VBELN LGNUM
R, h, i MB03, MB02 Doc article VBELN
J, T VL03N, VL02N Livraison sortante VBELN POSNR
V ME23N, ME33, ME43, ME53N, ML81N, ME22, ME32K, ME32L, ME42, ME52 Document achat (demande, commande, VBELN
v ME53N Demande d’achat VBELN
W MD83, MD82 Plan de besoin VBELN POSNR
X fct HU_DISPLAY (?) Unité de manutention VBELN
& LX44 Document magasin VBELN LGNUM
a VI03 Frais de transport VBELN
Y VB03 Liste d’exclusion VBELN
. IW33 Ordre AUFNR
: IQS3 Avis AUFNR
1 et FI_APPLI=MM MB03 Doc article VBELN (comme doc article)+GJAHR+BUKRS
2, 3 et FI_APPLI=MM FB03 Piece comptable VBELN (comme doc article)+GJAHR+BUKRS
A et FI_APPLI=MM MIR4 Doc de facturation VBELN (comme doc article)+GJAHR
vide et BUKRS renseigné FB02 Piece comptable VBELN (comme doc article)+GJAHR+BUKRS

Légende : Document accessible sans indiquer de VBTYP
Uniquement pour la fonction DISPLAY
Uniquement pour la fonction CHANGE

Vous pouvez utiliser RV_CALL_CHANGE_TRANSACTION pour ouvrir en modification les mêmes documents.
Ces fonctions sont très utilisées par le standard pour afficher des documents.
A noter, les USEREXIT de LV06AFZZ sont utilisés.

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: , , ,

Reprise de données SAP Standard

Je vous conseille d’aller lire cet article à sa nouvelle adresse : Reprise de données SAP Standard

Voici une petite liste de programmes standards de reprise de données.

Solution Business Object Prog/Transaction Code
Financial Acounting Accounting Documents RFBIBL00
Financial Acounting Assets RAALTD01 (Batch Input)
Financial Acounting RAALTD11 (Direct Input)
Financial Acounting G/L Account Master RFBISA00
Financial Acounting Customer Master RFBIDE00
Financial Acounting Vendor Master RFBIKR00
FI-Bank Data Transfer of Bank Data
FI-Bank Data (Austria) RFBVAT_0
FI-Bank Data (German) RFBVD__2
FI-Bank Data (Great Britain) RFBVGB_0
FI-Bank Data (Italian) RFBVIT_0
FI-Bank Data (Spanish) RFBVES_0
FI-Bank Data (Swiss) RFBVCH_0
Human Resources Master Data (Org. Units) RPUSTD00
Human Resources Payroll Account RPULKT00
Human Resources Personal Planning Data RHALTD00
Materials Management Create Characteristics RCCTBI01
Materials Management Create Classes RCCLBI01
Materials Management Create Classification RCCLBI02
Materials Management Change Classification RCCLRI03
Materials Management Material Master RMDATIND
Materials Management Purchase Info. Records RM06IBI0
Materials Management Purchase Requisitions RM06BBI0
Materials Management Reservations RM07RRES
Materials Management Stocks (Inventory Mgmt) RM07MMBL
Materials Management Vendor Master RFBIKR00
MM (Physical Inventory Doc) Create PID For Cycle Counting RM07ICN1
MM (Physical Inventory Doc) Create PID For Sales Order RM07IE31
MM (Physical Inventory Doc) Create PID For Standard Stock RM07II31
MM (Physical Inventory Doc) Block Material for Phys. Inv. RM07II32
MM (Physical Inventory Doc) Block Material for Phys. Inv. RM07II37
MM (Physical Inventory Doc) Create PID vendor consignmnt RM07IK31
MM (Physical Inventory Doc) Cre. PID ret. transp. packaging RM07IM31
MM (Physical Inventory Doc) Cre. PID Mat. Prov. to Vendor RM07IO31
MM (Physical Inventory Doc) Create PID for project RM07IQ31
MM (Physical Inventory Doc) Cre. PID ret. packaging at cust RM07IV31
MM (Physical Inventory Doc) Cre. PID consignment at cust. RM07IW31
MM (Physical Inventory Doc) Inventory Sampling RM07SVOR
Materials Management (EH & S) Phrases CG31
Materials Management (EH & S) Sources CG32
Materials Management (EH & S) Substances CG33
Plant Maintenance Measuring Point RIIBIP00/IBIP
Plant Maintenance Measurement Document RIIBIP00/IBIP
Plant Maintenance Notifications-General RIIBIP00/IBIP
Plant Maintenance Functional Location RIIBIP00/IBIP
Plant Maintenance Object Link RIIBIP00/IBIP
Plant Maintenance Equipment RIIBIP00/IBIP
Plant Maintenance Maintenance Plan RIIBIP00/IBIP
Plant Maintenance Scheduling Maintenance Plan RIIBIP00/IBIP
Plant Maintenance Order Confirmation RIIBIP00/IBIP
Plant Maintenance Equipment Task List RIIBIP00/IBIP
Plant Maintenance General Maintenance Task List RIIBIP00/IBIP
Plant Maintenance Functional Location Task List RIIBIP00/IBIP
Production Master Data Create BOM RCSBI010 (Batch Input)
Production Master Data Change BOM RCSBI020 (Batch Input)
Production Master Data Create Variant BOM RCSBI030 (Batch Input)
Production Master Data Create BOM With Long Text RCSBI040 (Batch Input)
Production Master Data Routing / Task Lists RCPTRA01 (Batch Input)
Production Planning Demand Management RMMM60BI (Bacth Input)
Production Planning RM60IN00 (Direct Input)
SAP-EIS Several Records for SAP-EIS RKCFILE0
Sales and Distribution Condition Records (Pricing) RV14BTC1
Sales and Distribution Customer Master RFBIDE00
Sales and Distribution Open Sales Orders RVINVB00
Sales and Distribution Invoice External Transactions RVAFSS00
Warehouse Management Storage Bins RLPLAT00
Warehouse Management Stocks on Storage Bins RLBEST00

Tags: , , , ,