Category Archive for: Blog

Virenscan

Jeder ABAP Entwickler steht früher oder später vor der Aufgabe, verschiedenste Arten von Files in ein SAP System zu laden. Das kann ein einfaches Textfile sein, ein komplexes Excel Sheet oder aber auch eine Bilddatei für Produkte oder ähnliches. Gerade Excel Files und Bild Dateien können immense Gefahren beinhalten. Angefangen von Makroviren bis hin zu…

Read More →

Funktionsbaustein dynamisch aufrufen

Es gibt zwei Arten, um einen Funktionsbaustein dynamisch aufzurufen. In Variante 1 sind alle Parameter bekannt, nur der Name des Funktionsbausteines wird erst zur Laufzeit ermittelt. Hier wird der Funktionsbaustein als eine Art Interface benutzt. Variante 2 geht noch einen Schritt weiter. Hier wird nicht nur der Name des Fuba`s zur Laufzeit ermittelt, sondern auch…

Read More →

Domänenwerte aus Valuetable

Eine Domäne kann neben Domänen Fixwerten auch eine Wertetabelle, eine Wertetabelle mit Texttabelle oder eine Suchhilfe hinterlegt haben. Das Auslesen von Domänen Fix Values kann relativ einfach mit dem Funktionsbaustein DD_DOMVALUES_GET erledigt werden. Komplexer wird es da schon bei einer Wertetabelle mit/ohne Texttabelle. Zuerst muss der Aufbau der Suchhilfe ermittelt werden. CALL FUNCTION ‚DD_SHLP_GET_HELPMETHOD‘ EXPORTING…

Read More →

ALV Table: Dynamisches Kontext Mapping

In einem früheren Beitrag habe ich bereits erklärt, wie man einen Kontextknoten zur Laufzeit dynamisch erzeugen kann. In diesem kleinen Beispiel möchte ich nun zeigen, wie man einen Kontextknoten zur Laufzeit an eine ALV Tabelle binden kann. Mein Beispiel ist recht simpel aufgebaut. Zuerst wird das Tabellenobjekt erzeugt, falls dieses noch nicht initialisiert wurde. Danach…

Read More →

WebClient Komponente ohne Enhancement Testen

WebClient Komponenten bieten durch ihre Enhancementfähigkeiten viele Möglichkeiten den SAP Standard an seine eigenen Anforderungen anzupassen. Hin und wieder kommt es allerdings vor, dass nach einem Hotpack oder einem OSS Hinweis eine WebClient Komponente nicht mehr ganz so funktioniert wie zuvor. An diesem Punkt beginnt in der Regel das große Suchen. Liegt der Fehler im…

Read More →

Kontextknoten dynamisch Mappen

In der Regel ist es kein großes Problem, einen Kontextknoten zwischen Component Controller und View Controller zu mappen. Einfach per Drag’n Drop das Mapping durchführen und fertig. Erzeugt man aber erst zur Laufzeit einen Kontextknoten, dann ist es mit dem Mapping zur Design Time schon nicht mehr so einfach. Dieses Beispiel soll zeigen, wie man…

Read More →

Datenbank Strukturen zur Laufzeit erzeugen

Wie man dynamisch Strukturen und interne Tabellen zur Laufzeit erzeugen kann, habe ich bereits in einem anderen Artikel beschrieben. Heute möchte ich zeigen, wie man eine Datenbank Struktur zur Laufzeit erzeugt und diese auch gleich einem Transportauftrag zuweisen kann. Der unten gezeigte Report besitzt einen Selection Screen mit vier Eingabefeldern. Diese Felder sind : Strukturname…

Read More →

SAP ALV Grid eingabebereit machen

In vielen Fällen ist es nicht ausreichend, Daten in einem ALV Grid nur auszugeben, sondern auch änderbar zu machen. Dabei kann man die Eingabebereitschaft in drei Varianten unterteilen. alle Spalten und Felder sind eingabebereit nur gewisse Spalten sind eingabebereit nur einzelne Felder sind eingabebereit In diesem Artikel möchte ich alle drei Varianten kurz vorstellen. Dabei…

Read More →

Popup schließen

Um ein modales Popup zu schließen gibt es einige Möglichkeiten. Die einfachste ist es, diesen Vorgang vom User manuell ausführen zu lassen. Oft kann es aber vom Programmablauf besser sein, man schließt das jeweilige Popup direkt aus dem ABAP Coding nachdem zB Daten gespeichert wurden. Dieses Beispiel zeigt eine von mehreren Möglichkeiten, wie man ein…

Read More →

User Rolle ermitteln

Manche WebUI Enhancements sollen nur bei bestimmten User Rollen ausgeführt werden. Die Rolle eines User kann man wie folgt ermitteln. DATA: obj_profile TYPE REF TO if_crm_ui_profile. DATA: lv_profile TYPE string. * Get user role obj_profile = cl_crm_ui_profile=>get_instance( ). lv_profile = obj_profile->get_profile( ). Die Rolle des Users ist nun in der Variablen LV_PROFILE vorhanden und kann…

Read More →

Back to Top