&1 (Typ &2) kann die Performance beim RFC (mit klass. Serial.) mindern

Message type: E = Error

Message class: FL - Function Builder messages

Message number: 397

Message text: &1 (Typ &2) kann die Performance beim RFC (mit klass. Serial.) mindern



Was verursacht dieses Problem?

Der Parameter enthält einen Datentyp, der sich bei Verwendung des
klassischen RFC Serialisierung durch hohen Speicherverbrauch und geringe
Performance bemerkbar machen kann. Die Performance ist besonders stark
beeinträchtigt bei längeren Netzwerkverbindungen (mit hoher Latenz) oder
geringer Bandbreite. Betroffen davon sind IMPORTING, EXPORTING und
CHANGING Parameter, die tiefe Datentypen verwenden. Tiefe Datentypen
sind Tabellen aber auch flache Strukturen, die mindestens ein Feld mit
variabler Längen (z.B. String/XString) enthalten.


Systemantwort

Das System gibt eine Fehlermeldung aus und erlaubt Ihnen nicht, mit dieser Transaktion fortzufahren, bis der Fehler behoben ist.



Wie behebe ich diesen Fehler?

Verwenden Sie nach Möglichkeit andere Serialisierungsvarianten. Diese
können Sie in der Destinationpflege (Transaktion sm59) einstellen.
Die neue schnelle Serialisierung ist immer am schnellsten und im
Allgemeinen kompatibel zur klassischen Serialisierung. Leider existiert
diese Serialisierung nicht in älteren Systemen.
Sollte der andere Kommunikationspartner die neu Serialisierung nicht
unterstützten bietet sich die Verwendung der basXML Serialisierung an
(bereits verfügbar ab SAP NetWeaver 2007). In der Destinationspflege
können sie entweder 'basXML' oder 'basXML erzwungen' einstellen. Wenn
Sie einfach 'basXML' auswählen muss zudem der Funktionsbaustein auf
Client Seite vorhanden sein und das basXML Flag muss am
Funktionsbaustein gesetzt sein. Bei 'basXML erzwungen' ist es nicht
nötig beim Funktionbaustein die Eigenschaft 'basXML' auszuwählen.
Achtung die basXML Serialisierung serialisiert die Daten in ein
XML-artiges Zwischenformat. Durch die Konvertierung in Text kommt es
z.B. bei binären Flieskommazahlen zu Rundungsdifferenzen. Desweiterten
können fehlerhafte Dateninhalte (z.B. Buchstaben in NUMC Feldern) zu
Abbrüchen führen.
Wenn Sie weder die neue Serialisierung noch das basXML-Protokoll
verwenden können, prüfen Sie bitte ob Sie nicht Strings durch
Character-Felder mit fester Länge ersetzten können. Tabellen von
Strukturen, die ausschließlich Felder feste Länge besitzen, können Sie
per TABLES Parameter (was deutlich performanter ist) übertragen.
Sofern Sie sich für eine neue Serialisierung entschieden haben oder wenn
sie mit den Performanceeinfluss leben wollen können sie die Warnung mit
dem Pseudokommentar
<SE>##RFC_PERFORMANCE_OK</>
hinter der Function Anweisung ausblenden.
Beispiel:
<SE>FUNCTION MYFUNC ##RFC_PERFORMANCE_OK. </>


Vorgehensweise für Systemadministratoren


Fehlermeldungsextrakt aus SAP-System. Copyright SAP SE