企業(yè)如果上了ERP系統(tǒng),比如SAP、用友、金蝶或者E10等等,只需要ERP里面提供相應(yīng)的接口,則可以直接將PMC創(chuàng)建的工單信息拋轉(zhuǎn)至 MTS
          系統(tǒng),當(dāng)該工單生產(chǎn)完成之后,MTS 將完成數(shù)據(jù)回傳至 ERP,方便貨倉(cāng)進(jìn)行入倉(cāng)與扣數(shù),這篇文章介紹 MTS 與 SAP 之間如何對(duì)接。

          1.SAP里面必須有一個(gè)Function,類似 MSSQL里面的存儲(chǔ)過(guò)程一樣,根據(jù)用戶傳入的參數(shù),返回所需要的數(shù)據(jù),這一部分程序通過(guò) ABAP
          完成,不在本文的講述范圍之類,這里略過(guò)。

          2.MTS連接到 SAP,Call對(duì)應(yīng)的 Function,拿到數(shù)據(jù)后進(jìn)行處理,這里需要準(zhǔn)備以下幾個(gè)參數(shù)。

          * SAP服務(wù)器的IP地址
          * 訪問(wèn)SAP的用戶名
          * 訪問(wèn)SAP的密碼
          * SAP系統(tǒng)的實(shí)例編號(hào)
          * SAP系統(tǒng)的客戶端編號(hào)
          為了方便多個(gè)地方調(diào)用,這里將Call SAP 的代碼寫(xiě)成一個(gè)方法,避免重復(fù)代碼,代碼如下:

          ?

          using SAP.Middleware.Connector;

          public class SapHelper { public IRfcTable GetSapData(string FunctionName,
          string TableName, List<string> Key, List<string> Value) { string Server =
          ConfigurationManager.AppSettings["SapServer"]; string Client =
          ConfigurationManager.AppSettings["SapClient"]; string User =
          ConfigurationManager.AppSettings["SapUser"]; string Password =
          ConfigurationManager.AppSettings["SapPwd"]; string SystemNumber =
          ConfigurationManager.AppSettings["SapSystemNumber"]; RfcConfigParameters rfcPar
          =new RfcConfigParameters(); rfcPar.Add(RfcConfigParameters.Name, "CON");
          rfcPar.Add(RfcConfigParameters.AppServerHost, Server);
          rfcPar.Add(RfcConfigParameters.Client, Client);
          rfcPar.Add(RfcConfigParameters.User, User);
          rfcPar.Add(RfcConfigParameters.Password, Password);
          rfcPar.Add(RfcConfigParameters.SystemNumber, SystemNumber);
          rfcPar.Add(RfcConfigParameters.Language,"EN"); RfcDestination dest =
          RfcDestinationManager.GetDestination(rfcPar); RfcRepository rfcrep=
          dest.Repository; IRfcFunction myfun= null; myfun =
          rfcrep.CreateFunction(FunctionName); IRfcTable IrfTable=
          myfun.GetTable(TableName);if (Key.Count != Value.Count) { return null; } for (
          int i = 0; i < Key.Count; i++) { myfun.SetValue(Key[i].ToString(),
          Value[i].ToString()); } myfun.Invoke(dest);return IrfTable; } }
          當(dāng)用戶輸入需要下載的工單號(hào)碼之后,系統(tǒng)連接到 SAP 開(kāi)始調(diào)用函數(shù):
          string Order = Request["LotName"]; if (string.IsNullOrEmpty(Order)) { return;
          }       
                    //這里強(qiáng)烈建議將參數(shù)以key value的形式傳進(jìn)去,方便很多。
          List<string> Key1 = new List<string>(); List<string> Value1 = new List<string>
          (); Key1.Insert(0, "ORDER_NUMBER"); Value1.Insert(0, Order); IRfcTable
          IrfTable_Order= new SapHelper().GetSapData("function", "table", Key1, Value1);
          DataTable dt_Order= new DataTable(); dt_Order.Columns.Add("LotName");
          dt_Order.Columns.Add("ProductName"); dt_Order.Columns.Add("LotQuantity");
          dt_Order.Columns.Add("Customer"); dt_Order.Columns.Add("Plant"); for (int i = 0
          ; i < IrfTable_Order.Count; i++) { IrfTable_Order.CurrentIndex = i; DataRow dr =
          dt_Order.NewRow(); dr["LotName"] = IrfTable_Order.GetString("AUFNR"); dr["
          ProductName"] = IrfTable_Order.GetString("STLBEZ"); dr["LotQuantity"] =
          Math.Round(Convert.ToDouble(IrfTable_Order.GetString("GAMNG")), 0).ToString();
          dr["Customer"] = IrfTable_Order.GetString("PSPEL"); dr["Plant"] =
          IrfTable_Order.GetString("WERKS"); dt_Order.Rows.Add(dr); } var json =
          Newtonsoft.Json.JsonConvert.SerializeObject(dt_Order);var totalRecordCount =
          dt_Order.Rows.Count.ToString(); json= "{\"total\":" + totalRecordCount + "
          ,\"rows\":" + json + "}"; Response.Write(json); Response.End();
          ?

          注意,從SAP里面得到的數(shù)據(jù)是一張 rfc table,并不是我們常用的 DataTable,所以這里需要進(jìn)行轉(zhuǎn)換后才能使用,最后將數(shù)據(jù)轉(zhuǎn)換為 JSON
          輸出即可:



          ?



          ?

          下一篇將介紹如何將 MTS 里面的工單完工數(shù)回傳至 SAP 里面,方便貨倉(cāng)入倉(cāng)與扣數(shù)...

          ?

          友情鏈接
          ioDraw流程圖
          API參考文檔
          OK工具箱
          云服務(wù)器優(yōu)惠
          阿里云優(yōu)惠券
          騰訊云優(yōu)惠券
          京東云優(yōu)惠券
          站點(diǎn)信息
          問(wèn)題反饋
          郵箱:[email protected]
          QQ群:637538335
          關(guān)注微信

                国产精品成人免费精品自在线观看 | 中国女人69xxxx | 欧美在线成人电影 | 乌克兰光屁股裸体hd | 国产精品成人在线 |