/// <summary> /// get Sap ZSDT046 table SAP_PROC = '' /// get status = 'S' sap order /// 855 message:according to 850 table & sap order data /// insert 855 data to database /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnOrderComfirm_Click(object sender, EventArgs e) { string _Log = ""; string _OrderNumber = ""; try { string _EdiBase = ConfigurationManager.AppSettings["EdiBase"]; btnLogin.PerformClick(); btnGet.PerformClick(); List <Edi_SalesHeader> _SalesHeaderList = getSalesHeaderList(); Edi_SalesOrder_855 _Edi_SalesOrder_855 = new Edi_SalesOrder_855(); TestWebApi.BLL.Edi.Edi_SalesHeader_855 _855 = new TestWebApi.BLL.Edi.Edi_SalesHeader_855(); List <EdiStatus> _EdiStatusList = GetSapEdiStatusList(); foreach (EdiStatus s in _EdiStatusList) { _OrderNumber = s.VBELN; _Log = "\r\n" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + " CreateOrderComfirm: Order Number:" + _OrderNumber; List <SOrder> _SOrderList = GetSapSalesHeaderList(s.VBELN); List <Edi_SalesItem> _SalesItemList = getSalesItemList(s.VBELN); List <Edi_SalesSchedule> _SalesScheduleList = getSalesScheduleList(s.VBELN); if (_SOrderList.Count > 0) { Edi_SalesHeader _Edi_SalesHeader = _SalesHeaderList.Where(x => x.OrderNumber == s.VBELN).First(); if (_edi_Customerlist.Where(x => x.SapCustomerId == _SOrderList.First().KUNNR).ToList().Count > 0) { Edi_Customer c = _edi_Customerlist.Where(x => x.SapCustomerId == _SOrderList.First().KUNNR).First(); _Edi_SalesOrder_855 = _855.LineItemStatus(_Edi_SalesHeader, _SOrderList, _SalesItemList, _SalesScheduleList); if (_855.ListError.Count == 0) { string _Mode = c.Mode == true ? "P" : "T"; if (c.Mode == _EdiMode)//PRD { string _855Msg = _855.X12_855(_Edi_SalesOrder_855, _Mode, c.ReceiverId); insertEdi_855(_Edi_SalesOrder_855); string _FileName = "855_" + _Edi_SalesOrder_855.Header.PURCH_NO_C + "_" + DateTime.Now.ToString("yyyyMMdd") + "_" + Guid.NewGuid().ToString("N") + ".edi"; string _EdiCustomerSend = c.RSSBus_PortId + "/Send"; //write edi file FtpFile.CopyTo("Edi", _EdiCustomerSend, _FileName, _855Msg); //upload to RSSBus send directory FtpFile.Upload("Edi", _EdiCustomerSend, _EdiBase, _FileName); if (c.Mode == true) { updateZSDT046(s.VBELN); } } } else { _Log = _Log + "\r\n" + _855.ListError[0]; logger.Error(_Log); txtLog.Text += _Log; } } } } } catch (Exception ex) { _Log = "\r\n" + DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss") + " OrderComfirm:Order Number:" + _OrderNumber + "\r\n" + ex.Message; logger.Error(_Log); txtLog.Text += _Log; } }