JCO - Rückgabe an SAP Dateiinhalt

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

JCO - Rückgabe an SAP Dateiinhalt

Beitrag von steffi_ma (ForumUser / 55 / 0 / 0 ) »
Hallo,
ich möchte den Inhalt einer Datei und einen String an den SAP RFC Aufruf zurückgeben.

Code: Alles auswählen.

CALL FUNCTION 'RFC_TEST' DESTINATION rfcdest
     EXPORTING
       filename      = filename
     IMPORTING
       outfile       = outfile
       error         = error
     TABLES
       filedata      = filedata
...
fmeta = new JCO.MetaData("RFC_TEST");  
fmeta.addInfo("FILENAME", JCO.TYPE_CHAR,       34,   0,  0, JCO.IMPORT_PARAMETER, null);
fmeta.addInfo("FILEDATA", JCO.TYPE_TABLE,     255,   0,  0, 0, "DATEI");
fmeta.addInfo("OUTFILE",  JCO.TYPE_STRUCTURE, 255,   0,  0, JCO.EXPORT_PARAMETER, "DATEI");
fmeta.addInfo("ERROR",    JCO.TYPE_CHAR,      255,   0,  0, JCO.EXPORT_PARAMETER, null);

Struktur DATEI besteht aus ZEILE CHAR 255.
Bisher lese ich unter JAVA die Datei aus und packe sie in einen StringBuffer. Aber wie übertragen?? Der besteht ja gar nicht aus ZEILE 255. Hat da jemand einen Tipp?
Steffi

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


Beitrag von Tim (ForumUser / 91 / 0 / 0 ) »
Hi Steffi,

du müsstest einfach deinen String in 255 Character lange String Segmente aufteilen und jedes Segment in eine Tabellenzeile der Tabelle filedata schreiben.

Möchtest du einen SAP Standard Baustein rufen, oder einen eigenen? Wenn letzteres der Fall ist, könntest du einfach eine RAW Variable an deinen RFC Baustein übergeben. In diese schreibst du dann dein Java byte[] array.

frohes Fest,
Tim[/b]

noch immer nicht gelöst!

Beitrag von steffi_ma (ForumUser / 55 / 0 / 0 ) »
Hallo,
leider habe ich das Problem noch nicht hinbekommen.

meinem Funktionsbaustein habe ich jetzt ein
TABLES returncontent = returncontent
eingesetzt.
In meiner Java-Datei habe ich folgende Angaben:
JCO.MetaData smeta = new JCO.MetaData("DATEI");
smeta.addInfo("ZEILE", JCO.TYPE_CHAR, 255, 0, 0);
repository.addStructureDefinitionToCache(smeta);
fmeta.addInfo("RETURNCONTENT", JCO.TYPE_TABLE, 0, 0, 0, JCO.EXPORT_PARAMETER, "DATEI");


Den Dateiinhalt habe ich in einem String[] mit je max 255 Zeichen.

Wenn ich das alles ausführe, wird aber keine Tabelle übergeben, sondern nur 255 Zeichen ohne Umbrüche.
Ich möchte aber eine Tabelle übergeben und in SAP auslesen.

String[] fileContent ist gefüllt!

Code: Alles auswählen.

JCO.Table table = new JCO.Table("tbl_test");
table.addInfo("LINE", JCO.TYPE_STRING, 255);
if (fileContent.length != 0)
{
  for(int i = 0; i < fileContent.length; i++)
  {
    table.appendRow();
    table.setValue(fileContent[i], "LINE");
    i++;
  }
}
System.out.println("table:\n"+table);
--> gesamter Text wird angezeigt.
    
output.setValue(table,"RETURNCONTENT");
Hm, so richtig weiss ich noch nicht, wie ich das lösen kann.

Ideen??

Seite 1 von 1

Vergleichbare Themen

3
Antw.
4547
Views
Verbuchungsbaustein - Rückgabe?
von xJeNnYx » 21.09.2009 14:53 • Verfasst in ABAP® für Anfänger
9
Antw.
4625
Views
Rückgabe von Datenreferenzen
von SaskuAc » 02.06.2017 11:01 • Verfasst in ABAP® Core
15
Antw.
7321
Views
Perfrom und Rückgabe von Werten
von Steffi221185 » 05.11.2007 12:49 • Verfasst in ABAP Objects®
0
Antw.
636
Views
SMARTFORM Rückgabe des Druckoutputs
von SAP_ENTWICKLER » 12.12.2017 06:03 • Verfasst in ABAP® Core
3
Antw.
1974
Views
Fuba mit Rückgabe des TagesArbPlan aus dem IT0007
von danielA. » 14.02.2007 11:53 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Zwischensumme Adobe Forms
vor 4 Tagen von Lucyalison 1 / 72
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141