Symptomer

Du har noter, der er duplikeret eller krydstilknyttet i Microsoft Dynamics GP.Denne artikel indeholder et script, der kan bruges til at bestemme det højeste noteindeks, der er tildelt i en given virksomhed. Du kan også bruge den til at nulstille din næste noteindeksværdi til det næste højere tal. Dette forhindrer, at yderligere noteindekser fremover bliver krydstilknyttet eller forkerte.Dette vil ikke rette noteindekser, der allerede er forkerte.

Forårsage

Det næste noteindeks i firmamastertabellen (SY01500) er indstillet for lavt, hvilket medfører, at nye poster modtager noteindekser, der er de samme som andre.Opløsning 1. Lav en sikkerhedskopi af DYNAMICS og alle firmadatabaser.2. Kør følgende sætning mod den firmadatabase, der har de duplikerede eller kryds sammenkædede noter.Bemærk  Hvis du bruger Forespørgselsanalyse, skal du køre sætningen i SQL Query Analyzer. Hvis du vil åbne Forespørgselsanalyse, skal du klikke på Start , pege på Programmer , pege på Microsoft SQL Server og derefter klikke på Forespørgselsanalyse . Hvis du bruger Microsoft SQL Server Management Studio, skal du køre sætningen i Microsoft SQL Server Management Studio. Hvis du vil åbne Management Studio, skal du klikke på Start , pege på Programmer , pege på Microsoft SQL Server 2005/2008/2012 og derefter klikke på SQL Server Management Studio . Hvis du vil køre et script, skal du klikke på Ny forespørgsel .

--------------------------------------------- /*** FindMaxNoteIndex.SQL ** **Formål: ** ** Find den maksimale værdi af NOTEINDX fra alle tabeller, herunder Projektregnskab. ** ** Dette script skal køres mod det firma, hvor noterne er forkerte.** den opdaterer automatisk din SY01500 for dig til det korrekte næste noteindeks.** */ hvis den findes (vælg * fra tempdb.. sysobjects where name = '##GPSMaxNote') drop table dbo.##GPSMaxNote angiv antal til opret tabel ##GPSMaxNote (MaxNoteIndex numeric(19,5) null)----------------------- erklærer @cStatement varchar(255) /* Værdi fra t_cursor */ erklære @noteidx numerisk(19,5) erklære @database som varchar(5) set @database = cast(db_name() as varchar(5))/* Hent de tabeller, der har kolonnenavnet NOTEINDX. */erklære T_cursor markør for vælg 'declare @NoteIndex numeric(19,5) select @NoteIndex = max(' +c.name+ ') from ' + o.name + ' insert ##GPSMaxNote values(@NoteIndex)' fra sysobjects o, syscolumns c hvor o.id = c.id og o.type = 'U' og (c.name = 'NOTEINDX' eller c.name som '%noteidx%' eller c.name som '%niteidx%' eller c.name ='NOTEINDX2')/* Ok, har vi listen over tabeller. Hent nu den maksimale værdi af NOTEINDX fra hver tabel. */åbn T_cursor hente næste fra T_cursor til @cStatement mens (@@fetch_status <> -1) Begynde exec (@cStatement) hente næste fra T_cursor til @cStatement Slutningen deallocate T_cursor/* Vis maksimalt noteindeks */ vælg 'Maks. noteindeks:', max(MaxNoteIndex) fra ##GPSMaxNote, hvor MaxNoteIndex ikke er null/* Opdater indekset til næste note */ brug DYNAMICS set @noteidx = (select max(MaxNoteIndex) from ##GPSMaxNote where MaxNoteIndex is not null) opdater SY01500 angiv NOTEINDX = (@noteidx + 1,0), hvor INTERID=@database angiv antal fra-------------------------------------------------------------------------- Dette vil finde det maksimale noteindeks for alle firmaer og derefter opdatere den SY01500 tabel for at sikre, at noterne fremover ikke bliver sammenkædet på tværs.3. Gentag trin 2 for hver firmadatabase, der har kryds sammenkædede noteindekser. Denne artikel var TechKnowledge-dokument-id: 4837

GÆLDER FOR

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

Systemadministrator

Har du brug for mere hjælp?

Vil du have flere indstillinger?

Udforsk abonnementsfordele, gennemse kurser, få mere at vide om, hvordan du sikrer din enhed og meget mere.