faq.fenn-edv.de


EDV Beratung Fenn Forum rund um Topkontor von Bluesolution und Windows
Wir übernehmen keine Gewähr für Änderungen die Sie an Ihrem System vornehmen!

Universalschnittstelle, X-Base Befehle

Universalschnittstelle, X-Base Befehle

Beitragvon EDV-Fenn » Mo 11. Feb 2013, 10:33

Die Universalschnittstelle ermöglicht es Daten die in einem fremden Format vorliegen ins blue:solution Handwerk zu übernehmen. Das kann eine Adressliste sein die in Excel vorliegt (als CVS abspeichern) oder auch eine Datenbank eines Fremdprogramms. Dabei gilt es einige Dinge zu beachten.
Daten aus Fremdprogrammen zu übernehmen ist fast immer schwierig weil zumeist eine andere Logik und Struktur vorliegt die eine einfache Zuordnung nicht erlaubt. Bei Materialdaten ist es oft einfacher diese als Datanorm zu einzulesen und somit eine Konsistenz zu gewährleisten die mit einem direkten Import nicht zu realisieren ist. Als Beispiel sei die Formatierung des Langtextes bzw. die Aufteilung zwischen Kurz und Langtext genannt sowie die korrekte Preisfindung über die Rabattgruppen. Hier gibt es verschiedene Lösungsansätze bei Fremdprogrammen die nicht so ohne weiteres konvertiert werden können.

Wenn Daten über die Universalschnittstelle importiert werden sollen, so machen Sie sich mit der Struktur der Quell-/ und der Zieldatei vertraut. Legen Sie einen leeren Datensatz (nur Schlüssel) im Programm an und schauen Sie in der Tabellenansicht nach welche Einträge defaultmäßig gesetzt werden. Diese Einträge müssen auch von Ihnen vorbelegt werden um einen reibungslosen Programmablauf zu gewähren. Das nächste wären die Feldlängen – wo ist das Zielfeld womöglich zu klein? – an welcher Position muss das Quellfeld gekürzt werden?
Die Universalschnittstelle ermöglicht außer der direkten 1:1 Zuordnung noch mehr Möglichkeiten.
Mit dem Doppelklick auf dem Zielfeld erhalten Sie ein

Auswahlfenster mit folgenden Optionen:
- Feld der Quelldatei
- Konstanter Wert
- XBase – Ausdruck
- Fortlaufend nummerieren
- Keine Zuordnung

Feld der Quelldatei
Entspricht der Drag&Drop Zuordnung des Hauptfensters

Konstanter Wert
Vorbelegung wie „KUNDE“ o.Ä.

XBase Ausdruck
XBase ist eine Datenbanksprache die umfangreiche Operationen ermöglicht. Einfach ausgedrückt hat es eine ähnliche Aufgabe wie SQL. Jedoch liegt hier mehr der Fokus auf dem einzelnen Datensatz und nicht wie bei SQL der Gesamtheit der Datensätze.
Hier eine Funktionsübersicht der möglichen Befehle.

Das Ergebnisfeld ist automatisch das Feld in dem auch der Befehl hinterlegt wurde. Erstellen Sie eine einfache CSV-Datei und experimentieren Sie mit den verschieden Befehlen.

Eine Datei könnte z.B. so aussehen:
KUNDENNR;VORNAME;NACHNAME;PLZORT
"00001";"Hans";"Mustermann";"12345 Glückstadt"
"00002";"Werner";"Lustig";"12321 Hausen"

Wenn Sie mit dem Quellfeld arbeiten wollen, so geben Sie einfach den Namen an.
Ein paar Beispiele hierzu:
VORNAME + ' ' + NACHNAME // verbindet die Information
LEFT(PLZORT,5) // nimmt die ersten 5-Stellen (PLZ)
TRIM(SUBSTR(PLZORT,6,99)) // extrahiert dann den restlichen Ort

Fortlaufend nummerieren
Sie können den Startwert selbst bestimmen

Keine Zuordnung
Damit können Sie auch bereits erfolgte Zuordnungen rückgängig machen

____________________________________________________________

Nachtrag: Felder verbinden.
Sollen in der Zieldatenbank 2 oder mehr Felder der Quelldatenbank zusammengeführt werden so gibt es auch die Möglichkeit einen zusätzlichen Zeilenumbruch mit einzufügen. Das macht zum Beispiel im Feld "KURZTEXT" des Materialstammes Sinn. Das Feld ist 254 Zeichen lang und gestattet Mehrzeiligen Text (Achtung! Jeder eingefügte Zeilenumbruch zählt jeweils 2 Zeichen - vermindert also den verfügbaren Platz).

