Call Transformation füllt meine Tabelle nicht

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Call Transformation füllt meine Tabelle nicht

Beitrag von wayder (ForumUser / 12 / 1 / 0 ) »
Hallo zusammen,

ich habe folgendes Problem: Ich lese eine XML Datei ein:
<SG_FIELDS>
<FORM_ID>123</FORM_ID>
<KUNNR>456</KUNNR>
<NAME>Testerle</NAME>
<PLZ>88556</PLZ>
<ORT>Teststadt</ORT>
<STRAS></STRAS>
<KONTAKT_NAME></KONTAKT_NAME>
<KONTAKT_MAIL></KONTAKT_MAIL>
<AUART></AUART>
<ABHOLUNG_VON></ABHOLUNG_VON>
<GRUND></GRUND>
<ABHOLDATUM></ABHOLDATUM>
<ABHOLADRESSE></ABHOLADRESSE>
<SERIENNR></SERIENNR>
<RE_DATUM></RE_DATUM>
<DOING></DOING>
<IDENTIFIER>YSDA01650_AIF_FRM_01 / YSDA01650_AIF_FRM_01 / 2011</IDENTIFIER>
<PAKETE>0</PAKETE>
<MAIL_INBOUND>aaa.bbb@ccc.dd</MAIL_INBOUND>
</SG_FIELDS>
<TG_MAT>
<DATA xfa:dataNode="dataGroup">
<MATNR>12345</MATNR>
<MAKTX>Das ist ein Material</MAKTX>
<EAN>47110815</EAN>
<MENGE>5,00</MENGE>
</DATA>
</TG_MAT>

jetzt will ich dieses XML in mein Programm einlesen. Die SG_Fields kommt sauber rüber, jedoch die TG MAT nicht. Ich vermute, dass liegt daran, dass in der TG_MAT noch eine Unterebene "DATA" existiert.

Ich stehe jetzt wohl gerade etwas auf dem Schlauch aber selbst wenn ich ein Element "DATA" in meine tabelle einfließen lasse, kommt nichts zurück.
Kann mir jemand helfen ??

Hier das coding dazu

*Einlesen SG_FIELDS ==> Funktioniert soweit
*Struktur FIELDS füllen
CLEAR sg_inp_fields.
CALL TRANSFORMATION id
SOURCE XML vg_xml_data_string
RESULT sg_fields = sg_inp_fields.

*Einlesen TG_MAT ==> Funktioniert nicht
data: tg_inp_mat type STANDARD TABLE OF YSDA01650_S_MARKUS.
refresh: tg_inp_mat.
CALL TRANSFORMATION id
SOURCE XML vg_xml_data_string
RESULT tg_mat = tg_inp_mat.

Die Struktur YSDA01650_S_MARKUS hat eine Komponente DATA mit dem Zeilentyp der vier Felder in der TG_MAT.

Für Eure Hilfe besten Dank im Vorraus.

GRuß
Markus

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


Re: Call Transformation füllt meine Tabelle nicht

Beitrag von casman (Specialist / 420 / 1 / 63 ) »
Hi Markus,

wie sieht denn deine Transformation aus, daran hängts denke ich.
Ich kann mich entsinnen, mal ein ähnliches Problem gehabt zu haben. In der Transformation musste ich dann die Ebene, bei dir DATA (glaube sogar mit Typ, bei dir YSDA01650_S_MARKUS) auch explizit einfügen, auch wenns sinnlos erschien. Kann ich daheim nochmal nachkucken...

Re: Call Transformation füllt meine Tabelle nicht

Beitrag von a-dead-trousers (Top Expert / 4457 / 227 / 1198 ) »
Hi!

Wenn du die Standardtransformation "ID" benutzt muss die Struktur deiner Tabelle technisch (DDIC!) "DATA" heißen und nicht "YSDA01650_S_MARKUS".
Wenn man interne Strukturen (TYPES) bei Exporttransformation mittels "ID" im Programm verwendet wird der Knoten "item" je Zeile angelegt.
Daher vermute ich, dass du anstatt "DATA" im xml das durch "item" ersetzten müsstest damit es mit "ID" beim Import ohne DDIC-Bezug funktioniert.

Ansonsten bleibt dir nur wie casman schon erwähnt hat, eine eigene Transformation zu schreiben, die deine Daten ins Format asXML transformiert, damit es funktioniert. Ganz grob müsstest du eigentlich nur den Knoten "DATA" in "item" oder besser gleich "YSDA01650_S_MARKUS" transformieren.

Am Besten kannst du das übrigens Testen wenn du deine Tabelle mit mehreren Leerwerten befüllst und dann mittels CALL TRANSFORMATION in ein XML exportierst, dann siehst du wie das XML für den Import aufgebaut sein muss. Du kannst außerdem auch mehrere Werte gleichzeitig mit CALL TRANSFORMATION umwandeln und musst nicht einmal nur mit "sg_fields" und dann nur mit "tg_mat" aufrufen.

lg ADT
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: Call Transformation füllt meine Tabelle nicht

Beitrag von casman (Specialist / 420 / 1 / 63 ) »
Hups, vollkommen überlesen, dass Markus eine Standardtransformation nutzt... :D

Habe wie gesagt immer eigene Transformationen verwendet, da ich meist recht komplexe Anforderungen hatte.

Seite 1 von 1

Vergleichbare Themen

1
Antw.
2881
Views
Call Transformation (XSLT)
von Prego » 19.11.2010 14:03 • Verfasst in ABAP® Core
1
Antw.
2465
Views
XSLT (CALL TRANSFORMATION)
von MarkusW » 20.03.2007 14:52 • Verfasst in ABAP Objects®
1
Antw.
1035
Views
Call Transformation ohne root Knoten
von donossi » 06.11.2018 15:22 • Verfasst in ABAP® für Anfänger
0
Antw.
1218
Views
1
Antw.
2823
Views
Call TRansaction und übergabe einer Select-Otion Tabelle
von alicemal » 02.07.2008 17:40 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

RFC vs. ODATA
vor einer Woche von DeathAndPain 8 / 2799
FUBA 'HR_INFOTYPES_OPERATION'
vor einer Woche von DeathAndPain 2 / 1852
Frage zur redefinierten Methode
vor einer Woche von ralf.wenzel 12 / 3305

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.