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); }
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); } }
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)); }