cancel
Showing results for 
Search instead for 
Did you mean: 

JCo3 - DestinationDataProvider: Destination-Properties zur Laufzeit hinzufügen

sven30
Discoverer
0 Kudos

Hallo,

ich hoffe, ihr könnt mir/uns helfen.

Vorweg: Ich habe mich durchs Web gewühlt, die Beispiele und javadocs gelesen, bin aber leider immer noch ratlos.

Ausgangssituation: aufgrund vieler Mandanten mit unterschiedlichen Verbindungs-Properties können die Properties für eine Verbindung erst zur Laufzeit ermittelt und gesetzt werden. Dies klappt auch super, solange nur der Mandant auf dem Server anfragt, der zuerst nach Serverstart seine properties gesetzt hat. Jeder weitere Mandant fällt auf die Nase, weil die vorhandenen properties natürlich nicht passen.

Frage: Wie kann ich zur Laufzeit eine weitere Destination hinzufügen? Ich finde keinen Weg, mir "meinen" CustomDestinationDataProvider zu holen, um diesem neue Properties zu spendieren und leider auch keinen anderen Weg, ans Ziel zu kommen.

Habt ihr einen Rat für mich/uns?

Vielen Dank und viele Grüße

AlexGourdet
Product and Topic Expert
Product and Topic Expert
0 Kudos

Thank you for visiting SAP Community to get answers to your questions.

As you're looking to get most out of your community membership, please consider include a profile picture to increase user engagement & additional resources to your reference that can really benefit you:

I hope you find this advice useful, and we're happy to have you as part of SAP Community!

All the best,

Alex

Accepted Solutions (1)

Accepted Solutions (1)

HAL9000
Product and Topic Expert
Product and Topic Expert

Es kann immer nur einen DestinationDataProvider geben. Und der muss zentral alle möglichen Destinationsnamen nebst zugehörigen Properties speichern und zurückliefern. Die Implementierung und Registrierung des DestinationDataProvider ist Aufgabe der Server-Infrastruktur, nicht der Business-Applikation und schon gar nicht von Kunden oder Mandanten.
Das im SDK mitgelieferte Beispielprogramm CustomDestinationDataProvider.java zeigt eine einfache Implementierung.

Der Destinationsname ist der Schlüssel zu den Logon-Properties. Die Speicherung erfolgt in einer HashMap<String, Properties>. Natürlich muss jeder "Mandant" einen anderen ("seinen") Destinationsnamen verwenden. Und das ist auch schon alles.

Answers (1)

Answers (1)

sven30
Discoverer
0 Kudos

Hallo Herr Gass,

herzlichen Dank für die schnelle Rückmeldung und Aufklärung.

Viele Grüße und ein schönes Wochenende

HAL9000
Product and Topic Expert
Product and Topic Expert
0 Kudos

Gern geschehen. Ich musste etwas raten, was das eigentliche Problem ist. Aber wenn ich helfen konnte, habe ich wohl richtig geraten. 🙂

Falls Sie versierter ABAP-Entwickler sind, kann man sich als Verständnishilfe vorstellen, dass die Implementierung des DestinationDataProvider einfach der SAP-System-Transaktion SM59 entspricht, und die Verbindungsdaten zu beliebigen Destinationen liefert.

Ich empfehle auch, aufmerksam die Package-Description des Paketes com.sap.conn.jco.ext in der JavaDoc zu lesen, und die JavaDoc des Interfaces com.sap.conn.jco.ext.DestinationDataProvider natürlich ebenso.