Category Archive for: Blog

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 →

Programme mittels RFC „Installieren“ und ausführen

In diesem Artikel möchte ich eine Funktion vorstellen, welche in einigen „Extremsituationen“ sehr hilfreich sein kann. Allerdings ist dieser Funktionsbaustein von SAP nicht freigegeben und die Verwendung erfolgt auf eigene Gefahr! Trotzdem kann es recht hilfreich sein, diesen Funktionsbaustein zu kennen. Der FuBa RFC_ABAP_INSTALL_AND_RUN erlaubt es, einen beliebigen Report via RFC von einem SAP System…

Read More →

RS_ABAP_SOURCE_SCAN

Jeder Entwickler wird schon einmal ein Programm oder eine Klasse gesucht haben, deren Namen er nicht mehr wusste. Die ersten Reports seiner Karriere merkt man sich noch relativ leicht. Je mehr man entwickelt, umso eher vergisst man allerdings die Namen seiner Programme. Oft erinnert man sich zwar an Codefragmente einer Entwicklung, aber es fällt einem…

Read More →

Kontextattribut mit DropDown Werten Füllen

Wer WebDynpro/ABAP entwickelt, kommt auch um DropDown Felder nicht herum. SAP lässt uns hier die Auswahl zwischen DropDowns by Index oder DropDowns by Key. In vielen Fällen lädt das DropDown by Key die Werte automatisch von der Domäne des jeweiligen Kontextknotens. Manche Situationen erfordern es allerdings, dass man sich selbst um die Befüllung des Controls…

Read More →

Selektionsparameter in Suchhilfe Popup vorbelegen

Einfach mal in einem Suchhilfe Popup einen Selektionsparameter vorbelegen. Sollte doch recht einfach sein. Leider lag die Tücke im Detail. Das alleinige Ändern der BOL Collection brachte nur dann einen Erfolg, wenn der User das Suchhilfe Popup öffnet, wieder schliesst und dann erneut öffnet. Nach einem Tag suchen war dann auch schon die Lösung gefunden.…

Read More →

Debugger Shortcut

So mancher Entwickler hatte mit großer Wahrscheinlichkeit schon einmal ein GUI Popup vor sich und wollte eine Debugger Session starten. Aufgrund der fehlenden Inputbox war es nicht möglich das Kommando /h abzusetzen. Es gibt allerdings eine einfache wie geniale Möglichkeit trotzdem in den Debug Modus zu springen. Hierfür muss ein handelsüblicher Text Editor geöffnet werden.…

Read More →

Interne Tabelle mit tiefer Struktur zur Laufzeit dynamisch erstellen

Interne Tabellen sind eine sehr praktische Erfindung und im Vergleich zu Collections aus anderen Programmiersprachen auch sehr einfach zu benutzen. Leider kommt es aber hin und wieder vor, dass man den Aufbau einer internen Tabelle zum Zeitpunkt der Entwicklung nicht kennt, sondern diese dynamisch zur Laufzeit erzeugen muss. An wirklich üblen Tagen besteht diese Tabelle…

Read More →

Read Table auf Field-Symbol ausführen

Ab und an ist es notwendig mit untypisierten Feldsymbolen zu arbeiten. Handelt es sich bei dem Feldsymbol auch noch um eine interne Tabelle oder ein Datenobjekt vom Typ Tabelle, dann kann eine Abfrage etwas komplizierter werden. Dieses kleine Beispielprogramm soll zeigen wie man mittels READ TABLE Anweisung auch untypisierte Feldsymbole abfragen kann. PROGRAM zread_table. TYPE-POOLS:…

Read More →

CRM_CALL_ACTIVITY_INTERFACE

Jeder SAP Entwickler, welcher auch im CRM arbeitet, muss früher oder später Business Activities per Programm anlegen oder ändern. Durch das SAP OneOrder Model kann dies relativ schnell, relativ komplex werden. Vor allem, wenn auch Extensions zu manipluieren sind. In diesem Fall ist es oft nicht ersichtlich, welche Felder befüllt werden müssen, um die gewünschte…

Read More →

RFC Login Prüfen

Hin und wieder gibt es die Anforderung direkt von einem SAP System in ein anderes SAP System abspringen zu lassen. Das ganze sollte natürlich ohne ein erneutes Anmelden am jeweiligen Zielsystem erfolgen. Eine Möglichkeit ans Ziel zu kommen wäre die Hinterlegung eines entsprechenden Users in der jeweiligen SM59 Verbindung. Allerdings sollte man bedenken, dass es…

Read More →

Back to Top