Oireet
Sinulla on muistiinpanoja, jotka on kopioitu tai jotka on linkitetty ristiin Microsoft Dynamics GP:ssä.
Tässä artikkelissa on komentosarja, jonka avulla voidaan määrittää tietyn yrityksen suurin muistiinpanoindeksi. Sen avulla voit myös palauttaa seuraavan muistiinpanon indeksiarvon seuraavaan suurempaan numeroon. Tämä estää lisähuomau viiteindeksien linkittämisen tai virheellisen lisäämisen.
Tämä ei korjaa väärin ennestään virheellisiä muistiinpanoindekseja.
Syy
Yrityksen päätaulukon (SY01500) seuraava muistiinpanoindeksi on määritetty liian matalaksi, jotta uudet tietueet eivät voi vastaanottaa muiden kanssa samoja muistiinpanoindeksejä.
Tarkkuus
1. Varmuuskopioi DYNAMICS ja kaikki yrityksen tietokannat.
2. Suorita seuraava lauseke yrityksen tietokantaan, jossa on päällekkäiset tai ristiin linkitetyt muistiinpanot.
Huomautus Jos käytät Kyselyn analysoiminen -sovellusta, suorita lauseke SQL Kyselyn analysoiminen -ruudussa. Avaa Kyselyn analysoiminen valitsemalla Käynnistä , valitsemalla Ohjelmat , osoittamalla kohtaa Microsoft SQL Server ja valitsemalla sitten Kyselyn analysoiminen . Jos käytät Microsoft SQL Server Management Studio, suorita lauseke Microsoft SQL Server Management Studio. Avaa Management Studio valitsemalla Käynnistä , valitsemalla Ohjelmat , osoittamalla kohtaa Microsoft SQL Server 2005/2008/2012 ja valitsemalla sitten SQL Server Management Studio . Jos haluat suorittaa komentosarjan, valitse Uusi kysely .
---------------------------------------------
/*
** FindMaxNoteIndex.SQL
**
** Tarkoitus:
**
** Etsi NOTEINDX:n enimmäisarvo kaikista taulukoista, mukaan lukien Project Laskenta.
**
** Tämä komentosarja on suoritettava yrityksessä, jossa muistiinpanot ovat virheellisiä.
** se päivittää SY01500:n automaattisesti oikeaan seuraavan muistiinpanoindeksiin.
**
*/
jos olemassa (valitse * tempdb..sysobjekteista, joissa nimi = '##GPSMaxNote')
drop table dbo.##GPSMaxNote
aseta nocount on
create table ##GPSMaxNote (MaxNoteIndex numeric(19,5) null)
siirry
-----------------------
declare @cStatement varchar(255) /* Value from the t_cursor */
declare @noteidx numeric(19,5)
declare @database as varchar(5)
set @database = cast(db_name() as varchar(5)) /* Hae taulukot, joiden sarakkeen nimi on
NOTEINDX. */
ilmoittaa T_cursor kohdistimen kohdistimelle
valitse 'declare @NoteIndex numeric(19,5) select @NoteIndex = max(' +c.name+ ') from ' + o.name + ' insert ##GPSMaxNote values(@NoteIndex)'
kohteesta sysobjects o, syscolumns c
jossa o.id = c.id
ja o.type = 'U'
ja (c.name = 'NOTEINDX' tai c.name '%noteidx%' tai c.name '%niteidx%' tai c.name ='NOTEINDX2') /* Ok, meillä on
taulukkoluettelo. Saat nyt NOTEINDX:n enimmäisarvon kustakin taulukosta. */
avaa T_cursor
nouda seuraava T_cursor @cStatement
while (@@fetch_status <> -1)
aloita
exec (@cStatement)
nouda seuraava T_cursor @cStatement
end
Poista T_cursor
/* Näytä muistiinpanon enimmäisindeksi */
valitse 'Max Note Index:', max(MaxNoteIndex) from ##GPSMaxNote where MaxNoteIndex is not null
/* Update Next Note Index */
dynamicsin käyttö
set @noteidx = (select max(MaxNoteIndex) from ##GPSMaxNote where MaxNoteIndex is not null)
UPDATE SY01500 set NOTEINDX = (@noteidx + 1.0), jossa INTERID=@database
aseta nocount pois käytöstä
--------------------------------------------------------------------------
Tämä löytää kaikkien yritysten suurimman muistiinpanoindeksin ja päivittää sitten SY01500-taulukon, jotta muistiinpanot eivät linkity eteenpäin.
3. Toista vaihe 2 jokaiselle yritystietokannalle, jossa on ristiin linkitettyjä muistiinpanojen indekseja.
Tämä artikkeli oli TechKnowledge Document ID: 4837
KOSKEE SEURAAVIA:
• |
Microsoft Dynamics GP 9.0 |
• |
Microsoft Business Solutions – hyvä 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 |
• |
Järjestelmän hallinta |