How to add a Business Partner:
// Create an instance of the BP object SAPbobsCOM.BusinessPartners sboBP = (SAPbobsCOM.BusinessPartners)_sboCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners); // Set the basic properties sboBP.CardCode = "S00001"; sboBP.CardName = "New Supplier 1"; sboBP.CardType = SAPbobsCOM.BoCardTypes.cSupplier; // Set optional properties sboBP.CreditLimit = 100000; sboBP.Currency = "USD"; // Add the BP int iRetVal = sboBP.Add(); if(iRetVal != 0) { // Add failed so report error to user _sboApp.SetStatusBarMessage("Error creating BP: " + _sboCompany.GetLastErrorDescription(), SAPbouiCOM.BoMessageTime.bmt_Medium, true); }
How to add an address to an existing BP:
// Create an instance of the BP object SAPbobsCOM.BusinessPartners sboBP = (SAPbobsCOM.BusinessPartners)_sboCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners); // Use the GetByKey method to retrieve the existing BP if (sboBP.GetByKey("S00001")) { SAPbobsCOM.BPAddresses sboAddresses = (SAPbobsCOM.BPAddresses)sboBP.Addresses; // Check to see if addresses already exist if (sboAddresses.Count > 1) { sboAddresses.Add(); } else { // First address always exists, but may be blank sboAddresses.SetCurrentLine(0); if (sboAddresses.AddressName != "") sboAddresses.Add(); } sboAddresses.SetCurrentLine(sboAddresses.Count - 1); // Set the properties for the new address sboAddresses.AddressName = "Billing2"; sboAddresses.AddressType = SAPbobsCOM.BoAddressType.bo_BillTo; sboAddresses.Street = "789 Virtual Street"; sboAddresses.ZipCode = "1234"; // Update the BP int iRetVal = sboBP.Update(); if (iRetVal != 0) { // Update failed so report error to user _sboApp.SetStatusBarMessage("Error updating BP: " + _sboCompany.GetLastErrorDescription(), SAPbouiCOM.BoMessageTime.bmt_Medium, true); } } else { // BP wasn't found so report error _sboApp.SetStatusBarMessage("Unable to find S00001 in the database", SAPbouiCOM.BoMessageTime.bmt_Medium, true); }
How to update an existing address on a BP:
// Create an instance of the BP object SAPbobsCOM.BusinessPartners sboBP = (SAPbobsCOM.BusinessPartners)_sboCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oBusinessPartners); // Use the GetByKey method to retrieve the existing BP if (sboBP.GetByKey("S00001")) { SAPbobsCOM.BPAddresses sboAddresses = (SAPbobsCOM.BPAddresses)sboBP.Addresses; // Loop through the addresses to get to the correct address for (int i = 0; i <= sboAddresses.Count - 1; i++) { sboAddresses.SetCurrentLine(i); if (sboAddresses.AddressName == "Billing" && sboAddresses.AddressType == SAPbobsCOM.BoAddressType.bo_BillTo) { // This is the address I want to update so change the properties sboAddresses.Street = "765 Virtual Road"; break; } } // Update the BP int iRetVal = sboBP.Update(); if (iRetVal != 0) { // Update failed so report error to user _sboApp.SetStatusBarMessage("Error updating BP: " + _sboCompany.GetLastErrorDescription(), SAPbouiCOM.BoMessageTime.bmt_Medium, true); } } else { // BP wasn't found so report error _sboApp.SetStatusBarMessage("Unable to find S00001 in the database", SAPbouiCOM.BoMessageTime.bmt_Medium, true); }