![]() |
Delphi App soll RFC Bausteine anbieten
Ich soll innerhalb einer Delphi-Anwendung einen
![]() Die Funktion soll 2 Stringparameter haben; der 2. String soll das Ergebnis an den Aufrufen (SAP) zurückgeben. Der Aufruf soll synchron sein. Hat jemand eine Idee, wie man das lösen könnte ? |
Re: Delphi App soll RFC Bausteine anbieten
|
Re: Delphi App soll RFC Bausteine anbieten
|
Re: Delphi App soll RFC Bausteine anbieten
Zitat:
![]() Dort wird ja das SAP Remote Function Call Control verwendet. Ich habe aber den ganz starken Verdacht, dass man damit nur RFC-Bausteine in SAP aufrufen kann und nicht in die umgekehrte Richtung gehen kann. Die von Kalmi01 genannte "Connect for SAP" steigt eine Ebene tiefer ein (bei librfc32.dll) und scheint genau das zu bieten, was ich brauche. Ich denke mal, ich mach's mir einfach und der Aufragsgeber soll die 599 Eur zusätzlich zahlen. |
Re: Delphi App soll RFC Bausteine anbieten
Also denke das ist es. Habe keine bessere Lösung gefunden. // Martin
|
Re: Delphi App soll RFC Bausteine anbieten
Hi,
Zitat:
Nur um eine Kapselung, wie bei SAPx hin zu bekommen, braucht es viel Zeit. Ausserdem gibt's nen RFC-Wrapper-Generator dazu. Nicht, dass das jemand falsch versteht, ich kriege für diesen Kommentar kein Geld :mrgreen: Und SAPx ist alles andere als Fehlerfrei oder gar Up-To-Date. Das Tool ist gut und wenn man sich ein bischen damit auseinander setzt und ein paar kleine Macken beseitigt, sogar sehr gut. Man sollte nicht vergessen, dass man vor einigen Jahren im SAP-Umfeld für so ein Tool locker das 10 - 20-Fache bezahlt hätte. |
Re: Delphi App soll RFC Bausteine anbieten
Ich habe das vor einiger Zeit mal mit den LIBRFC Funktionen gebaut und das Prinzip
geht über die RfcInstallFunction() Function. Damit kann man eigene Funktionen als RFC in der Delphi Anwendung zur Verfügung stellen. Das sieht ungefähr so aus:
Delphi-Quellcode:
rci := RfcInstallFunction('MEIN_FUNTIONSNAME', @MyFunctionToCall, 'Das Ist die Beschreibung'); RfcInit(); hndl := RfcAccept(@gateway[0]); repeat // Waiting for the next RFC request repeat rc := TRFC_RC(RfcListen( hndl )); if rc = RFC_RETRY then Sleep(100); until not (rc = RFC_RETRY); if not (rc = RFC_OK) then break; rc := TRFC_RC(RfcDispatch( hndl )); until not (rc = RFC_OK ); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz