Freigeben über


Doppelte Datensätze werden in INTran während der Veröffentlichung der Bestellung erstellt.

Dieser Artikel bietet eine Lösung für das Problem, dass doppelte Bestandstransaktionen während der Veröffentlichung der Bestellung in Microsoft Dynamics SL erstellt werden.

Gilt für: Microsoft Dynamics SL
Ursprüngliche KB-Nummer: 2953073

Ursache

Dieses Problem kann auftreten, wenn Sie während des ProzessesBestellbatchfreigabe (04.400.00) für einen Batch, der Überbelege enthält, die einen Kauf fürwaren für Den Verkaufsauftrag verwenden, oder Nicht-Bestandsware drücken, wenn in der Detailzeile eine Projekt-ID enthalten ist.

Lösung

Ermitteln Sie den doppelten Datensatz in der INTran-Tabelle, und löschen Sie dann den doppelten Datensatz. Gehen Sie dazu wie folgt vor:

  1. Greifen Sie in Microsoft SQL Server Management Studio auf die entsprechende Anwendungsdatenbank zu. Führen Sie dann die folgende Anweisung aus, um zu bestimmen, ob doppelte Datensätze in der INTran-Tabelle vorhanden sind.

    SELECT InvtID, TranAmt, LineRef, RecordID, * FROM INTran WHERE BatNbr = '<XXXXXX>'
    

    Hinweis

    Ersetzen Sie in der -Anweisung den <Platzhalter XXXXXX durch> die Batchnummer.

  2. Überprüfen Sie die Ergebnisse, um zu ermitteln, ob doppelte Datensätze vorhanden sind. Wenn ein doppelter Datensatz vorhanden ist, führen Sie die folgende Anweisung aus, um ihn zu löschen.

    Hinweis

    Die recordid zu löschende wäre der HÖHER-Wert der doppelten Datensätze.

    Führen Sie zuerst folgendes aus:

    Begin Transaction
    

    Führen Sie als Nächstes folgendes aus:

    DELETE FROM INTran WHERE BatNbr = '<XXXXXX>' and RecordID = <YYYYYY>
    

    Hinweis

    Ersetzen Sie in der -Anweisung den <Platzhalter XXXXXX durch> die Batchnummer. Ersetzen Sie den <Platzhalter YYYYYYY> durch den RecordID-Wert des Datensatzes, den Sie löschen möchten.

    Beim Löschen sollte eine Zeile zurückgegeben werden.

    Führen Sie dies zuletzt aus:

    Commit transaction
    

    Wenn nicht nur eine Zeile gelöscht wird, führen Sie folgendes aus:

    Rollback transaction
    

    Wenn Sie mehrere Duplikate finden, müssen Sie das recordid (eindeutige) für die anderen Duplikate identifizieren und mit demselben Verfahren löschen.