on 05-07-2013 4:00 AM
Hey guys,
I'm coding C# to automate some SAPGUI scripting, and I have this wired problem...
Below is the code piece
GuiApplication guiApp = (GuiApplication)System.Activator.CreateInstance(Type.GetTypeFromProgID("SapGui.ScriptingCtrl.1"));
GuiConnection guiConn = guiApp.OpenConnection("MYSYSTEM", true, true);
GuiSession guiSession = (GuiSession)guiConn.Sessions.Item(0);
GuiFrameWindow guiWindow = guiSession.ActiveWindow;
GuiTextField client = (GuiTextField)guiWindow.FindByName("RSYST-MANDT", "GuiTextField");
GuiTextField login = (GuiTextField)guiWindow.FindByName("RSYST-BNAME", "GuiTextField");
GuiTextField pass = (GuiTextField)guiWindow.FindByName("RSYST-BCODE", "GuiPasswordField");
GuiTextField language = (GuiTextField)guiWindow.FindByName("RSYST-LANGU", "GuiTextField");
client.SetFocus();
client.Text = "XXX";
login.SetFocus();
login.Text = "XXXXXXX";
pass.SetFocus();
pass.Text = "XXXXXXX";
language.SetFocus();
language.Text = "XX";
This code piece worked 100% fine a week ago, but it's not working now... The problem now is that guiConn.Session contains no items after OpenConnection. I'm coding in Visual Studio 2008, I don't think I did any change to my VS project.
I tried guiConn.Children, it contains no items either.
Please help!!!
Thanks,
Shu
Check your references,
If SAPFEWSELIB is not referenced this will not work, I just compiled this and it works (VS.Net 2012 Express)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SAPFEWSELib;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
GuiApplication guiApp = (GuiApplication)System.Activator.CreateInstance(Type.GetTypeFromProgID("SapGui.ScriptingCtrl.1"));
GuiConnection guiConn = guiApp.OpenConnection("mysystem", true, true);
GuiSession guiSession = (GuiSession)guiConn.Sessions.Item(0);
GuiFrameWindow guiWindow = guiSession.ActiveWindow;
((GuiTextField)guiWindow.FindByName("RSYST-MANDT", "GuiTextField")).Text = "000";
((GuiTextField)guiWindow.FindByName("RSYST-BNAME", "GuiTextField")).Text="lesteban";
((GuiTextField)guiWindow.FindByName("RSYST-BCODE", "GuiPasswordField")).Text="mypassword";
((GuiTextField)guiWindow.FindByName("RSYST-LANGU", "GuiTextField")).Text="en";
guiWindow.SendVKey(0);
Console.ReadLine();
}
}
}
regards
Luis
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
81 | |
25 | |
12 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.