Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter...

26
Wizards & Wizards & Builders Builders GmbH GmbH Offline-Views in VFP Offline-Views in VFP Arbeiten mit Offline- Arbeiten mit Offline- Views von Datenbanken Views von Datenbanken unter unter Microsoft Visual FoxPro Microsoft Visual FoxPro

Transcript of Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter...

Page 1: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Offline-Views in VFPOffline-Views in VFP

Arbeiten mit Offline-Views Arbeiten mit Offline-Views von Datenbanken unter von Datenbanken unter Microsoft Visual FoxProMicrosoft Visual FoxPro

Page 2: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Diese Schulung dient der Einführung in das Arbeiten mit

und den Einsatz von Offline-Views auf Daten aus

Datenbankcontainern unterMicrosoft Visual FoxPro

Page 3: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

ThemenübersichtThemenübersicht

Wer benötigt Offline-ViewsWer benötigt Offline-Views Wiederholung „Arbeiten mit Views“Wiederholung „Arbeiten mit Views“ Wie erzeugt man Offline-ViewsWie erzeugt man Offline-Views TableupdateTableupdate KonfliktmanagementKonfliktmanagement DropOfflineDropOffline Was geht, was geht nichtWas geht, was geht nicht Vorteile von Offline-ViewsVorteile von Offline-Views

Page 4: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Where do you want to go today?Where do you want to go today?

Offline-Views Offline-Views erlauben die: erlauben die:

Mitnahme von Mitnahme von Daten auf Laptops Daten auf Laptops und anderen und anderen SystemenSystemen

Änderung oder Änderung oder Erfassung Erfassung

Einspielen der Einspielen der ÄnderungenÄnderungen

Page 5: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Wer benötigt Offline-Wer benötigt Offline-Views?Views?

Offensichtliche Anwender: „Road Offensichtliche Anwender: „Road warrior“, Handelsreisende/Vertreter für warrior“, Handelsreisende/Vertreter für Auftragserfassung vor OrtAuftragserfassung vor Ort

Nicht so offensichtliche Anwender: Nicht so offensichtliche Anwender: Hinweis: Wieviele Nächte und Wochen-Hinweis: Wieviele Nächte und Wochen-enden war man mit Wartungsarbeiten für enden war man mit Wartungsarbeiten für Datenbankapplikationen beschäftigt?Datenbankapplikationen beschäftigt?

Sammel-Updates für „Data Warehouse“ Sammel-Updates für „Data Warehouse“ Eigene Ideen?Eigene Ideen?

Page 6: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Wiederholung „Views“Wiederholung „Views“

Wiederholung zum Einsatz Wiederholung zum Einsatz

von „Views“ unter von „Views“ unter Microsoft Visual FoxProMicrosoft Visual FoxPro

Page 7: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

““Let’s Start With A Re-Let’s Start With A Re-View…”View…”

Grundsätzliche eine Ergebnistabelle Grundsätzliche eine Ergebnistabelle aus einem SQL-SELECT-Befehlaus einem SQL-SELECT-Befehl Quelle eine oder mehrere TabellenQuelle eine oder mehrere Tabellen Quelle lokal oder Remote (Client/Server)Quelle lokal oder Remote (Client/Server) Quelle kann ein anderer View seinQuelle kann ein anderer View sein Kontrolle über Update-Verhalten (Buffering)Kontrolle über Update-Verhalten (Buffering) Erlaubt Migration nach Client/ServerErlaubt Migration nach Client/Server

Ein View hat keine Indizes, man Ein View hat keine Indizes, man kann welche anlegen (Zeitaufwand)kann welche anlegen (Zeitaufwand)

Page 8: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Ein Updateable View ist...Ein Updateable View ist...

Ein View mit zusätzlichen Definitionen Ein View mit zusätzlichen Definitionen über Einfügen, Ändern und Löschen von über Einfügen, Ändern und Löschen von Datensätzen Datensätzen

Feldweise Kontrolle über ÄnderungenFeldweise Kontrolle über Änderungen Besser steuerbar als Record-BufferingBesser steuerbar als Record-Buffering Arbeiten generell gut in Visual FoxProArbeiten generell gut in Visual FoxPro Views verarbeiten nicht automatisch Views verarbeiten nicht automatisch

