28. August 2007: RFC-Umwege

Um die Optionen einen RFC-Verbindung auszuwerten gibt es einen sch√∂nen Funktionsbaustein namens RFCDES2RFCDISPLAY. Dieser l√∂st den Connect-String aus Tabelle RFCDES auf und bietet einem die Informationen in Struktur RFCDISPLAY zur weiteren Verarbeitung an. Leider musste ich jedoch feststellen, dass sowohl die Load-Balancing Informationen der RFC-Verbindung selbst, als auch die der dazugeh√∂rigen A-RFC Einstellungen nicht korrekt √ľbergeben werden.

Da ich weder im SDN noch in den sonstigen weiten des Internets f√ľndig geworden bin, m√∂chte ich auf diese Weise meinen Work-Around mit dem Rest der Welt teilen:

* ----- Get RFC-Details (Options) -------------------------------------*
Form get_rfcoptions using     value(dest) type RFCDES-RFCDEST
                    changing  options type RFCDISPLAY.
*       Temporary variables
  Data:         rfcdest       like rfcdes,
        Begin of it_rfcopt occurs 32,
                token         like rfcdes-rfcoptions,
        End of it_rfcopt.
*       Get RFC-Destination
  Select single * from RFCDES into rfcdest where RFCDEST = dest.
*       Get Details
  Call function 'RFCDES2RFCDISPLAY'
                exporting     import_rfcdes = rfcdest
                importing     export_rfcdisplay = options.
*       Check Load-Balancing (not properly checked in Function-Module)
  Split rfcdest-rfcoptions at ',' into table it_rfcopt.
  Loop at it_rfcopt where token = 'X=LB=ON'.
    options-rfclbflag = true.
  EndLoop.
*       Check A-RFC Options (not checked in Function-Module)
  Select * from RFCCHECK where rfcdest = dest.
    If RFCCHECK-ARFCACTIVE = true.
      options-rfcarfcopt = true.
    EndIf.
  EndSelect.
EndForm.