Import Geschäftspartner?

Ansicht von 5 Beiträgen - 1 bis 5 (von insgesamt 5)
  • Autor
    Beiträge
  • #2574
    MathiasMathias
    Teilnehmer

    Die Möglichkeiten in
    Stammdaten || Datenimport || Import Datei
    sind doch sehr begrenzt.
    Wobei in
    Stammdaten || Datenimport || Import Dateiformate
    irgendwie die Möglichkeit angedeutet wird, dass weitere Import-Export Möglichkeiten erstellt werden könnten?

    Was sich dort unter neuer Datensatz aber anlegen lässt, ist nur Name und Beschreibung, und der Versuch, abzuspeichern, führt zur Fehlermeldung

    Sie haben im Feld 'ad_table_id' nichts eingegeben.
    Es handelt sich aber um ein Pflichtfeld.
    Wenn Sie das Feld 'ad_table_id' gar nicht auf Ihrem Bildschirm haben, oder dort nichts eingeben können,
    wenden Sie sich bitte an Ihre IT-Abteilung.

    Die eigentlich wichtigen Felder sind also nicht sichtbar für mich.
    Ich nehme an, dass dies nur in Einstellungen als system developer “openz” möglich ist.
    Wobei ich noch keinen Bereich der Dokumentation gefunden habe, der diesen Bereich behandelt.

    Frage also:
    Gibt es irgend eine Möglichkeit, Geschäftspartner (Mitarbeiter, Endkunden, Lieferanten und Wiederverkäufer) aus csv Listen zu importieren?
    Oder darf ich die alle von Hand anlegen?
    Wie ich das mit einer Hand voll probehalber ja schon gemacht habe)

    #2576
    Thomas TiedtkeThomas Tiedtke
    Verwalter

    In den Sourcen von OpenZ finden sich auch CSV Importdateien für Geschäftspartner.
    Wahrscheinlich unter irgendeinem Pfad der Import heißt (weiß ich gerade nicht genau).
    Für diese Dateien gibt es noch keine Möglichkeit des Imports über die Oberfläche. (Hat leider noch niemand beauftragt.)
    Sie können aber per Script importiert werden.
    Also entweder eigenes Script schreiben oder die (korrekt) befüllte CSV an das OpenZ-Team gegeben die das dann als Dienstleistung einspielt, sofern es Zugang zum Server gibt.

    #2578
    Carola IsingCarola Ising
    Verwalter

    Hallo Mathias,

    wie der Kollege schon richtig erwähnte befindet sich in den Sourcen ein Ordner import, darin ist ein weiterer Ordner mit den von uns benutzten csv Dateien für den Import über das Backend.
    Wie das über das Backend funktioniert, können Sie im Grunde hier: https://www.openz.de/forum/7-stammdaten/45-altedaten-in-datenbank-importieren.html#202 sehen.
    Was genau importiert werden kann, geben die csv Dateien vor, die SQL – Prozedur lässt sich aber auch mit ein paar SQL-Kenntnissen anpassen.

    Hier finden sich auch noch Routinen um Lagerbestände oder Bankdaten zu importieren.

    Ich hoffe ich konnte helfen.

    Viele Grüße
    Danny Heuduk
    OpenZ

    #2579
    MathiasMathias
    Teilnehmer

    Leider hinterlässt ihre Antwort bei mir eine Menge Fragezeichen:

    Den Ordner import finde ich erstmal unter
    /home/zisoft/openz/import

    Muss ich mich als user zisoft (oder sonstwer) anmelden, damit das klappt ?
    Bin bislang immer per ssh als root unterwegs.
    Keine Ahnung, welches pw der User zisoft hat?

    In den SQL Scripten ist jedenfalls vom Verzeichnis
    /import und von
    /tmp die Rede.

    Und /import (nicht etwa ‘./import’) sollte wohl nur unter eher spezifischen Rechten auf das vorhandene
    /home/zisoft/openz/import
    bzw.
    /home/zisoft/openz/tmp verweisen??

    Was genau importiert werden kann, geben die csv Dateien vor, die SQL – Prozedur lässt sich aber auch mit ein paar SQL-Kenntnissen anpassen.

    Dabei fällt mir schon mal auf, dass da keine einzige csv so gebaut ist wie irgend eine csv aus
    Stammdaten || Datenimport || Import Dateiformate ff
    Es sind also signifikant andere, auch die für den Product / Artikel import. Keine Ahnung, worin da im detail die unterschiede bestehen.
    Die Daten, die ich als erstes importieren möchte, wären wohl die durch BP_Location.csv vorgegebenen, evtl. auch noch BP_Vendor.csv, und bei einem Teil auch noch BP_Bank.csv

    Nu würde ich gerne zumindest ansatzweise wissen, was ich denn tue, wenn ich eine bestimmte Anweisung befolge.

    Man fängt an, indem man keytab.csv in das Verzeichnis /tmp kopiert.

    Dann im SQL-Prompt

    i //zs_import_create.sql

    i //zs_import_bpartner.sql

    i //zs_import_product.sql

    laufen lassen.

    Dann die Dateien einzeln Importierren (Siehe zs_import_files.sql)

    Überprüfen der daten (im SQL-Prompt) mit

    select zsi_checkdata();

    Importieren mit den Funktionen , die in den scripten zs_import_bpartner.sql und zs_import_product.sql enthalten sind.

    Je nachdem, was importiert werden soll.

    Die keytab muss einfach so vorhanden sein, nehme ich an, unverändert.

    zs_import_create.sql dropt erstmal eine menge Tabellen, um sie offenbar danach wieder neu zu createn.
    Ist das nötig?
    Ist das jedesmal nötig, wenn ich einen import mache, oder einmal?

    i //zs_import_bpartner.sql

    i //zs_import_product.sql
    okay, das mache ich, damit die Funktionen zur Verfügung stehen.

    Ich soll ” die Dateien einzeln Importierren (Siehe zs_import_files.sql)”,
    dann “überprüfen”,
    und dann “Importieren mit den Funktionen , die in den scripten zs_import_bpartner.sql und zs_import_product.sql enthalten sind.”
    Okay, da ich wohl von bpartner importieren will:
    in bpartner gibts drei funktionen
    FUNCTION zsi_bpartnerimport(p_deleteexisting character varying) RETURNS void
    FUNCTION zsi_bpcustomerimport() RETURNS void
    FUNCTION zsi_cleanstdloc() RETURNS varchar

    Dazu soll wohl die BPartner.csv bzw. die BP_Customer.csv zur verfügung stehen. Was ist mit der BP_Location.csv, die mich als erste interssiert?

    Was mache ich bitte mit der zs_import_files.sql ?

    also, ich mein, ich werkle da in einer Datenbank mit über 600 Tabellen, wenn ich das richtig in psql gesehen hab – ich würd gern grobe Hinweise haben, was diese SQL scripte so machen, bevor ich die nur halb verstanden vom groben überfliegen in irgend einer Reihenfolge abfeuere.

    Hat diese Scripte, seit die vor über 4 Jahren in dem Thread kurz angerissen wurden, jemals ein Benutzer (also nicht sie selbst, sondern andere Benutzer (die ja i.d.r. frühe Benutzer sind, wenn es um den Import der altdaten geht) tatsächlich benutzt? Oder bin ich da nur besonders vorsichtig?

    Liebe Grüße

    Mathias

    #2580
    Carola IsingCarola Ising
    Verwalter

    Hallo Mathias,

    auf Ihrer VM, in der Sie sich als root anmelden, finden Sie unter /home/zisoft/openz/ den Ordner import.
    Der Ordner /tmp entspricht dem im root Verzeichnis.

    Das ergibt für Sie erst einmal folgende wichtige Ordner
    /tmp/ (hier kommen später die gefüllten csvs rein)

    /home/zisoft/openz/import/ (hier liegen die Datenbankroutinen)

    Es ist richtig, dass die csv-Dateien anders aufgebaut sind, diese orientieren sich an den Masken in OpenZ.
    Die Maske Geschäftspartner entspricht im weitesten (mittlerweile sind einige Felder mehr in der Maske) der BPartner.csv wobei nur die wichtigsten Daten aufgeführt sind. Sprich Suchschlüssel Name, Kategorie… Das gleiche gilt für die Unterreiter zB Bankverbindung, die csv-Datei BP_Bank.csv ist für das befüllen dieses Unterreiters bestimmt.

    csv-Dateien können Sie also wie Unterreiter sehen.

    Die SQL Dateien, die Sie importieren sollen legen das Grundgerüst an, in das die csv Dateien später temporär reingeschrieben werden, bevor diese in die produktive Datenbank import werden. Dies gilt insbesondere der Sicherheit Ihrer Daten.

    zs_import_create.sql erstellt das Grundgerüst, heißt temporäre Tabellen für Artikel, Geschäftspartner etc.

    zs_import_bpartner.sql legt die Importfunktionen für Geschäftspartner an, die die Daten importieren und überprüfen.

    zs_import_product.sql legt die Funktionen für Artikel an.

    zs_import_files.sql importiert die gefüllten csvs in die temporären Tabellen. Wenn denn alle gefüllt sind und im Verzeichnis /tmp/ liegen.

    Die Funktion select zsi_checkdata(); kontrolliert die von Ihnen importierten Daten, ob diese den Vorgaben unseres Systems entsprechen.

    zsi_bpartnerimport(p_deleteexisting character varying) legt die Grunddaten eines Geschäftspartner in der richtigen, Produktivdatenbank an. Das Flag p_deleteexisting (‘Y’,’N’) bestimmt ob bestehende Daten gelöscht werden sollen.
    zsi_bpcustomerimport() sorgt dafür dass aus den nun existierenden Geschäftspartnerdaten Kundendaten werden sollen und weißt ihnen Preislisten Lieferbedingungen und sonstiges zu.

    cleanstloc schaut ob falsche bzw leere Adressen dem GP zugeordnet sind (Germany, , Standard) und löscht diese.
    Diese Standarddatensätze werden ansonsten automatisch beim anlegen eines GPs erstellt. Das macht die zsi_bpartnerimport aber auch gleich mit.

    Da jeder Geschäftspartner grundlegend eine Adresse benötigt sollte die Location csv natürlich auch gefüllt sein, die zsi_bpartnerimport verknüpft die entsprechenden Adressen mit den GPs. Wenn keine vorhanden ist, werden Blankodatensätze erstellt.

    zs_import_files.sql importiert die gefüllten csvs in die temporären Tabellen. Wenn denn alle gefüllt sind und im Verzeichnis /tmp/ liegen.

    Ja, einige unserer Kunden haben diese Importdateien benutzt und benutzen diese noch heute um komplexe Daten einfach in das System zu bekommen. Natürlich wäre ein Import über die Oberfläche einfacher, allerdings erfolgt ein Import meist nur einmalig, deswegen haben sich unsere Kunden meist gegen eine Implementierung einzelner Importe über die Oberfläche entschieden, die Dateien dann selbst oder mit uns zusammen ins System importiert.

    Wir können auch Sie gerne beim Import unterstützen.

    Ich hoffe ich konnte Ihnen helfen.

    Viele Grüße
    Danny Heuduk
    OpenZ

Ansicht von 5 Beiträgen - 1 bis 5 (von insgesamt 5)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.
Scroll to Top