public DataSet OrderBackFromSAP(string ReceiptNO, string year) { NcoFunction ncoClient = new NcoFunction(); try { ncoClient.Connect(); ncoClient.FunctionName = FunctionName;//Rfc function name Dictionary <string, object> importParameters = new Dictionary <string, object>(); importParameters.Add("RECEIPTNO", ReceiptNO); importParameters.Add("YEAR", year); ncoClient.ImportParameters = importParameters; DataSet ds = ncoClient.Execute(); ds = RFCUtil.ReplaceDataSet(ds); ncoClient.DISConncet(); LogData(ds); return(ds); } catch (Exception e) { ncoClient.DISConncet(); throw e; } }
public SAPRfcReturn DNRePGIToSAP(DN dn) { NcoFunction ncoClient = new NcoFunction(); try { string[] rfcArray = ConfigHelper.LoadRFCConfig(ConfigHelper.strDestinationName); ncoClient.Connect(rfcArray[0], "", rfcArray[3], rfcArray[4], "ZH", rfcArray[5], rfcArray[8], 2, 10, "", rfcArray[9]); ncoClient.FunctionName = MES2SAPRfcFunctionName.RePGI; Dictionary <string, object> importParameters = new Dictionary <string, object>(); importParameters.Add("I_VBELN", dn.DNNO); ncoClient.ImportParameters = importParameters; Dictionary <string, object> exportParameters = new Dictionary <string, object>(); ncoClient.Execute(ref exportParameters); //return exportParameters; object parameter = null; SAPRfcReturn re = new SAPRfcReturn(); if (exportParameters != null) { if (exportParameters.TryGetValue("ES_RESULT", out parameter)) { IRfcStructure ROFStrcture = parameter as IRfcStructure; re.Result = ROFStrcture["RETUN"].GetValue().ToString(); re.Message = ROFStrcture["MESSG"].GetValue().ToString(); } } return(re); } catch (Exception ex) { throw ex; } }
public SAPRfcReturn POReceiveToSAP(List <PO> poList) { NcoFunction ncoClient = new NcoFunction(); try { //string name = "Q97"; //string user = "******"; //string passwd = "start567"; //string client = "601"; //string ashost = "218.30.179.199"; //string sysnr = "00"; ////string saprouter = "/H/218.30.179.199/S/3299/H/192.168.129.249"; //string saprouter = "/H/192.168.129.252/S/3299/H/192.168.129.249"; //string kunnr = ""; //ncoClient.Connect(name, "", user, passwd, "ZH", client, sysnr, 2, 10, "", saprouter); string[] rfcArray = ConfigHelper.LoadRFCConfig(ConfigHelper.strDestinationName); ncoClient.Connect(rfcArray[0], "", rfcArray[3], rfcArray[4], "ZH", rfcArray[5], rfcArray[8], 2, 10, "", rfcArray[9]); //ncoClient.Connect(); ncoClient.FunctionName = MES2SAPRfcFunctionName.PO; Dictionary <string, object> importParameters = new Dictionary <string, object>(); //importParameters.Add("EBELN", po.PONO); //importParameters.Add("EBELP", po.POLine); //importParameters.Add("WERKS", po.FacCode); //importParameters.Add("ZNUMBER", po.SerialNO); //importParameters.Add("MATNR", po.MCode); //importParameters.Add("MENGE", po.Qty); //importParameters.Add("MEINS", po.Unit); //importParameters.Add("BWART", po.Status); //importParameters.Add("REDOC", po.SAPMaterialInvoice); //importParameters.Add("SGTXT", po.Operator); //importParameters.Add("XBLNR", po.VendorInvoice); //importParameters.Add("LGORT", po.StorageCode); //importParameters.Add("BKTXT", po.Remark); //importParameters.Add("DATUM", po.InvoiceDate); DataTable dtDetail = new DataTable(); dtDetail.Columns.Add("SERIAL", typeof(string)); dtDetail.Columns.Add("EBELN", typeof(string)); dtDetail.Columns.Add("EBELP", typeof(int)); dtDetail.Columns.Add("WERKS", typeof(string)); dtDetail.Columns.Add("ZNUMBER", typeof(string)); dtDetail.Columns.Add("MATNR", typeof(string)); dtDetail.Columns.Add("MENGE", typeof(decimal)); dtDetail.Columns.Add("MEINS", typeof(string)); dtDetail.Columns.Add("BWART", typeof(string)); dtDetail.Columns.Add("REDOC", typeof(string)); dtDetail.Columns.Add("SGTXT", typeof(string)); dtDetail.Columns.Add("XBLNR", typeof(string)); dtDetail.Columns.Add("LGORT", typeof(string)); dtDetail.Columns.Add("BKTXT", typeof(string)); dtDetail.Columns.Add("DATUM", typeof(int)); foreach (var po in poList) { DataRow row = dtDetail.NewRow(); row["SERIAL"] = po.ZNUMBER; row["EBELN"] = po.PONO; row["EBELP"] = po.POLine; row["WERKS"] = po.FacCode; row["ZNUMBER"] = po.ZNUMBER; row["MATNR"] = po.MCode; row["MENGE"] = po.Qty; row["MEINS"] = po.Unit; row["BWART"] = po.Status; row["REDOC"] = po.SAPMaterialInvoice; row["SGTXT"] = po.Operator; row["XBLNR"] = po.SerialNO; row["LGORT"] = po.StorageCode; row["BKTXT"] = po.Remark; row["DATUM"] = po.InvoiceDate; dtDetail.Rows.Add(row); } IRfcTable rfcTable = ncoClient.ConvertDataTabletoRFCTable(dtDetail, MES2SAPRfcInTableName.PO); importParameters.Add(MES2SAPRfcInTableName.PO, rfcTable); ncoClient.ImportParameters = importParameters; Dictionary <string, object> exportParameters = new Dictionary <string, object>(); ncoClient.Execute(ref exportParameters); //ncoClient.DISConncet(); object parameter = null; SAPRfcReturn re = new SAPRfcReturn(); if (exportParameters != null) { if (exportParameters.TryGetValue("ES_RESULT", out parameter)) { IRfcStructure ROFStrcture = parameter as IRfcStructure; re.Result = ROFStrcture["RETUN"].GetValue().ToString(); re.MaterialDocument = ROFStrcture["MBLNR"].GetValue().ToString(); re.Message = ROFStrcture["MESSG"].GetValue().ToString(); } } return(re); } catch (Exception ex) { //ncoClient.DISConncet(); throw ex; } }
public SAPRfcReturn DNPGIToSAP(List <DN> dnList, bool isAll) { NcoFunction ncoClient = new NcoFunction(); try { string[] rfcArray = ConfigHelper.LoadRFCConfig(ConfigHelper.strDestinationName); ncoClient.Connect(rfcArray[0], "", rfcArray[3], rfcArray[4], "ZH", rfcArray[5], rfcArray[8], 2, 10, "", rfcArray[9]); ncoClient.FunctionName = MES2SAPRfcFunctionName.PGI; Dictionary <string, object> importParameters = new Dictionary <string, object>(); DataTable dtDetail = new DataTable(); dtDetail.Columns.Add("PCBH", typeof(string)); dtDetail.Columns.Add("VBELN", typeof(string)); if (!isAll) { dtDetail.Columns.Add("POSNR", typeof(int)); dtDetail.Columns.Add("KWMENG", typeof(decimal)); } foreach (var dn in dnList) { DataRow row = dtDetail.NewRow(); row["PCBH"] = dn.BatchNO; row["VBELN"] = dn.DNNO; if (!isAll) { row["POSNR"] = dn.DNLine; row["KWMENG"] = dn.Qty; } dtDetail.Rows.Add(row); } IRfcTable rfcTable = ncoClient.ConvertDataTabletoRFCTable(dtDetail, MES2SAPRfcInTableName.DN); importParameters.Add(MES2SAPRfcInTableName.DN, rfcTable); string flag = isAll ? "X" : string.Empty;//是否整单过账,=是,不需要给DN明细,空=否,需要给DN明细 importParameters.Add("I_ZFLAG", flag); ncoClient.ImportParameters = importParameters; Dictionary <string, object> exportParameters = new Dictionary <string, object>(); ncoClient.Execute(ref exportParameters); //return exportParameters; object parameter = null; SAPRfcReturn re = new SAPRfcReturn(); if (exportParameters != null) { if (exportParameters.TryGetValue("ES_RESULT", out parameter)) { IRfcStructure ROFStrcture = parameter as IRfcStructure; re.Result = ROFStrcture["RETUN"].GetValue().ToString(); re.Message = ROFStrcture["MESSG"].GetValue().ToString(); } } return(re); } catch (Exception ex) { throw ex; } }
public SAPRfcReturn PostUBToSAP(List <UB> ubList) { NcoFunction ncoClient = new NcoFunction(); try { string[] rfcArray = ConfigHelper.LoadRFCConfig(ConfigHelper.strDestinationName); ncoClient.Connect(rfcArray[0], "", rfcArray[3], rfcArray[4], "ZH", rfcArray[5], rfcArray[8], 2, 10, "", rfcArray[9]); ncoClient.FunctionName = MES2SAPRfcFunctionName.UB; Dictionary <string, object> importParameters = new Dictionary <string, object>(); DataTable dtDetail = new DataTable(); dtDetail.Columns.Add("EBELN", typeof(string)); dtDetail.Columns.Add("EBELP", typeof(int)); dtDetail.Columns.Add("WERKS", typeof(string)); dtDetail.Columns.Add("BWART", typeof(string)); dtDetail.Columns.Add("MATNR", typeof(string)); dtDetail.Columns.Add("LGORT", typeof(string)); dtDetail.Columns.Add("MENGE", typeof(decimal)); dtDetail.Columns.Add("MEINS", typeof(string)); dtDetail.Columns.Add("DATUM", typeof(int)); dtDetail.Columns.Add("SGTXT", typeof(string)); dtDetail.Columns.Add("UNAME", typeof(string)); foreach (var ub in ubList) { DataRow row = dtDetail.NewRow(); row["EBELN"] = ub.UBNO; row["EBELP"] = ub.UBLine; row["WERKS"] = ub.FacCode; row["BWART"] = ub.InOutFlag; row["MATNR"] = ub.MCode; row["LGORT"] = ub.StorageCode; row["MENGE"] = ub.Qty; row["MEINS"] = ub.Unit; row["DATUM"] = ub.DocumentDate; row["SGTXT"] = ub.MesTransNO; row["UNAME"] = ub.ContactUser; dtDetail.Rows.Add(row); } IRfcTable rfcTable = ncoClient.ConvertDataTabletoRFCTable(dtDetail, MES2SAPRfcInTableName.UB); importParameters.Add(MES2SAPRfcInTableName.UB, rfcTable); ncoClient.ImportParameters = importParameters; Dictionary <string, object> exportParameters = new Dictionary <string, object>(); ncoClient.Execute(ref exportParameters); object parameter = null; SAPRfcReturn re = new SAPRfcReturn(); if (exportParameters != null) { if (exportParameters.TryGetValue("ES_RESULT", out parameter)) { IRfcStructure ROFStrcture = parameter as IRfcStructure; re.Result = ROFStrcture["RETUN"].GetValue().ToString(); re.MaterialDocument = ROFStrcture["MBLNR"].GetValue().ToString(); re.Message = ROFStrcture["MESSG"].GetValue().ToString(); } } return(re); } catch (Exception ex) { throw ex; } }
public SAPRfcReturn PostStockScrapToSAP(List <StockScrap> ssList) { NcoFunction ncoClient = new NcoFunction(); try { string[] rfcArray = ConfigHelper.LoadRFCConfig(ConfigHelper.strDestinationName); ncoClient.Connect(rfcArray[0], "", rfcArray[3], rfcArray[4], "ZH", rfcArray[5], rfcArray[8], 2, 10, "", rfcArray[9]); ncoClient.FunctionName = MES2SAPRfcFunctionName.StockScrap; Dictionary <string, object> importParameters = new Dictionary <string, object>(); DataTable dtDetail = new DataTable(); dtDetail.Columns.Add("ZNUMBER", typeof(string)); dtDetail.Columns.Add("ZEILE", typeof(int)); dtDetail.Columns.Add("MATNR", typeof(string)); dtDetail.Columns.Add("BWART", typeof(string)); dtDetail.Columns.Add("WERKS", typeof(string)); dtDetail.Columns.Add("LGORT", typeof(string)); dtDetail.Columns.Add("MENGE", typeof(decimal)); dtDetail.Columns.Add("MEINS", typeof(string)); dtDetail.Columns.Add("KOSTL", typeof(string)); dtDetail.Columns.Add("SGTXT", typeof(string)); dtDetail.Columns.Add("DATUM", typeof(int)); dtDetail.Columns.Add("UNAME", typeof(string)); foreach (var item in ssList) { DataRow row = dtDetail.NewRow(); row["ZNUMBER"] = item.MESScrapNO; row["ZEILE"] = item.LineNO; row["MATNR"] = item.MCode; row["BWART"] = item.ScrapCode; row["WERKS"] = item.FacCode; row["LGORT"] = item.StorageCode; row["MENGE"] = item.Qty; row["MEINS"] = item.Unit; row["KOSTL"] = item.CC; row["SGTXT"] = item.Remark; row["DATUM"] = item.DocumentDate; row["UNAME"] = item.Operator; dtDetail.Rows.Add(row); } IRfcTable rfcTable = ncoClient.ConvertDataTabletoRFCTable(dtDetail, MES2SAPRfcInTableName.StockScrap); importParameters.Add(MES2SAPRfcInTableName.StockScrap, rfcTable); ncoClient.ImportParameters = importParameters; Dictionary <string, object> exportParameters = new Dictionary <string, object>(); ncoClient.Execute(ref exportParameters); object parameter = null; SAPRfcReturn re = new SAPRfcReturn(); if (exportParameters != null) { if (exportParameters.TryGetValue("ES_RESULT", out parameter)) { IRfcStructure ROFStrcture = parameter as IRfcStructure; re.Result = ROFStrcture["RETUN"].GetValue().ToString(); re.MaterialDocument = ROFStrcture["MBLNR"].GetValue().ToString(); re.Message = ROFStrcture["MESSG"].GetValue().ToString(); } } return(re); } catch (Exception ex) { throw ex; } }
public WWPOComponentResult GetWWPOList(List <WWPOComponentPara> list) { try { NcoFunction ncoClient = new NcoFunction(); string[] rfcArray = ConfigHelper.LoadRFCConfig(ConfigHelper.strDestinationName); ncoClient.Connect(rfcArray[0], "", rfcArray[3], rfcArray[4], "ZH", rfcArray[5], rfcArray[8], 2, 10, "", rfcArray[9]); ncoClient.FunctionName = MES2SAPRfcFunctionName.WWPOComponent; Dictionary <string, object> importParameters = new Dictionary <string, object>(); DataTable dt = new DataTable(); dt.Columns.Add("EBELN", typeof(string)); dt.Columns.Add("EBELP", typeof(int)); foreach (var item in list) { DataRow row = dt.NewRow(); row["EBELN"] = item.PONO; //row["EBELP"] = item.POLine; dt.Rows.Add(row); } IRfcTable rfcTable = ncoClient.ConvertDataTabletoRFCTable(dt, MES2SAPRfcInTableName.WWPOComponent); importParameters.Add(MES2SAPRfcInTableName.WWPOComponent, rfcTable); ncoClient.ImportParameters = importParameters; Dictionary <string, object> exportParameters = new Dictionary <string, object>(); DataSet ds = ncoClient.Execute(ref exportParameters); WWPOComponentResult result = new WWPOComponentResult(); List <WWPOComponent> componentList = new List <WWPOComponent>(); if (ds != null && ds.Tables[MES2SAPRfcOutTableName.WWPOComponent] != null && ds.Tables[MES2SAPRfcOutTableName.WWPOComponent].Rows.Count > 0) { foreach (DataRow row in ds.Tables[MES2SAPRfcOutTableName.WWPOComponent].Rows) { WWPOComponent co = new WWPOComponent(); co.PONO = Convert.ToString(row["EBELN"]); co.POLine = Convert.ToInt32(row["EBELP"]); co.SubLine = Convert.ToInt32(row["RSPOS"]); co.MCode = Convert.ToString(row["MATNR"]); co.HWMCode = Convert.ToString(row["IDNLF"]); co.Qty = Convert.ToDecimal(row["BDMNG"]); co.Unit = Convert.ToString(row["MEINS"]); componentList.Add(co); } } result.WWPOComponentList = componentList; object parameter = null; SAPRfcReturn re = new SAPRfcReturn(); if (exportParameters != null) { if (exportParameters.TryGetValue("ES_RESULT", out parameter)) { IRfcStructure ROFStrcture = parameter as IRfcStructure; re.Result = ROFStrcture["RETUN"].GetValue().ToString(); re.MaterialDocument = null; re.Message = ROFStrcture["MESSG"].GetValue().ToString(); } } result.RfcResult = re; return(result); } catch (Exception ex) { throw ex; } }