ADventas bei facebook  ADventas bei Twitter  ADventas bei LinkedIn  ADventas bei Xing

Bücher für den Einstieg in SAP

In den SAP Grundlagenseminaren werde ich von Teilnehmern immer wieder nach Büchern gefragt, die den Einstieg in SAP einfach machen. Es gibt zwei Bücher, die ich immer gern empfehle.

Das Buch SAP Grundkurs gibt einen Überblick über die historische Entwicklung von SAP und seinen Produkten. Es erklärt die wichtigsten betriebswirtschaftlichen Module und erläutert deren Zusammenspiel anhand eines durch gängigen Fallbeispiels. 

Die Beispiele und Übungen in diesem Buch können auf einem SAP IDES System durchgeführt werden.

Sehr lesenswert finde ich auch das Buch Matrix der Welt, von Ludwig Siegele und Joachim Zepelin. Es ist 2009 im Campus Verlag erschienen und beschreibt sehr schön die Entstehungsgeschichte von SAP.

 

Zugriff auf SAP Systeme

Bis vor Jahren gab es bei SAP die Möglichkeit, dass Interessierte Personen Zugang zu einem SAP IDES-System bekamen. Leider hat SAP diesen Service dann eingestellt. Dies hat der US-amerikanische Anbieter idesaccess.com zum Anlass genommen, auch für Privatpersonen die Möglichkeit anzubieten, Zugriff zu den verschiedensten Arten von SAP-Systemen zu erhalten.

Im ersten Schritt muß man sich auf dessen Webseite registrieren, anschließend kann man ein System auswählen. Die Preise variieren je nach Nutzungsdauer und Reaktionszeit des Support. Gezahlt wird per Paypal in USD. Um auf das System zugreifen zu können, muß vorher auf dem eigenen PC der SAP-GUI installiert werden. Die Systeme laufen zuverlässig und performant. Die Anfragen an den Support wurden zügig beantwortet, so Volker P., Nutzer aus Deutschland.

Wer sich mit ABAP Anwendungsentwicklung beschäftigen möchte, der kann im SAP Developer Center kostenfrei Zugang zu Entwicklungsplattformen erhalten. Dazu gehören der ABAP- und Java-Stack, sowie SAP HANA. Die Plattformen beinhalten jedoch keine Fachmodule. Neben Offline-Kompenenten gehören dazu auch Online-Komponenten, die beim Amazon Web Services (AWS) gehostet werden. Der Installtionsaufwand ist dadurch minimal, jedoch fallen Kosten für die Nutzung der AWS an.

Wer SAP ERP auf HANA testen möchte, ger kann hierzu auf www.saphana.com eine 30-Tage Testlizenz erhalten

SAP Tipps und Links

In meiner Beratungspraxis werden mir immer wieder zum Teil sehr detaillierte Fragen zum Umgang mit dem SAP ERP Central Component gestellt. Einige ausgewählte Fragen und Antworten habe ich hier zusammengestellt.

Sie haben eine Frage und kommen nicht weiter? Zögern Sie nicht mir Ihre Frage per Email zu schreiben. Wenn ich kann, dann helfe ich Ihnen gerne weiter.

Wie kann ich den ABAP Callstack auswerten?

Ab und zu will man wissen, was vorher geschah... mit dem Funktionsbaustein SYSTEM_CALLSTACK kann zur Laufzeit der Callstack gelesen und ausgewertet werden.

METHODS get_blockname
      IMPORTING
           level TYPE i
     RETURNING
           VALUE(rv_blockname) TYPE string.

METHOD get_blockname.

DATA: lt_callstack TYPE abap_callstack.

CALL FUNCTION 'SYSTEM_CALLSTACK'

       EXPORTING

             max_level = Level

       IMPORTING

            callstack = lt_callstack.

IF lines( lt_callstack ) = level.

       rv_blockname = lt_callstack[ level ]-blockname.

ENDIF.

ENDMETHOD.

Warum werden bei FI-CA Inkassoabgabe die Felder für die Dateien nicht angezeigt?