Der dazugehörige X-Base Ausdruck lautet:
FELDNAME1 + CHR(13) +CHR(10) + FELDNAME2

Nachtrag - Material & Kalkmode:
Beim Einlesen von Materialien über die Universalschnittstelle gibt es noch eine Besonderheit auf die ich noch einmal detailliert eingehen möchte. Es handelt sich um die Preisfindung in Zusammenhang mit dem Feld „Kalkmode“.
Das Feld Kalkmode bestimmt in welche Richtung bei einer Preisänderung vorgegangen werden soll.
Mögliche Werte:
1 = Brutto – d.h. der EK wird anhand von LP, Rabatt und zus. Rabatt ermittelt
2 = Netto – d.h. der LP wird anhand von EK, Rabatt, und zus. Rabatt ermittelt
4 = zus. Rabatt. – Hier wird der Wert im Feld zus. Rabatt ermittelt das die Kette von LP-EK schlüssig ist.

Dem Feld fällt dann eine wichtige Rolle zu, wenn Rabattgruppen mit im Spiel sind. Hier wird beim Einlesen Bsp. nur der LP und die Rabattgruppe hinterlegt. Zum Zeitpunkt des Einlesens kann der EK durch die Universalschnittstelle nicht selbsttätig ermittelt werden. Nachfolgend können die Rabattgruppen mit den zugehörigen Prozentwerten angelegt werden. Mit dem Datenservice und der Funktion RABATTGRUPPEN PFLEGEN werden nun die EK´s entsprechend der Kalkulationsvorschrift (in diesem Fall sinnigerweise hier „Brutto“) ermittelt. Ich denke, an dieser Stelle wird die Funktion und die Notwendigkeit dieses Feldes klar. Denn auch andere Möglichkeiten der Preisübermittlung sind denkbar und können so mit unserem Programm abgedeckt werden.

In der Regel wird es so sein, das die Preisfindung meistens in Richtung EK stattfindet. Also wird im Feld KALKMODE eine „1“ hinterlegt. Als nächstes die Rabattgruppentabelle füllen. Darauf achten, das die gleiche Lieferantenzuordnung wie beim Material erfolgt. Der Rest wird jetzt über den Datenservice abgewickelt. Über Rabatte pflegen erfolgt die Preisfindung des EK´s. Anschließend kann über Material pflegen der VK bestimmt werden. Ggf. sind die VK-Preise auch mit übergeben worden. Dann entfällt dieser Schritt.
Sollte die Möglichkeit bestehen die Daten auch über Datanorm einzulesen (jetzt wiederhole ich mich ich weiß) so ist dies in jedem Fall vorzuziehen den man kann sich doch allzu leicht vertun. Wer jedoch vor die Wahl gestellt wird die 800 Artikel aus dem Altsystem noch einmal neu zu erfassen wird auch den nötigen Ansporn haben sich hier durchzukämpfen. :-)

Nachtrag - Langtexte:
Es ist auch möglich Langtexte einzulesen. Wir führen hierbei automatisch eine Konvertierung ins TX-Format durch. Der Name des Zielfeldes lautet "TXDATA" .
Dennoch können bei Langtexten Probleme auftreten. Bei "Komma"-Getrennten Dateien ist die max. Länge auf 256 Zeichen begrenzt. Auch dürfen in der Quelldatei im Langtext keine Zeilenumbrüche enthalten sein, da dieser dann als neuer Datensatz interpretiert wird. Innerhalb von Excel/Access kann eine Tabelle auch im D-BASE III Format gespeichert werden - hiermit sollte eine Übernahme klappen (auch große Langtexte).

Zeilenumbrüche entfernen - Langtexte:
Langtexte (z.B. die Bemerkung im Adressstamm) darf, wie oben erwähnt, keine Zeilenumbrüche enthalten. Sind diese dennoch in einer CSV Datei enthalten, können Sie diese mittels einer Excel Funktion entfernen ohne jeden Text manuell anzupassen. Hierzu gehen Sie in eine leere Spalte und nutzen die Formel =säubern(Langtextfeld) Dadurch werden alle ungültigen Zeichen aus der gewählten Spalte entfernt.

Wir übernehmen keine Gewähr für Änderungen die Sie an Ihrem System vornehmen!
EDV-Fenn
Administrator
 
Beiträge: 200
Registriert: Do 24. Jan 2013, 11:40

Zurück zu Topkontor Handwerk

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste