JCO, Funktionsbaustein und tiefe Strukturen

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

Rund um Java und SAP®.
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

JCO, Funktionsbaustein und tiefe Strukturen

Beitrag von gast ( / / 0 / 3 ) »
Hallo,

aus Java soll über den Jco auf einen Funktionsbaustein in SAP zugegriffen werden (4.6C).

Gibt es Einschränkungen, was die Definition von Schnittstellen-Tabellen des Funktionsbausteines angeht? Sind auch tiefe Stukturen erlaubt (Tabelle in einem Tabellenfeld).

In der Dokumentation konnte ich dazu nichts finden.

Danke und Gruss

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


Beitrag von LoLo ( / / 0 / 3 ) »
Moin,

Ich kann Dir nur aus eigener Erfahrung aus Projekten sagen, daß tiefe Strukturen besser zu vermeiden sind. Das haben wir von Anfang an so gemacht, weil wir mit einer älteren JCo-Version diesbezüglich Schwierigkeiten hatten. Seither habe ich das nicht mehr ausprobiert. Es kann also durchaus sein, daß das mittlerweile völlig problemlos möglich ist.

Zu beachten ist allerdings, daß diese Aufrufe sicherlich nicht so performant sind, wie die übergabe von flachen Strukturen. Komplexe Strukturen werden intern von JCo in XML umgewandelt.

Wenn Du ganz sichergehen willst, würde ich empfehlen einen kleinen Testbaustein im ABAP zu schreiben mit einer geschachtelten Struktur. Dann einfach mal per JCo aufrufen und schauen wie die Daten zurückkommen.

Zur weiteren Info siehe auch die Hinweise 586415 sowie 550984.

Ciao, LoLo

Beitrag von gast ( / / 0 / 3 ) »
Hallo,

danke für die schnelle Antwort.
Wir hatten auch schon überlegt ob wir das einfach mal antesten, aber nur wegen der grundsätzlichen Farge ob es geht.

Performance ist natürlich wieder ein anderer Faktor.

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,

ich arbeite an einem ähnlichen Problem.

Die kommunikation zwischen Java und SAP geht über XML-Strukturen.
Tabelle in Tabelle geht auch, wird prima in XML umgewandelt.
Wenn in der Sub-Tabelle keine Einträge drin sind, wird auch kein Tag an Java übergeben


Jetzt die Frage:
Ich möchte in einer Tabellenzeile wieder eine Tabelle mit genau dem gleichen Aufbau wie die Tabellenzeile erstellen. Das soll als Baumstruktur in XML ankommen (so ist zumindest die Vorgabe).

Code: Alles auswählen.

<OBJDATA>
  <INFO>eins</INFO>
  <TABLE>
  | <OBJDATA>
  |   <INFO>zwei</INFO>
  |   <TABLE>
  |   | <OBJDATA>
  |   < <INFO>drei</INFO>
  |   | </OBJDATA>
  |   | <OBJDATA>
  |   |   <INFO>vier</INFO>
  |   |   <TABLE>
  |   |   | <OBJDATA>
  |   |   |   <INFO>fuenf</INFO>
  |   |   | </OBJDATA>
  |   |   | <OBJDATA>
  |   |   |   <INFO>sechs</INFO>
  |   |   | </OBJDATA>
  |   |   </TABLE>
  |   | </OBJDATA>
  |   | <OBJDATA>
  |   |   <INFO>sieben</INFO>
  |   | </OBJDATA>
  |   </TABLE>
  | </OBJDATA>
  </TABLE>
</OBJDATA>
In jedem OBJDATA kann also wieder eine Tabelle mit OBJDATA sein.

Wie muß ich die SAP-Struktur defineren, damit ich soetwas abbilden kann??

Im DDIC und im Programm habe ich es bis jetzt nicht geschafft diese rekursive Definition herzustellen.

Wenn das nicht über die Definition der Übergabestruktur machbar ist, wie gebe ich dann XML aus??

Wäre dankbar für Euren Rat.
Gruß
babap

Beitrag von babap (Expert / 681 / 1 / 1 ) »
So, jetzt muß ich mir mal selber antworten.

Es gibt die Möglichkeit über die Service-Klasse IF_IXML einen DOM-Tree (Document-Object-Model) zu erzeugen. Jedes XML-Tag ist dabei ein Knoten und kann wieder "Kinder" und "Attribute" haben.

(Eine Anleitung dazu findet man wenn man bei help.sap.com nach "dom Xml" sucht...).

Dieses DOM-Dokument kann man dann mit einem
Funktionsbausten SDIXML_DOM_TO_SCREEN ansehen und somit kontrollieren.

Der Funktionsbaustein SDIXML_DOM_TO_XML wandelt das in einen String um. Das Ergebnis ist ein Feld vom Typ XSTRING.


Und jetzt doch noch eine Frage:

Wie bekomme ich dieses Feld an mein JAVA-System.
Ich habe dieses Feld als EXPORT-Parameter in einem RFC-Fähigen Funktionsbaustein, aber bis jetzt scheint beim Empfänger nur "Schrott" zu landen.

Danke und
Gruß
babap

Beitrag von babap (Expert / 681 / 1 / 1 ) »
Und wieder die Antwort zum Problem

man nehme die Klasse 'cl_abap_conv_in_ce'.

Damit kann man einen XSTRING in einen STRING umwandeln.

Und ab die Post ...

Gruß
babap

Seite 1 von 1

Vergleichbare Themen

2
Antw.
2935
Views
Tiefe Strukturen an Funktionsbaustein übergeben
von CKremer » 03.03.2006 11:24 • Verfasst in ABAP® Core
3
Antw.
4768
Views
Tiefe Struktur
von Wigi » 19.02.2013 21:58 • Verfasst in ABAP® für Anfänger
2
Antw.
2116
Views
Zeiger auf tiefe Struktur?
von ABAP_User » 15.08.2011 20:45 • Verfasst in ABAP® für Anfänger
1
Antw.
3119
Views
Feldkatalog für tiefe Struktur?
von sebby » 16.12.2013 17:47 • Verfasst in Dialogprogrammierung
0
Antw.
630
Views
Tiefe Struktur bei Feldcatalog
von autohandel7 » 26.01.2016 18:55 • 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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 744
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2368
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8954