Cum să corecteze erorile acoperire de date care împiedică integrare raportare Management

IMPORTANT: Acest articol este tradus cu ajutorul software-ului Microsoft de traducere automată și poate fi corectat prin intermediul tehnologiei Community Translation Framework (CTF). Microsoft oferă articole traduse automat, post-editate de comunitate și articole traduse de oameni, pentru a permite accesul la toate articolele din Baza noastră de cunoștințe în mai multe limbi. Articolele traduse automat și post-editate pot conține greșeli de vocabular, sintaxă și/sau gramatică. Microsoft nu este responsabil de inexactitățile, erorile sau daunele cauzate de traducerea greșită a conținutului sau de utilizarea acestuia de către clienți. Găsiți mai multe informații despre traducerea în colaborare la http://support.microsoft.com/gp/machine-translation-corrections/ro.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 2931999
Rezumat
Acest articol furnizează pași pentru a executa un script Diagnostics.sql pentru 2012 de raportare Management pentru Microsoft Dynamics SL 2011. Acest script poate identifica erori acoperire de date care pot împiedica integrare de raportare Management succes. Erori acoperire de date poate provin din mai multe surse și poate provoca inconsistență între tabele sau crea câmp valori.

În The Bottom a acestui articol, de asemenea, există câteva scripturi folosit pentru a găsi minuscule datele care pot provoca probleme în MR.
Rezoluţie
Descărcați următorul fișier script, și apoi urmați acești pași pentru a executa scripturi împotriva bazei acoperire de date Microsoft Dynamics SL aplicație în raportare Management. Modificați tipul de ieșire la Text rezultat pentru vizualizare Proiect mai ușor.

Notă Această aceleași informații conținute în fișierul Diagnostics2.Sql, care este inclus în fișierul MR2.zip.

Important Întotdeauna face o copiere de rezervă a bazei acoperire de date înainte de a vă actualiza datele în Management Studio.

Pasul 1

  • Aveți mai multe monede ID configurat?

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

    Note
    • Nu = moneda unică
    • Da = mai multe monede care sunt configurate în monedă întreținere și aveți numărul listate
  • S-a activat MULTIVALUTAR?

    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

    Notă Acest script returnează fie "Activat" sau "Nu configurați."

Pasul 2

Căutați Înregistrare A de instalare monedă defecte. Evalua fiecare situație. Pentru ajutor pentru a face acest lucru, contactați asistența tehnică Microsoft Dynamics.
  • Acest lucru ar trebui să fie monedă de bază acoperire de date de aplicație:

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

  • Monedă de bază de Registrul Actual (echilibru type = "a") ar trebui să fie monedă de bază acoperire de date.

    Select 'Step2b',BaseCuryID,LedgerID, BalanceType from ledger with (nolock)
  • Domeniul BaseCuryID toți producătorii într-o anumită aplicație bază acoperire de date ar trebui să toate fi aceeași.

  • Acest script Arată domeniul BaseCuryID toate aplicație bazele acoperire de date care sunt asociate cu baza acoperire de date de sistem.

    Select 'Step2c',BaseCuryID, CpnyID, databasename from vs_company with (nolock)
  • Câmpul BaseCuryIDs ar trebui să existe în tabelul de întreținere monedă. Orice valute străine, de asemenea, ar trebui să existe în acest tabel.

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

Pasul 3

