メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

現象

Microsoft Dynamics GP で重複またはクロスリンクされているノートがあります。

この記事では、特定の会社で割り当てられている最高のメモ インデックスを決定するために使用できるスクリプトを提供します。 また、この値を使用して、次のノート インデックス値を次の高い数値にリセットできます。 これにより、今後のノート インデックスがクロスリンクまたは正しくない可能性があります。

これにより、既に正しくないノート インデックスは修正されません。


原因


会社のマスター (SY01500) テーブルの次のメモ インデックスが低すぎると、新しいレコードが他のレコードと同じメモ インデックスを受け取る原因になります。



解決策
1. DYNAMICS とすべての企業データベースのバックアップを作成します。

2. 重複またはリンクされたノートがある会社のデータベースに対して、次のステートメントを実行します。

Query Analyzer を使用している場合は、クエリ アナライザーで ステートメントSQL実行します。 クエリ アナライザーを開くために、[スタート] をクリックし、[プログラム] をポイントし、[クエリ アナライザー] Microsoft SQL Server をポイントします。 使用している場合は、Microsoft SQL Server Management Studio で ステートメントを実行Microsoft SQL Server Management Studio。 Management Studio を開Management Studio をクリックし、[プログラム]をポイントし、[Microsoft SQL Server 2005/2008/2012]をポイントし、[SQL Server Management Studio]をクリックします。 スクリプトを実行するには、[新しいクエリ] をクリックします

---------------------------------------------
/*
** FindMaxNoteIndex.SQL
**
** 目的:
**
** 会計処理を含むすべてのテーブルから NOTEINDX の最大値Projectします。 
**
** このスクリプトは、メモが正しくない会社に対して実行する必要があります。
** SY01500 が自動的に正しい次のノート インデックスに更新されます。
**
*/

存在する場合 (name = '#tempdb..sys' のオブジェクトから * を#GPSMaxNote)

drop table dbo.##GPSMaxNote

nocount をオンに設定する

create table ##GPSMaxNote (MaxNoteIndex numeric(19,5) null)

go

-----------------------

declare @cStatement varchar(255) /* value from the t_cursor */

数値@noteidx宣言する(19,5)

varchar@database宣言する(5)

set @database = cast(db_name() as varchar(5))


/* NOTEINDXという列名のテーブルを取得します。 */

カーソルT_cursor宣言します。

'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

と o.type = 'U'

および (c.name = 'NOTEINDX' または c.name ('%noteidx%' や c.name ('%ni c.name ='NOTEINDX2') など)


/* OK。テーブルの一覧があります。次に、各テーブルから NOTEINDX の最大値を取得します。*/

open T_cursor

次に、T_cursor から @cStatement にフェッチします。

while (@@fetch_status <> -1)

begin

exec (@cStatement)

次に、T_cursor から @cStatement にフェッチします。

end

deallocate T_cursor


/* Display Maximum Note Index */

##GPSMaxNote から 'Max Note Index:'、 max(MaxNoteIndex) を選択します。MaxNoteIndex は null ではありません


/* Update Next Note Index */

DYNAMICS を使用する

set @noteidx = (MaxNoteIndex が null ではない ##GPSMaxNote から max(MaxNoteIndex) を選択)

UPDATE SY01500 set NOTEINDX = (@noteidx + 1.0) where INTERID=@database

nocount をオフに設定する

--------------------------------------------------------------------------


これにより、すべての企業の最大ノート インデックスが検索され、SY01500 テーブルが更新され、今後ノートが相互にリンクされなくなっています。


3. 相互にリンクされたノート インデックスを持つ会社のデータベースごとに手順 2 を繰り返します。 

この記事は TechKnowledge Document ID: 4837 でした

適用対象

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

システム マネージャー

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

この情報は役に立ちましたか?

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×