[Gelöst] Frage zu View in Navision

Bild Speziell fĂĽr Probleme der SQL-Server-Integration in die Dynamics Produkte

[Gelöst] Frage zu View in Navision

Beitragvon Michelle » 27. Oktober 2009 18:24

Hallo,

ich habe noch nicht viel Erfahrung mit Navision. Ich habe mehr eine Verständnisfrage als ein Problem.

Wir haben Navision 4.00 SP3 mit MS SQL 2005 Servern. Es sind zwei MS SQL Server vorhanden, die eine für Daten älter als drei Monate. Die andere hat aktuelle Daten. Beide sind vom Aufbau her identisch. Für eine Verarbeitung benötige ich alle Daten einer Tabelle, also von beide Servern. Ich habe das mit dem View und Linked Object gelöst.

Die View holt aus den beiden Servern Daten, simuliert in Navision als Tabelle. Diese sogenannte Tabelle kann ich ja als Recordvariable benutzen. Meine Frage ist nun, wann werden die Daten generiert? Wird bei jedem Findset, Findfirst, Findlast die View neu generiert? Oder werden die Daten sogar beim Filtersetzen (z.B. SETRANGE) neu erstellt?

Danke
Zuletzt geändert von Michelle am 18. Dezember 2009 12:05, insgesamt 2-mal geändert.
Gruss
Michelle
NAV Programmiererin
Michelle
 
Beiträge: 18
Registriert: 16. April 2008 23:39
Wohnort: Schweiz
Arbeitsort: ZĂĽrich, Schweiz
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV 4 - 2016

Re: Frage zu View in Navision

Beitragvon Michelle » 15. Dezember 2009 15:02

Hat den keiner Erfahrung mit Views? :-(
Gruss
Michelle
NAV Programmiererin
Michelle
 
Beiträge: 18
Registriert: 16. April 2008 23:39
Wohnort: Schweiz
Arbeitsort: ZĂĽrich, Schweiz
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV 4 - 2016

Re: Frage zu View in Navision

Beitragvon Torsten67 » 15. Dezember 2009 20:12

Hallo Michelle,

mit groĂźen Erfahrungen mit Views kann ich zwar nicht dienen, habe nur ein wenig
damit herumexperimentiert. Inreressant ist der Ansatz mit Views schon.

Vor dem Hintergrund, dass ich auch im SQL-Managementstudio die Views "live"
vor mir habe, gehe ich davon aus, dass die Daten in Echtzeit abgefragt und zur VerfĂĽgung
gestellt werden.

Was Navision angeht, kommt es wohl hier auch auf die verwendete Version an.
Da weiß sicher Stryk (hier im Forum) näheres. Vielleicht hört er uns gerade ;o)

Möglich, dass dein Nav 4.00sp3, je nach dem, wie du die Recordvariable abfragst,
mit SQL-Cursors arbeitet -- dann hättest du den aktuellen Stand bereits beim ersten FINDSET.
Hier bin ich mir aber nicht sicher -- kann mich auch total irren.

viele GrĂĽĂźe

Torsten
Torsten67
Microsoft Partner
Microsoft Partner
 
Beiträge: 80
Registriert: 4. Juni 2007 16:24
Wohnort: Erfurt
Realer Name: Torsten Söhnel
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: 3.x,4.x,5.x,2009

Re: Frage zu View in Navision

Beitragvon stryk » 15. Dezember 2009 21:22

Torsten67 hat geschrieben: Vielleicht hört er uns gerade ;o)

Yo, tut er :-)

Also bei einem normalen "View" liegen die Daten, so wie sie der "View" anzeigt nicht wirklich vor. Einen "View" kann man soz. als vordefiniertes SELECT Statement betrachten.
Die eigentlichen Daten liegen ja in den Tabellen vor, die dann nur vom View (SELECT) entsprechend gelesen und ggf. aufbereitet werden.

WIrd also ein "View" als "Linked Object" in NAV benutzt, passiert im Prinzip folgendes:

1. Das lesende C/AL Statement (FIND, FINDSET, usw.) löst die Abfrage an den SQL Server aus
2. Dabei wird der C/AL Code (SETRANGE & Co = WHERE Clause; SETCURRENTKEY & Co = ORDER BY, etc.) in ein SELECT Statement transformiert, das die Daten vom "View" abfrägt
3. Der "View" fĂĽhrt indirekt (nur im QEP sichtbar) das zugrunde liegende SELECT & Co. auf die Basis-Tabellen aus

Heisst in der Kurzfassung: die Daten werden nicht erzeugt, sondern aufbereitet.

Aaaaaber: man kann prinzipiell einen "View" auch "materialisieren":
D.h man kann auch für einen "View" einen "Gruppierten Index" (Clustered Index, CI) erzeugen (dafür müssen allerdeings ein paar Voraussetzungen erfüllt sein; siehe SQL Server "Books Online"). Die "Leaf Nodes" eines CI enthalten dann tatsächlich die aufbereiteten Daten, quasi so, wie sie der "View" anzeigt!

Am besten mal die VSIFT Sichten in NAV angucken (inkl. Indexe) - sind ein ganz gutes Beispiel dafĂĽr.

Hoffe das hilft Dir weiter.

Schöne Grüße,
Jörg
Jörg A. Stryk (MVP - Dynamics NAV)
NAV/SQL Performance Optimization & Troubleshooting
STRYK System Improvement
stryk
Microsoft Partner
Microsoft Partner
 
Beiträge: 767
Registriert: 30. November 2006 12:32
Wohnort: NĂĽrnberg
Realer Name: Jörg Stryk
Bezug zu Microsoft Dynamics: Freiberufler
Microsoft Dynamics Produkt: Microsoft Dynamics NAV

Re: Frage zu View in Navision

Beitragvon Michelle » 18. Dezember 2009 12:05

Vielen Dank Jörg. Jetzt kann ich mir das besser vorstellen. :-D
Dank auch an Torsten.
Gruss
Michelle
NAV Programmiererin
Michelle
 
Beiträge: 18
Registriert: 16. April 2008 23:39
Wohnort: Schweiz
Arbeitsort: ZĂĽrich, Schweiz
Bezug zu Microsoft Dynamics: Microsoft Partner
Microsoft Dynamics Produkt: Microsoft Dynamics NAV
Microsoft Dynamics Version: NAV 4 - 2016


ZurĂĽck zu Microsoft SQL-Server

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast