Datenfehler zu beheben, die die Integration von Management Reporter verhindern

Wichtig: Dieser Artikel wurde maschinell übersetzt und wird dann möglicherweise mithilfe des Community Translation Framework (CTF) von Mitgliedern unserer Microsoft Community nachbearbeitet. Weitere Informationen zu CTF finden Sie unter http://support.microsoft.com/gp/machine-translation-corrections/de.

Den englischen Originalartikel können Sie über folgenden Link abrufen: 2931999
Zusammenfassung
Dieser Artikel enthält eine schrittweise Anleitung zum Ausführen eines Diagnostics.sql-Skripts für Management Reporter 2012 für Microsoft Dynamics SL 2011. Dieses Skript kann Datenfehler zu identifizieren, die erfolgreichen Integration von Management Reporter verhindern können. Datenfehler können aus vielen Quellen stammen möglicherweise verursachen Inkonsistenzen zwischen Tabellen und ungültige Feldwerte zu erstellen.

Am Ende dieses Artikels sind auch einige Skripts zur Kleinbuchstabe Daten finden, die Probleme in HERR führen kann.
Lösung
Herunterladen Sie die folgende Skriptdatei, und befolgen Sie diese Schritte, um die Skripts für die Datenbank für Microsoft Dynamics SL-Anwendung im Management Reporter ausgeführt. Ändern Sie den Ausgabetyp in Textausgabe für einfacheres betrachten.

Hinweis Diese Informationen ist in der Datei Diagnostics2.Sql enthalten, die in der Datei MR2.zip enthalten ist.

Wichtig Stellen Sie immer eine Sicherung der Datenbank vor dem Aktualisieren von Daten in Management Studio.

Schritt 1

  • Haben Sie mehr als eine Währungs ID einrichten?

    Select 'Step1a', CASE WHEN COUNT(*)>1 then 'YES' else 'NO' end, count(*) from currncy with (nolock)

    Hinweise
    • Nein = einheitliche Währung
    • Ja = mehrere Währungen, die in Währung Wartung eingerichtet und die Nummer
  • Ist Mehrfachwährung aktiviert?

    Select top 1 'Step1b',case isnull((select MAX(mcactivated) from cmsetup),-99) WHEN 1 then 'ENABLED' when -99 then 'NOT SETUP' else 'NOT ENABLED' end

    Hinweis Dieses Skript gibt entweder "Enabled" oder "Nicht eingerichtet."

Schritt 2

Eine ungültige Währung Setup-Datensatz suchen. Bewerten Sie jede Situation. Hilfe hierzu erhalten Sie technischen Support für Microsoft Dynamics.
  • Dies sollte der Basiswährung der Anwendungsdatenbank:

    Select 'Step2a',BaseCuryId from glsetup with (nolock)

  • Die Basiswährung des Sachkontos tatsächliche (Saldotyp = 'a') sollte die Basiswährung der Datenbank sein.

    Select 'Step2b',BaseCuryID,LedgerID, BalanceType from ledger with (nolock)
  • Das BaseCuryID -Feld von allen Mandanten in der Datenbank eine bestimmte Anwendung sollten identisch sein.

  • Mit diesem Skript wird die BaseCuryID für alle Datenbanken, die mit der Datenbank verbunden sind.

    Select 'Step2c',BaseCuryID, CpnyID, databasename from vs_company with (nolock)
  • Das Feld BaseCuryIDs sollte in der Tabelle Währung Wartung vorhanden sein. Alle Fremdwährungen sollte auch in dieser Tabelle vorhanden sein.

    Select 'Step2d',curyid from currncy with (nolock)

Schritt 3