Bei den Transaktionen FP03DM - Massenlauf: Abgabe an Inkassobüro und FPCI - Massenlauf: Informationen für Inkassobüros, werden die Felder für Abgabe- bzw. Ausgabedatei werden nur dann angezeigt, wenn Enterprise-Services nicht verwendet werden (Tabelle TFK000ES). Mit dem Customizing für Massenaktivitäten hat das nichts zu tun.

So können Sie viele Objektkatalogeinträge auf einmal ändern

Sie möchten den Objektkatalogeintrag von vielen Entwicklungsobjekten ändern, ohne jedes Element einzeln anzufassen? Rufen Sie dazu die Transaktion SE03 auf wählen Sie den Report Objektkatalogeinträge ändern. Selektieren Sie dann die Objekte, welche Sie ändern möchten und markieren Sie diese entsprechenden. Dann geben Sie in dem Expertenmodus den Befehl MASS ein. In der dann folgenden Dialogbox geben Sie den neuen Objektkatalogeintrag ein und wählen Ändern. Das System ändert dann den Objektkatalogeintrag für alle Objekte, ohne dass Sie jedes einzelne Element bearbeiten müssen.

Berechnung der Steuer beim Buchen des IDOCS FIDCCP02 einstellen

Werden beim Buchen von FI-Belegen über das IDOC FIDCCP02 - FI-IDoc: Vollständiger FI-Beleg - eigene Steuerzeilen mit übergeben, so kann es zu dem Fehler "Eingeg. Steuer falsch (KZ ..., Betrag 0,00), richtig ... EUR" kommen (FF 707). Damit die übergebenen Steuerzeilen übernommen werden muss die Prüfung deaktiviert werden. Dies erfolgt in der Tabelle TAX_APPLI. Aber Vorsicht! Bei der Tabelle handelt es sich um eine SAP interne Steuertabelle. Nach einer Änderung der Tabelle müssen Sie die FI Geschäftsvorfälle mit Steuer sorgfältig testen.

Profilparameter anzeigen

Mit dem Report RSPFPAR können die Profilparamater eines SAP-Systems angezeigt werden. Dies vorallem dann nützlich, wenn man keine Berechtigung für die Transaktion RZ10 hat.

ABAP Code Scanner

Mit der Transaktion CODE_SCANNER kann ABAP Code durchsucht werden. Dies kann z.B. dafür genutzt werden, um zu prüfen, ob für einen Variablenwert bereits eine Konstante angelegt wurde. oder es kann die Verwendung von Funktionsbausteinen ermittelt werden, die per remote function call (RFC) einen Baustein in einem anderen System aufrufen und daher nicht per Verwendungsnachweis ermittelt werden können.

ABAP Code Scan

 

Upload- / Downloadpfad benutzerspezifisch festlegen

Wenn Sie im SAP-System mit der F4-Hilfe eine Datei zum Upload oder Download auswählen wollen, so zeigt das System immer den Pfad zum lokalen SAP Verzeichnis an. Wenn Sie grundsätzlich ein anderes Verzeichnis als Standardverzeichnis festlegen wollen, so können Sie dies benutzerabhängig mit der Transaktion SO21 - PC Arbeitsverzeichnis pflegen - einstellen.

Wann war der letzte Import einer Mandantenkopie?

Mit der Transaktion SCC3 kann abgefragt werden, wann der letzte Import einer Mandantenkopie in das System erfolgt ist.

Wie kann ich die Inhalte einer Tabelle ändern?

Rufen Sie die Transaktion SE16N - allgemeine Tabellenanzeige - auf. Geben Sie dann auf dem Einstiegsbild oben links im SAP GUI im Expertenmodus den Befehl &SAP_EDIT ein und schließen Sie mit Enter ab. Anschließend gelangen Sie in eine Excel ähnliche Darstellung der Tabelle und können die Einträge ändern.

Warum sind in der Mahnliste keine Einträge enthalten?

Wenn in der Mahnliste keine Einträge vorhanden sind, dann kann das mehrere Ursachen haben. Zunächst einmal ist zu prüfern, ob überhaupt offene Posten auf dem Debitor vorhanden sind.

