Instanz in einen eigenen Prozess auslagern und Informationen zurückgeben



  • Hallo.

    Ich habe eine SAP Anwendung in einer Instanz kreiert. Es funktioniert soweit alles wunderbar, aber der Code soll eher eine Art erweitertes Startskript sein. Ich starte SAP und melde mich gleich unter dem korrekten System an:

    string SAP_System;
    string Mandant;
    string User;
    string Password;
    string Language;
    
    SAPFEWSELib.GuiApplication App = (SAPFEWSELib.GuiApplication)System.Activator.CreateInstance(Type.GetTypeFromProgID("SapGui.ScriptingCtrl.1"));
    SAPFEWSELib.GuiConnection Con = App.OpenConnection(SAP_System);
    SAPFEWSELib.GuiSession Ses = (SAPFEWSELib.GuiSession)Con.Sessions.Item(0);
    Ses.TestToolMode = 1;
    ((SAPFEWSELib.GuiTextField)Ses.ActiveWindow.FindByName("RSYST-MANDT", "GuiTextField")).Text = Mandant;
    ((SAPFEWSELib.GuiTextField)Ses.ActiveWindow.FindByName("RSYST-BNAME", "GuiTextField")).Text = User;
    ((SAPFEWSELib.GuiTextField)Ses.ActiveWindow.FindByName("RSYST-BCODE", "GuiPasswordField")).Text = Password;
    ((SAPFEWSELib.GuiTextField)Ses.ActiveWindow.FindByName("RSYST-LANGU", "GuiTextField")).Text = Language;
    Ses.SendCommand("");
    
    Console.ReadKey(); //Hit any key to end programm AND close SAP (I want to avoid that)!!
    

    Ich denke, interessant ist Zeile 7 und Zeile 17;

    Kann man diese SAP-Instanz in einen eigenen Prozess auslagern und anschließend möglichst viele Informationen dieses Prozesses - so dass man die Oberfläche evtl. später wieder attachen könnte?

    Ich würde mich über Ideen sehr freuen...

    Gruß,
    CJens


Log in to reply