Suchen Sie nach falsche Werte für die Felder CuryID und LedgerIDin den Datensätzen Transaktion und Zusammenfassung. Diese Anweisungen auf nur die ersten 100 Datensätze zugreifen. Um alle Datensätze anzuzeigen, entfernen Sie die Wörter "Top 100" aus dem Skript.
  • Accthist, die eine Währungs ID verfügt, die nicht in der Tabelle Währung Wartung ist.

    Select top 100 'Step3a',CpnyID, LedgerID, FiscYr, Acct, SUB, CuryId, * from accthist with (nolock) where CuryId not in (select CuryId from Currncy with (nolock))

    Update: Möglicherweise das FeldCuryID Feld BaseCuryID entsprechend zu aktualisieren. Dieser Datensatz kann jedoch bereits vorhanden sein. In diesem Fall wird eine 6909 angezeigt. In diesem Fall ermitteln Sie, ob der Datensatz erforderlich ist.

  • Accthist, die eine Währungs ID verfügt, die nicht im Sachkonto Datensatz (oder für ein Sachkonto, das nicht in der Sachkontotabelle) entsprechen.

    Select top 100 'Step3b',a.CpnyID, a.LedgerID, a.FiscYr, a.Acct, a.SUB, a.CuryId, l.BaseCuryID,* from accthist a with (nolock) left join Ledger l with (nolock) on a.LedgerID=l.LedgerID where l.LedgerID is null OR l.BaseCuryID<>a.CuryId

    Update: Das Update auf jede Situation abhängt.

  • CuryAcct, die nicht in der Tabelle Währung Wartung einer CuryID hat.

    Select top 100 'Step3c',CpnyID, LedgerID, FiscYr, Acct, SUB,BaseCuryID, CuryId, * from curyacct with (nolock) where CuryId not in (select CuryId from Currncy with (nolock))

    Update: Das Update ist jede Situation abhängig. Sie müssen möglicherweise später den Datensatz zu löschen, wenn keine entsprechende AcctHist-Datensatz vorhanden ist. Sie möglicherweise auch das CuryID -Feld zu aktualisieren. Dieser Datensatz kann jedoch bereits vorhanden sein. In diesem Fall wird eine 6909 angezeigt. In diesem Fall ermitteln Sie, ob der Datensatz erforderlich ist.

  • CuryAcct mit einer BasecuryID, die nicht den Sachkonto-Datensatz (oder für ein Sachkonto, das nicht in der Sachkontotabelle ist).

    Select top 100 'Step3d',c.CpnyID, c.LedgerID, c.FiscYr, c.Acct, c.SUB,c.BaseCuryID, c.CuryId,l.BaseCuryID, * from curyacct c with (nolock) left join Ledger l with (nolock) on c.LedgerID=l.LedgerID where l.LedgerID is null OR c.BaseCuryID<>l.BaseCuryId

    Update: Das Update auf jede Situation abhängt.

  • GLTran mit einem CuryID nicht in der Tabelle Währung Wartung.

    Select top 100 'Step3e',CpnyID, LedgerID, FiscYr, Acct, SUB,BaseCuryID, CuryId,* from gltran with (nolock) where Posted='P' and CuryId not in (select CuryId from Currncy)

    Update: Das Update auf jede Situation abhängt. Sie müssen das FeldCuryId auf einen gültigen Wert zu aktualisieren.

  • GLTran mit einem BaseCuryID Feldwert, der nicht mit den Finanzbuchhaltung Datensatz entspricht (oder für ein Sachkonto, das nicht in der Sachkontotabelle ist).

    Select top 100 'Step3f',g.CpnyID, g.LedgerID, g.FiscYr, g.Acct, g.SUB, g.BaseCuryID, g.CuryId, * from gltran g with (nolock) left join Ledger l with (nolock) on g.LedgerID=l.LedgerID where g.Posted='P' and g.LedgerID is null OR l.BaseCuryID<>g.BaseCuryId

    Beheben: Update wird jede Situation abhängen. Sie müssen das FeldBaseCuryID auf einen gültigen Wert zu aktualisieren.

Schritt 4

