Ja, aber ich glaub, das macht der RFC_READ_TABLE bereits falsch.ewx hat geschrieben:Dort sieht man auch ganz klar, dass dein Ausgabefeld nur NEUN Stellen hat, obwohl es ELF braucht!zer0 hat geschrieben:Dort sieht man ganz klar, das der * zur zahl dazu gehört.
Das Feld ist zu klein und deswegen steht an erster Stelle das *
Du musst für diesen Baustein den Wert aus OUTPUTLEN nehmen.
Ja, daran kann ich aber nichts ändern. Kann ja nicht einfach das Datenlement/die Domäne ändern.ewx hat geschrieben:Dort sieht man auch ganz klar, dass dein Ausgabefeld nur NEUN Stellen hat, obwohl es ELF braucht!zer0 hat geschrieben:Dort sieht man ganz klar, das der * zur zahl dazu gehört.
Das Feld ist zu klein und deswegen steht an erster Stelle das *
Du musst für diesen Baustein den Wert aus OUTPUTLEN nehmen.
Schon schwach:black_adept hat geschrieben:der FuBa ist unbrauchbar sobald Zahlenfelder in der Tabelle sind.
RFC_READ_TABLE hat geschrieben: assign work to <wa> casting type (query_table).
...
select * from (query_table) into <wa> where (options).
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
zer0
Dieser FuBa hat dasselbe Problem, er übergibt die Daten also CHAR mit einer Limitierung auf 512 Zeichen.black_adept hat geschrieben:Hallo zero,
hast du eigentlich mal probiert statt RFC_READ_TABLE den anderen allgemeinen RFC-Tabellenlesebaustein von SAP auszuprobieren? Der hat zwar keine so schöne Möglichkeit Restriktionen mitzugeben, aber da du ja scheinbar sowieso nur die Tabelle in ihrere Gesamtheit auslesen willst scheint das verschmerzbar.
FuBa: RFC_GET_TABLE_ENTRIES
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
zer0
Naja, die Daten sehen noch schlechter aus als beim RFC_READ_TABLE. Beim RFC_GET_TABLE_ENTRIES bei der Tabelle T006 sehe ich fast nur #-Zeichen.black_adept hat geschrieben:Hallo zero,
sind die Tabellen die du auslesen willst tatsächlich so breit, dass 512 zeichen nicht ausreichen? Für die T006 z.B. sollte der RFC_GET_TABLE_ENTRIES funktionieren, wo der RFC_READ_TABLE versagt.
Davon abgesehen ist es m.W. nicht erlaubt generische Typen ( type standard table ) im RFC anzugeben, so dass du dir da schon einen Kniff ausdenken musst, wenn du tatsächlich jede beliebige Tabelle von einem System in ein anderes schaufeln willst ohne auf XML-Kovertierung zurückzugreifen.
Code: Alles auswählen.
REPORT.
DATA: gt_t006 TYPE STANDARD TABLE OF t006 WITH NON-UNIQUE DEFAULT KEY.
CALL FUNCTION 'RFC_GET_TABLE_ENTRIES'
DESTINATION 'GEHEIMERFCDESTINATION'
EXPORTING
table_name = 'T006'
TABLES
entries = gt_t006
EXCEPTIONS
OTHERS = 1.
BREAK-POINT.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
zer0
Hast recht, funktioniert echt ganz gut! Ich versteh zwar nicht ganz warum dieser FuBa im Gegensatz zu dem anderen funktioniert, obwohl er die Daten ja auch das TABLINE512 übergibt?black_adept hat geschrieben:Hi zero,
die #-Zeichen siehst du nur, wenn du den FuBa in der SE37 testest. Probier mal einen echten Aufruf im Programm - da verhalten die sich sehr unterschiedlich.Wenn du beim Breakpoint mal im Debugger die Tabelle gt_t006 anschaust sollteste du sehen, dass auch Zahlenwerte korrekt übermittelt wurden.Code: Alles auswählen.
REPORT. DATA: gt_t006 TYPE STANDARD TABLE OF t006 WITH NON-UNIQUE DEFAULT KEY. CALL FUNCTION 'RFC_GET_TABLE_ENTRIES' DESTINATION 'GEHEIMERFCDESTINATION' EXPORTING table_name = 'T006' TABLES entries = gt_t006 EXCEPTIONS OTHERS = 1. BREAK-POINT.
Ein Handmixer ist kein Auto ist obwohl beide einen Motor haben.zer0 hat geschrieben: Ich versteh zwar nicht ganz warum dieser FuBa im Gegensatz zu dem anderen funktioniert, obwohl er die Daten ja auch das TABLINE512 übergibt?
Das ist aber sehr weit hergeholtblack_adept hat geschrieben:Ein Handmixer ist kein Auto ist obwohl beide einen Motor haben.zer0 hat geschrieben: Ich versteh zwar nicht ganz warum dieser FuBa im Gegensatz zu dem anderen funktioniert, obwohl er die Daten ja auch das TABLINE512 übergibt?
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
zer0