Danach prüfen Sie, ob Mahnsperren gesetzt sind. Überprüfen Sie hierzu sowohl den Debitoren als auch die Einzelbelege. Wenn Sie zusätzlich noch ein operatives Modul wie z.B. Immobilien Management im Einsatz haben, so prüfen Sie auch dort, ob z.B. eine Mahnsperre am Vertrag gesetzt ist.

Diese Prüfungen müssen Sie natürlich Zeitpunkt bezogen durch führen. D.h. Sie müssen prüfen, ob zum Zeitpunkt des Mahnlaufes diese Sperren gesetzt waren. Werten Sie hierzu die Änderungsbelege aus.

Warum werden keine Änderungsbelege angezeigt, obwohl die Tabelle aufzeichungspflichtig ist?

Über die normale Protokollanzeige ist es manchmal nicht möglich, Änderungen an der  Tabelle angezeigt zu bekommen (z.B, für Tabelle T8G12 - Belegarten für Belegaufteilung klassifizieren). Hier sind die technischen Einstellungen so, dass die Pflege auf einem View erfolgt, die Änderungen aber nur auf der eigentlichen Tabelle protokolliert werden.
 
Hier hilft die Transaktion SCU3 weiter, die es ermöglicht, die Änderungen der eigentlichen Tabelle anzuzeigen.

Welche Business Funktion ist aktiv?

Mit der Transaktion SWF5 können separat einzelne Standardanwendungen und Branchenlösungen Ihres ABAP-basierten SAP-Systems aktiviert werden.

Hierbei handelt es sich um sogenannte Business Function Sets und Business Functions. Unter den Business Function Sets werden Business Functions zusammengefasst. Mit ihnen kann eine System für eine Branchenlösung eingestellt werden.

Wenn keine Branchenlösung genutzt wird, steht das Allgemeine Business Function Set mit generellen, separat zu schaltenden Anwendungen zur Verfügung.

Achtung: Einmal aktivierte Funktionen können nicht wieder deaktiviert werden. Der vorherige Zustand kann nur durch das Einspielen einer Datensicherung wieder hergestellt werden. Des Weiteren kann eine  Aktivierung nur einmal erfolgen. Achten Sie daher darauf, das dies in einem aufzeichnungspflichtigen Mandanten erfolgt, damit die Änderung auch auf einen Transport geschrieben wird.

Wie kann ich per RFC den Inhalt und die Struktur einer Tabelle auslesen?

Hier zu gibt es den RFC-fähigen Funktionbaustein RFC_READ_TABLE.

Er liest die Definition und - auf Wunsch - auch den Inhalt beliebiger, im Repository definierter Tabellen. Die Ausgabe von Tabelleninhalten erfolgt in einem unstrukturierten Tabellenparameter (DATA). In jeder Zeile von DATA wird eine Zeile aus der gelesenen Tabelle angeliefert, wobei gelesene Feldinhalte hintereinander in CHAR- Darstellung in das einzige Feld von DATA geschrieben werden. Der Parameter FIELDS liefert dazu die Liste der gelesenen Felder und ihre Position in DATA.

Der Parameter FIELDS kann aber auch als Eingabeparameter dienen: Ist FIELDS beim Aufruf nicht leer, so geht der Baustein davon aus, daß nur die in FIELDS aufgeführten Felder gelesen werden sollen. Durch diese Selektion von Feldern ist es möglich, auch in solchen Tabellen zu lesen, die zu breit sind, um in eine Zeile von DATA zu passen.

Im Parameter OPTIONS können Selektionskriterien übergeben werden, um die Menge der zu lesenden Zeilen einzuschränken. RFC_READ_TABLE reicht die Selektionsoptionen ohne Prüfung an ABAP/4-SQL weiter; bei fehlerhafter Syntax löst der Baustein eine Ausnahme aus.

Der Funktionsbaustein überprüft das Vorhandensein einer Berechtigung für das Berechtigungsobjekt S_TABU_DIS. Der Berechtigungsschutz ist damit derselbe wie bei der Anzeige von Tabellen mit der Transaktion SE16.

Da die Übergabe der selektierten daten im Form einer zeichkette (String) übergeben wird, eignet sich der Baustein nicht zum Auslesen von binär kodierten datenm wie z.B. einer GUID.

Wie kann ich den Benutzer per POPUP benachrichtigen, während er gerade nicht mit SAP arbeitet?