Nicht übereinstimmende Datensätze gesucht.
  • Suchen Sie CuryAcct-Datensätze ohne AcctHist Datensätze.

    Select top 100 'Step4a',c.CpnyID, c.LedgerID, c.FiscYr, c.Acct, c.Sub, c.BaseCuryID, c.CuryId,*from CuryAcct c with (nolock)left join AcctHist a with (nolock) on c.CpnyID=a.CpnyID and c.Acct=a.Acct and c.Sub=a.Sub and c.LedgerID=a.LedgerID and c.FiscYr=a.FiscYrwhere a.CpnyID is null order by c.CpnyID, c.Acct, c.SUB, c.ledgerid, c.FiscYr

    Update: Führen das Skript Fix4a.SQL aus MR2.zip auf einzelne Währung und Multi-Currency-Datenbanken, wenn Fehler gemeldet werden.

  • Accthist ohne CuryAcct Datensätze zu finden.

    Select top 100 'Step4b',a.CpnyID, a.LedgerID, a.FiscYr, a.Acct, a.Sub, a.CuryId, *from AcctHist a with (nolock)left join Curyacct c with (nolock) on c.CpnyID=a.CpnyID and c.Acct=a.Acct and c.Sub=a.Sub and c.LedgerID=a.LedgerID and c.FiscYr=a.FiscYrwhere a.BalanceType='A' and c.CpnyID is null order by a.CpnyID, a.Acct, a.SUB, a.ledgerid, a.FiscYr

    Update: Für Fremdwährungs-Datenbanken entweder initialisieren ein Curyacct Datensatzes in den Initialisierungsmodus im Hauptbuch > Firmenhistorie oder Buchen einer Transaktion an die Acct/Sub/Sachkonto/Fiscyr/Cpnyid/Curyid. Zum Erstellen oder Aktualisieren eines Datensatzes Curyacct im Hauptbuch > Kontoverlauf > Registerkarte Währung müssen, geben Sie die Daten für die einzelnen Perioden. Wenn Sie Batch an einer Buchung auf das Konto erstellen, sollte dies einen Datensatz CuryAcct erstellen, der Werte für jede Periode enthält. Stellen Sie sicher, dass Sie das Jahr der Fehler als das Jahr für die Buchung verwenden. Kehren Sie dann den Stapel, um die Dollar aus dem Konto zu entfernen.

    Bei einer einzigen Währung-Datenbank öffnen Sie den Datensatz im Hauptbuch > Kontoverlauf während Initialisierungsmodus, wenn nur ein oder zwei Datensätze vorhanden sind. Ändern Sie das Anfangssaldo, indem Sie einen Betrag, speichern Sie den Datensatz zu, rückgängig zu machen Sie und dann erneut speichern. Dadurch wird den Curyacct-Datensatz erstellt. Oder führen Sie das Skript in Schritt 6a in diesem Abschnitt.

  • GLTrans ohne AcctHist

    Diese Abfrage wird langsam ausgeführt, wenn viele Gltrans Einträge und alle Einträge gültig sind. (Die Abfrage tatsächlich wird schneller ausgeführt, wenn fehlerhafte Daten vorhanden sind.)

    Select top 100 'Step4c',g.CpnyID, g.LedgerID, g.FiscYr, g.Acct, g.Sub, g.BaseCuryID, g.CuryId,* from GLTran g with (nolock)left join AcctHist a with (nolock) on g.CpnyID=a.CpnyID and g.Acct=a.Acct and g.Sub=a.Sub and g.LedgerID=a.LedgerID and g.FiscYr=a.FiscYrinner join vs_company c with (nolock) on g.CpnyID=c.CpnyID and c.CpnyCOA in (select CpnyID from glsetup with (nolock)) -- only companies in this application DBwhere g.posted='P' and a.CpnyID is null order by g.CpnyID, g.LedgerID, g.FiscYr, g.Acct, g.Suboption (force order) -- added for performance in larger databases

    Update: Die GLtrans Einträge ausgewertet werden. Ist kein AcctHist-Datensatz, verwenden die Finanzdaten nicht diese Buchungen für Berichte
  • Dies ist in der Regel werden die alten. Sie können entscheiden, zu löschen oder eine andere Aktion ausführen. Bewerten Sie diese Einträge sorgfältig.

Schritt 5

Suchen Sie nach GLTrans-Datensätze, die ungültige Daten oder Punkte enthalten. Diese Datensätze können die folgenden Fehler in Management Reporter führen:
  • Fehlertext: Parametern für Jahr, Monat und Tag beschreiben eine nicht darstellbare DateTime.
  • Fehlertext: Objektverweis ist nicht auf eine Instanz eines Objekts festgelegt.
  • GLTrans-Datensätze, die leeres FiscYr Feld.

    Select top 100 'Step5a',CpnyID, LedgerID, FiscYr, Acct, Sub, perpost, perent, trandate, Posted, Rlsed, BatNbr, Module, * from GLTran with (nolock) where FiscYr='' and (Rlsed=1 or Posted='P')

    Beheben: sollten Sie das FiscYrFeld basierend auf dem Perpost-Wert.

  • GLTrans-Datensätze, die einen Perpost-Wert enthalten, der weit über einen normalen Bereich ist.

    Select top 100 'Step5b',CpnyID, LedgerID, FiscYr, Acct, Sub, perpost, perent, trandate, Posted, Rlsed, BatNbr, Module, *from GLTran with (nolock) where (PerPost>='204812' or PerPost<='195001') and (Rlsed=1 or Posted='P')

    Update: Diese Batches müssen alle wahrscheinlich eine zukünftige Periode buchen. Sie können diese Stapel im Hauptbuch öffnen > Erfassungsbuchungen während der Initialisierung.
    Löschen Sie sie, ändern Sie den Zeitraum bis zum Buchen oder verarbeiten sie nach Bedarf.

  • GLTrans-Datensätze, die einen Transdate-Wert, der weit über einen normalen Bereich aufweisen (häufig mit einem 2079 Jahr).

    Select top 100 'Step5c',CpnyID, LedgerID, FiscYr, Acct, Sub, perpost, perent, trandate,Posted, Rlsed, BatNbr, Module, *from GLTran with (nolock) where (trandate>='01/01/2048' or trandate<='01/01/1950') and (Rlsed=1 or Posted='P') and TranDate<>'1/1/1900'

    Update: Aktualisieren Sie Trandate auf Crtd_datetime. Dieses Skript zeigt, wie.

    update gltran set trandate=crtd_datetime where (trandate>='01/01/2048' or trandate<='01/01/1950') and (Rlsed=1 or Posted='P') and TranDate<>'1/1/1900' 

  • AcctHist-Datensätze mit einem Feld FiscYr weit außerhalb einer normalen Bereich.

    Select top 100 'Step5d',a.CpnyID, a.LedgerID, a.FiscYr, a.Acct, a.Sub, a.CuryId, *from AcctHist a with (nolock) where a.FiscYr>'2048' or a.FiscYr<'1950'

    Update: Dies sind möglicherweise unerwünschter Datensätze. In der Datenverarbeitung in der Vergangenheit, Sie möglicherweise das Geschäftsjahr in ein zukünftiges Jahr die Aufbewahrungsfristen für später gegebenenfalls eine Überprüfung festgelegt.

Schritt 6

Suchen Sie nach Instanzen, in denen Beträge in der AcctHist -Datensatz nicht die Beträge in der CuryAcct -Datensatz übereinstimmen.

Hinweis Führen Sie diese Anweisung nur, nachdem Sie die Probleme in den Schritten 1 bis 5 behoben wurden.

