Ich habe eben eine Anforderung auf den Tisch bekommen, in der ich ein ABAP-Programm schreiben soll, welches mit einem C-Programm, welches LOKAL auf einem Rechner (Client) liegt kommunizieren soll... (Drucksteuerung in Millisekundenbereich)... geht sowas überhaupt?
Ja das ist wirklich ein spannendes Thema ... nur so wie ich das verstehe, brauche ich doch ein SAP-Gateway (welches nur auf den Appl-Servern) angelegt werden kann... und somit kann ich doch mit einem C-Programm auf einem Client (eben lokal auf diesem Client zur direkten Ansteuerung einer Schnittstellenkarte) überhaupt nicht im Millisekundenbereich, also direkt, kommunizieren.
ich denke Du hast recht, leider ist das aber die einzige mir bekannte Möglichkeit der Kommunikation zw. R/3 und einem C-Programm. Wenn ich Dich richtig verstanden habe, dann soll ein Aufruf des C-Programms aus dem R/3 heraus stattfinden. Das C-Programm liegt aber auf dem Frontend (lokalen Rechner). Alle ABAP-Programme laufen aber auf dem Applikationsserver, insofern hast Du doch nie eine direkte Kommunikation weil beide Anwendungen nicht auf einem Rechner laufen. Die Kommunikation erfolgt also im Endeffekt immer über Protokoll (TCP/IP). Was meinst Du mit direktem kommunizieren?
Zunächstmal will ich mich in aller Form bei Dir für die schnelle Antwort bedanken (hatte ich oben doch glatt vergessen) und ich will ja nicht unhöflich sein...
Nun aber zu meinem Problem:
Du hast mich genau richtig verstanden und ich habe mich wohl zu Anfang ein wenig unklar ausgedrückt.
Ja ich müsste ein C-Programm auf dem Frontend aufrufen... und hatte mir eben auch schon überlegt, dass ich ja sowieso nur ein "Bild" von meinem auf dem Appl-Server laufenden Programm auf dem Frontend habe... allerdings würde eine Kommunikation via TCP/IP mit dem "Frontend-Rechner" (derer gäbe es dann leider auch 4, ich müsste demnach in meinem ABAP-Programm also die 4 Clients zur Auswahl vorgeben) wohl zu langsam sein... da der Druck nach spätestens 2 Sek. an der Schnittstellenkarte ausgelöst werden soll.
Direktes Kommunizieren meinte eben, dass ich auf dem Client direkt mit der Schnittstellenkarte kommunizieren kann.
Vielen Dank auf jeden Fall schonmal... vielleicht muss ich hier doch auf eine andere Sprache zurückgreifen... direkt in SAP geht das wohl nicht
...oder die Klasse CL_GUI_FRONTEND_SERVICES, Methode EXECUTE.
Das KO-Kriterium ist natürlich die Performance bei der Kommunikation mit dem Frontend-Rechner. 2 Sekunden sind zu schaffen, aber nicht immer zu garantieren. Kommt also auf den Versuch an.