Freigeben über


Fehler "Dieser Fertigungsauftrag hat eine ausstehende Komponententransaktion" beim Schließen eines Fertigungsauftrags

Dieser Artikel enthält Methoden zum Beheben der Fehlermeldung, die auftritt, wenn Sie versuchen, einen Fertigungsauftrag in Microsoft Dynamics GP zu schließen.

Gilt für: Microsoft Dynamics GP
Ursprüngliche KB-Nummer: 953438

Notiz

Bevor Sie die Anweisungen in diesem Artikel befolgen, stellen Sie sicher, dass Sie über eine vollständige Sicherungskopie der Datenbank verfügen, die Sie wiederherstellen können, wenn ein Problem auftritt.

Symptome

Wenn Sie versuchen, einen vollständigen Fertigungsauftrag im Fenster "Fertigungsauftrag schließen" oder im Fenster "Fertigungsauftragsstatus bearbeiten" in Microsoft Dynamics GP und in Microsoft Business Solutions - Great Plains zu schließen, erhalten Sie die folgende Fehlermeldung:

Dieser Fertigungsauftrag verfügt über eine ausstehende Komponententransaktion. Weitere Informationen finden Sie unter Auswählen des Dokuments XXXXX.

Notiz

XXXXXX ist ein Platzhalter für die Auswahldokumentnummer.

Ursache

Dieses Problem kann aus einem der folgenden Gründe auftreten:

  • Gespeicherte, nicht veröffentlichte Auswahldokumente sind für den Fertigungsauftrag (MO) vorhanden. Siehe Entschließung 1.
  • Die Tabelle MOP1400 (MOP_Picklist_Site_QTY) enthält ausstehende Mengen, die von Daten in anderen Fertigungstabellen nicht unterstützt werden. Siehe Entschließung 2.

Lösung 1

Um dieses Problem zu beheben, verwenden Sie ein SQL-Abfragetool, um nicht gepostete Kommissionierdokumente zu suchen und zu veröffentlichen. Gehen Sie dazu wie folgt vor:

  1. Starten Sie die Supportadministratorkonsole, microsoft SQL Query Analyzer oder SQL Server Management Studio. Verwenden Sie dazu eine der folgenden Methoden, je nach dem von Ihnen verwendeten Programm.

    • Methode 1 : Für das SQL Server-Desktopmodul

      Wenn Sie sql Server Desktop Engine (auch als MSDE 2000 bezeichnet) verwenden, starten Sie die Supportadministratorkonsole. Wählen Sie dazu "Start" aus, zeigen Sie auf "Alle Programme", zeigen Sie auf die Microsoft-Administratorkonsole, und wählen Sie dann "Support-Administratorkonsole" aus.

    • Methode 2 – Für SQL Server 2000

      Wenn Sie SQL Server 2000 verwenden, starten Sie sql Query Analyzer. Wählen Sie dazu "Start" aus, zeigen Sie auf "Alle Programme", zeigen Sie auf Microsoft SQL Server, und wählen Sie dann "Abfrageanalyse" aus.

    • Methode 3 – für SQL Server 2005

      Wenn Sie SQL Server 2005 verwenden, starten Sie SQL Server Management Studio. Wählen Sie dazu "Start" aus, zeigen Sie auf "Alle Programme", zeigen Sie auf Microsoft SQL Server 2005, und wählen Sie dann SQL Server Management Studio aus.

  2. Führen Sie das folgende Skript für die Unternehmensdatenbank aus:

    Select PICKNUMBER from MOP1210 where MANUFACTUREORDER_I = 'XXXX'
    and MANUFACTUREORDER_I in (select MANUFACTUREORDER_I from MOP1400 
    where MANUFACTUREORDER_I in (select MANUFACTUREORDER_I where PENDING_REV_ISS_QTY_I > 0 
    or PENDING_ISSUE_QTY_I > 0 or PENDING_SCRAP_QTY_I > 0 or PENDING_REV_SCRAP_QTY_I > 0))
    and TRX_TYPE in (1,2,5,6) and PICKNUMBER in (select PICKNUMBER from MOP1200 where POSTED = 0)
    

    Notiz

    In diesem Skript müssen Sie den XXXX-Platzhalter durch die Fertigungsauftragsnummer ersetzen.

  3. Ergebnisse, die das Skript in Schritt 2 zurückgibt, geben an, dass ein nicht gepostetes Auswahldokument vorhanden ist. Führen Sie die folgenden Schritte aus, um das Auswahldokument zu posten oder die Elemente aus dem Auswahldokument zu entfernen:

    1. Zeigen Sie im Menü "Transaktionen" auf "Fertigung", zeigen Sie auf "Fertigungsaufträge", und wählen Sie dann "Component Trx Entry" aus.
    2. Wählen Sie in der Liste "Herstellungsauswahlnummer " die Dokumentnummer aus Schritt 2 aus.
    3. Führen Sie einen der folgenden Schritte aus:
      • Wenn Sie die Elemente posten möchten, wählen Sie "Alle markieren" und dann "Posten" aus.

      • Wenn Sie die Elemente nicht veröffentlichen möchten, aktivieren Sie das Kontrollkästchen neben jeder Elementnummer, wählen Sie "Bearbeiten" und dann " Zeile löschen" aus.

        Notiz

        Wenn alle Elemente aus dem Auswahldokument entfernt werden, müssen Sie das Auswahldokument nicht posten.