select top 1000 'Step6a', a.CpnyID, a.Acct, a.Sub, a.LedgerID, a.FiscYr, c.numCuryAcct, a.BegBal, c.begbal, a.PtdBal00, c.ptdbal00, a.PtdBal01, c.ptdbal01, a.PtdBal02, c.ptdbal02,   a.PtdBal03, c.ptdbal03, a.PtdBal04, c.ptdbal04, a.PtdBal05, c.ptdbal05, a.PtdBal06, c.ptdbal06, a.PtdBal07, c.ptdbal07, a.PtdBal08, c.ptdbal08,   a.PtdBal09, c.ptdbal09, a.PtdBal10, c.ptdbal10, a.PtdBal11, c.ptdbal11, a.PtdBal12, c.ptdbal12, a.ytdBal00, c.ytdbal00, a.ytdBal01, c.ytdbal01,  a.ytdBal02, c.ytdbal02, a.ytdBal03, c.ytdbal03, a.ytdBal04, c.ytdbal04, a.ytdBal05, c.ytdbal05, a.ytdBal06, c.ytdbal06, a.ytdBal07, c.ytdbal07,   a.ytdBal08, c.ytdbal08, a.ytdBal09, c.ytdbal09, a.ytdBal10, c.ytdbal10, a.ytdBal11, c.ytdbal11, a.ytdBal12, c.ytdbal12  from AcctHist a inner join (select count(*) as numCuryAcct, CpnyID, Acct, Sub, LedgerID, FiscYr, SUM(begbal) as begbal, SUM(ptdbal00) as ptdbal00, SUM(ptdbal01) as ptdbal01, SUM(ptdbal02) as ptdbal02, SUM(ptdbal03) as ptdbal03, SUM(ptdbal04) as ptdbal04, SUM(ptdbal05) as ptdbal05, SUM(ptdbal06) as ptdbal06, SUM(ptdbal07) as ptdbal07, SUM(ptdbal08) as ptdbal08, SUM(ptdbal09) as ptdbal09, SUM(ptdbal10) as ptdbal10, SUM(ptdbal11) as ptdbal11,SUM(ptdbal12) as ptdbal12, SUM(ytdbal00) as ytdbal00, SUM(ytdbal01) as ytdbal01, SUM(ytdbal02) as ytdbal02, SUM(ytdbal03) as ytdbal03, SUM(ytdbal04) as ytdbal04, SUM(ytdbal05) as ytdbal05, SUM(ytdbal06) as ytdbal06, SUM(ytdbal07) as ytdbal07, SUM(ytdbal08) as ytdbal08, SUM(ytdbal09) as ytdbal09, SUM(ytdbal10) as ytdbal10, SUM(ytdbal11) as ytdbal11, SUM(ytdbal12) as ytdbal12from curyacct group by CpnyID, Acct, Sub, LedgerID, FiscYr) c   on a.CpnyID=c.CpnyID and a.Acct=c.Acct and a.Sub=c.Sub and a.LedgerID=c.LedgerID and a.FiscYr=c.FiscYr  where round(a.BegBal,2)<>round(c.begbal,2) or round(a.PtdBal00,2)<>round(c.PtdBal00,2) or round(a.PtdBal01,2)<>round(c.PtdBal01,2) or   round(a.PtdBal02,2)<>round(c.PtdBal02,2) or round(a.PtdBal03,2)<>round(c.PtdBal03,2) or round(a.PtdBal04,2)<>round(c.ptdbal04,2) or   round(a.PtdBal05,2)<>round(c.PtdBal05,2) or round(a.PtdBal06,2)<>round(c.PtdBal06,2) or round(a.PtdBal07,2)<>round(c.PtdBal07,2) or   round(a.PtdBal08,2)<>round(c.PtdBal08,2) or round(a.PtdBal09,2)<>round(c.PtdBal09,2) or round(a.PtdBal10,2)<>round(c.PtdBal10,2) or   round(a.PtdBal11,2)<>round(c.PtdBal11,2) or round(a.PtdBal12,2)<>round(c.PtdBal12,2) or round(a.ytdBal00,2)<>round(c.ytdBal00,2) or   round(a.ytdBal01,2)<>round(c.ytdBal01,2) or round(a.ytdBal02,2)<>round(c.ytdBal02,2) or round(a.ytdBal03,2)<>round(c.ytdBal03,2) or   round(a.ytdBal04,2)<>round(c.ytdbal04,2) or round(a.ytdBal05,2)<>round(c.ytdBal05,2) or round(a.ytdBal06,2)<>round(c.ytdBal06,2) or   round(a.ytdBal07,2)<>round(c.ytdBal07,2) or round(a.ytdBal08,2)<>round(c.ytdBal08,2) or round(a.ytdBal09,2)<>round(c.ytdBal09,2) or   round(a.ytdBal10,2)<>round(c.ytdBal10,2) or round(a.ytdBal11,2)<>round(c.ytdBal11,2) or round(a.ytdBal12,2)<>round(c.ytdBal12,2)

