示例#1
0
        public static IRfcFunction GetFunction(SapParameter parameter)
        {
            IRfcFunction rfcFunction = null;

            try
            {
                RfcDestination rfcDestination = GetRfcDestination(parameter);
                rfcFunction = rfcDestination.Repository.CreateFunction(parameter.FunctionName);
                rfcFunction.Invoke(rfcDestination);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
            }

            return(rfcFunction);
        }
示例#2
0
        private void btnCreate_Click(object sender, System.EventArgs e)
        {
            string path = CreateFolder(tbPath.Text, tbFunctionName.Text);

            SapParameter parameter = new SapParameter()
            {
                AppServerHost        = tbAppServerHost.Text,
                Client               = tbClient.Text,
                IdleTimeout          = tbIdleTimeout.Text,
                Language             = cbLanguage.SelectedText,
                Name                 = tbName.Text,
                Password             = tbPassword.Text,
                PeakConnectionsLimit = tbPeakConnectionsLimit.Text,
                PoolSize             = tbPoolSize.Text,
                SystemNumber         = tbSystemNumber.Text,
                User                 = tbUser.Text,
                FunctionName         = tbFunctionName.Text
            };



            IRfcFunction function = SapConnection.GetFunction(parameter);

            if (function != null)
            {
                List <SapClassModel> classBuilder = SapConnection.GetAllTablesClass(function);

                foreach (var sapClass in classBuilder)
                {
                    using (var tw = File.AppendText(path + sapClass.ClassName + ".cs"))
                    {
                        tw.WriteLine(sapClass.Builder.ToString());
                        tw.Close();
                    }
                }

                MessageBox.Show(@"Complete", @"Alert", MessageBoxButtons.OK);
            }
            else
            {
                MessageBox.Show(@"Not found function name", @"Alert", MessageBoxButtons.OK);
            }
        }
示例#3
0
        private static RfcDestination GetRfcDestination(SapParameter param)
        {
            RfcConfigParameters parameters = new RfcConfigParameters
            {
                { RfcConfigParameters.Name, param.Name },
                { RfcConfigParameters.User, param.User },
                { RfcConfigParameters.Password, param.Password },
                { RfcConfigParameters.Client, param.Client },
                { RfcConfigParameters.Language, param.Language },
                { RfcConfigParameters.AppServerHost, param.AppServerHost },
                { RfcConfigParameters.SystemNumber, param.SystemNumber },
                { RfcConfigParameters.IdleTimeout, param.IdleTimeout },
                { RfcConfigParameters.PoolSize, param.PoolSize },
                { RfcConfigParameters.PeakConnectionsLimit, param.PeakConnectionsLimit }
            };


            return(RfcDestinationManager.GetDestination(parameters));
        }