Laden...

SAP Verbindung mit SAPFEWSELib

Erstellt von theSoulT vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.617 Views
T
theSoulT Themenstarter:in
64 Beiträge seit 2018
vor 5 Jahren
SAP Verbindung mit SAPFEWSELib

Hallo zusammen,
ich bin grade dabei eine Verbindung von einer Userform ins SAP zu erstellen.
Mit meinem momentanen Code bekomme ich auch eine Verbindung, allerdings ist das SAP Fenster in einer komischen Ansicht (Buttons werden zum Beispiel nicht angezeigt) Siehe Screenshot. Weiß jemand woran das liegt?
Hier meine Main:

public static void Main(string[] args)
        {
            SAPActive.openSAP("R3Q ECC Testsystem EHP8");
            SAPActive.login("001", "user", "pw", "DE");
            SAPActive.SapSession.StartTransaction("CS12");
        }

Dazu die zwei Funktionen:

       public static void login(string myclient, string mylogin, string mypass, string mylang)
        {
            GuiTextField client = (GuiTextField)SAPActive.SapSession.ActiveWindow.FindByName("RSYST-MANDT", "GuiTextField");
            GuiTextField login = (GuiTextField)SAPActive.SapSession.ActiveWindow.FindByName("RSYST-BNAME", "GuiTextField");
            GuiTextField pass = (GuiTextField)SAPActive.SapSession.ActiveWindow.FindByName("RSYST-BCODE", "GuiPasswordField");
            GuiTextField language = (GuiTextField)SAPActive.SapSession.ActiveWindow.FindByName("RSYST-LANGU", "GuiTextField");
    
            client.SetFocus();
            client.Text = myclient;
            login.SetFocus();
            login.Text = mylogin;
            pass.SetFocus();
            pass.Text = mypass;
            language.SetFocus();
            language.Text = mylang;
    
            //Press the green checkmark button which is about the same as the enter key 
            GuiButton btn = (GuiButton)SapSession.FindById("/app/con[0]/ses[0]/wnd[0]/tbar[0]/btn[0]");
            btn.SetFocus();
            btn.Press();
    
        }

        public static void openSAP(string env)
        {
            SAPActive.SapGuiApp = new GuiApplication();
            string connectString = null;
            if (env.ToUpper().Equals("DEFAULT"))
            {
                connectString = "R3Q ECC Testsystem EHP8";
            }
            else
            {
                connectString = env;
            }
            SAPActive.SapConnection = SAPActive.SapGuiApp.OpenConnection(connectString, Sync: true);     
            SAPActive.SapSession = (GuiSession)SAPActive.SapConnection.Sessions.Item(0);   }

Die Buttons sind allerdings vorhanden. Wenn man lange genug mit der Maus über dem Button sit, erscheint ein Tooltip und der Button funktioniert dann auch. Ich hab ehct keine Ahnung woran das liegt 😦

Liebe Grüße TheSoulT

4.931 Beiträge seit 2008
vor 5 Jahren

Du hast eine Konsolenapplikation erstellt, und darin läuft dann keine Nachrichtenbearbeitungsschleife (message queue).
Probiere mal z.B. eine WinForms-Applikation.

T
theSoulT Themenstarter:in
64 Beiträge seit 2018
vor 5 Jahren

Du hast eine Konsolenapplikation erstellt, und darin läuft dann keine Nachrichtenbearbeitungsschleife (message queue).
Probiere mal z.B. eine WinForms-Applikation.

Habe ich auch schon versucht, leider ohne Erfolg. Echt ärgerlich 😭

G
497 Beiträge seit 2006
vor 5 Jahren

ist zwar unwahrscheinlich, aber ist das ein frisch installierter SAP GUI 7.50? Dann könnte einmal neustarten ausreichen. Das Ding hat nach der Installation ein paar Grafikfehler, die nach dem Neustart aber weg sind.

T
theSoulT Themenstarter:in
64 Beiträge seit 2018
vor 5 Jahren

ist zwar unwahrscheinlich, aber ist das ein frisch installierter SAP GUI 7.50? Dann könnte einmal neustarten ausreichen. Das Ding hat nach der Installation ein paar Grafikfehler, die nach dem Neustart aber weg sind.

Servus GarlandGreene,

nein ist nicht neu installiert 😁
Wenn ich SAP normal starte, ist die Ansicht auch normal.
Das muss an dem Code liegen 😭