Bei einer einzigen Währung-Datenbank öffnen Sie den Datensatz im Hauptbuch > Kontoverlauf während Initialisierungsmodus, wenn nur wenige Datensätze vorhanden sind. Ändern Sie das Anfangssaldo, indem Sie gewisse, speichern Sie den Datensatz, wiederherzustellen Sie den Datensatz und speichern Sie es dann erneut. Dadurch wird den Curyacct -Datensatz entsprechend den Accthist -Datensatz aktualisiert. Wenn viele Datensätze vorhanden sind, führen Sie das Skript ResetCuryAcctfromAcctHistStep6a.sql aus der Datei MR2.zip.

Öffnen Sie in einer Datenbank Mehrfachwährung GL > Kontoverlauf während Initialisierungsmodus Wenn gibt es nur wenige Datensätze, und klicken Sie dann auf die Registerkarte Währungjeder Periode einzeln entsprechend korrigieren. Wenn viele Datensätze vorhanden sind, führen Sie das Skript MultiCurrencyStep6aFix.sql aus der Datei MR2.zip. Änderung des Basis-CuryID -Datensatzes.

Nach Abschluss von Schritt 6 erneut ausführen Sie, das Diagnostics2.SQL-Skript, um sicherzustellen, dass es nicht mehr Fehler gemeldet werden.



Zusätzliche Skripts Kleinbuchstabe Daten suchen, die in HERRN Probleme verursachen können.

Dieses Skript sucht für mehrere Datensätze, in denen die Company.DatabaseName den gleichen Fall haben nicht (ex: SLDemoApp und SLDEMOAPP). Führen Sie dieses Skript für die Systemdatenbank.

Wählen Sie c.DatabaseName, c.CpnyID von Unternehmen C linke äußere Verknüpfung sys.databases sd auf c.DatabaseName sortieren Latin1_General_CS_AS = sd.name Latin1_General_CS_AS sortieren

Wenn sd.name null ist und DatabaseName (select C1. DatabaseName von Unternehmen c1 linke äußere Verknüpfung Unternehmen c2 auf c1. DatabaseName = c2. DatabaseName, c1. DatabaseName = c2. Datenbankname und c1. DatabaseName COLLATE Latin1_General_CS_AS! = c2. DatabaseName COLLATE Latin1_General_CS_AS)

Zu beheben: Aktualisieren der Datenbankname um nur Großbuchstaben verwendet werden.




Dieses Skript sucht nach Kleinbuchstaben Firmenkennung und zugehörige Firma in den Tabellen Accthist, Curyacct und Gltran. Führen Sie dieses Skript für die Systemdatenbank.


@DbName VARCHAR(50) deklarieren
Deklarieren von @useStatement varchar(256)-Wert
@FullStatement vom Datentyp VARCHAR(8000) deklarieren

DECLARE CURSOR für db_cursor
Wählen Sie unterschiedliche DatabaseName von Unternehmen

Offene db_cursor
FETCH NEXT FROM Db_cursor INTO @DbName

BEI @@FETCH_STATUS = 0
BEGINNEN

Legen Sie @DbName = LTRIM(RTRIM(@DbName))
Set @useStatement = 'USE' + @DbName + ''
Set @fullStatement = '
Wählen Sie Sub als "Sub - AcctHist-' + @DbName + ''', *
VON AcctHist
WHERE-UPPER(sub) <> sub Latin1_General_CS_AS sortieren

Wählen Sie Sub als "Sub - GLTran-' + @DbName + ''', *
VON GLTran
WHERE-UPPER(sub) <> sub Latin1_General_CS_AS sortieren


Wählen Sie Sub als "Sub - CuryAcct-' + @DbName + ''', *
VON CuryAcct
WHERE-UPPER(sub) <> sub Latin1_General_CS_AS sortieren

Wählen Sie CpnyID als "CpnyID - AcctHist-' + @DbName + ''', *
VON AcctHist
Wo UPPER(CpnyID) <> CpnyID COLLATE Latin1_General_CS_AS

Wählen Sie CpnyID als "CpnyID - GLTran-' + @DbName + ''', *
VON GLTran
Wo UPPER(CpnyID) <> CpnyID COLLATE Latin1_General_CS_AS


