ServiceTier-Fehlermeldung: Auftragserfassung nicht möglich

15. April 2013 12:54

Wir haben nun mehrfach das Problem gehabt, dass einzelne Nutzer keine Aufträge mehr erfassen konnten. Die Fehlermeldung des Benutzers war, dass keine Verbindung mehr zum Server besteht.
Es wird Build 33793 eingesetzt.

Im Ereignislog des ServiceTiers wurden zwei Einträge verzeichnet:

1.
Service: MicrosoftDynamicsNavServer
User: .\Stumm
Type: Microsoft.Dynamics.Nav.Types.Exceptions.NavFatalCSideException
Message: Die Verbindung mit dem Server wurde aufgrund des folgenden Problems getrennt. Verkaufskopf existiert nicht. Identifizierende Felder und Werte: Belegart='Auftrag',Nr.='''' Belegart: Auftrag, Nr.: '' [83951621]
StackTrace: bei Microsoft.Dynamics.Nav.Runtime.NavApplicationMethod.InvokeMethod(Object obj, String methodName, Object[] args)
Source: Microsoft.Dynamics.Nav.Ncl
----------------------------------
Type: System.Reflection.TargetInvocationException
Message: Ein Aufrufziel hat einen Ausnahmefehler verursacht.
StackTrace:
bei System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
bei System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
bei System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
bei System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
bei Microsoft.Dynamics.Nav.Runtime.NavApplicationMethod.InvokeMethod(Object obj, String methodName, Object[] args)
Source: mscorlib
----------------------------------
Type: Microsoft.Dynamics.Nav.Types.Exceptions.NavFatalCSideException
Message: Die Verbindung mit dem Server wurde aufgrund des folgenden Problems getrennt. Verkaufskopf existiert nicht. Identifizierende Felder und Werte: Belegart='Auftrag',Nr.='''' Belegart: Auftrag, Nr.: '' [83951621]
StackTrace:
bei Microsoft.Dynamics.Nav.Runtime.NavRuntimeAdapter.ErrorHandler(Int32 errorCode, Int32 errorNumber, Int32 moduleNumber, String errorText)
bei Microsoft.Dynamics.Nav.Runtime.NativeMethods.AdapterValidateFieldNoFlowValidation(IntPtr connectionHandle, UInt32[] serverIndirectPermissions, IntPtr tableHandle, IntPtr recHandle, Int32 fieldNo, Boolean isUserInput)
bei Microsoft.Dynamics.Nav.Runtime.NavRecord.ValidateField(NavFieldEvent fieldEvent, NCLMetaField metaField, Boolean isUserInput)
bei Microsoft.Dynamics.Nav.Runtime.NavRecord.Validate(NCLMetaField metaField, NavValue newValue, NavRecord callerRecord, Boolean isUserInput)
bei Microsoft.Dynamics.Nav.Runtime.NavRecord.ValidateFields(IEnumerable`1 fieldNumbers, NavRecord callerRecord)
bei Microsoft.Dynamics.Nav.Runtime.NavForm.NewRecord(Boolean belowXRec)
Source: Microsoft.Dynamics.Nav.Ncl
----------------------------------
Type: Microsoft.Dynamics.Nav.Types.Exceptions.NavCSideException
ErrorCode: 83951621
ErrorNumber: 5
ModuleNumber: 1
SuppressMessage: False
FatalityScope: None
Message: Verkaufskopf existiert nicht. Identifizierende Felder und Werte: Belegart='Auftrag',Nr.='''' Belegart: Auftrag, Nr.: ''


Und 2.

Service: MicrosoftDynamicsNavServer
User: .\Stumm
Type: Microsoft.Dynamics.Nav.Types.Exceptions.NavFatalCSideException
Message: Die Verbindung mit dem Server wurde aufgrund des folgenden Problems getrennt. Verkaufskopf existiert nicht. Identifizierende Felder und Werte: Belegart='Auftrag',Nr.='''' Belegart: Auftrag, Nr.: '' [83951621]
StackTrace:
bei Microsoft.Dynamics.Nav.Runtime.NavApplicationMethod.InvokeMethod(Object obj, String methodName, Object[] args)
bei Microsoft.Dynamics.Nav.Service.NSFormApplicationCode.Invoke(NavConnection connection)
bei Microsoft.Dynamics.Nav.Service.NSService.<>c__DisplayClass3f.<InvokeFormApplicationMethod>b__3e(Connection connection)
bei Microsoft.Dynamics.Nav.Service.NSService.ExecuteOperation[T](String operationName, ServiceOperation`1 operation, Connection connection, Boolean revertLanguageChanges, WindowsIdentity impersonationIdentity)
Source: Microsoft.Dynamics.Nav.Ncl
----------------------------------
Type: System.Reflection.TargetInvocationException
Message: Ein Aufrufziel hat einen Ausnahmefehler verursacht.
StackTrace:
bei System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
bei System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
bei System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
bei System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
bei Microsoft.Dynamics.Nav.Runtime.NavApplicationMethod.InvokeMethod(Object obj, String methodName, Object[] args)
Source: mscorlib
----------------------------------
Type: Microsoft.Dynamics.Nav.Types.Exceptions.NavFatalCSideException
Message: Die Verbindung mit dem Server wurde aufgrund des folgenden Problems getrennt. Verkaufskopf existiert nicht. Identifizierende Felder und Werte: Belegart='Auftrag',Nr.='''' Belegart: Auftrag, Nr.: '' [83951621]
StackTrace:
bei Microsoft.Dynamics.Nav.Runtime.NavRuntimeAdapter.ErrorHandler(Int32 errorCode, Int32 errorNumber, Int32 moduleNumber, String errorText)
bei Microsoft.Dynamics.Nav.Runtime.NativeMethods.AdapterValidateFieldNoFlowValidation(IntPtr connectionHandle, UInt32[] serverIndirectPermissions, IntPtr tableHandle, IntPtr recHandle, Int32 fieldNo, Boolean isUserInput)
bei Microsoft.Dynamics.Nav.Runtime.NavRecord.ValidateField(NavFieldEvent fieldEvent, NCLMetaField metaField, Boolean isUserInput)
bei Microsoft.Dynamics.Nav.Runtime.NavRecord.Validate(NCLMetaField metaField, NavValue newValue, NavRecord callerRecord, Boolean isUserInput)
bei Microsoft.Dynamics.Nav.Runtime.NavRecord.ValidateFields(IEnumerable`1 fieldNumbers, NavRecord callerRecord)
bei Microsoft.Dynamics.Nav.Runtime.NavForm.NewRecord(Boolean belowXRec)
Source: Microsoft.Dynamics.Nav.Ncl
----------------------------------
Type: Microsoft.Dynamics.Nav.Types.Exceptions.NavCSideException
ErrorCode: 83951621
ErrorNumber: 5
ModuleNumber: 1
SuppressMessage: False
FatalityScope: None
Message: Verkaufskopf existiert nicht. Identifizierende Felder und Werte: Belegart='Auftrag',Nr.='''' Belegart: Auftrag, Nr.: ''


Hat jemand eine Idee, woran das liegen kann?
Vielen Dank im Voraus.

Re: ServiceTier-Fehlermeldung: Auftragserfassung nicht mögli

15. April 2013 13:05

Wenn ich das Protokoll richtig lese, wird gerade versucht, einen neuen Datensatz (Verkaufskopf) anzulegen. Beim Validieren eines Feldes meldet das System: "Verkaufskopf existiert nicht. Identifizierende Felder und Werte: Belegart='Auftrag',Nr.='''' Belegart: Auftrag, Nr.: ''

Könnte es sein, dass ihr auf dem Feld "Nr." (Tabelle oder Page) eine TableRelation hinterlegt habt? Oder habt ihr sonst Anpassungen in diesem Bereich?

Re: ServiceTier-Fehlermeldung: Auftragserfassung nicht mögli

16. April 2013 09:08

Das Problem trat beim Anlegen eines neuen Auftrag auf. Es kam und ging ohne weiteres Zutun. Es schaukelte sich auf alle an dem ServiceTier angemeldeten User auf und war dann plötzlich weg.

Re: ServiceTier-Fehlermeldung: Auftragserfassung nicht mögli

23. April 2013 17:23

Ich hatte dieses Problem auch gerade (in Buildversion 34087), vielen Dank für den Eintrag.
Ein Neustart des Dienstes für den RTC hat bei mir geholfen.
Viel Erfolg.
Ich werde das weiter beobachten und neue Erkenntnisse teilen...