借助窗口应用程序在SAP服务器中插入数据

时间:2011-07-15 10:24:03

标签: .net sap sap-connector

基本上我要做的是,在我的基于窗口的应用程序(.NET框架)的帮助下填充基于SAP的应用程序的文本框。我的应用程序将从数据库中获取数据,我必须直接在基于SAP的应用程序或SAP服务器中填充它。

希望得到积极和快速的回​​应。

也可以使用SAP.NET连接器,

任何人都可以获得如何使用.Net连接器将数据从.net应用程序插入SAP的示例。

1 个答案:

答案 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);