RFC Verbindung validieren

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

RFC Verbindung validieren

Beitrag von JohnLocklay (Specialist / 183 / 30 / 2 ) »
Moin

Hab hier mal nen kleines Code Snippet.

Der Fuba taucht im Internet als Referenz auf um einen RFC Aufruf abzusichern.
Er tut aber leider nicht das was er machen soll.

Code: Alles auswählen.

    SELECT SINGLE rfcdest
    FROM rfcdes
    INTO lv_rfcdest WHERE rfcdest = p_bk_readest.

    IF sy-subrc = 0.

      lv_rfcdest_sxpg = p_bk_readest.

      CALL FUNCTION 'RFC_PING' DESTINATION lv_rfcdest_sxpg
        EXCEPTIONS
          system_failure             = 1
          communication_failure = 2
          OTHERS                       = 99.

      CASE sy-subrc.
        WHEN 1.
         "Fehlerhandling


        WHEN 2.
         "Fehlerhandling

      ENDCASE.

endif.

ich hab mal in den Fuba geschaut.
Er ist RFC fähig. Er hat auch keine Ausnahmen implementiert
obwohl ich den Aufruf mit den Exeptions schon so gefunden habe.

Sy-subrc bleibt Null, auch wenn er mir danach Dumpt.
Was mich auch wundert das er überhaupt kein Coding im Rumpf hat.

Mach ich da was falsch oder empfieht mir jemand was anderes?!
naja, für Raschläge Dankbar.. John.
Code once - Think twice

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: RFC Verbindung validieren

Beitrag von Daniel (Specialist / 314 / 68 / 44 ) »
Die Exeptions sind im Kernel programmiert (für RFC-Aufrufe).
Der Baustein funktioniert hier einwandfrei.
System erreichbar = sy-subrc = 0
System nicht erreichbar = sy-subrc NE 0

Man kann sich auch den Fehlertext mitgeben lassen:

Code: Alles auswählen.

DATA : rfc_mess(80).
  CALL FUNCTION 'RFC_PING' DESTINATION rfcdest
       EXCEPTIONS  system_failure        = 1  MESSAGE rfc_mess
                   communication_failure = 2  MESSAGE rfc_mess
                   OTHERS                = 99.
Das Ergebnis ist dann z.B.
Fehler beim Öffnen einer RFC-Verbindung (CPIC-CALL: 'ThSAPOCMINIT')
oder
RFC-Destination XXX existiert nicht.

Re: RFC Verbindung validieren

Beitrag von JohnLocklay (Specialist / 183 / 30 / 2 ) »
Vielen Dank werde ich morgen direkt ausprobieren
Code once - Think twice

Re: RFC Verbindung validieren

Beitrag von JohnLocklay (Specialist / 183 / 30 / 2 ) »
Mal ne frage. Woher weißt du das :) aus dem Fuba an sich war das nicht sofort erkennbar
Code once - Think twice

Re: RFC Verbindung validieren

Beitrag von Daniel (Specialist / 314 / 68 / 44 ) »
Ich mach das schon ein paar Tage...

Folgende Benutzer bedankten sich beim Autor Daniel für den Beitrag:
JohnLocklay


Re: RFC Verbindung validieren

Beitrag von Romaniac (Specialist / 223 / 65 / 28 ) »
Das ist in der SAP Hilfe beschrieben:


CALL FUNCTION - DESTINATION parameter_list

Syntax


... [EXPORTING p1 = a1 p2 = a2 ...]
[IMPORTING p1 = a1 p2 = a2 ...]
[TABLES t1 = itab1 t2 = itab2 ...]
[CHANGING p1 = a1 p2 = a2 ...]
[EXCEPTIONS [exc1 = n1 exc2 = n2 ...]
[system_failure = ns [MESSAGE smess]]
[communication_failure = nc [MESSAGE cmess]]

[OTHERS = n_others]].

Zusatz 5

EXCEPTIONS exc1 = n1 exc2 = n2 ...


Wirkung

Über den Zusatz EXCEPTIONS wird die klassische, nicht-klassenbasierte Ausnahmebehandlung durchgeführt, die im Wesentlichen wie beim generellen Funktionsbausteinaufruf funktioniert, wobei hier zusätzlich die speziellen Ausnahmen SYSTEM_FAILURE und COMMUNICATION_FAILURE angegeben werden können, um die Ausnahmen zu behandeln, die von der RFC-Schnittstelle selbst ausgelöst werden. Hinter der Angabe dieser Ausnahmen kann zusätzlich ein optionaler Zusatz MESSAGE angegeben werden. Tritt eine der speziellen klassischen Ausnahmen system_failure oder communication_failure auf, wird die erste Zeile des zugehörigen Kurzdumps in das Feld smess bzw. cmess gestellt, das flach und zeichenartig sein muss. Wenn ein remote aufgerufener Funktionsbaustein während der nicht-klassenbasierten Ausnahmebehandlung eine klassenbasierte Ausnahme auslöst, wird diese nicht transportiert, sondern führt zur vordefinierten klassischen Ausnahme SYSTEM_FAILURE.

Hinweise
• Eine Angabe von error_message hinter EXCEPTIONS hat beim RFC keine Wirkung.


• Wenn die klassische Ausnahme SYSTEM_FAILURE durch das Senden einer Nachricht vom Typ "A", "E" oder "X" ausgelöst wird, enthält das Feld smess bei Angabe von MESSAGE den Kurztext der Nachricht.


• Die klassenbasierte Ausnahmebehandlung beim RFC ist in dieser Release-Schiene nicht möglich.


Beispiel

Siehe Ausnahmebehandlung beim RFC.
Geht nicht gibts nicht

Seite 1 von 1

Vergleichbare Themen

9
Antw.
4321
Views
XML gegen XSD validieren
von ralf.wenzel » 30.05.2022 10:27 • Verfasst in ABAP® Core
0
Antw.
1936
Views
XML gegen externe DTD validieren
von Bernd Schneider » 06.06.2007 12:48 • Verfasst in ABAP® Core
7
Antw.
10915
Views
SM30 Felder Validieren Programieren von Zeitpunkten
von Anfänger » 20.11.2015 09:34 • Verfasst in ABAP® für Anfänger
0
Antw.
1871
Views
Verbindung zu
von lis » 26.04.2015 19:05 • Verfasst in Basis
2
Antw.
3744
Views
SSL Verbindung
von Adrian » 28.03.2013 16:32 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

IF mit AND und OR
vor 5 Stunden von wreichelt 2 / 152
PCL2 Cluster auslesen
vor 10 Stunden von DeathAndPain 2 / 250
FUBA 'HR_INFOTYPES_OPERATION'
vor 11 Stunden von Bright4.5 3 / 4423

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.