private static void LoadUserFieldMDFromXmlFile(string xmlFileName) { SAPbobsCOM.UserFieldsMD userFieldsMD = null; GC.Collect(); xmlFileName = AppDomain.CurrentDomain.BaseDirectory + xmlFileName; int lErrCode = 0; int recordCount = sbo_company.GetXMLelementCount(xmlFileName); for (int iCounter = 0; iCounter <= recordCount - 1; iCounter++) { sbo_company.XmlExportType = SAPbobsCOM.BoXmlExportTypes.xet_ExportImportMode; userFieldsMD = ((SAPbobsCOM.UserFieldsMD)(sbo_company.GetBusinessObjectFromXML(xmlFileName, Convert.ToInt32(iCounter)))); lErrCode = userFieldsMD.Add(); if (lErrCode != 0 && lErrCode != -1120 && lErrCode != -5002) { if (lErrCode == -2035) { lErrCode = userFieldsMD.Update(); if (lErrCode == 0) { sbo_application.StatusBar.SetText($"UDF {userFieldsMD.Name} updated", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); } } else { sbo_application.StatusBar.SetText($"UDF {userFieldsMD.Name} not created | {sbo_company.GetLastErrorDescription()}", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } } if (lErrCode == 0) { sbo_application.StatusBar.SetText($"UDF {userFieldsMD.Name} created", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); } GC.Collect(); } }