Wählen Sie CpnyID als "CpnyID - CuryAcct-' + @DbName + ''', *
VON CuryAcct
Wo UPPER(CpnyID) <> CpnyID COLLATE Latin1_General_CS_AS


Wählen Sie SUB als '' Sub - SubAcct-' + @DbName + ''', * von SubAcct, in denen (SUB collate-sql_latin1_general_cp1_cs_as <> upper(SUB))
oder (collate-ConsolSub sql_latin1_general_cp1_cs_as <> upper(ConsolSub))
'

EXEC (@useStatement + @fullStatement)

FETCH NEXT FROM Db_cursor INTO @DbName
ENDE

Schließen db_cursor
DEALLOCATE-db_cursor




Zum Korrigieren: Wenn Sie alle Kleinbuchstaben Firmen finden können Sie ausführen, um sie Großbuchstaben setzen.


Aktualisieren GLTran legen Sie Sub = UPPER(Sub)

Aktualisieren AcctHist legen Sie Sub = UPPER(Sub)

Aktualisieren CuryAcct legen Sie Sub = UPPER(Sub)



Wenn Sie alle Kleinbuchstaben finden Unternehmen IDs können Sie ausführen, um sie Großbuchstaben setzen.

Aktualisieren von Accthist Set Cpnyid = UPPER(cpnyid), UPPER(CpnyID) <> CpnyID sortieren Latin1_General_CS_AS

Aktualisieren von Curyacct Set Cpnyid = UPPER(cpnyid), UPPER(CpnyID) <> CpnyID sortieren Latin1_General_CS_AS

Aktualisieren von Gltran Set Cpnyid = UPPER(cpnyid), UPPER(CpnyID) <> CpnyID sortieren Latin1_General_CS_AS



Dieses Skript sucht nach Kleinbuchstaben LedgerID in den Accthist, Curyacct und Gltran. Führen Sie dieses Skript für die Anwendungsdatenbank.

SELECT TOP 1 LedgerID aus AcctHist, UPPER(LedgerID) <> LedgerID COLLATE Latin1_General_CS_AS

SELECT TOP 1 LedgerID aus GLTran, UPPER(LedgerID) <> LedgerID COLLATE Latin1_General_CS_AS

SELECT TOP 1 LedgerID aus CuryAcct, UPPER(LedgerID) <> LedgerID COLLATE Latin1_General_CS_AS



Zum Korrigieren: Wenn finden Sie alle Kleinbuchstaben des LedgerID können Sie ausführen, um sie Großbuchstaben setzen.

Update GLTran set LedgerID = UPPER(LedgerID), wie LedgerID COLLATE Latin1_General_BIN '% [a-Z]'

Update AcctHist set LedgerID = UPPER(LedgerID), wie LedgerID COLLATE Latin1_General_BIN '% [a-Z]'

Update CuryAcct set LedgerID = UPPER(LedgerID), wie LedgerID COLLATE Latin1_General_BIN '% [a-Z]'


Dieses Skript sucht nach Kleinbuchstaben CuryID in den Accthist, Curyacct und Gltran. Führen Sie dieses Skript für die Anwendungsdatenbank.

SELECT TOP 1 CuryID aus AcctHist, UPPER(CuryID) <> CuryID COLLATE Latin1_General_CS_AS

SELECT TOP 1 CuryID aus GLTran, UPPER(CuryID) <> CuryID COLLATE Latin1_General_CS_AS

SELECT TOP 1 CuryID aus CuryAcct, UPPER(CuryID) <> CuryID COLLATE Latin1_General_CS_AS



Um zu beheben:2964624.

Warnung: Dieser Artikel wurde automatisch übersetzt.

Eigenschaften

Artikelnummer: 2931999 – Letzte Überarbeitung: 06/15/2015 13:05:00 – Revision: 7.0

Microsoft Dynamics SL 2011 Service Pack 2, Microsoft Dynamics SL 2011 Service Pack 1, Microsoft Dynamics SL 2011 Feature Pack 1, Microsoft Dynamics SL 2011

  • kbmbsmigrate kbsurveynew kbmt KB2931999 KbMtde
Feedback