Căutați valori incorecte pentru câmpurile CuryID și ledgerIDîn înregistrările de tranzacții și rezumat. Aceste afirmații accesa numai înregistrările de top 100. Pentru a vedea toate înregistrările, eliminați cuvintele "top 100" de script.
  • Accthist care are un ID de monedă care nu este în tabelul de întreținere monedă.

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

    Remediere: Trebuie să actualizaţi câmpulCuryID pentru a se potrivi câmpul BaseCuryID . Cu toate acestea, este posibil să existe deja această înregistrare. În acest caz, veți primi mesajul 6909. Dacă se întâmplă acest lucru, determinați dacă înregistrarea este necesară.

  • Accthist care are un ID de monedă care se potrivesc cu Registrul de înregistrare (sau pentru un registru de care nu este în tabelul de registru).

    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

    Remediere: Actualizarea depinde de fiecare situație.

  • CuryAcct care are o CuryID nu în tabelul de întreținere monedă.

    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))

    Remediere: Actualizarea va depinde de fiecare situație. Trebuie să ștergeți înregistrarea mai târziu, dacă nu există nici Înregistrare A AcctHist corespunzătoare. De asemenea, trebuie să actualizaţi câmpul CuryID . Cu toate acestea, este posibil să existe deja această înregistrare. În acest caz, veți primi mesajul 6909. Dacă se întâmplă acest lucru, determinați dacă înregistrarea este necesară.

  • CuryAcct cu o BasecuryID care se potrivesc cu înregistrarea registrul (sau pentru un registru de care nu este în tabelul de registru).

    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

    Remediere: Actualizarea depinde de fiecare situație.

  • GLTran cu o CuryID nu în tabelul de întreținere monedă.

    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)

    Remediere: Actualizarea depinde de fiecare situație. Trebuie să actualizați câmpulCuryId la o valoare validă.

  • GLTran cu o valoare de câmp BaseCuryID care se potrivesc cu înregistrarea registrul (sau pentru un registru de care nu este în tabelul de registru).

    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

    Pentru a remedia: Update va depinde de fiecare situație. Trebuie să actualizați câmpulBaseCuryID la o valoare validă.

Pasul 4

Căutați înregistrări Rezumat nepotrivite.
  • Găsește înregistrările CuryAcct fără AcctHist înregistrări.

    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

    Remediere: Executa scriptul Fix4a.SQL din MR2.zip baze acoperire de date cu o singură monedă şi de mai multe monede dacă erori sunt raportate.

  • Găsiți Accthist fără CuryAcct înregistrări.

    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

    Remediere: Pentru bazele acoperire de date MULTIVALUTAR, fie inițializează Înregistrare A curyacct în modul de inițializare în GL > cont istoric sau post o tranzacție la acct/sub/registru/fiscyr/cpnyid/curyid. Pentru a crea sau actualiza o curyacct de înregistrare în jurnal contabil > cont istoric > monedă fila, trebuie să introduceți datele pentru fiecare perioadă. Atunci când creați un batch pentru a posta o tranzacţie cu contul, acest lucru ar trebui să creați Înregistrare A CuryAcct, care conține valorile pentru fiecare perioadă. Asigurați-vă că utilizați anul în care s-a raportat eroarea ca anul pentru a posta. Apoi, inversaţi comenzi pentru a elimina dolari din contul.

    Pentru o bază acoperire de date cu o singură monedă, deschide înregistrarea în jurnal contabil > cont istoric în timpul inițializării modul dacă există numai una sau două înregistrări. Modificați soldul de început o valoare, salvați înregistrarea, reveni-l și salvați din nou. Astfel, se creează înregistrarea curyacct. Sau, se poate executa scriptul din Pasul 6a din această secțiune.

  • GLTrans fără AcctHist

    Această interogare se va executa lent dacă există mai multe intrări gltrans și toate intrările sunt valide. (Interogarea efectiv se execută mai rapid dacă există date rău.)

    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

    Remediere: Evalua intrările de domeniu GLtrans . Dacă nu există nici Înregistrare A AcctHist, finanțe nu utilizați aceste tranzacții pentru rapoarte
  • Aceasta este de obicei, deoarece tranzacțiile sunt vechi. Se poate decide să le ștergeți sau să acționeze unele alte. Evaluați aceste intrări cu atenție.

Pasul 5

