Sandra Lehmann
26. September 2013

LinkToAction auch ohne LeadSelection in Web Dynpro Java

Wenn in WebDynpro Java in einer Tabelle für jede Zeile eine spezielle Funktion ausgeführt werden soll, dann funktioniert das in der Regel einfach über ein LinkToAction-Control und die Auswertung der LeadSelection. Wenn die LeadSelection allerdings anderweitig verwendet wird, dann braucht es einen kleinen Trick.

Unser E-Book zum Thema SAP Entwicklung

E-Book: SAP Entwicklung

Wir erklären Ihnen im E-Book die 3 wichtigsten Frameworks und zeigen Ihnen weitere Erfolgsbooster, die wir selbst einsetzen.

Ausgangspunkt ist eine Tabelle mit zwei Spalten, einer informativen und einer ausführenden, die hat das UI Element LinkToAction. Die ausführende soll aber nicht mit LeadSelection funktionieren, da die LeadSelection für eine andere Funktion benötigt wird. Wie also kann man dem UI Element mitteilen, welches Element es zu nutzen (in diesem Fall: zu löschen) hat?

Tabelle mit UI Element LinkToAction

Tabelle mit informativer und ausführender Spalte, welche das UI Element LinkToAction hat.

Voraussetzungen: Tabelle mit den zwei Spalten, einmal Informationen und die zweite mit dem UI Element “LinkToAction”

1. Anlegen einer Methode mit Parameter für das UI Element “LinkToAction” mit Parameter des Types IWDNodeElement.

Methode mit Parameter für das UI Element "LinkToAction"

Methode mit Parameter für das UI Element “LinkToAction”

Ablauf: LinkToAction ohne LeadSelection

Ablauf: LinkToAction ohne LeadSelection

2. In der Methode wdDoModify() der View wird mit folgendem Code das UI Element LinkToAction instanziiert.

“LinkToAction” beschreibt die ID des UI Elements LinkToAction:

IWDLinkToAction link = (IWDLinkToAction) view.getElement(“LinkToAction”);
link.mappingOfOnAction().addSourceMapping(“nodeElement”, “selectedElement”);

3. Das Coding für den ausführenden Teil kommt in die onAction Methode:

public void onActionDeleteFavorite(com.sap.tc.webdynpro.progmodel.api.IWDCustomEvent wdEvent, com.sap.tc.webdynpro.progmodel.api.IWDNodeElement selectedElement )
{
//@@begin onActionDeleteFav(ServerEvent)

IPrivateDashboardCompView.IMyFavorites_TableElement element = (IPrivateDashboardCompView.IMyFavorites_TableElement) selectedElement;

wdContext.nodeMyFavorites_Table().removeElement(element);
//@@end
}

4. Jetzt nur noch dem Link die Methode “DeleteFavorite” zuweisen
5. Speichern, Builden und Deployen. Run the Application. Dann sollte der Link idealerweise funktionieren

Viel Spaß beim Ausprobieren und Selberbauen. Für Anregungen und Kritik bin ich dankbar. Falls Sie Fragen haben, dann scheuen Sie sich nicht, mir ebenfalls einen Kommentar zu hinterlassen.

 Save as PDF

Sandra Lehmann

Sandra Lehmann

Mein Name ist Sandra Lehmann und ich bin begeisterter SAP Consultant bei mindsquare. Wie meine Kollegen habe ich mein Hobby zum Beruf gemacht.

Sie haben Fragen? Kontaktieren Sie mich!



Das könnte Sie auch interessieren

Wenn ein Anwender über die Universal Worklist (UWL) einen Eintrag bearbeiten möchte, kann er diesen normalerweise über einen Absprung in die Browseranwendung des zugrunde liegenden Systems oder direkt in der […]

weiterlesen

Der Begriff FBI hat im SAP Umfeld nichts mit der amerikanischen Behörde zu tun. Er steht für die Floorplan Manager BOPF Integration, also einem Framework für die Verknüpfung des Floorplan […]

weiterlesen

Ein Kommentar zu "LinkToAction auch ohne LeadSelection in Web Dynpro Java"

Guten Tag Frau Lehmann,
könnten Sie mir bitte verraten wie ich einen LinkToUrl innerhalb eines Tupels in einer Tabelle erstellen kann ?

Vielen Dank im Voraus !
Mit freundlichen Grüßen.

Jabrane Anam

Antworten

Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.





Kontaktieren Sie uns!
Alexander Koessner-Maier
Alexander Kössner-Maier Kundenservice