Hierzu kann man den Funktionsbaustein TH_POPUP verwenden. In dem Parameter USER ist der Benutzer anzugeben, der benachrichtigt werden soll und in CLIENT der Mandant, in dem der Benutzer existiert. Der Parameter MESSAGE beinhaltet die auszugebende Nachricht.

Der Funktionsbaustein ruft eine Prozedure des SAP-GUI auf und legt sich daher auch vor andere Anwendungen.

Welche Fachbegriffe verwendet SAP?

Alle von SAP verwendeten Fachbegriffe können mit der Transaktion STERM nachgeschlagen werden. Hier ist auch die Übersetzung dieser Fachbegriffe ins Englische und alle weiteren installierten Sprachen zu finden. Wer kein SAP System hat, der kann dieselbe Funktion auch unter http://www.sapterm.com aufrufen.

Sehr hilfreiche Funktion bei der Übersetzung von Texten wie z.B. Anwendungshandbüchern in eine andere Sprache.

Wie kann im Reportpainter die Ausrichtung der Überschrift geändert werden?

Wenn man im Report Painter die Ausrichtung der Überschrift auf "linksbündig" ändert, dann ändert sich die Ausrichtung nicht.

Das Problem läßt sich nur durch eine "geschickte" Wahl der Spaltenbreite und der Art der Spaltenüberschrift (kurz/mittel/lang) lösen. Zunächst muss im report über Formatierung->Spalten die maximale Spaltenbreite (wahrscheinlich 21) eingestellt werden. Anschließend bitte über Formatierung->Zielen/Spaltentexte bei Spaltentexte die Einstellung Kurztext wählen. Jetzt sollte, wenn man die Ausrichtung im Abschnittslayout ändert, auch die Ausrichtung der Überschrift ändern können. Es ist auch zu prüfen,  ob in der Überschrift rechts bzw. links vom Text keine Leerzeichen enthalten sind.

Wie kann ich eine Suchhilfe aufrufen?

Im Data Dictonary definierte Suchhilfen werden in der Regel einem Datenelement oder einem Datenfeld in einer Tabelle oder Struktur zugeordnet. Wenn diese Struktur eine Anzeigestruktur eines Dynpros ist, so wird zur Laufzeit auf dem Dynpro die F4-Hilfe angeboten.

Manchmal ist es notwendig z.B. in einem Report eine Suchhilfe expliziet aufzurufen. Der folgende Programmausschnitt zeigt beispielhaft, wie dies umgesetzt werden kann. Dabei ist "p_ibi" ein Selektionsparameter, für den der Aufruf der Suchhilfe "IBSP" erfolgen soll. Zurüggegeben werden soll von der Suchhilfe das Feld "INSTANCE".

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_ibi.
DATA:
  lt_return_values TYPE TABLE OF ddshretval,
  ls_return_values TYPE ddshretval,
  l_rc             TYPE sy-subrc,
  l_shlp           TYPE shlp_descr,
  ls_interface     TYPE ddshiface.

* Die Struktur der Suchhilfe füllen
CALL FUNCTION 'F4IF_GET_SHLP_DESCR'
  EXPORTING
   shlpname = 'IBSP'
   shlptype = 'SH'
  IMPORTING
   shlp     = l_shlp.

* Die Rückgabewerte festlegen
READ TABLE l_shlp-interface WITH KEY shlpfield = 'INSTANCE' INTO ls_interface.
IF sy-subrc = 0.
  ls_interface-valfield = 'X'.
  MODIFY l_shlp-interface FROM ls_interface INDEX sy-tabix.
ENDIF.

* Die Suchhilfe aufrufen
CALL FUNCTION 'F4IF_START_VALUE_REQUEST'
  EXPORTING
   shlp          = l_shlp
   disponly      = ' '
   maxrecords    = 500
   multisel      = ' '
   cucol         = sy-cucol
   curow         = sy-curow
  IMPORTING
   rc            = l_rc
  TABLES
   return_values = lt_return_values.

* Den ausgewählten Wert setzen
IF l_rc = 0.
  READ TABLE lt_return_values INTO ls_return_values INDEX 1.
  p_ibi = ls_return_values-fieldval.