Căutați GLTrans înregistrările care au date nevalide sau puncte. Astfel de înregistrări poate provoca următoarele erori în raportare Management:
  • Textul erorii: anul, luna şi ziua parametrii descriu o unrepresentable DateTime.
  • Textul erorii: referința obiectului nu este setat la o instanță a unui obiect.
  • GLTrans înregistrările care au un câmp necompletat FiscYr .

    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')

    Pentru a remedia: să luăm în considerare actualizarea câmpul FiscYrbazat pe valoarea perpost.

  • GLTrans înregistrările care au o valoare perpost mult în afara o gamă normală.

    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')

    Remediere: Aceste loturi toate probabil va avea o perioadă viitoare pentru a posta. Aveți posibilitatea să deschideți aceste loturi în GL > Jurnalul de tranzacții în timpul inițializării modul.
    Ștergeți-le, modifica perioada pentru a posta sau prelucra, corespunzător.

  • GLTrans înregistrările care au o valoare transdate care este în prezent în afara o zonă normală (frecvent, având un an 2079).

    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'

    Remediere: Update trandate crtd_datetime. Acest script vă arată cum.

    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 înregistrări cu un câmp FiscYr mult în afara o gamă normală.

    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'

    Remediere: Acestea sunt înregistrările probabil nedorite. În manipularea datelor în trecut, poate ați setat anului fiscal pentru un an viitor pentru a păstra înregistrările pentru o versiune mai recentă revizuire posibile.

Pasul 6

Găsiți cazuri în care valorile din înregistrarea AcctHist nu se potrivesc cu valorile din înregistrarea CuryAcct .

Notă Executați acest angajament numai după ce s-au stabilit probleme în pașii de la 1 la 5.

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)

Pentru o bază acoperire de date cu o singură monedă, deschide înregistrarea în jurnal contabil > cont istoric în timpul inițializării modul dacă există numai câteva înregistrări. Modificarea unui echilibru începutul o valoare, salvați înregistrarea, reveni înregistrarea și salvați-l din nou. Acest lucru actualizează Curyacct pentru a corespunde înregistrarea Accthist . Dacă există mai multe înregistrări, executați scriptul ResetCuryAcctfromAcctHistStep6a.sql din fișierul MR2.zip.

Într-o bază acoperire de date MULTIVALUTAR, deschideți GL > cont istoric în timpul inițializării modul dacă există numai câteva înregistrări, și apoi faceți clic pe fila monedăcorecta fiecare perioadă individual, în funcție. Dacă există mai multe înregistrări, executați scriptul MultiCurrencyStep6aFix.sql din fișierul MR2.zip. Orice se modifică în înregistrarea de bazăCuryID .

După ce terminați Pasul 6, executați din nou scriptul Diagnostics2.SQL pentru a verifica faptul că nu mai are rapoarte de erori.



Script-uri suplimentare pentru a găsi minuscule datele care pot provoca probleme în MR.

Acest script caută mai multe înregistrări în cazul în care Company.DatabaseName nu au același caz (ex: SLDemoApp și SLDEMOAPP). Executați acest script pentru baza acoperire de date de sistem.

Selectați c.DatabaseName, c.CpnyID din companie c unire externă la stânga sys.databases sd pe c.DatabaseName COLLATE Latin1_General_CS_AS = sd.name COLLATE Latin1_General_CS_AS

în cazul în care sd.name este nul și DatabaseName în (Selectați c1. DatabaseName din companie c1 unire externă la stânga companie c2 pe c1. DatabaseName = c2. DatabaseName unde c1. DatabaseName = c2. DatabaseName și c1. DatabaseName COLLATE Latin1_General_CS_AS! = c2. DatabaseName COLLATE Latin1_General_CS_AS)

Pentru a remedia: actualizare databasename pentru a fi scris.




Acest script caută minuscule ID de companie și subaccount în tabelele accthist, curyacct și gltran. Executați acest script pentru baza acoperire de date de sistem.


DECLARA @DbName VARCHAR(50)
DECLARA @useStatement VARCHAR(256)
DECLARA @fullStatement VARCHAR(8000)

DECLARA db_cursor CURSOR pentru
Selectați DatabaseName distincte de companie

DESCHIDERE db_cursor
FETCH următoare din db_cursor în @DbName

ÎN marcă de timp CE @@FETCH_STATUS = 0
ÎNCEPE

set @DbName = LTRIM(RTRIM(@DbName))
set @useStatement = 'Utilizează' + @DbName + "
set @fullStatement = '
SELECTAȚI sub ca '' Sub - AcctHist-' + @DbName + ''', *
De la AcctHist
În cazul în care UPPER(sub) <> rândul COLLATE Latin1_General_CS_AS

SELECTAȚI sub ca '' Sub - GLTran-' + @DbName + ''', *
De la GLTran
În cazul în care UPPER(sub) <> rândul COLLATE Latin1_General_CS_AS


