Mittwoch, 16. Januar 2013
Tracing von TCP/IP Verbindungen
In der SM59 kann bei TCP/IP Verbindungen im Reiter "Spezielle Optionen" im Bereich Trace der RFC Trace aktiviert werden.
Dieser kann dann mittels Report RSHTTP40 angezeigt werden.
Freitag, 21. Dezember 2012
Führende Nullen
Im ABAP findet man immer wieder folgenden Code
UNPACK lf_field TO lf_field.
Damit wird erreicht dass das Feld mit führenden Nullen aufgefüllt wird.
Manchmal gibt es auch den Ansatz den Wert in ein NUMC Feld zu schieben und dann wieder retour.
Normalerweise sollte man aber für das Auffüllen der Nulllen bzw. der Umwandlung von Daten in ein internes Format, die SAP eigenen Konvertierungsexits verwenden!
Diese werden auch in der Domäne des entsprechenden Datentyps definiert!
Der FuBa Name setzt sich dann wie folgt zusammen
CONVERSION_EXIT_xxx_INPUT
CONVERSION_EXIT_xxx_OUTPUT
xxx wird durch den entsprechenden Exit welcher in der Domäne hinterlegt ist ersetzt!
Für Datentypen welche führende Nullen haben, ist dies in der Regel der Exit ALPHA
_INPUT fügt dann die führenden Nullen hinzu und
_OUTPUT entfernt diese dann
Beispiel
UNPACK lf_field TO lf_field.
Damit wird erreicht dass das Feld mit führenden Nullen aufgefüllt wird.
Manchmal gibt es auch den Ansatz den Wert in ein NUMC Feld zu schieben und dann wieder retour.
Normalerweise sollte man aber für das Auffüllen der Nulllen bzw. der Umwandlung von Daten in ein internes Format, die SAP eigenen Konvertierungsexits verwenden!
Diese werden auch in der Domäne des entsprechenden Datentyps definiert!
Der FuBa Name setzt sich dann wie folgt zusammen
CONVERSION_EXIT_xxx_INPUT
CONVERSION_EXIT_xxx_OUTPUT
xxx wird durch den entsprechenden Exit welcher in der Domäne hinterlegt ist ersetzt!
Für Datentypen welche führende Nullen haben, ist dies in der Regel der Exit ALPHA
_INPUT fügt dann die führenden Nullen hinzu und
_OUTPUT entfernt diese dann
Beispiel
DATA: lf_partner TYPE bu_partner.
lf_partner = '1001'.
"lf_partner => 1001
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' EXPORTING input = lf_partner IMPORTING output = lf_partner.
"lf_partner => 0000001001
Dienstag, 27. November 2012
SAP ITS Laden von MIME Objekten erzeugt 404 HTTP Fehler
Im SAP werden Service über die TA SICF verwaltet, damit eine ITS Transaktion funktioniert muss der zugrunde liegende Service gestartet sein!
Es kann nun aber vorkommen, dass die Anwendung nicht lädt, schaut man sich dann das Netzwerkprotokoll mittels eines Browserentwicklertools an (z.B. Firebug, ...), kann man erkennen, dass gewisse Resourcen nicht geladen werden können und einen 404 HTTP Fehler verursachen!
Handelt es sich dabei um Resourcen die den URL Prefix /sap/public/bc/its/mime/ werden diese über das Servelet CL_HTTP_EXT_ITS_MIMES geladen.
Sollte der Service aktiv sein und das Problem weiter bestehen, sollte der Service SYSTEM nochmals publiziert werden. Dies kann man mittels TA SE80 machen.
Es kann nun aber vorkommen, dass die Anwendung nicht lädt, schaut man sich dann das Netzwerkprotokoll mittels eines Browserentwicklertools an (z.B. Firebug, ...), kann man erkennen, dass gewisse Resourcen nicht geladen werden können und einen 404 HTTP Fehler verursachen!
Handelt es sich dabei um Resourcen die den URL Prefix /sap/public/bc/its/mime/ werden diese über das Servelet CL_HTTP_EXT_ITS_MIMES geladen.
Sollte der Service aktiv sein und das Problem weiter bestehen, sollte der Service SYSTEM nochmals publiziert werden. Dies kann man mittels TA SE80 machen.
Mittwoch, 29. August 2012
Events bei Pflegeviews
SAP bietet die Möglichkeit auf gewisse Events bei generierten Pflegeviews zu reagieren.
So hat man dann z.B. die Möglichkeit, Coding vor dem Schreiben auf die DB oder nachher anzutriggern!
Sehr praktisch wenn eine Änderung einen Folgeprozess anstoßen soll, und man nicht unbedingt mit Typkopplung, welche Änderungsbelege voraussetzt verwenden will.
SDN Doku
So hat man dann z.B. die Möglichkeit, Coding vor dem Schreiben auf die DB oder nachher anzutriggern!
Sehr praktisch wenn eine Änderung einen Folgeprozess anstoßen soll, und man nicht unbedingt mit Typkopplung, welche Änderungsbelege voraussetzt verwenden will.
SDN Doku
Montag, 20. August 2012
ABAP instanceof
Im Java gibt es den Operator instanceof mit diesem kann zur Laufzeit festgestellt werden, ob ein definiertes Objekt vom Typ einer Klasse ist. Dies ist sehr praktisch, speziell Basisobjekte erweitert werden (Superklassen).
Im ABAP gibt es diesen Operator leider nicht, behelfen kann man sich indem man einen CAST ausführt, falls dieser fehlschlägt weiß man, dass das Objekt kein Typ oder Supertyp der zu vergleichenden Klasse ist.
Es gibt aber eine Helper Methode die diesen Check kapselt.
CL_WDY_WB_REFLECTION_HELPER=>IS_INSTANCE_OF
Im ABAP gibt es diesen Operator leider nicht, behelfen kann man sich indem man einen CAST ausführt, falls dieser fehlschlägt weiß man, dass das Objekt kein Typ oder Supertyp der zu vergleichenden Klasse ist.
Es gibt aber eine Helper Methode die diesen Check kapselt.
CL_WDY_WB_REFLECTION_HELPER=>IS_INSTANCE_OF
Abonnieren
Posts (Atom)

