示例#1
0
        /// <summary>
        //根据SAP GUI 客户端保存的配置文件的路径自动加载系统配置列表
        /// </summary>
        /// <returns></returns>
        public static bool loadDefaultSystemListFromSAPLogonIniFile()
        {
            SapConfigClass _config;
            bool           success     = false;
            string         saplogonini = "";

            try
            {
                //根据注册表读取sap logon.ini文件的存放位置
                RegistryKey hkml = Registry.CurrentUser.OpenSubKey("SOFTWARE").OpenSubKey("SAP").OpenSubKey("SAPLogon").OpenSubKey("ConfigFilesLastUsed");
                saplogonini = hkml.GetValue("ConnectionConfigFile").ToString();
                if (saplogonini != "")
                {
                    ReadIniSection sConfiguration = new ReadIniSection(saplogonini, "Configuration");
                    int            sessionCount   = int.Parse(sConfiguration["SessManNewKey"]);
                    if (sessionCount == 1)
                    {
                        //  MessageBox.Show("请在SAP客户端配置SAP连接配置!!");
                    }
                    ReadIniSection sEntryKey    = new ReadIniSection(saplogonini, "EntryKey");
                    ReadIniSection sRouter      = new ReadIniSection(saplogonini, "Router");
                    ReadIniSection sServer      = new ReadIniSection(saplogonini, "Server");
                    ReadIniSection sDatabase    = new ReadIniSection(saplogonini, "Database");
                    ReadIniSection sDescription = new ReadIniSection(saplogonini, "Description");
                    ReadIniSection sMSSysName   = new ReadIniSection(saplogonini, "MSSysName");
                    ReadIniSection sMSSrvPort   = new ReadIniSection(saplogonini, "MSSrvPort");
                    for (int i = 1; i < sessionCount; i++)
                    {
                        string key = "Item" + i;

                        _config      = new SapConfigClass();
                        _config.Name = sDescription[key];
                        if (string.IsNullOrEmpty(_config.Name))
                        {
                            continue;
                        }
                        _config.AppServerHost = sServer[key];
                        _config.SystemID      = sMSSysName[key];
                        _config.SAPRouter     = sRouter[key];
                        _config.SystemNumber  = sDatabase[key];
                        // _config.User = txtUser.Text.Trim().ToUpper();
                        //_config.Password = txtPassword.Text.Trim();
                        _config.Client      = "800";
                        _config.Language    = "EN";
                        _config.PoolSize    = "5";
                        _config.MaxPoolSize = "10";
                        _config.IdleTimeout = "60";
                        SAPLogonConfigList.AddConfig(_config.Name, _config);
                    }

                    success = true;
                }
            }
            catch (Exception ee)
            {
                throw new Exception(ee.Message);
            }
            return(success);
        }
        /// <summary>
        //根据SAP GUI 客户端保存的配置文件的路径自动加载系统配置列表
        /// </summary>
        /// <returns></returns>
        public static bool loadDefaultSystemListFromSAPLogonIniFile()
        {
            SapConfigClass _config;
            bool success = false;
            string saplogonini = "";
            try
            {
                //根据注册表读取sap logon.ini文件的存放位置
                RegistryKey hkml = Registry.CurrentUser.OpenSubKey("SOFTWARE").OpenSubKey("SAP").OpenSubKey("SAPLogon").OpenSubKey("ConfigFilesLastUsed");
                saplogonini = hkml.GetValue("ConnectionConfigFile").ToString();
                if (saplogonini != "")
                {
                    ReadIniSection sConfiguration = new ReadIniSection(saplogonini, "Configuration");
                    int sessionCount = int.Parse(sConfiguration["SessManNewKey"]);
                    if (sessionCount == 1)
                    {
                        //  MessageBox.Show("请在SAP客户端配置SAP连接配置!!");
                    }
                    ReadIniSection sEntryKey = new ReadIniSection(saplogonini, "EntryKey");
                    ReadIniSection sRouter = new ReadIniSection(saplogonini, "Router");
                    ReadIniSection sServer = new ReadIniSection(saplogonini, "Server");
                    ReadIniSection sDatabase = new ReadIniSection(saplogonini, "Database");
                    ReadIniSection sDescription = new ReadIniSection(saplogonini, "Description");
                    ReadIniSection sMSSysName = new ReadIniSection(saplogonini, "MSSysName");
                    ReadIniSection sMSSrvPort = new ReadIniSection(saplogonini, "MSSrvPort");
                    for (int i = 1; i < sessionCount; i++)
                    {
                        string key = "Item" + i;

                        _config = new SapConfigClass();
                        _config.Name = sDescription[key];
                        if (string.IsNullOrEmpty(_config.Name))
                        {
                            continue;
                        }
                        _config.AppServerHost = sServer[key];
                        _config.SystemID = sMSSysName[key];
                        _config.SAPRouter = sRouter[key];
                        _config.SystemNumber = sDatabase[key];
                        // _config.User = txtUser.Text.Trim().ToUpper();
                        //_config.Password = txtPassword.Text.Trim();
                        _config.Client = "800";
                        _config.Language = "EN";
                        _config.PoolSize = "5";
                        _config.MaxPoolSize = "10";
                        _config.IdleTimeout = "60";
                        SAPLogonConfigList.AddConfig(_config.Name, _config);
                    }

                    success = true;
                }
            }
            catch (Exception ee)
            {
                throw new Exception(ee.Message);
            }
            return success;
        }