ENDIF.

Wie kann ich im Job-Control das Tagesdatum berechnen lassen?

Das Tagesdatum kann beim Definieren einer Variante jeweils neu berechnet werden. Voraussetzung hierfür ist, dass es sich bei dem Selektionskriterium um einen Parameter und nicht um eine Selektionsoption handelt. Des Weiteren muss der Parameter vom Typ "d" sein. Andernfalls kommt es zu der Fehlermeldung "Selektionskriterium x enthält eine unzulässige Abgrenzungszeile." (DB774).

Die allgemeine Vorgehensweise zur Variantenpflege ist im SAP Hilfetext beschreiben.

Welche Grafikformate kann man in Smartforms bzw. SAPScript verwenden?

In Smartforms und SAPScript-Formularen können z.B. Logos als Grafiken eingebunden werden. Dies erfolgt mit Hilfe der Transaktion SE78. Als Formate kommen BMP und TIFF in Frage.

Das Logo sollte einen weißen Hintergund haben und auch nicht zu eng beschnitten sein. Ein kleiner Rand in der Farbe des Hintergrunds schützt vor Verläufen. Bei Hochladen wird die Datei in in eine Grafik mit 256 Farben konvertiert. Wenn es sich z.B. um eine True Color Grafik mit z.B. 16,7 Millionen Farben handelt, können natürlich Farbinformationen verloren gehen. Z.B. kann es passieren, dass Weiß in ein helles Grau oder Blau umgewandelt wird.

Ein TIFF muss dem Baseline 6.0 Format entsprechen und darf nicht komprimiert sein. Auch ein transparenter Hintergund kann nicht verwendet werden.

Als Alternative kann auch mitz PAINT das Bild mit 256 Fraben abgespeichert werden.

Wie können Nachrichten unterdrückt werden?

Die Ausgabe von Nachrichten kann unterdrückt werden. Hierzu rufen Sie SM30 auf und pflegen den View V_T100C.

Wie kann ich z.B. den Systemname und Mandanten im Fenstertitel anzeigen lassen?

sapgui1Manchmal will man zusätzliche Informationen, wie Systemname, Modulnummer oder Mandant im SAPGUI Fenstertitel anzeigen lassen. Dies ist besonders dann nützlich, wenn man mit vielen SAP Systemen zugleich arbeitet. Z.B. im Support-Kontext oder auch in Einführungsprojekten.

Ab dem Patch 2 für 640 GUI können die zusätzlichen Informationen durch Setzen des Registry Eintrags 'ShowAdditionalTitleInFo' unter [HKEY_CURRENT_USER\Software\SAP\SAPGUI Front\SAP Frontend Server\Administration] zu Beginn des GUI Fenstertitels angezeigt werden.

Wenn der Eintrag 'ShowAdditionalTitleInFo' mit dem Wert 1 (REG_DWORD) belegt ist, werden die zusätzlichen Information angezeigt. Defaultmäßig ist der Wert mit 0 belegt.

Siehe SAP Hinweis 757964.

Mit welchem Tastaurbefehl kann ich in das Befehlsfeld wechseln?

Die Erfassung von Belegen im SAP erfolgt am schnellsten über die Tastatur. Die Bedeutung der herkömlichen Tasten und Tastaturbefehle ist dem Benutzer bekannt. Schwierg wird es, wenn es um SAP-typische Tastaturbefehle geht. Hierzu gehört der Befehl "STRG+UMSCH+/", um in das Befehlsfeld zu springen. Dieser ist so in der SAP-Hilfe nicht enthalten.

Adobe Interactive Forms: Variable im Text

Variable in FließtextUm in einem Text eine Variable einzufügen, müssen Sie den Cursor an die Position in dem Text stellen, an der die Variable eingefügt werden soll.

Dann wählen Sie die rechte Maustaste und den Menüpunkt "Feld in Fließtext". Es wird dann ein unsichtbares Textfeld  und in dem Text "{Textfeld}" eingefügt.

Nehmen Sie dann die Datenbindung für das Textfeld vor. Der Name des Textfelds wird dann in den Namen der Variablen geändert, an die sie das Textfeld gebunden haben.