System.Data.Entity.Core.EntityCommandExecutionException: An error occurred while executing the command definition. See the inner exception for details. ---> System.Data.SqlClient.SqlException: Invalid column name 'AlsoVisibleInDomains'.
   at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
   at System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
   at System.Data.SqlClient.SqlDataReader.get_MetaData()
   at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption, Boolean shouldCacheForAlwaysEncrypted)
   at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
   at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
   at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
   at System.Data.Entity.Infrastructure.Interception.InternalDispatcher`1.Dispatch[TTarget,TInterceptionContext,TResult](TTarget target, Func`3 operation, TInterceptionContext interceptionContext, Action`3 executing, Action`3 executed)
   at System.Data.Entity.Infrastructure.Interception.DbCommandDispatcher.Reader(DbCommand command, DbCommandInterceptionContext interceptionContext)
   at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
   --- End of inner exception stack trace ---
   at System.Data.Entity.Core.EntityClient.Internal.EntityCommandDefinition.ExecuteStoreCommands(EntityCommand entityCommand, CommandBehavior behavior)
   at System.Data.Entity.Core.Objects.Internal.ObjectQueryExecutionPlan.Execute[TResultType](ObjectContext context, ObjectParameterCollection parameterValues)
   at System.Data.Entity.Core.Objects.ObjectContext.ExecuteInTransaction[T](Func`1 func, IDbExecutionStrategy executionStrategy, Boolean startLocalTransaction, Boolean releaseConnectionOnSuccess)
   at System.Data.Entity.Core.Objects.ObjectQuery`1.<>c__DisplayClass41_0.<GetResults>b__0()
   at System.Data.Entity.SqlServer.DefaultSqlExecutionStrategy.Execute[TResult](Func`1 operation)
   at System.Data.Entity.Core.Objects.ObjectQuery`1.GetResults(Nullable`1 forMergeOption)
   at System.Data.Entity.Core.Objects.ObjectQuery`1.<System.Collections.Generic.IEnumerable<T>.GetEnumerator>b__31_0()
   at System.Data.Entity.Internal.LazyEnumerator`1.MoveNext()
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
   at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector)
   at MuME2.Data.Managers.CachingManagerBase`2.GetDictionary() in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\CachingManagerBase.cs:line 70
   at MuM.Foundation.Caching.Services.CustomCacheService.Get[T](String key, GetFromSourceDelegate`1 getDelegate) in D:\a\1\s\src\Foundation\Caching\code\Services\CustomCacheService.cs:line 260
   at MuME2.Data.Managers.CachingManagerBase`2.get_CachedDictionary() in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\CachingManagerBase.cs:line 72
   at MuME2.Data.Managers.CachingManagerBase`2.All() in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\CachingManagerBase.cs:line 67
   at MuME2.Data.Managers.EventTypeManager.All() in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\EventTypeManager.cs:line 26
   at MuME2.Data.Managers.EventTypeManager.SingleByName(String name) in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\EventTypeManager.cs:line 90
   at MuME2.Data.Managers.EventManager.SingleForDetails(Uri url) in D:\a\1\s\src\Legacy\MuME2.Core\Data\Managers\EventManager.cs:line 73
   at MuM.Project.Website.Services.SeoService.GetCurrentEvent() in D:\a\1\s\src\Project\Website\code\Services\SeoService.cs:line 216
   at MuM.Project.Website.Services.SeoService.GetCanonicalUrl(Base_Page page, String customHost) in D:\a\1\s\src\Project\Website\code\Services\SeoService.cs:line 188
   at MuM.Project.Website.Services.SeoService.RenderHrefLangTags(Base_Page page) in D:\a\1\s\src\Project\Website\code\Services\SeoService.cs:line 65
   at Mum.Relaunch.Web.Controllers.Framework.DefaultPageController.HtmlHead() in D:\a\1\s\src\Legacy\Mum.Relaunch.Web\Controllers\Framework\DefaultPageController.cs:line 111
   at lambda_method(Closure , ControllerBase , Object[] )
   at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c.<BeginInvokeSynchronousActionMethod>b__9_0(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
   at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__11_0()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_1.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass11_1.<InvokeActionMethodFilterAsynchronouslyRecursive>b__2()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_6.<BeginInvokeAction>b__3()
   at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass3_1.<BeginInvokeAction>b__5(IAsyncResult asyncResult)
    
HKM
Hüttenwerke Krupp Mannesmann

Vollendete Partnerschaft

Branchenübergreifende Zusammenarbeit bei Planung, Konstruktion und Infrastrukturmanagement beim Hüttenwerk Krupp Mannesmann in Duisburg

Als das Hüttenwerk Krupp Mannesmann (HKM) im Jahr 2010 mit MuM Kontakt aufnahm, wollte man nichts weniger als eine „Digitale Fabrik“. Diese Vision ist mittlerweile Wirklichkeit, und im Laufe der Zeit waren immer mehr MuM-Spezialisten aus verschiedenen Bereichen am Projekt beteiligt. HKM zeigt, dass interdisziplinäre Lösungen längst praxistauglich sind.
HKM in Duisburg Huckingen gehört zu den führenden Stahlherstellern in Europa. Das Unternehmen liefert Vormaterial von Brammen- und Rundstrangguss an die Gesellschafter Thyssen Krupp Steel AG, Salzgitter AG und Vallourec S.A.S, die daraus Fertigprodukte jeglicher Art herstellen. Auf dem 2,5 Quadratkilometer großen Werksgelände befinden sich ein Stahlwerk, Hochöfen, Produktionsanlagen, Lager, Büros, Straßen, Schienen, Grünflächen sowie ober- und unterirdische Leitungen aller Art. „Das Datenaufkommen über unsere Infrastruktur entspricht dem einer Kleinstadt“, erklärt Systemadministrator Christian Wüllenweber vom Team Vermessung, zuständig für Werkskarten und Dokumentation.

Eine „Kleinstadt“ in der Datenbank

Als HKM im Jahr 2010 mit dem Projekt „Digitale Fabrik“ begann, existierten noch etliche Pläne im Papierformat. Gleichzeitig gab es bereits eine Fülle digitaler Dokumentationen: Texte, Listen, kleinere, abteilungsweite Datenbanken und natürlich Konstruktionspläne für Maschinen und Anlagen. Die meisten dieser Pläne waren zwar schon mit CAD erstellt, jedoch nicht zentral gesammelt und wieder verteilt worden. Die Herausforderung bestand darin, den Daten einen eindeutigen Raumbezug zuzuordnen und alle geometrischen und alphanumerischen Informationen in einer gemeinsamen Datenbank dem ganzen Unternehmen zur Verfügung zu stellen. HKM entschied sich für die Zusammenarbeit mit Mensch und Maschine, weil das Systemhaus Know-how in allen beteiligten Branchen besitzt.

Infos für alle

2010/2011 entwickelte man mit MuM ein 2D-Werkskataster, das heute auch im HKM-Intranet verfügbar ist: Dort können sich Anwender z. B. auf eine Produktionshalle zoomen und Informationen über deren Größe, den Zeitpunkt der Errichtung, die Zahl der dort beschäftigten Mitarbeiter usw. ansehen. Möglichst viele Mitarbeiter sollten in der Lage sein, das Auskunftssystem für ihre spezifischen Aufgaben zu nutzen. 
Es galt also, die Funktionen auf das Wesentliche zu reduzieren und die Bedienung möglichst einfach zu machen. Aktuell wird ein hüttenweites 3D-Werksmodell aufgebaut, in dem die Daten aus dem 2D-Werkskataster mit den Daten aus SAP und den vorhandenen 3D-Konstruktionsmodellen verknüpft werden. So sind sie für die HKM-Intranetnutzer per Klick verfügbar. Für die Erzeugung, Bearbeitung und Verwaltung von Plänen sind heute etliche Lösungen von Autodesk im Einsatz: Map 3D, InfraWorks, Inventor, Plant 3D, Revit Architecture und Revit MEP. MuM MapEdit macht die Geometrie- und Sachdaten schnell und einfach verfügbar. Das Ergebnis ist ebenso erstaunlich wie erfreulich. Schon bald nach der Veröffentlichung kamen Fachabteilungen mit Ideen und Vorschlägen, welche spezifischen Informationen man zusätzlich aus den Daten gewinnen könne.

Laststreckenabrechnung

So werden auf dem Werksgelände zum Beispiel fast 200 verschiedene Stoffe in Lastwagen und Radladern transportiert, Schlacke, Sand, Kohle, Erze ... Diese Transporte werden kilometergenau mit dem Dienstleister abgerechnet. Die Abrechnungsabteilung hatte schnell erkannt, dass sie die Fahrstrecken in der Karte nachmessen konnte. Schöner wäre natürlich, diese sog. Laststrecken auch abzuspeichern.
Um diesen Wunsch zu erfüllen, brauchten die Administratoren nicht einmal die Unterstützung von MuM. Sie entwickelten ein Symbol für „Anfahrstellen“ und eine Möglichkeit, Fahrstrecken einzuzeichnen und zu speichern. Den Rest – also das Platzieren der 124 Anfahrstellen auf dem Gelände und das Einzeichnen der Strecken – erledigte die Fachabteilung.
Heute gehört die ausgedruckte Laststreckenkarte zu jedem Vertrag mit dem Dienstleister. Und wenn sich Strecken wegen einer längerfristigen Baustelle ändern, ermittelt die Abrechnungsabteilung mit ein paar Mausklicks die richtigen Kilometerwerte. Auch die interne Revision profitiert, denn die ermittelten Werte sind reproduzierbar und damit revisionssicher im System abgelegt.

ISyDiF wächst und wächst

Innerhalb von HKM hat das Projekt einen Namen: ISyDiF – Informationssystem Digitale Fabrik. Es besteht aus den Hauptteilen konstruktive Bearbeitung (Planung, Bestandsaktualisierung, Simulation etc.) und Informationssystem mit Verlinkungen zu GIS, SAP, 3D-Konstruktionsmodellen und Panoramen. Die Wunschliste der Fachabteilungen für neue Themenpläne ist lang. 
Auch bei MuM waren die Techniker überrascht vom gewaltigen Funktionsumfang des Systems. „Gelegentlich kommt HKM mit sehr spezifischen Fragen auf uns zu, und  manchmal brauchen wir schon ein paar Tage für die Umsetzung“, sagt Thomas Hiller, Projektleiter bei MuM. „Doch gemessen an den tatsächlichen Entwicklungen ist das eher selten. Das ist auch gut so, denn so können Kunden das System selbst ausbauen. Es ist schön zu sehen, dass es wirklich gut funktioniert.“
Hüttenwerke Krupp Mannesmann
 
 
Hüttenwerke Krupp Mannesmann