基本上我要做的是,在我的基于窗口的应用程序(.NET框架)的帮助下填充基于SAP的应用程序的文本框。我的应用程序将从数据库中获取数据,我必须直接在基于SAP的应用程序或SAP服务器中填充它。
希望得到积极和快速的回应。
也可以使用SAP.NET连接器,
任何人都可以获得如何使用.Net连接器将数据从.net应用程序插入SAP的示例。
答案 0 :(得分:0)
我希望此代码对您有所帮助。 在这里,我将值传递给将数据写入表的BAPI。
string strBapi = strBAPI;
DataTable tblShipTo = null;
DataTable myTable = new DataTable("tblTest");
DataRow dr = myTable.NewRow();
myTable.Columns.Add("Num1", typeof(int));
myTable.Columns.Add("Num2", typeof(int));
myTable.Columns.Add("Num3", typeof(int));
dr["Num1"] = 1;
dr["Num2"] = 2;
dr["Num3"] = 3;
myTable.Rows.Add(dr);
dr = myTable.NewRow();
dr["Num1"] = 5;
dr["Num2"] = 6;
dr["Num3"] = 7;
myTable.Rows.Add(dr);
int i = -1;
DataColumn col;
object obj = null;
try
{
ConnectorFuntions cf = new ConnectorFuntions();
IRfcFunction bapiTEST = _rfcDest.Repository.CreateFunction(strBapi);
RfcStructureMetadata metaData = _rfcDest.Repository.GetStructureMetadata("ZBAPI_A_STRU_ORDER_CLICK");
IRfcStructure structImport = metaData.CreateStructure();
IRfcTable tblInput = bapiTEST.GetTable("IMPORT");
foreach (DataRow dr1 in myTable.Rows)
{
IRfcStructure myStructRow = metaData.CreateStructure();
i++;
foreach (DataColumn column in myTable.Columns)
{
obj = dr1[column];
myStructRow.SetValue(column.ToString(), obj);
}
tblInput.Append(myStructRow);
}
RfcSessionManager.BeginContext(_rfcDest);
bapiTEST.Invoke(_rfcDest);