Freigeben über


Fehler "Unclosed anführungszeichen" beim Ausführen des Verlaufs der Altersabschreibung für die Verwaltung von Verbindlichkeiten

Dieser Artikel enthält eine Lösung für einen Fehler, der auftritt, wenn Sie den Bericht "Alter alter Teststand" für die Verwaltung der Verbindlichkeiten in Microsoft Dynamics GP ausführen.

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

Symptome

Wenn Sie den Bericht "Historical Aged Trial Balance (HATB)" für das Kreditorenmanagement ausführen, erhalten Sie eine der folgenden Fehlermeldungen:

Fehlermeldung 1 (für Gutschrift):

[Microsoft][ODBC SQL Server-Treiber][SQL Server]Zeile 1: Falsche Syntax in der Nähe von 'XXXXX'. [Microsoft][ODBC SQL Server-Treiber][SQL Server]Nicht markiertes Anführungszeichen vor der Zeichenzeichenfolge ' und DocumentType=5'.

Fehlermeldung 2 (für Zahlung):

[Microsoft][SQL Native Client][SQL Server]Falsche Syntax in der Nähe von 'S'[Microsoft][SQL Native Client][SQL Server] Nicht markiertes Anführungszeichen nach der Zeichenfolge ' und DocumentType = 6"

Es folgt die folgende Meldung:

Der gespeicherte proc pmHistoricalAgedTrialBalance hat die folgenden Ergebnisse zurückgegeben: DBMS: 105, Microsoft Dynamics GP: 0

Ursache

Dieses Problem tritt auf, wenn ein Gutschrifts- oder manuelles Zahlungsdokument mit einem Apostroph im Feld "Gutscheinnummer " eingegeben wird.

Lösung

Wenn die Gutscheinnummer oder Zahlungsnummer mit Sonderzeichen gepostet wird, um den HATB-Bericht erfolgreich zu drucken, können Sie ein Upgrade auf Microsoft Dynamics GP 18.7 durchführen.

Wenn Sie eine ealier-Version von Microsoft Dynamics GP verwenden, können Sie die folgenden Schritte ausführen:

  1. Führen Sie das folgende Skript in SQL für die Unternehmensdatenbank aus, um nach einer beliebigen Gutscheinnummer, Dokumentnummer oder Lieferanten-ID mit einem einzelnen Apostroph zu suchen, das vom Prozess als nicht belegte Anführungszeichen gelesen wird. Alle Ergebnisse für die Gutscheinnummer (CONTRLNUM) sind wahrscheinlich die Klausel, aber die Dokumentnummer und die Lieferanten-ID werden ebenfalls zum Skript hinzugefügt und sind möglicherweise kein Problem.

    SELECT * FROM PM00400
    WHERE 
    CNTRLNUM LIKE '%''%' or 
    DOCNUMBR LIKE '%''%' or 
    VENDORID LIKE '%''%' 
    

    Notiz

    Wenn das Problem mit der Lieferanten-ID auftritt, führen Sie die folgenden Schritte nicht aus. Sie können das Anbietermodifizierertool in der Professional Services Tools Library verwenden, um eine Anbieter-ID zu ändern.

  2. Führen Sie das Skript "ALL Payables " für jedes Ergebnis aus, das vom vorherigen Skript zurückgegeben wird. (Das Problem ist wahrscheinlich mit der Gutscheinnummer, da es sich um ein bearbeitbares Feld für den Benutzer handelt. Überprüfen Sie Die Einrichtung Ihrer Zahlungspflichten, um sicherzustellen, dass Sie kein Apostroph in der standardeinstellung für die nächste Gutscheinnummer haben.)

  3. Korrigieren Sie die Gutscheinnummer manuell mit einer direkten update Anweisung in SQL für alle Tabellen, die vom Skript ALL Payables zurückgegeben werden, um das einzelne Apostroph aus einer Gutscheinnummer und Dokumentnummer zu entfernen. Schreiben Sie das Feld unbedingt so, dass es in allen Feldern oder Tabellen, in denen Sie es ändern, identisch ist.

Weitere Informationen

Um zu verhindern, dass dieses Problem in Zukunft auftritt, können Sie das Feld "Gutscheinnummer " sperren, um zu verhindern, dass Benutzer die Gutscheinnummer ändern. Gehen Sie dazu wie folgt vor:

  1. Wählen Sie in Microsoft Dynamics GP die Option "Microsoft Dynamics GP>Tools>Einrichten von Einkaufszahlungen>">aus.

  2. Deaktivieren Sie das Kontrollkästchen "Gutscheinnummer bei Transaktionseingabe überschreiben", und wählen Sie dann "OK" aus.