Lösung 2

Die MOP1400 Tabelle kann eine ausstehende Menge für ein Auswahldokument enthalten, auch wenn keine ausstehenden Dokumente vorhanden sind. Verwenden Sie zum Beheben dieses Problems ein SQL-Abfragetool, um die MOP1400 Tabelle zu aktualisieren. Gehen Sie dazu wie folgt vor:

  1. Starten Sie die Supportadministratorkonsole, microsoft SQL Query Analyzer oder SQL Server Management Studio. Verwenden Sie dazu eine der folgenden Methoden, je nach dem von Ihnen verwendeten Programm.

    • Methode 1 : Für das SQL Server-Desktopmodul

      Wenn Sie sql Server Desktop Engine (auch als MSDE 2000 bezeichnet) verwenden, starten Sie die Supportadministratorkonsole. Wählen Sie dazu "Start" aus, zeigen Sie auf "Alle Programme", zeigen Sie auf die Microsoft-Administratorkonsole, und wählen Sie dann "Support-Administratorkonsole" aus.

    • Methode 2 – Für SQL Server 2000

      Wenn Sie SQL Server 2000 verwenden, starten Sie sql Query Analyzer. Wählen Sie dazu "Start" aus, zeigen Sie auf "Alle Programme", zeigen Sie auf Microsoft SQL Server, und wählen Sie dann "Abfrageanalyse" aus.

    • Methode 3 – für SQL Server 2005

      Wenn Sie SQL Server 2005 verwenden, starten Sie SQL Server Management Studio. Wählen Sie dazu "Start" aus, zeigen Sie auf "Alle Programme", zeigen Sie auf Microsoft SQL Server 2005, und wählen Sie dann SQL Server Management Studio aus.

  2. Führen Sie die folgenden Skripts für die Unternehmensdatenbank aus:

    select PENDING_ISSUE_QTY_I, MANUFACTUREORDER_I from MOP1400 where PENDING_ISSUE_QTY_I > 0 and MANUFACTUREORDER_I = 'MOxxx' 
    select PENDING_REV_ISS_QTY_I, MANUFACTUREORDER_I from MOP1400 where PENDING_REV_ISS_QTY_I > 0 and MANUFACTUREORDER_I = 'MOxxx' 
    select PENDING_SCRAP_QTY_I, MANUFACTUREORDER_I from MOP1400 where PENDING_SCRAP_QTY_I > 0 and MANUFACTUREORDER_I = 'MOxxx' 
    select PENDING_REV_SCRAP_QTY_I, MANUFACTUREORDER_I from MOP1400 where PENDING_REV_SCRAP_QTY_I > 0 and MANUFACTUREORDER_I = 'MOxxx'
    

    Notiz

    In diesem Skript müssen Sie den MOxxx-Platzhalter durch die Fertigungsauftragsnummer ersetzen.

  3. Ergebnisse, die aus dem Skript in Schritt 2 zurückgegeben werden, geben an, dass die MOP1400 Tabelle aktualisiert werden muss. Führen Sie die folgenden Skripts für die Unternehmensdatenbank aus:

    update MOP1400 set PENDING_ISSUE_QTY_I = 0 where PENDING_ISSUE_QTY_I > 0 and MANUFACTUREORDER_I = 'xxxx' 
    update MOP1400 set PENDING_REV_ISS_QTY_I = 0 where PENDING_REV_ISS_QTY_I > 0 and MANUFACTUREORDER_I = 'xxxx'
    update MOP1400 set PENDING_SCRAP_QTY_I = 0 where PENDING_SCRAP_QTY_I > 0 and MANUFACTUREORDER_I = 'xxxx' 
    update MOP1400 set PENDING_REV_SCRAP_QTY_I = 0 where PENDING_REV_SCRAP_QTY_I > 0 and MANUFACTUREORDER_I = 'xxxx' 
    

    Notiz

    In diesem Skript müssen Sie den xxxx-Platzhalter durch die Fertigungsauftragsnummer ersetzen.