private void updateInvoice() { int k = dtDetail.Rows.Count; Hashtable oldDelWhs = new Hashtable(), oldTypeCode = new Hashtable(), oldPickWhs = new Hashtable(); for (int i = 0; i < k; i++) { oldDelWhs.Add(i, Convert.ToString(dtDetail.GetValue("DelWhs", i))); oldTypeCode.Add(i, Convert.ToString(dtDetail.GetValue("TypeCode", i))); oldPickWhs.Add(i, Convert.ToString(dtDetail.GetValue("PickWhs", i))); } mtDet.FlushToDataSource(); //if (!validateinput()) //{ // return; //} string DIERror = ""; string updatShipDate = ""; for (int i = 0; i < k; i++) { DateTime ndelDate = Convert.ToDateTime(dtDetail.GetValue("nDelDate", i)); DateTime deldate = Convert.ToDateTime(dtDetail.GetValue("DelDate", i)); if (ndelDate != deldate) { if (ndelDate < DateTime.Now.Date) { oApplication.SetStatusBarMessage("Old Delivery Date for Line : " + (i + 1).ToString()); return; } } } updatShipDate = ""; for (int i = 0; i < k; i++) { // updatShipDate += "Update inv1 set shipdate='" + Convert.ToString(dtDetail.GetValue("nDelDate", i)) + "', FreeTxt = 'what reading' where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ;"; string PickDate = Convert.ToString(dtDetail.GetValue("nPickDate", i)); string PickShift = dtDetail.GetValue("nPickShift", i); if (PickDate != "" && PickShift != "") { updatShipDate += "Update inv1 set U_DelTypCd = '" + Convert.ToString(dtDetail.GetValue("TypeCode", i)) + "' , shipdate='" + Convert.ToString(dtDetail.GetValue("nDelDate", i)) + "' , U_DelShift='" + Convert.ToString(dtDetail.GetValue("nDelShift", i)) + "',"; updatShipDate += " U_DeliveryWH ='" + Convert.ToString(dtDetail.GetValue("DelWhs", i)) + "',U_PickingWh='" + Convert.ToString(dtDetail.GetValue("PickWhs", i)) + "' , U_PickShift ='" + Convert.ToString(dtDetail.GetValue("nPickShift", i)) + "' , u_PickDate = '" + Convert.ToString(dtDetail.GetValue("nPickDate", i)) + "' where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ;"; } else { updatShipDate += "Update inv1 set U_DelTypCd = '" + Convert.ToString(dtDetail.GetValue("TypeCode", i)) + "' , shipdate='" + Convert.ToString(dtDetail.GetValue("nDelDate", i)) + "' , U_DeliveryWH ='" + Convert.ToString(dtDetail.GetValue("DelWhs", i)) + "',U_PickingWh='" + Convert.ToString(dtDetail.GetValue("PickWhs", i)) + "' , U_DelShift='" + Convert.ToString(dtDetail.GetValue("nDelShift", i)) + "' where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ;"; } } Program.objHrmsUI.ExecQuery(updatShipDate, "Temp Update Ship Date"); try { SAPbobsCOM.Documents ARInv = (SAPbobsCOM.Documents)oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices); ARInv.GetByKey(Convert.ToInt32(Convert.ToString(dtDetail.GetValue("DocEntry", 0)))); for (int i = 0; i < k; i++) { int lineNum = Convert.ToInt32(Convert.ToString(dtDetail.GetValue("LineNum", i))); ARInv.Lines.SetCurrentLine(i); try { // ARInv.Lines.ShipDate = Convert.ToDateTime(dtDetail.GetValue("nDelDate", i)); ARInv.Lines.UserFields.Fields.Item("U_DelTypCd").Value = Convert.ToString(dtDetail.GetValue("TypeCode", i)); ARInv.Lines.UserFields.Fields.Item("U_DelShift").Value = Convert.ToString(dtDetail.GetValue("nDelShift", i)); ARInv.Lines.UserFields.Fields.Item("U_DeliveryWH").Value = Convert.ToString(dtDetail.GetValue("DelWhs", i)); ARInv.Lines.UserFields.Fields.Item("U_PickingWh").Value = Convert.ToString(dtDetail.GetValue("PickWhs", i)); ARInv.Lines.UserFields.Fields.Item("U_PickShift").Value = Convert.ToString(dtDetail.GetValue("nPickShift", i)); if (Convert.ToString(dtDetail.GetValue("nPickDate", i)) != "") { ARInv.Lines.UserFields.Fields.Item("U_PickDate").Value = Convert.ToDateTime(dtDetail.GetValue("nPickDate", i)); } else { ARInv.Lines.UserFields.Fields.Item("U_PickDate").Value = ""; } // ARInv.Lines.FreeText = "What Reaching"; // ARInv.Lines.SetCurrentLine(lineNum); } catch (Exception ex) { oApplication.SetStatusBarMessage("Assigning Values : " + ex.Message); DIERror += "Assignment Error : " + ex.Message; } } int result = 0; result = ARInv.Update(); if (result != 0) { int errorCode = 0; string errmsg = ""; oCompany.GetLastError(out errorCode, out errmsg); oApplication.SetStatusBarMessage(errmsg); DIERror += errmsg; updatShipDate = ""; for (int i = 0; i < k; i++) { // updatShipDate += "Update inv1 set shipdate='" + Convert.ToString(dtDetail.GetValue("DelDate", i)) + "' where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ;"; string PickDate = Convert.ToString(dtDetail.GetValue("nPickDate", i)); string PickShift = dtDetail.GetValue("nPickShift", i); if (PickDate != "" && PickShift != "") { updatShipDate += "Update inv1 set U_DelTypCd = '" + oldTypeCode[i].ToString() + "' , shipdate='" + Convert.ToString(dtDetail.GetValue("DelDate", i)) + "' , U_DelShift='" + Convert.ToString(dtDetail.GetValue("DelShift", i)) + "',"; updatShipDate += " U_DeliveryWH ='" + oldDelWhs[i].ToString() + "',U_PickingWh='" + oldPickWhs[i].ToString() + "' , U_PickShift ='" + Convert.ToString(dtDetail.GetValue("PickShift", i)) + "' , u_PickDate = '" + Convert.ToString(dtDetail.GetValue("PickDate", i)) + "' where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ;"; } else { updatShipDate += "Update inv1 set U_DelTypCd = '" + oldTypeCode[i].ToString() + "' , shipdate='" + Convert.ToString(dtDetail.GetValue("DelDate", i)) + "' , U_DeliveryWH ='" + oldDelWhs[i].ToString() + "',U_PickingWh='" + oldPickWhs[i].ToString() + "' , U_DelShift='" + Convert.ToString(dtDetail.GetValue("DelShift", i)) + "' where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ;"; } } Program.objHrmsUI.ExecQuery(updatShipDate, "Temp Update Ship Date"); } else { for (int i = 0; i < k; i++) { string oinvHeader = ""; oinvHeader += " update oinv set header = isnull( convert(varchar,header),'') + ' Schedule Updated for " + Convert.ToString(dtDetail.GetValue("LineNum", i)) + " -" + Convert.ToString(dtDetail.GetValue("ItemCode", i)) + ". Old Values (" + Convert.ToString(dtDetail.GetValue("DelDate", i)) + "," + Convert.ToString(dtDetail.GetValue("DelShift", i)) + "," + Convert.ToString(dtDetail.GetValue("PickDate", i)) + "," + Convert.ToString(dtDetail.GetValue("PickShift", i)) + ") "; oinvHeader += " New Values (" + Convert.ToString(dtDetail.GetValue("nDelDate", i)) + "," + Convert.ToString(dtDetail.GetValue("nDelShift", i)) + "," + Convert.ToString(dtDetail.GetValue("nPickDate", i)) + "," + Convert.ToString(dtDetail.GetValue("nPickShift", i)) + ") ' where docentry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' "; Program.objHrmsUI.ExecQuery(oinvHeader, "Updating Remarks"); } } } catch (Exception ex) { DIERror = ex.Message; oApplication.SetStatusBarMessage("General Error !" + ex.Message + " Known Error " + DIERror, BoMessageTime.bmt_Short, false); updatShipDate = ""; for (int i = 0; i < k; i++) { // updatShipDate += "Update inv1 set shipdate='" + Convert.ToString(dtDetail.GetValue("DelDate", i)) + "' where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ; "; string PickDate = Convert.ToString(dtDetail.GetValue("nPickDate", i)); string PickShift = dtDetail.GetValue("nPickShift", i); if (PickDate != "" && PickShift != "") { updatShipDate += "Update inv1 set U_DelTypCd = '" + oldTypeCode[i].ToString() + "' , shipdate='" + Convert.ToString(dtDetail.GetValue("DelDate", i)) + "' , U_DelShift='" + Convert.ToString(dtDetail.GetValue("DelShift", i)) + "',"; updatShipDate += " U_DeliveryWH ='" + oldDelWhs[i].ToString() + "',U_PickingWh='" + oldPickWhs[i].ToString() + "' , U_PickShift ='" + Convert.ToString(dtDetail.GetValue("PickShift", i)) + "' , u_PickDate = '" + Convert.ToString(dtDetail.GetValue("PickDate", i)) + "' where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ;"; } else { updatShipDate += "Update inv1 set U_DelTypCd = '" + oldTypeCode[i].ToString() + "' , shipdate='" + Convert.ToString(dtDetail.GetValue("DelDate", i)) + "' , U_DeliveryWH ='" + oldDelWhs[i].ToString() + "',U_PickingWh='" + oldPickWhs[i].ToString() + "' , U_DelShift='" + Convert.ToString(dtDetail.GetValue("DelShift", i)) + "' where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' ;"; } } Program.objHrmsUI.ExecQuery(updatShipDate, "Temp Update Ship Date"); } //// Old Code /// /* * if (!validateinput()) * { * return; * } * int k = dtDetail.Rows.Count; * for (int i = 0; i < k; i++) * { * string updateLine=""; * string oinvHeader = ""; * string PickDate = Convert.ToString( dtDetail.GetValue("nPickShift",i)); * string PickShift = dtDetail.GetValue("nPickShift",i); * if(PickDate !="" && PickShift!="") * { * updateLine = "Update inv1 set U_DelTypCd = '" + Convert.ToString(dtDetail.GetValue("TypeCode", i)) + "' , shipdate='" + Convert.ToString(dtDetail.GetValue("nDelDate", i)) + "' , U_DelShift='" + Convert.ToString(dtDetail.GetValue("nDelShift", i)) + "',"; * updateLine += " U_DeliveryWH ='" + Convert.ToString(dtDetail.GetValue("DelWhs", i)) + "',U_PickingWh='" + Convert.ToString(dtDetail.GetValue("PickWhs", i)) + "' , U_PickShift ='" + Convert.ToString(dtDetail.GetValue("nPickShift", i)) + "' , u_PickDate = '" + Convert.ToString(dtDetail.GetValue("nPickDate", i)) + "' where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' "; * * } * else * { * updateLine = "Update inv1 set U_DelTypCd = '" + Convert.ToString(dtDetail.GetValue("TypeCode", i)) + "' , shipdate='" + Convert.ToString(dtDetail.GetValue("nDelDate", i)) + "' , U_DeliveryWH ='" + Convert.ToString(dtDetail.GetValue("DelWhs", i)) + "',U_PickingWh='" + Convert.ToString(dtDetail.GetValue("PickWhs", i)) + "' , U_DelShift='" + Convert.ToString(dtDetail.GetValue("nDelShift", i)) + "' where DocEntry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' and linenum='" + Convert.ToString(dtDetail.GetValue("LineNum", i)) + "' "; * } * oinvHeader += " update oinv set header = isnull( convert(varchar,header),'') + ' Schedule Updated for " + Convert.ToString(dtDetail.GetValue("LineNum", i)) + " -" + Convert.ToString(dtDetail.GetValue("ItemCode", i)) + ". Old Values (" + Convert.ToString(dtDetail.GetValue("DelDate", i)) + "," + Convert.ToString(dtDetail.GetValue("DelShift", i)) + "," + Convert.ToString(dtDetail.GetValue("PickDate", i)) + "," + Convert.ToString(dtDetail.GetValue("PickShift", i)) + ") "; * oinvHeader += " New Values (" + Convert.ToString(dtDetail.GetValue("nDelDate", i)) + "," + Convert.ToString(dtDetail.GetValue("nDelShift", i)) + "," + Convert.ToString(dtDetail.GetValue("nPickDate", i)) + "," + Convert.ToString(dtDetail.GetValue("nPickShift", i)) + ") ' where docentry = '" + Convert.ToString(dtDetail.GetValue("DocEntry", i)) + "' "; * * Program.objHrmsUI.ExecQuery(updateLine, "Updating Schedule"); * Program.objHrmsUI.ExecQuery(oinvHeader, "Updating Remarks"); * * * * } * * * *//// old Code Ended // oApplication.SetStatusBarMessage("Schedule Updated Successfully!", BoMessageTime.bmt_Short, false); if (DIERror == "") { oApplication.SetStatusBarMessage("Schedule Updated Successfully!", BoMessageTime.bmt_Short, false); loadInvoice(); } }