I am passing the Updateifexist flag .eventhough i got that issue..My code is as shown in below.look at once..please let me know if i miss anything.
taCreateItemVendors_ItemsTaCreateItemVendors[] itemvendor = new
taCreateItemVendors_ItemsTaCreateItemVendors[2];
itemvendor[0] = new taCreateItemVendors_ItemsTaCreateItemVendors();
itemvendor[0].ITEMNMBR = item.ITEMNMBR;
itemvendor[0].VNDITNUM = itemsList.Field<string>("3"); //For vendor Item
itemvendor[0].VENDORID = itemsList.Field<string>("37");
itemvendor[0].MINORQTY = Convert.ToDecimal(itemsList.Field<string>("154")); //For Min order
itemvendor[0].MAXORDQTY = Convert.ToDecimal(itemsList.Field<string>("156")); //For Max order
itemvendor[0].ECORDQTY = Convert.ToDecimal(itemsList.Field<string>("158")); //For Economic
itemvendor[0].ORDERMULTIPLE = Convert.ToDecimal(itemsList.Field<string>("160"));
itemvendor[0].UpdateIfExists = 1;
itemvendor[1] = new taCreateItemVendors_ItemsTaCreateItemVendors();
itemvendor[1].ITEMNMBR = item.ITEMNMBR;
itemvendor[1].VNDITNUM = itemsList.Field<string>("3"); //For vendor Item
itemvendor[1].VENDORID = DefaultVendorId;
itemvendor[1].MINORQTY = Convert.ToDecimal(itemsList.Field<string>("155")); //For Min order
itemvendor[1].MAXORDQTY = Convert.ToDecimal(itemsList.Field<string>("157")); //For Max order
itemvendor[1].ECORDQTY = Convert.ToDecimal(itemsList.Field<string>("159")); //For Economic order
itemvendor[1].ORDERMULTIPLE = Convert.ToDecimal(itemsList.Field<string>("161")); //For OrderMultiple order
itemvendor[1].UpdateIfExists = 1;