Feld- und Satzregeln, die auf die Feld- und Satzregeln, die auf die Ursprungs-tabellen gelegt wurden...Ursprungs-tabellen gelegt wurden...

Page 9: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Der große VorteilDer große Vorteil

Wenn alle Wenn alle Komponenten Komponenten einer Applikation einer Applikation auf Views auf Views basieren statt auf basieren statt auf lokalen Tabellen, lokalen Tabellen, kann man leicht kann man leicht nach Client/Server nach Client/Server migrieren (wenn migrieren (wenn man das will) ...man das will) ...

Page 10: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Updating Data in a View...Updating Data in a View...

Once a view is defined as Once a view is defined as updateable, updates are easy:updateable, updates are easy: Interaktiv (BROWSE)Interaktiv (BROWSE) Programmatisch über die Befehle Programmatisch über die Befehle

REPLACE, GATHER, APPENDREPLACE, GATHER, APPEND Use bound controls Use bound controls

(object.controlsource = (object.controlsource = viewname.fieldname)viewname.fieldname)

Page 11: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Ein Balance-AktEin Balance-Akt

The smaller the The smaller the dataset within the dataset within the view, the faster it will view, the faster it will performperform

The view is only a The view is only a “snapshot” of the “snapshot” of the data data The data in the view The data in the view

doesn’t reflect changes doesn’t reflect changes to the underlying data to the underlying data source until requeriedsource until requeried

Page 12: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Arbeiten mit Offline-ViewsArbeiten mit Offline-Views

Praxis des Arbeitens mit Praxis des Arbeitens mit Offline-Views unter Offline-Views unter

Microsoft Visual FoxProMicrosoft Visual FoxPro

Page 13: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Was sind Offline ViewsWas sind Offline Views

Derivat eines updateable ViewsDerivat eines updateable Views Dateneinsicht und Änderungen Dateneinsicht und Änderungen

ohne Vorhandensein des DBCohne Vorhandensein des DBC Speichert Änderungen bis er Speichert Änderungen bis er

“reattached” wird zum DBC“reattached” wird zum DBC Wenn “reattached” sind alle Wenn “reattached” sind alle

Updates „gebuffert“ (im Puffer)Updates „gebuffert“ (im Puffer)

Page 14: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Wie erzeugt man Offline-Wie erzeugt man Offline-ViewsViews

CREATE VIEWCREATE VIEW CREATEOFFLINE(“vname”) CREATEOFFLINE(“vname”) USE vname ADMINUSE vname ADMIN

zur Online-Anzeige der Änderungen zur Online-Anzeige der Änderungen

USE vname ONLINE USE vname ONLINE zum Rückverbinden mit den Originaldatenzum Rückverbinden mit den Originaldaten

TABLEUPDATE()TABLEUPDATE() DBGETPROP(“vname”, “view”,”offline”)DBGETPROP(“vname”, “view”,”offline”)

zum Feststellen des „Offline“-Status eines Viewszum Feststellen des „Offline“-Status eines Views

Page 15: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

TABLEUPDATE()TABLEUPDATE()

New functionality in VFP 5 to New functionality in VFP 5 to commit all non-conflict rows on commit all non-conflict rows on first pass first pass

2 2 (the magic number)(the magic number)