SELECTAȚI sub ca '' Sub - CuryAcct-' + @DbName + ''', *
De la CuryAcct
În cazul în care UPPER(sub) <> rândul COLLATE Latin1_General_CS_AS

SELECTAȚI CpnyID ca '' CpnyID - AcctHist-' + @DbName + ''', *
De la AcctHist
În cazul în care UPPER(CpnyID) <> CpnyID COLLATE Latin1_General_CS_AS

SELECTAȚI CpnyID ca '' CpnyID - GLTran-' + @DbName + ''', *
De la GLTran
În cazul în care UPPER(CpnyID) <> CpnyID COLLATE Latin1_General_CS_AS


SELECTAȚI CpnyID ca '' CpnyID - CuryAcct-' + @DbName + ''', *
De la CuryAcct
În cazul în care UPPER(CpnyID) <> CpnyID COLLATE Latin1_General_CS_AS


SELECTAȚI SUB ca '' Sub - SubAcct-' + @DbName + ''', * din SubAcct unde (SUB collate sql_latin1_general_cp1_cs_as <> upper(SUB))
sau (ConsolSub collate sql_latin1_general_cp1_cs_as <> upper(ConsolSub))
'

exec (@useStatement + @fullStatement)

FETCH următoare din db_cursor în @DbName
END

ÎNCHIDERE db_cursor
DEALLOCATE db_cursor




Pentru a remedia: dacă găsiți orice minuscule subaccounts executați acestea pentru a le pune majuscule.


actualizare GLTran set Sub = UPPER(Sub)

actualizare AcctHist set Sub = UPPER(Sub)

actualizare CuryAcct set Sub = UPPER(Sub)



Dacă găsiți orice mici companie ID-ul se poate executa acestea pentru a le pune majuscule.

actualizare accthist set cpnyid = UPPER(cpnyid) unde UPPER(CpnyID) <> Latin1_General_CS_AS CpnyID COLLATE

actualizare curyacct set cpnyid = UPPER(cpnyid) unde UPPER(CpnyID) <> Latin1_General_CS_AS CpnyID COLLATE

actualizare gltran set cpnyid = UPPER(cpnyid) unde UPPER(CpnyID) <> Latin1_General_CS_AS CpnyID COLLATE



Acest script caută minuscule LedgerID în tabelele accthist, curyacct și gltran. Executaţi acest script aplicația bazei acoperire de date.

SELECTAȚI TOP LedgerID 1 din AcctHist unde UPPER(LedgerID) <> LedgerID COLLATE Latin1_General_CS_AS

SELECTAȚI TOP LedgerID 1 din GLTran unde UPPER(LedgerID) <> LedgerID COLLATE Latin1_General_CS_AS

SELECTAȚI TOP LedgerID 1 din CuryAcct unde UPPER(LedgerID) <> LedgerID COLLATE Latin1_General_CS_AS



Pentru a remedia: dacă găsiți orice litere mici LedgerID pe executați acestea pentru a le pune majuscule.

actualizare GLTran set LedgerID = UPPER(LedgerID) unde LedgerID COLLATE Latin1_General_BIN ca '% [a-z]'

actualizare AcctHist set LedgerID = UPPER(LedgerID) unde LedgerID COLLATE Latin1_General_BIN ca '% [a-z]'

actualizare CuryAcct set LedgerID = UPPER(LedgerID) unde LedgerID COLLATE Latin1_General_BIN ca '% [a-z]'


Acest script caută minuscule CuryID în tabelele accthist, curyacct și gltran. Executaţi acest script aplicația bazei acoperire de date.

SELECTAȚI TOP CuryID 1 din AcctHist unde UPPER(CuryID) <> CuryID COLLATE Latin1_General_CS_AS

SELECTAȚI TOP CuryID 1 din GLTran unde UPPER(CuryID) <> CuryID COLLATE Latin1_General_CS_AS

SELECTAȚI TOP CuryID 1 din CuryAcct unde UPPER(CuryID) <> CuryID COLLATE Latin1_General_CS_AS



Pentru a remedia:2964624.

Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 2931999 - Ultima examinare: 06/17/2015 01:00:00 - Revizie: 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 KbMtro
Feedback