Jelenségek
A Microsoft Dynamics GP-ban duplikált vagy kereszthivatkozással összekapcsolt jegyzetei vannak.
Ez a cikk egy olyan parancsfájlt tartalmaz, amely egy adott vállalat legmagasabb jegyzetindexének meghatározásához használható. Arra is használhatja, hogy a következő nagyobb számra állítsa vissza a következő jegyzetindexértéket. Ez megakadályozza, hogy a további jegyzetindexek kereszthivatkozások vagy helytelenek lesznek.
Ez nem javítja a már helytelen jegyzetindexeket.
Ok
A vállalati főtábla (SY01500) következő jegyzetindexe túl alacsonyra van állítva, így az új rekordok a többivel azonos jegyzetindexeket kapnak.
Felbontás
1. Biztonsági másolat készítése a DYNAMICS és az összes vállalati adatbázisról.
2. Futtassa az alábbi utasítást a duplikált vagy kereszthivatkozással kapcsolt megjegyzéseket is tartalmazza vállalati adatbázison.
Megjegyzés A Query Analyzer használata esetén futtassa az utasítást a SQL Query Analyzer eszközben. A Lekérdezésanalizáló megnyitásához kattintson a Start gombra, mutasson a Programok , majd az Microsoft SQL Server pontra, majd kattintson a Lekérdezésanalizáló elemre. Ha a kimutatást használja, Microsoft SQL Server Management Studio az utasítást a Microsoft SQL Server Management Studio. Az Management Studio megnyitásához kattintson a Start gombra, mutasson a Programok elemre, mutasson a Microsoft SQL Server 2005/2008/2012 elemre, majd kattintson a SQL Server Management Studio. Parancsprogram futtatásához kattintson az Új lekérdezés gombra.
---------------------------------------------
/*
** MaxNoteIndex.SQL
**
** Rendeltetés:
**
** Keresse meg a NOTEINDX maximális értékét az összes táblából, beleértve a Project értékeket.
**
** Ezt a parancsfájlt annak a cégnek kell futtatnia, amelyben a megjegyzések helytelenek.
** automatikusan frissíti a SY01500-t a megfelelő következő jegyzetindexre.
**
*/
if exists (select * from tempdb..sysobjects where name = '##GPSMaxNote')
drop table dbo.##GPSMaxNote
set nocount on
create table ##GPSMaxNote (MaxNoteIndex numeric(19,5) null)
ugrás
-----------------------
declare @cStatement varchar(255) /* Value from the t_cursor */
declare @noteidx numeric(19,5)
a @database deklarálják varchar(5)
set @database = cast(db_name() as varchar(5)) /* Get the tables that have
a column name of NOTEINDX. */
declare T_cursor cursor for
select 'declare @NoteIndex numeric(19,5) select @NoteIndex = max(' +c.name+ ') from ' + o.name + ' insert ##GPSMaxNote values(@NoteIndex)'
from sysobjects o, syscolumns c
where o.id = c.id
és o.type = 'U'
és (c.name = 'NOTEINDX' vagy c.name like '%noteidx%' vagy c.name like '%niteidx%' vagy c.name ='NOTEINDX2')
/* Ok, megvan a táblázatoklistája. Most szerezze be a NOTEINDX maximális értékét mindegyik táblából. */
nyissa meg T_cursor
fetch next from T_cursor into @cStatement
while (@@fetch_status <> -1)
kezdés
exec (@cStatement)
fetch next from T_cursor into @cStatement
vége
deallocate T_cursor
/* Display Maximum Note Index */
select 'Max Note Index:', max(MaxNoteIndex) from ##GPSMaxNote where MaxNoteIndex is not null
/* Update Next Note Index */
a DYNAMICS használata
set @noteidx = (select max(MaxNoteIndex) from ##GPSMaxNote where MaxNoteIndex is not null)
update SY01500 set NOTEINDX = (@noteidx + 1.0), where INTERID=@database
set nocount off
--------------------------------------------------------------------------
Ezzel megkeresi az összes vállalatra vonatkozó maximális jegyzetindexet, majd frissíti a SY01500 táblát, hogy a jegyzetek ne fognak kereszthivatkozást kapni.
3. Ismételje meg a 2. lépést minden olyan vállalati adatbázisnál, amely kereszthivatkozással rendelkezik a jegyzetindexekkel.
Ez a cikk a következő techknowledge document id: 4837 volt:
A KÖVETKEZŐRE VONATKOZIK:
• |
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 |
• |
Rendszerkezelő |