Code: Alles auswählen.
MANDT MANDT CLNT 3 0 Mandant
DATEINAME CHAR30 CHAR 30 0
PFAD LOCALFILE CHAR 128 0 Lokale Datei für Upload bzw. Download
DATEI SOLIX_TAB TTYP 0 0 GBT: SOLIX als Tabellentyp
Leg dir doch einfach einen FuBa oder eine Klasse an, die die ganze Verarbeitung (Laden, Umwandeln und Ablegen) auf einmal erledigt. Dann musst du nicht mehr "alle" Stellen ändern.Kenny hat geschrieben:... sondern eher daran, dass ich gehofft habe jetzt nicht alle aurufenden Programme auch noch anpassen zu müssen.
Diese bekommen derzeit nur eine Solix_tab als Rückgabe und nun muss ich diese auch alle umstellen.
Code: Alles auswählen.
CALL TRANSFORMATION ID SOURCE PARA = SOLIX_TAB
RESULT XML LV_XML.
Code: Alles auswählen.
CALL TRANSFORMATION ID SOURCE XML LV_XML
RESULT PARA = SOLIX_TAB.
Ganz klares Nein! Wenn man die zuvor "exportierten" Daten wiederherstellen möchte BRAUCHT man diesen Parameter.GastX hat geschrieben:Der "Name" des Parameters (oben PARA) ist, glaube ich Schall und Rauch, will sagen völlig egal.
Nein, die SOLIX_TAB kann man problemlos in ein XML Dokument umwandeln.GastX hat geschrieben:Mit geschachtelten Tabellenstrukturen, die ich im DDIC anlege, klappt das wunderbar.
Oder gibt es Besonderheiten an SOLIX_TAB, die das erschweren?
Mein Fehler, stimmt natürlich. Wenn es darum geht, das auf die DB zu packen, könnte man den Parameternamen "sicherheitshalber" mit in eine Spalte schreiben, um eben diese Information programmunabhängig abzulegen. Korrigiert: ob man das PARA oder OTTO nennt ist egal, man muss es nur bei beiden Richtungen identisch benennen.a-dead-trousers hat geschrieben:Ganz klares Nein! Wenn man die zuvor "exportierten" Daten wiederherstellen möchte BRAUCHT man diesen Parameter.GastX hat geschrieben:Der "Name" des Parameters (oben PARA) ist, glaube ich Schall und Rauch, will sagen völlig egal.
Besonders wenn man nach Jahren ein "altes" XML Dokument wiederfindet.
Richtig, das Verhältnis von Nutzlast zu Verwaltungsdaten ist bei XML nicht immer vorteilhaft. Was die Datenmengen angeht, kann man die natürlich noch eindampfen, indem man die CL_ABAP_GZIP zum Packen einsetzt.a-dead-trousers hat geschrieben: Einziger Nachteil ist, dass das Ergebnis dann einiges an unnötigen Overhead (XML Auszeichnung) beinhaltet der vorallem bei kleinen Datenmengen einen ziemlich hohen Anteil ausmacht.
Aber ansonsten hast du recht: Über Transformationen kann man sehr schnell nach XSTRING umwandlen.
Würde ich aber für diesen Anwendungsfall nicht empfehlen. Ist wirklich nur dann sinnvoll wenn man mehrere Datenfelder hat und diese zusammen ablegen möchte.
Weiters sollt man auch noch bedenken, dass man auf der Datenbank dann keine Abfragen mehr machen kann.
Im Fall von XSTRING geht das zwar auch nicht, aber wenn man z.b. nur einige einfache Datenfelder per XML ablegt, kann man per SELECT nicht mehr auf diese abfragen.