阿宝
找工作中,求帮助,谢谢!!! QQ:810487238

public void nco()
        {
           
            //MyBackendConfig config = new MyBackendConfig();
            IDestinationConfiguration ID = new MyBackendConfig();

            RfcDestinationManager.RegisterDestinationConfiguration(ID);


            RfcDestination prd = RfcDestinationManager.GetDestination("PRD_000");
            RfcDestinationManager.UnregisterDestinationConfiguration(ID);

            nco(prd);

        }


        public void nco(RfcDestination prd)
        {

            RfcRepository repo = prd.Repository;

            IRfcFunction companyBapi = repo.CreateFunction("Z_RFC_MB51N");   //调用函数名

            DateTime dt = DateTime.Today;

            companyBapi.SetValue("DATE",dt);   //设置Import的参数

            companyBapi.Invoke(prd);   //执行函数

            IRfcTable table = companyBapi.GetTable("IT_MB51");  //获取相应的品号内表
            //DataTable mb51 = new DataTable();  //新建表格

 

            try
            {
                SqlConnection conn = new SqlConnection("server=192.168.127.11;uid=sa;pwd=*****;database=MOLD;");
                string matnr;
                string lgort;
                string bwart;
                string mblnr;
                string ebeln;
                string lifnr;
                string aufnr;
                string sobkz;
                string kdauf;
                float menge;
                float dmbtr;
                for (int i = 0; i < table.RowCount; i++)
                {
                    table.CurrentIndex = i;
                    matnr = table.CurrentRow.GetString("MATNR");
                    lgort = table.CurrentRow.GetString("LGORT");
                    bwart = table.CurrentRow.GetString("BWART");
                    mblnr = table.CurrentRow.GetString("MBLNR");
                    ebeln = table.CurrentRow.GetString("EBELN");
                    lifnr = table.CurrentRow.GetString("LIFNR");
                    aufnr = table.CurrentRow.GetString("AUFNR");
                    sobkz = table.CurrentRow.GetString("SOBKZ");
                    kdauf = table.CurrentRow.GetString("KDAUF");
                    menge=float.Parse( table.GetString("MENGE"));
                    dmbtr=float.Parse( table.GetString("DMBTR"));
                    
                    conn.Open();
                    SqlCommand comm;
                    string select = "select * from dbo.rfc where Matnr='"+ matnr +"'";
                    comm = new SqlCommand(select, conn);
                    int j =Convert.ToInt32(comm.ExecuteScalar());
                    if (j != 0)
                    {
                        string s = "update dbo.rfc set [Count]=[Count] + '" + menge + "',LocalCurrency=LocalCurrency + '" + dmbtr + "' where Matnr='" + dmbtr + "'";
                        comm = new SqlCommand(s, conn);
                        comm.ExecuteNonQuery();
                    }
                    else
                    {
                        string s = "insert into dbo.rfc  values ('" + matnr + "','" + lgort + "','" + bwart + "','" + mblnr + "','" + ebeln + "','" + lifnr + "','" + aufnr + "','" + sobkz + "','" + kdauf + "','" + menge + "','" + dmbtr + "')";
                        comm = new SqlCommand(s, conn);
                        comm.ExecuteNonQuery();
                    }
                    conn.Close();
                }
               
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            finally
            {
               
            }

            prd = null;

            repo = null;
         

        }

        public class MyBackendConfig : IDestinationConfiguration
        {

            public RfcConfigParameters GetParameters(String destinationName)
            {

                if ("PRD_000".Equals(destinationName))
                {

                    RfcConfigParameters parms = new RfcConfigParameters();

                    parms.Add(RfcConfigParameters.AppServerHost, "192.168.5.55");   //SAP主机IP

                    parms.Add(RfcConfigParameters.SystemNumber, "PRD");  //SAP实例

                    parms.Add(RfcConfigParameters.User, "RFCUSER");  //用户名

                    parms.Add(RfcConfigParameters.Password, "1234");  //密码

                    parms.Add(RfcConfigParameters.Client, "888");  // Client

                    parms.Add(RfcConfigParameters.Language, "ZF");  //登陆语言

                    parms.Add(RfcConfigParameters.PoolSize, "5");

                    parms.Add(RfcConfigParameters.MaxPoolSize, "10");

                    parms.Add(RfcConfigParameters.IdleTimeout, "60");

                    return parms;

                }

                else
                    return null;

            }

            public bool ChangeEventsSupported()
            {

                return false;

            }

            public event RfcDestinationManager.ConfigurationChangeHandler ConfigurationChanged;

        }
        #endregion


        public void Form1_Load(object sender, EventArgs e)
        {
            nco();

            //System.Threading.Thread.Sleep(2000);
          
            Application.Exit();
        }

posted on 2011-10-17 16:47  阿宝兴荣  阅读(2399)  评论(0编辑  收藏  举报