Simptomi
Imate bilješke koje su duplicirane ili unakrsno povezane u aplikaciji Microsoft Dynamics GP.
U ovom se članku nalazi skripta koja se može koristiti za određivanje najvišeg indeksa bilješki dodijeljenog u određenom poduzeću. Možete je koristiti i za vraćanje vrijednosti indeksa sljedeće bilješke na sljedeći veći broj. Time će se spriječiti daljnje bilješke da se indeksi koji se prosljeđuju međusobno povezani ili netočni.
Time se neće ispraviti indeksi bilješki koji su već netočni.
Uzrok
Sljedeći indeks bilješki u tablici glavnog proizvođača (SY01500) postavljen je prenisko zbog čega će novi zapisi primati indekse bilješki koji su isti kao i drugi.
Razlučivost
1. Izradite sigurnosnu kopiju baza podataka sustava DYNAMICS i svih tvrtki.
2. Pokrenite sljedeću naredbu u bazi podataka tvrtke koja sadrži duplicirane ili unakrsno povezane bilješke.
Napomena Ako koristite alat za analizu upita, pokrenite izjavu u alatu SQL analizator upita. Da biste otvorili Alat za analizu upita, kliknite Start , pokažite na Programi , pokažite na Microsoft SQL Server , a zatim kliknite Analizator upita . Ako koristite Microsoft SQL Server Management Studio, pokrenite je u Microsoft SQL Server Management Studio. Da biste Management Studio, kliknite Start , pokažite na Programi , pokažite na Microsoft SQL Server 2005/2008/2012 , a zatim kliknite SQL Server Management Studio . Da biste pokrenuti skriptu, kliknite Novi upit .
---------------------------------------------
/*
** FindMaxNoteIndex.SQL
**
** Svrha:
**
** Pronađite maksimalnu vrijednost NOTEINDX iz svih tablica, uključujući Project računovodstvo.
**
** Ova skripta mora se pokrenuti s tvrtkom u kojoj bilješke nisu točne.
** automatski će ažurirati SY01500 za vas na odgovarajući sljedeći indeks bilješki.
**
*/
if exists (select * from tempdb..sysobjects where name = '##GPSMaxNote')
drop table dbo.##GPSMaxNote
set nocount on
stvaranje tablice ##GPSMaxNote (MaxNoteIndex numeric(19,5) null)
idi
-----------------------
deklarirati @cStatement varchar(255) /* Vrijednost iz t_cursor */
deklarirati @noteidx(19,5)
deklarirati @database kao varchar(5)
set @database = cast(db_name() kao varchar(5)) /* Nabavite tablice koje imaju naziv stupca
NOTEINDX. */
deklarirati T_cursor pokazivač za
odaberite "declare @NoteIndex numeric(19,5) select @NoteIndex = max(' +c.name+ ') from ' + o.name + ' insert ##GPSMaxNote values(@NoteIndex)'
iz sysobjects o, syscolumns c
gdje o.id = c.id
and o.type = 'U'
i (c.name = 'NOTEINDX' ili c.name kao što su '%noteidx%' ili c.name like '%niteidx%' ili c.name ='NOTEINDX2')
/* U redu, imamo popis tablica. Sada iz svake tablice nabavite maksimalnu vrijednost NOTEINDX. */
otvori T_cursor
dohvati sljedeće iz T_cursor u @cStatement
dok (@@fetch_status <> -1)
započinj
exec (@cStatement)
dohvati sljedeće iz T_cursor u @cStatement
end
deallocate T_cursor
/* Display Maximum Note Index */
odaberite 'Max Note Index:', max(MaxNoteIndex) iz ##GPSMaxNote gdje MaxNoteIndex nije null
/* Ažuriraj indeks sljedeće bilješke */
korištenje sustava DYNAMICS
set @noteidx = (select max(MaxNoteIndex) from ##GPSMaxNote where MaxNoteIndex is not null)
ažuriranje SY01500 postavite NOTEINDX = (@noteidx + 1,0) gdje je INTERID=@database
set nocount off
--------------------------------------------------------------------------
Time ćete pronaći maksimalni indeks bilješki za sve tvrtke, a zatim ažurirati tablicu SY01500 da biste bili sigurni da bilješke neće biti međusobno povezane.
3. Ponovite drugi korak za svaku bazu podataka tvrtke koja sadrži indekse unakrsnih bilješki.
Ovaj je članak bio TECHKnowledge DOCUMENT ID: 4837
ODNOSI SE NA
• |
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 |
• |
Upravitelj sustava |