Laden einer RFC-Struktur aus SAP-Repository
Hier sind die Verfahren für die Quell- und Zielstruktur unterschiedlich.
Für die Quellstruktur
Die Quellstruktur wird in Phase 1 eines Profils mit einem zeitgesteuerten Eingangsagenten des Typs SAP erzeugt.
Beim Import einer RFC-Struktur in die Quellstruktur wird die Export-Struktur des RFCs importiert, also dessen Ausgangs-Parameter.
Die folgende Abbildung zeigt die Quellstruktur, die für den Funktionsbaustein RFC_READ_TABLE über Button Struktur erzeugen erzeugt wurde. Zur Benennung von Knoten und Feldern der Quellstruktur siehe Abschnitt Namenskonvention bei SAP-RFC unten.
Für die Zielstruktur
Eine RFC-Zielstruktur wird in Phase 3 eines Profils erzeugt. Siehe entsprechenden Punkt in Abschnitt Vorlagen aus SAP laden.
Beim Import einer RFC-Struktur in die Zielstruktur wird die Import-Struktur des RFCs importiert, also dessen Eingangs-Parameter.
Die folgende Abbildung zeigt den Dialog für den Import einer RFC-Struktur aus dem Repository eines via SAP-Service verbundenen SAP-Systems in die Zielstruktur.
(1) SAP Alias: Alias, der angibt, aus welchem SAP-System die RFC-Struktur importiert werden soll. Zur Auswahl stehen alle Aliase, die im SAP-Service konfiguriert wurden (siehe Konfigurationsdatei ./etc/sap.xml).
(2) Struktur analysieren, Variablen mit übernehmen: Siehe hierzu die entsprechenden Punkte in Abschnitt Laden einer IDoc-Struktur aus einem internen Template.
Namenskonvention bei SAP-RFC
Die Namenskonvention für die Knoten- und Feldnamen ist in der Quellstruktur-Abbildung oben erkennbar.
Die Knoten und Felder der Struktur erhalten das Namenspräfix SAP_Table_ für Tabellen und SAP_Fld_ für die zugehörigen Felder.
Wenn das RFC-Feld z. B. XYZ heißt, entspricht diesem in der Struktur ein Feld mit dem Namen SAP_Fld_XYZ.
Wenn dieses Feld sich in einem Knoten mit Namen SAP_Fields befindet, wird es als IMPORT-Feld des RFCs betrachtet. Wenn es in einem Knoten SAP_Struct_ABC ist, wird es als Komponente XYZ der IMPORT-Struktur ABC (in ABAP ABC-XYZ) übergeben. Wenn das Feld sich in einem Knoten SAP_Table_STUVW befindet, wird es als Komponente XYZ der Tabelle STUVW übergeben.
Beim Importieren der Struktur online aus dem SAP-System werden die Namen der Felder und Knoten nach dieser Namenskonvention erzeugt.
Hinweis: Auch die Funktion call-sap-rfc(alias a,rfc b,[inMap c,timeout d,filter e,outList f,debug g,h,i]) verwendet diese Konvention.
Gelegentlich werden im RFC Feld-, Struktur- oder Tabellen-Namen mit einem Namensraum-Präfix verwendet. Solche Namen enthalten das Slash-Zeichen (/ ), das in Feld- und Knotennamen im Profil nicht erlaubt ist. Der Slash wird deshalb zum Unterstrich (_) gewandelt. Dadurch wird aber die Namenskonvention verletzt. In diesem Fall muss der RFC-Feldname in der Beschreibung des Feldes mit dem Präfix SAP: stehen, um die Beziehung zu dem Namen im RFC herzustellen.
Beim Import einer RFC-Struktur wird das Beschreibungsfeld entsprechend gefüllt, falls es ein Domänen-Name ist. Beispiel: Wenn der SAP-Name /XYZ0/ABC lautet, wird durch den Wert SAP:/XYZ0/ABC im Beschreibungsfeld der originale SAP-Name des Feldes hinterlegt.