![]() |
Re: von Delphi 2006 aus Datensätze zu SAP R/3 senden
hmmm.... na dann.
Ich werde weiterhin mich an den Kompos dran setzen... die werden um einiges schneller sein als ActiveX. Gerade für Migrationstools von sehr großen Vorteil. Aber das ist dann jedem seine Sache, wer auf was setzt. |
Re: von Delphi 2006 aus Datensätze zu SAP R/3 senden
hi
Zitat:
Ich halte nichts von den ActiveX-Sachen. Zu umständlich und man weis nicht, was passiert. |
Re: von Delphi 2006 aus Datensätze zu SAP R/3 senden
Hi Misek
Hast du eigentlich die Email Adresse oder Telefonnummer vom Michael Schumann ?? Wollte mal ein bißchen mit ihm plauschen. |
Re: von Delphi 2006 aus Datensätze zu SAP R/3 senden
Moin moin,
wie ist eigentlich der Stand der Dinge, bei diesem Projekt ? Bei einer aktuellen Aufgabenstellung, ergab sich mir die Frage: wie transferiere ich TABELLEN gleichzeitig hin/zurück ? Bei Exporting/Importing/Changing ist die Datenrichtung beim RFC-Aufruf ja recht eindeutig. Bei Tabellen (Mehrzahl !) scheint mir das aber nicht so zu sein. Was, wenn ich 0 Tabellen exportiere, aber 5 importiere; oder umgekehrt. Oder, wenn 2 nach SAP müssen und 3 wieder zurück zu mir ? Hat da jemand Erfahrungen mit ? |
Re: von Delphi 2006 aus Datensätze zu SAP R/3 senden
Zitat:
Dann bestückst Du die "Import"-Tabellen mit den notwendigen Werten und machst Deinen RFC-Aufruf. Anschließend nimmst Du Dir die "Export"-Tabellen und liest wenn Werte vorhanden diese aus. Gruß, Christoph |
Re: von Delphi 2006 aus Datensätze zu SAP R/3 senden
hi Christoph
Zitat:
Soweit, so gut. Bei der Gelegenheit dachte ich mir, machste doch gleich ne Klasse draus. Um die Strukturen dynamisch halten zu können, hab ich mir Array's als Container angelegt, welche die Initialisierungparameter in Records beinhalten. Meine Überlegung ging dahin, die für den RFC-Call benötigten Strukturen erst kurz vor dem Call zu realisieren, um bei der Parameteranzahl flexibel zu bleiben.
Delphi-Quellcode:
Seltsamer weise funktioniert obiges.
function TSAP.CallRFC(Name : string) : boolean;
var tmpImport, tmpExport, tmpChange : array [0..10] of TRfcParam; // array of TRfcParam; tmpTables : array [0..10] of TRfcTable; // array of TRfcTable; tmpTableRow : TTableRow; TableNames : string; pException, iTab : pointer; FuncRes : integer; i, j : integer; begin // SetLength(tmpImport, Length(FImport) + 1); for i := 0 to Length(FImport) - 1 do begin tmpImport[i].name := PChar(FImport[i].Name); tmpImport[i].nlen := Length(FImport[i].Name); tmpImport[i].atype := FImport[i].Typ; tmpImport[i].leng := Length(FImport[i].Wert); tmpImport[i].addr := PChar(FImport[i].Wert); end; tmpImport[Length(FImport)].name := nil;
Delphi-Quellcode:
lege ich die Array's dynamisch an und setze die Länge mit
tmpChange : array of TRfcParam;
tmpTables : array of TRfcTable;
Delphi-Quellcode:
kommt nur Mist bei rum. :gruebel:
SetLength(tmpImport, Length(FImport) + 1);
|
Re: von Delphi 2006 aus Datensätze zu SAP R/3 senden
so,... ich hatte ein sehr viel stress gehabt. Muss ja meine Bewerbungen losschicken und schön für Prüfung vorbereiten :((
also ne Nummer habe ich leider nicht, mein Projektleiter hat mich zu ihm weitergeleitet :( ist jetzt natürlich n bissl dumm. Ich habe auch bei xing nachgeschaut, ob er dort irgendwie eingetragen ist. Ich würde eher die "entwickler" fragen, ob sie nicht eine Mail weiterleiten könnten. hmm... also ich habe auch sehr lange geschraubt, damit das teil 100%ig funktioniert. Hatte am Anfang auch nur Müll |
Re: von Delphi 2006 aus Datensätze zu SAP R/3 senden
Zitat:
Hallo Misek, hast du dieses Beispiel noch? - ich habe schon einige Zeit mit den Klassen von Herrn Schuhmann experimentiert und es hat soweit ganz gut funktioniert, jedoch beim Aufruf eines RFCs mit einer Struktur als Import-Parameter erhalte ich Fehler. hier der Code meines Aufrufs funcRes := connection.FRfcCallReceiveEx( connection.fconnHandle, pchar(RfcName), @FExporting, @FImporting, @FChanging, @FTables , @pException); if funcres <> 0 then begin OK := false; result := pchar(pException); // Wenn wir keinen Klartext-Fehler bekommen, geben wir den Fehlercode aus if result = '' then result := 'Error ' + IntToStr(funcres); exit; end; funkres ist 3 = 'SSYSTEM FAILURE' ich wäre dir sehr dankbar, wenn du mir hier einen Schritt weiterhelfen könntest |
Re: von Delphi 2006 aus Datensätze zu SAP R/3 senden
Hi Mandi,
das ist kein großes Problem. Du kannst die Datensätze in eine Excel Tabelle speichern. Dein Kunde kann diese von SAP aus mittels CATT öffnen und in R/3 einlesen. Ob Du mit ADO an SAP (DB2, ORACLE, ..) kommst, wage ich zu bezweifeln. Dein Kunde kann aber, wenn Du ihm eine Datenbank bereit stellst mittels eines ABAP Programmes auf diese zugreifen. Unter ABAP gibt es 2 Möglichkeiten um Dateien zu öffnen. Erste Möglichkeit ist die ganz normale für die SAP eigene Datenbank und die zweite ist der "Native" Zugriff. Ein ABAP Programmierer sollte sich damit auskennen. Gruss Heike Zitat:
|
Re: von Delphi 2006 aus Datensätze zu SAP R/3 senden
Zitat:
Die Lösung mit der Excel-Tabelle scheint unter SAP-Beratern aber sehr beliebt zu sein :roll: Zitat:
Im Prinzip baut man für jedes Prob einen eigenen Wrapper um die RFC-DLL. Wesentlich eleganter geht es aber mit ![]() Kostet rund 700€, was für Tools im SAP-Umfeld ein wahres Schnäppchen ist ! Dank des SAP-Explorers kann man SAP-RFCstrukturen analysieren, ohne auf irgendwelche SAP-Spezies angewiesen zu sein. Und nicht zu verachten, der SAPx-Server. Also, wer im SAP-Umfeld tätig ist, für den sind 700€ noch nicht einmal "Portokasse" ! Mich hat ein Kollege angesichts des Preises jedenfalls gefragt: "Taugt das was ???" [Werbung off] Ich habe viel Zeit vertan, um mich mit der Connectivität von SAP-RFC-DLL und Delphi auseinander zu setzen und das ganze auch noch hübsch in Klassen zu packen. "Entwickler" und "BAPI-is-here" waren dabei hilfreich und mein ![]() Aber, um alles in ein schönes Gewand zu packen, lohnt sich, angesichts des Preises für SAPx, der Aufwand wirklich nicht mehr. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:45 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz