Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Artikel enthält eine Lösung für den Objektverweis, der nicht auf eine Instanz eines Objektfehlers festgelegt ist, der in Microsoft Management Reporter 2012 für Microsoft Dynamics AX 2012 auftritt.
Gilt für: Microsoft Management Reporter 2012, Microsoft Dynamics AX 2012 R3
Ursprüngliche KB-Nummer: 2967363
Symptome
Sie erhalten den folgenden Fehler in den Integrationsprotokollen in der Management Reporter Configuration Console in Microsoft Management Reporter 2012 für Microsoft Dynamics AX 2012:
[AX 2012 Accounts to Account] Es ist ein Fehler aufgetreten. Die Verarbeitung wird abgebrochen. Fehlertext: Objektverweis wird nicht auf eine Instanz eines Objekts festgelegt.
Darüber hinaus kann der folgende Fehler auch im Ereignisanzeige angezeigt werden:
Ausnahme abgefangen: [System.NullReferenceException] Objektverweis nicht auf eine Instanz eines Objekts festgelegt. Stack-Trace:at
Microsoft.Dynamics.Integration.Adapters.AX2012GL.DataAccessHelper.GetEnumLabelId(EnumMetadata enumList, Nullable'1-Wert) bei
Microsoft.Dynamics.Integration.Adapters.AX2012GL.DataAccessHelper.GetEnumLabelId(EnumMetadata enumList, Nullable'1-Wert) bei
Microsoft.Dynamics.Integration.Adapters.AX2012GL.AX2012GLAdapter.GetEnumValueLabelString(String enumName, Nullable'1-Wert) bei
Microsoft.Dynamics.Integration.Adapters.AX2012GL.AccountObjectProvider.PopulateAccountAttributes(SqlDataReader accountReader) at
Microsoft.Dynamics.Integration.Adapters.AX2012GL.AccountObjectProvider.CreateAccount(SqlDataReader reader, Dimension mainAccountDimension, Int64 mainAccountRecId) at Microsoft.Dynamics.Integration.Adapters.AX2012GL.AccountObjectProvider.QueryAccountValues() at
Microsoft.Dynamics.Integration.Adapters.AX2012GL.AccountObjectProvider.ReadObjectKeys(DateTime modifiedDate) bei
Microsoft.Dynamics.Integration.Service.Tasks.MapWork.ReadObjectKeyList(DbMap map, DateTime queryDate, Int32& count)at
Microsoft.Dynamics.Integration.Service.Tasks.MapWork.ProcessRecordsImplementation(OperationType operationType)
Ursache
Dieses Problem tritt auf, da ein Posttyp, der in der Tabelle "MainAccount" in der AX-Datenbank vorhanden ist, aber nicht in der Anwendungsobjektstruktur (Application Object Tree, AOT) vorhanden ist.
Lösung
Gehen Sie folgendermaßen vor, um das Problem zu beheben:
Führen Sie die folgende SQL-Anweisung für die AX-Datenbank aus, um den Buchungstyp der Konten zu überprüfen:
select distinct (postingtype) from MainAccount
Melden Sie sich bei AX an, und überprüfen Sie die AOT. Um zu AOT zu wechseln, wählen Sie "Datenwörterbuch", dann "Base Enums" und schließlich "LedgerPostingType" aus. Überprüfen Sie die Eigenschaften der einzelnen Elemente, und notieren Sie sich die Tabelle "EnumValues".
Wenn Unterschiede zwischen der Tabelle "MainAccount" und der Tabelle "EnumValues" in AOT gefunden werden, müssen die Konten, die ungültige Buchungstypen enthalten, über einen gültigen Veröffentlichungstyp verfügen.
Verwenden Sie beispielsweise die folgende Anweisung, um die Tabelle "MainAccount" zu aktualisieren, in der in AOT kein ungültiger Veröffentlichungstyp von 255 vorhanden ist. Diese Anweisung legt den Buchungstyp auf die gültige Kategorie 0 fest.
update MainAccount set postingtype = 0 where postingtype = 255
Wenn Sie die Tabelle "MainAccount" aktualisieren, müssen Sie den Management Reporter Data Mart neu erstellen. Gehen Sie dazu wie folgt vor:
- Wählen Sie "Start" aus, öffnen Sie die Konfigurationskonsole auf dem Server.
- Wählen Sie im linken Navigationsbereich ERP-Integrationen aus.
- Wählen Sie die verwendete Integration aus, und deaktivieren Sie dann die Integration, indem Sie "Integration deaktivieren" auswählen.
- Wählen Sie "Entfernen" aus, um die ERP-Integration zu entfernen.
- Wählen Sie die Management Reporter Services in der linken Navigation aus, und stoppen Sie beide der Management Reporter-Dienste.
- Sichern und Löschen der DDB-Datenbank im Microsoft SQL Management Studio.
- Starten Sie die Management Reporter Services.
- Wählen Sie "Datei" und dann " Konfigurieren" aus, um die ERP-Integration erneut zu konfigurieren.
- Wenn die Integration konfiguriert ist, wählen Sie die Integration auf der linken Seite der Konfigurationskonsole aus, und wählen Sie dann "Integration aktivieren" aus.