Symptomen

U hebt notities die zijn gedupliceerd of gekoppeld in Microsoft Dynamics GP.Dit artikel bevat een script dat kan worden gebruikt om de hoogste notitie-index te bepalen die in een bepaald bedrijf is toegewezen. U kunt deze ook gebruiken om de indexwaarde van de volgende notitie opnieuw in te stellen op het volgende hogere getal. Dit voorkomt dat verdere notitie-indexen in de toekomst kruislings of onjuist zijn.Hiermee worden indexen die al onjuist zijn, niet gecorrigeerd.

Oorzaak

De volgende notitie-index in de tabel bedrijfshoofd (SY01500) is te laag ingesteld, waardoor nieuwe records notitie-indexen ontvangen die hetzelfde zijn als andere.Resolutie 1. Maak een back-up van de DYNAMICS- en alle bedrijfsdatabases.2. Voer de volgende instructie uit op de bedrijfsdatabase met de gedupliceerde of gekoppelde notities.Opmerking  Als u Query Analyzer gebruikt, voert u de instructie uit in SQL Query Analyzer. Als u Query Analyzer wilt openen, klikt u op Start, wijst u Programma's aan, wijst u Microsoft SQL Server aan en klikt u vervolgens op Query analyzer. Als u Microsoft SQL Server Management Studio gebruikt, voert u de instructie uit in Microsoft SQL Server Management Studio. Als u Management Studio wilt openen, klikt u op Start, wijst u Programma's aan, wijst u Microsoft SQL Server 2005/2008/2012 aan en klikt u op SQL Server Management Studio . Als u een script wilt uitvoeren, klikt u op Nieuwe query .

--------------------------------------------- /*** FindMaxNoteIndex.SQL ** **Purpose: ** ** Zoek de maximale waarde van NOTEINDX uit alle tabellen, inclusief Project Accounting. ** ** Dit script moet worden uitgevoerd voor het bedrijf waarin de notities onjuist zijn.** wordt uw SY01500 automatisch bijgewerkt naar de juiste volgende notitie-index.** */ indien bestaat (selecteer * in tempdb.. sysobjecten waarbij naam = '##GPSMaxNote') drop table dbo.##GPSMaxNote nocount instellen op tabel maken ##GPSMaxNote (MaxNoteIndex numeriek(19,5) null) Gaan----------------------- declareren @cStatement varchar(255) /* value from the t_cursor */ declareren @noteidx numeriek(19,5) declareren @database als varchar(5) set @database = cast(db_name() as varchar(5))/* Haal de tabellen op met de kolomnaam NOTEINDX. */T_cursor-cursor declareren voor selecteer 'declare @NoteIndex numeric(19,5) select @NoteIndex = max(' +c.name+ ') from ' + o.name + ' insert ##GPSMaxNote values(@NoteIndex)' van sysobjects o, syscolumns c waarbij o.id = c.id en o.type = 'U' en (c.name = 'NOTEINDX' of c.name zoals '%noteidx%' of c.name als '%niteidx%' of c.name ='NOTEINDX2')/* Ok, we hebben de lijst met tabellen. Haal nu de maximale waarde van NOTEINDX op uit elke tabel. */T_cursor openen volgende ophalen van T_cursor naar @cStatement terwijl (@@fetch_status <> -1) Beginnen exec (@cStatement) volgende ophalen van T_cursor in @cStatement Einde de toewijzing van T_cursorongedaan maken/* Maximumnotitieindex weergeven */ selecteer 'Max Note Index:', max(MaxNoteIndex) in ##GPSMaxNote waarbij MaxNoteIndex niet null is/* Volgende notitieindex bijwerken */ DYNAMICS gebruiken set @noteidx = (selecteer max(MaxNoteIndex) in ##GPSMaxNote waarbij MaxNoteIndex niet null is) update SY01500 set NOTEINDX = (@noteidx + 1.0) waarbij INTERID=@database nocount uitschakelen-------------------------------------------------------------------------- Hiermee wordt de maximale notitie-index voor alle bedrijven gevonden en wordt vervolgens de SY01500 tabel bijgewerkt om ervoor te zorgen dat de notities in de toekomst niet kruislings worden gekoppeld.3. Herhaal stap 2 voor elke bedrijfsdatabase met cross-linked notitie-indexen. Dit artikel was TechKnowledge-document-id: 4837

VAN TOEPASSING OP

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

Systeembeheerder

Meer hulp nodig?

Meer opties?

Verken abonnementsvoordelen, blader door trainingscursussen, leer hoe u uw apparaat kunt beveiligen en meer.