Raute vor String, nach Fuba aufruf mit Destination

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

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

Raute vor String, nach Fuba aufruf mit Destination

Beitrag von donossi (ForumUser / 66 / 2 / 1 ) »
Hallo,

ich habe eine recht lange XML (>40.000 Zeichen) TYPE String.
Diese möchte ich mit
CALL FUNCTION 'ZFuBa' DESTINATION dest EXPORING ev_xml = lv_xml


versenden.

Beim aufgerufenen System steht immer ein # vor dem String, was weiterführenden Problemen verursacht.

Was muss ich vor bzw. während dem Aufruf des Fuba tun, damit es auf der anderen Seite korrekt ankommt?
Auf der aufgerufenen Seite möchte ich nichts machen, da es nicht in meinen Hoheitsbereich gehört.

Viele grüße
Donossi

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


Re: Raute vor String, nach Fuba aufruf mit Destination

Beitrag von black_adept (Top Expert / 3947 / 105 / 886 ) »
Hallo DonOssi,

1.) Was ist der HexCode der "Raute" im Zielsystem ( evtl. FE FF oder FF FE ?)
2.) Ist das 1. Zeichen des Quellsystems auch die Raute?
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Raute vor String, nach Fuba aufruf mit Destination

Beitrag von donossi (ForumUser / 66 / 2 / 1 ) »
Hallo,

im Quellsystem beginnt der String mit
FFFE3C00610073007..... (<asx:abap xml....)

im Zielsystem
233C6173783A6162617020..... (#<asx:abap xml.... )

Auf dem Quellsystem wird Call Transformation aufgerufen, um eine XML zu erzeugen:

CALL TRANSFORMATION id
OPTIONS xml_header = 'no'
SOURCE context = gs_struktur
RESULT XML ev_xml.

Kann man hier evtl. schon was machen, dass die FFFE nicht mit erzeugt werden (sofern die Raute durch FFFE erzeugt wird)?

Re: Raute vor String, nach Fuba aufruf mit Destination

Beitrag von Daniel (Specialist / 314 / 68 / 44 ) »
Woher kommt der String?

Windows-Programme verwenden FFFE zur Kennzeichnung einer
Unicode-Datei. Die Raute wird in Non-Unicode als Ersatz-Zeichen
für nicht übersetzbare Zeichen verwendet. Das FFFE muss weg.

Re: Raute vor String, nach Fuba aufruf mit Destination

Beitrag von black_adept (Top Expert / 3947 / 105 / 886 ) »
Hallo DonOssi,

das "FF FE" gehört eigentlich in die XML -Datei rein. Und wenn das Zielsystem das nicht sauber verarbeiten kann ( z.B. indem man vorher eine Identity-Transformation des XML auf sich selber ausführt, wo dann hoffentlich die magische Zeichenfolge entfernt wird )

Code: Alles auswählen.

call TRANSFORMATION id
  source xml  my_xml_string
  result xml  my_xml_string.
musst du halt im Quellsystem das Startzeichen entfernen ( my_xml_string = my_xml_string+1 ).

Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
donossi

live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: Raute vor String, nach Fuba aufruf mit Destination

Beitrag von Daniel (Specialist / 314 / 68 / 44 ) »
Da das Ziel-System offensichtlich kein Unicode-System ist
kann es mit dem FFFE nichts anfangen.

Re: Raute vor String, nach Fuba aufruf mit Destination

Beitrag von larsi (ForumUser / 47 / 2 / 11 ) »
donossi hat geschrieben:Kann man hier evtl. schon was machen, dass die FFFE nicht mit erzeugt werden (sofern die Raute durch FFFE erzeugt wird)?
Bei dem FFFE handelt es sich um das sogenannte BOM (Byte Order Mark). Laut Dokumentation zum Befehl CALL TRANSFORMATION erzeugt SAP dieses automatisch, wenn für RESULT eine Variable vom Typ string angegeben wird. Gibt man jedoch etwas vom Typ xstring für RESULT an, würde das BOM nicht vorangestellt werden. In dem Fall müsstest Du dann nur noch den xstring wieder in etwas vom Typ string konvertieren, was ja aber kein Problem sein sollte. Damit solltest Du dann auch kein BOM mehr haben und der RFC sollte problemlos gehen.

Viele Grüße
Lars

Re: Raute vor String, nach Fuba aufruf mit Destination

Beitrag von donossi (ForumUser / 66 / 2 / 1 ) »
Hallo,

da ich im Zielsystem nichts machen kann, habe ich mich für die Lösung
my_xml_string = my_xml_string+1
entschieden.

Vielen Dank für eure Antworten.

grüße
Donossi

Seite 1 von 1

Vergleichbare Themen

0
Antw.
653
Views
Fuba Aufruf CCAP_ECN_MAINTAIN
von charlie01 » 04.03.2020 19:38 • Verfasst in ABAP® für Anfänger
2
Antw.
1482
Views
FuBa-Aufruf per Webservice
von Roddy » 10.09.2012 08:44 • Verfasst in ABAP® Core
1
Antw.
1918
Views
FuBa -> Aufruf Dynpro
von Nova » 17.01.2005 11:29 • Verfasst in ABAP® für Anfänger
12
Antw.
5594
Views
Kundenerweitertes BAPI mit Fuba Aufruf
von Miss » 17.07.2016 16:31 • Verfasst in ABAP® für Anfänger
3
Antw.
2511
Views
Kundenerweitertes BAPI mit Fuba Aufruf
von Miss » 17.07.2016 18:16 • 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

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.