Hallo Zusammen,
ich versuche seit geraumer Zeit eine Tabelle in SAP zu füllen, diese an eine Funktion zu übergeben und daraus dann zwei Tabellen auszulesen. Leider bekomme ich nichts zurück.
Die zu befüllende Tabelle sieht wie folgt aus:
Mein Code sieht wie folgt aus:
MyBackendConfig cfg = new MyBackendConfig();
RfcDestination destination = RfcDestinationManager.GetDestination(cfg.GetParame ters("PARAMTEST"));
IRfcFunction function = destination.Repository.CreateFunction("ZRFCMADDRT" );
IRfcTable table = function.GetTable("I_ZRFCMADDRTS");
table.Append(1);
table.SetValue("AUFNR", AuftragsNr);
table.SetValue("VEMNG_INP", 33.44m);
table.SetValue("BRGEW", 44.88m);
table.SetValue("EXIDV", string.Empty);
table.SetValue("ZMODULE", Modul);
function.SetValue("I_ZRFCMADDRTS", table);
function.Invoke(destination);
IRfcTable rfcTableLogs = function.GetTable("E_ZRFCLOGS");
IRfcTable rfcTableReturns = function.GetTable("E_ZRFCRETURNS");
Leider haben beide Tabellen keine Werte drin stehen. Die Verbindung zu SAP funktioniert. Wenn ich die Tabelle falsch befülle bekomme ich auch einen Fehler, also bin ich da auch schon mal richtig connected.
Ich habe es auch schon mit der Befüllung einer Struktur versucht, ohne Erfolg. Wenn ich die Tabelle per SetValue befülle und sie mir danach wieder per GetTable() hole, bekomme ich auch die Werte. Die Funktion wird nur anscheinend nicht aufgerufen.
Die SAP-Funktion sieht wie folgt aus: siehe Link.
http://m-scb.de/uploads/Downloads/Mscb.de/Image.jpg
Kann mir jemand helfen, bzw. mir sagen wie ich hier weiter kommen könnte. Vielen Dank.
ich versuche seit geraumer Zeit eine Tabelle in SAP zu füllen, diese an eine Funktion zu übergeben und daraus dann zwei Tabellen auszulesen. Leider bekomme ich nichts zurück.
Die zu befüllende Tabelle sieht wie folgt aus:
ZMODULE | CHAR10 | CHAR | 10 | 0 | Characterfeld der Länge 10 |
EXIDV | EXIDV | CHAR | 20 | 0 | Externe Handling Unit Identifikation |
AUFNR | AUFNR | CHAR | 12 | 0 | Auftragsnummer |
VEMNG_INP | VEMNG | QUAN | 15 | 3 | verpackte Basismenge in der Handling Unit Position |
BRGEW | BRGEW_VEKP | QUAN | 15 | 3 | Gesamtgewicht der Handling Unit |
GEWEI_MAX | GEWEI | UNIT | 3 | 0 | Gewichtseinheit |
MyBackendConfig cfg = new MyBackendConfig();
RfcDestination destination = RfcDestinationManager.GetDestination(cfg.GetParame ters("PARAMTEST"));
IRfcFunction function = destination.Repository.CreateFunction("ZRFCMADDRT" );
IRfcTable table = function.GetTable("I_ZRFCMADDRTS");
table.Append(1);
table.SetValue("AUFNR", AuftragsNr);
table.SetValue("VEMNG_INP", 33.44m);
table.SetValue("BRGEW", 44.88m);
table.SetValue("EXIDV", string.Empty);
table.SetValue("ZMODULE", Modul);
function.SetValue("I_ZRFCMADDRTS", table);
function.Invoke(destination);
IRfcTable rfcTableLogs = function.GetTable("E_ZRFCLOGS");
IRfcTable rfcTableReturns = function.GetTable("E_ZRFCRETURNS");
Leider haben beide Tabellen keine Werte drin stehen. Die Verbindung zu SAP funktioniert. Wenn ich die Tabelle falsch befülle bekomme ich auch einen Fehler, also bin ich da auch schon mal richtig connected.
Ich habe es auch schon mit der Befüllung einer Struktur versucht, ohne Erfolg. Wenn ich die Tabelle per SetValue befülle und sie mir danach wieder per GetTable() hole, bekomme ich auch die Werte. Die Funktion wird nur anscheinend nicht aufgerufen.
Die SAP-Funktion sieht wie folgt aus: siehe Link.
http://m-scb.de/uploads/Downloads/Mscb.de/Image.jpg
Kann mir jemand helfen, bzw. mir sagen wie ich hier weiter kommen könnte. Vielen Dank.
Comment