Offline-View unter Visual FoxPro - dFPUG

Werbung
Offline-Views in VFP
Arbeiten mit Offline-Views von
Datenbanken unter
Microsoft Visual FoxPro
Wizards &
Builders GmbH
Diese Schulung dient der Einführung in
das Arbeiten mit und den Einsatz von
Offline-Views auf Daten aus
Datenbankcontainern unter
Microsoft Visual FoxPro
Wizards &
Builders GmbH
Themenübersicht
 Wer benötigt Offline-Views
 Wiederholung „Arbeiten mit Views“
 Wie erzeugt man Offline-Views
 Tableupdate
 Konfliktmanagement
 DropOffline
 Was geht, was geht nicht
 Vorteile von Offline-Views
Wizards &
Builders GmbH
Where do you want to go today?
Offline-Views erlauben
die:
 Mitnahme von Daten
auf Laptops und
anderen Systemen
 Änderung oder
Erfassung
 Einspielen der
Änderungen
Wizards &
Builders GmbH
Wer benötigt Offline-Views?




Offensichtliche Anwender: „Road warrior“,
Handelsreisende/Vertreter für Auftragserfassung
vor Ort
Nicht so offensichtliche Anwender:
Hinweis: Wieviele Nächte und Wochen-enden war
man mit Wartungsarbeiten für
Datenbankapplikationen beschäftigt?
Sammel-Updates für „Data Warehouse“
Eigene Ideen?
Wizards &
Builders GmbH
Wiederholung „Views“
Wiederholung zum Einsatz
von „Views“ unter
Microsoft Visual FoxPro
Wizards &
Builders GmbH
“Let’s Start With A Re-View…”

Grundsätzliche eine Ergebnistabelle aus
einem SQL-SELECT-Befehl
 Quelle eine oder mehrere Tabellen
 Quelle lokal oder Remote (Client/Server)
 Quelle kann ein anderer View sein
 Kontrolle über Update-Verhalten (Buffering)
 Erlaubt Migration nach Client/Server

Ein View hat keine Indizes, man kann
welche anlegen (Zeitaufwand)
Wizards &
Builders GmbH
Ein Updateable View ist...





Ein View mit zusätzlichen Definitionen über
Einfügen, Ändern und Löschen von Datensätzen
Feldweise Kontrolle über Änderungen
Besser steuerbar als Record-Buffering
Arbeiten generell gut in Visual FoxPro
Views verarbeiten nicht automatisch Feld- und
Satzregeln, die auf die Ursprungs-tabellen gelegt
wurden...
Wizards &
Builders GmbH
Der große Vorteil

Wenn alle
Komponenten einer
Applikation auf Views
basieren statt auf
lokalen Tabellen, kann
man leicht nach
Client/Server
migrieren (wenn man
das will) ...
Wizards &
Builders GmbH
Updating Data in a View...

Once a view is defined as
updateable, updates are easy:
 Interaktiv (BROWSE)
 Programmatisch über die Befehle
REPLACE, GATHER, APPEND
 Use bound controls
(object.controlsource = viewname.fieldname)
Wizards &
Builders GmbH
Ein Balance-Akt


The smaller the dataset
within the view, the faster
it will perform
The view is only a
“snapshot” of the data
 The data in the view doesn’t
reflect changes
to the underlying data source
until requeried
Wizards &
Builders GmbH
Arbeiten mit Offline-Views
Praxis des Arbeitens mit
Offline-Views unter
Microsoft Visual FoxPro
Wizards &
Builders GmbH
Was sind Offline Views




Derivat eines updateable Views
Dateneinsicht und Änderungen ohne
Vorhandensein des DBC
Speichert Änderungen bis er “reattached”
wird zum DBC
Wenn “reattached” sind alle Updates
„gebuffert“ (im Puffer)
Wizards &
Builders GmbH
Wie erzeugt man Offline-Views



CREATE VIEW
CREATEOFFLINE(“vname”)
USE vname ADMIN
 zur Online-Anzeige der Änderungen

USE vname ONLINE
 zum Rückverbinden mit den Originaldaten


TABLEUPDATE()
DBGETPROP(“vname”, “view”,”offline”)
 zum Feststellen des „Offline“-Status eines Views
Wizards &
Builders GmbH
TABLEUPDATE()

New functionality in VFP 5 to commit all
non-conflict rows on first pass
2 (the magic number)
 TABLEUPDATE([nRows [, lForce]]
[, cTableAlias | nWorkArea] [, cErrorArray]

If you pass cErrorArray, you get
back an array of record numbers
for all failed rows
Wizards &
Builders GmbH
Konflikt-Management (1)


Starting point: examine all
rules and triggers
in the data sources of your
online view
Remember that triggers
won’t fire until the
view is online’d and the
underlying buffer is
TABLEUPDATE’d
Wizards &
Builders GmbH
Konflikt-Management (2)



Once online’d and TABLEUPDATE’d, the buffered
changes can’t be “unbuffered”
You must either force or discard each update
If you discard anything, your data reverts to the
state of the view, not the source.
Wizards &
Builders GmbH
Konflikt-Management (3)

Resolution policy and
procedures needed
to manage conflicts
 Dump updates
 Force updates
 Send e-mail
 Create logs for
manual review
Wizards &
Builders GmbH
DROPOFFLINE()


DROPOFFLINE(“viewname”).
NOTE: Check to make sure the view is
closed and that the database is opened,
before issuing the DROPOFFLINE
Return value indicates success.
(.F. indicates that the view was
not “dropped” -- not its status)
Wizards &
Builders GmbH
Vor- und Nachteile
Vor- und Nachteile von
Offline-Views unter
Microsoft Visual FoxPro
Wizards &
Builders GmbH
Diverse “Can’s” und “Can’ts”







Can:
Can:
Can’t:
Can’t:
Can’t:
Can’t:
Can’t:
Löschen einzelner Sätze
Setzen von Relationen
PACK
ZAP
INSERT (xBase nicht SQL)
=REQUERY()
Referentielle Integrität
Wizards &
Builders GmbH
One view, many users
Offline views are shareable!
 Conflict management just like a
multi-user table

Wizards &
Builders GmbH
Many views, many users



Required to support multiple “road warriors”
A “socket” is needed in the DBC for each offline
view, but they are interchangeable if they have
exactly the same view definition
(including parameter value in parameterized
queries)
Can be genned automatically -- consult GENDBC
for a skeleton
Wizards &
Builders GmbH
Daytime maintenance



Consider building
offline view support into
primary production feature
set
Return on Investment:
Staff can keep working while
routine maintenance
activities are performed
Offline -- Main menu choices
encapsulate merging of
changes following
maintenance
Wizards &
Builders GmbH
Vielen Dank!
Das waren die Themen:
 Wer benötigt Offline-Views
 Wiederholung
„Arbeiten mit Views“
 Wie erzeugt man
Offline-Views
 Tableupdate
 Konfliktmanagement
 DropOffline
 Was geht, was geht nicht
 Vorteile von Offline-Views
Wizards &
Builders GmbH
Wenn Fragen bestehen:
Wizards & Builders
Methodische SoftwareEntwicklung GmbH
Frankfurter Str. 21b
61476 Kronberg
Tel.: 06173-950906
Fax: 06173-950907
CIS: 101605,175
Wizards &
Builders GmbH
Herunterladen