TABLEUPDATE([nRows [, lForce]] TABLEUPDATE([nRows [, lForce]] [, cTableAlias | nWorkArea] [, cErrorArray][, cTableAlias | nWorkArea] [, cErrorArray]

If you pass cErrorArray, you get If you pass cErrorArray, you get back an array of record numbers back an array of record numbers for all failed rowsfor all failed rows

Page 16: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Konflikt-Management (1)Konflikt-Management (1)

Starting point: Starting point: examine all rules and examine all rules and triggers triggers in the data sources of in the data sources of your online viewyour online view

Remember that Remember that triggers won’t fire triggers won’t fire until the until the view is online’d and view is online’d and the underlying buffer the underlying buffer is TABLEUPDATE’dis TABLEUPDATE’d

Page 17: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Konflikt-Management (2)Konflikt-Management (2)

Once online’d and TABLEUPDATE’d, the Once online’d and TABLEUPDATE’d, the buffered changes can’t be “unbuffered” buffered changes can’t be “unbuffered”

You must either force or discard each You must either force or discard each updateupdate

If you discard anything, your data If you discard anything, your data reverts to the state of the view, not the reverts to the state of the view, not the source.source.

Page 18: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Konflikt-Management (3)Konflikt-Management (3)

Resolution policy Resolution policy and procedures and procedures needed needed to manage to manage conflicts conflicts Dump updatesDump updates Force updatesForce updates Send e-mailSend e-mail Create logs for Create logs for

manual reviewmanual review

Page 19: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

DROPOFFLINE()DROPOFFLINE()

DROPOFFLINE(“viewname”). DROPOFFLINE(“viewname”). NOTE: Check to make sure the view NOTE: Check to make sure the view is closed and that the database is is closed and that the database is opened, before issuing the opened, before issuing the DROPOFFLINEDROPOFFLINE

Return value indicates success.Return value indicates success.(.F. indicates that the view was (.F. indicates that the view was not “dropped” -- not its status) not “dropped” -- not its status)

Page 20: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Vor- und NachteileVor- und Nachteile

Vor- und Nachteile von Vor- und Nachteile von Offline-Views unter Offline-Views unter

Microsoft Visual FoxProMicrosoft Visual FoxPro

Page 21: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Diverse “Diverse “Can’sCan’s” und “” und “Can’tsCan’ts””

Can:Can: Löschen einzelner SätzeLöschen einzelner Sätze Can: Can: Setzen von RelationenSetzen von Relationen Can’t:Can’t: PACKPACK Can’t:Can’t: ZAPZAP Can’t:Can’t: INSERT (xBase nicht SQL)INSERT (xBase nicht SQL) Can’t:Can’t: =REQUERY()=REQUERY() Can’t:Can’t: Referentielle IntegritätReferentielle Integrität

Page 22: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

One view, many usersOne view, many users

Offline views are shareable!Offline views are shareable! Conflict management just like Conflict management just like

a multi-user tablea multi-user table

Page 23: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Many views, many usersMany views, many users

Required to support multiple “road Required to support multiple “road warriors”warriors”

A “socket” is needed in the DBC for each A “socket” is needed in the DBC for each offline view, but they are offline view, but they are interchangeable if they have exactly the interchangeable if they have exactly the same view definitionsame view definition(including parameter value in (including parameter value in parameterized queries)parameterized queries)

Can be genned automatically -- consult Can be genned automatically -- consult GENDBC for a skeleton GENDBC for a skeleton

Page 24: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Daytime maintenanceDaytime maintenance

Consider building Consider building offline view support into offline view support into primary production primary production feature setfeature set

Return on Investment: Return on Investment: Staff can keep working Staff can keep working while routine while routine maintenance activities maintenance activities are performedare performed

Offline -- Main menu Offline -- Main menu choices encapsulate choices encapsulate merging of changes merging of changes following maintenancefollowing maintenance

Page 25: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Vielen Dank!Vielen Dank!

Das waren die Themen:Das waren die Themen:

Wer benötigt Offline-ViewsWer benötigt Offline-Views Wiederholung Wiederholung

„Arbeiten mit Views“„Arbeiten mit Views“ Wie erzeugt man Wie erzeugt man

Offline-ViewsOffline-Views TableupdateTableupdate KonfliktmanagementKonfliktmanagement DropOfflineDropOffline Was geht, was geht nichtWas geht, was geht nicht Vorteile von Offline-ViewsVorteile von Offline-Views

Page 26: Wizards & Builders GmbH Offline-Views in VFP Arbeiten mit Offline-Views von Datenbanken unter Microsoft Visual FoxPro.

Wizards & Wizards & Builders GmbH Builders GmbH

Wenn Fragen bestehen:Wenn Fragen bestehen:

Wizards & BuildersWizards & BuildersMethodische Software-Methodische Software-

Entwicklung GmbHEntwicklung GmbH

Frankfurter Str. 21bFrankfurter Str. 21b

61476 Kronberg61476 Kronberg

Tel.: 06173-950906Tel.: 06173-950906

Fax: 06173-950907Fax: 06173-950907

CIS: 101605,175CIS: 101605,175