Sümptomid
Teil on microsoft Dynamics GP-s dubleeritud või ristsidunud märkmeid.Selles artiklis on toodud skript, mida saab kasutada konkreetsele ettevõttele määratud suurima märkmeregistri määramiseks. Samuti saate seda kasutada järgmise märkuse indeksi väärtuse lähtestamiseks järgmisele suuremale arvule. See takistab edaspidiste märkmeregistrite ristsidumist või valeks jäämist.See ei paranda märkmeindekseid, mis on juba valed.
Põhjustada
Järgmine juhttabeli (SY01500) märkmeregister on seatud liiga madalaks, mistõttu uued kirjed saavad märkmeindekseid, mis on teistega samad.Resolutsioon 1. Varundage DYNAMICS ja kõik ettevõtte andmebaasid.2. Käivitage dubleeritud või rist lingitud märkmeid sisaldava ettevõtteandmebaasi kohta järgmine lause.Märkus Kui kasutate päringuanalüsaatorit, käivitage lause SQL Query Analyzeris. Päringuanalüsaatori avamiseks klõpsake nuppu Start , osutage valikule Programmid , Microsoft SQL Server ja seejärel klõpsake nuppu Päringuanalüsaator . Kui kasutate Microsoft SQL Server Management Studio, käivitage avaldus Microsoft SQL Server Management Studio. Management Studio avamiseks klõpsake nuppu Start , osutage käsule Programmid , osutage käsule Microsoft SQL Server 2005/2008/2012 ja seejärel klõpsake nuppu SQL Server Management Studio . Skripti käivitamiseks klõpsake nuppu Uus päring .
--------------------------------------------- /*** FindMaxNoteIndex.SQL ** **Eesmärk: ** ** Leidke kõigist tabelitest (sh Project Accounting) noteINDX-i maksimumväärtus. ** ** See skript peab olema suunatud ettevõttele, kus märkmed on valed.** see värskendab teie SY01500 automaatselt õigele järgmisele märkmeregistrile.** */ kui see on olemas (valige *, valige tempdb.). sysobjects, kus nimi = '##GPSMaxNote') drop table dbo.##GPSMaxNote määrake väärtuseks 0,0 create table ##GPSMaxNote (MaxNoteIndex numeric(19;5) null) Minna----------------------- deklareeri @cStatement muutuvpikkusega diagramm(255) /* väärtus t_cursor */ arvuline @noteidx deklareerimine(19,5) deklareeri @database muutuvpikkusega 5 määrake @database = cast(db_name() muutuvpikkusega täpiks(5))/* Hankige tabelid, millel on veerunimi NOTEINDX. */kuuluta T_cursor kursor select 'declare @NoteIndex numeric(19;5) select @NoteIndex = max(' +c.name+ ') from ' + o.name + ' insert ##GPSMaxNote values(@NoteIndex)' from sysobjects o, syscolumns c kus o.id = c.id ja o.type = 'U' ja (c.name = 'NOTEINDX' või c.name like '%noteidx%' või c.name like '%niteidx%' või c.name ='NOTEINDX2')/* Ok, meil on tabelite loend. Nüüd hankige igast tabelist noteINDX-i maksimumväärtus. */ T_cursor avamine T_cursor kõrvalt @cStatement toomine samal ajal (@@fetch_status <> -1) Alustada exec (@cStatement) toomine T_cursor kõrvalt @cStatement Lõpuks deallocate T_cursor/* Kuva maksimaalne märkuse indeks */ select 'Max Note Index:', max(MaxNoteIndex) from ##GPSMaxNote where MaxNoteIndex is not null/* Update Next Note Index */ dynamicsi kasutamine määrake @noteidx = (valige max(MaxNoteIndex) asukohast ##GPSMaxNote kus MaxNoteIndex pole tühi) update SY01500 määrake NOTEINDX = (@noteidx + 1,0), kus INTERID=@database määrake konto välja-------------------------------------------------------------------------- See leiab kõigi ettevõtete maksimaalse märkmeregistri ja värskendab seejärel SY01500 tabelit, et märkmed edaspidi ristsiduvateks ei läheks.3. Korrake 2. toimingut iga ettevõtteandmebaasi puhul, millel on ristseotud märkmeregistrid. See artikkel oli TechKnowledge dokumendi ID: 4837
KEHTIB JÄRGMISELE:
|
• |
Microsoft Dynamics GP 9.0 |
|
• |
Microsoft Business Solutions –Great Plains 8.0 |
|
• |
Microsoft Business Solutions –Great Plains 7.5 |
|
• |
Microsoft Great Plains eEnterprise 7.0 |
|
• |
Microsoft Great Plains Dynamics 7.0 |
|
• |
Great Plains eEnterprise 6.0 |
|
• |
Great Plains Dynamics 6.0 |
|
• |
System Manager |