Home Forum Nuclos Konfiguration Nuclet Import/Export BasisTtemplatePlus

Ansicht von 15 Beiträgen - 1 bis 15 (von insgesamt 17)
  • Autor
    Beiträge
  • #7603
    Matthias KÖPER
    Teilnehmer

    Hallo,

    ich habe das BasistemplatePlus heruntergeladen um mit Nuclos warm zu werden und zu testen, ob Nuclos etwas für unseren Kunden ist. Ich habe das System mit ein paar Daten gefüttert und scheitere jetzt daran, einen Auftrag zu speichern.
    Fehlermeldung:

    FEHLER: Spalte t1.intid_nuclosstate existiert nicht

    Wenn man hinterher in die Liste der Aufträge schaut, sieht man, dass der Auftrag gespeichert wurde. Beim Öffnen gibt es aber wieder diese Fehlermeldung. Löschen funktioniert auch nicht. Im Wiki gibt es einen Hinweis, dass es in Nuclos 4 Änderungen bei den Primärschlüsseln gegeben hat. Was muss ich tun, damit das Basistemplate funktioniert?

    Danke im Voraus!
    mkoeper

    #7604
    Matthias KÖPER
    Teilnehmer

    Dieser Fehler konnte behoben werden durch Refactoring der Funktion Z959_CA_MENGE_WARENAUSGANG (gefunden unter Quelltext DB-Objekte). Auf die Spur gebracht hat mich der Wiki-Eintrag Hinweise zu Nuclos 4.0. „intid_nuclosstate“ musste durch „struid…“ ersetzt werden.

    Habe nun folgenden neuen Stand der Funktion, bin aber nicht sicher, ob das ein vollständiges Refactoring ist, und in welchen Funktionen es noch analog ausgeführt werden muss.

    CREATE OR REPLACE FUNCTION Z959_CA_MENGE_WARENAUSGANG(id numeric)
    RETURNS numeric AS
    $BODY$
    DECLARE
    menge numeric;
    BEGIN
    SELECT SUM(t.dblmenge) INTO menge
    FROM Z959_LIEFERSCHEINPOSITION t, Z959_LIEFERSCHEIN t1, t_md_state t2
    WHERE t.intid_strartikel = (Select intid_strartikel from Z959_AUFTRAGSPOSITION where intid=id) AND t1.intid=t.intid_strlieferschein
    AND t1.struid_nuclosstate =t2.struid AND t2.strstate='Abgeschlossen'
    AND blnnuclosdeleted=false;
    RETURN menge;
    END;
    $BODY$
    LANGUAGE 'plpgsql' VOLATILE
    COST 100;

    #7605
    caf
    Verwalter

    Hallo,

    danke für die Informationen!

    Ich werde mich um das Problem kümmern, und Ihnen eine korrigierte Version des Nuclets in den Downloadbereich stellen.

    Freundliche Grüße,
    Frank Lehmann

    #7606
    caf
    Verwalter

    Die korrigierte Nuclet-Version (v1.1.1) steht nun im Downloadbereich zur Verfügung.

    Bitte melden Sie sich, sollten weiterhin Schwierigkeiten auftreten.

    Vielen Dank!

    #7608
    Matthias KÖPER
    Teilnehmer

    Hallo Herr Lehmann,

    besten Dank – wir laden das Nuclet dann herunter.

    Wir haben jetzt eine weitere Frage in einem neuen Thema eingestellt.

    Beste Grüße
    mkoeper

    #7609
    Matthias KÖPER
    Teilnehmer

    Hallo Herr Lehmann,

    habe das Nuclet runtergeladen und versucht zu importieren. Gibt leider Versionskonflikte:

    Version conflict: Existing Nuclet „Nummernkreise“ v110 –> Importing Nuclet „Nummernkreise“ v100
    Version conflict: Existing Nuclet „Lagerverwaltung“ v110 –> Importing Nuclet „Lagerverwaltung“ v101

    Wir hatten den Fehler ja wie beschrieben behoben. Haben Sie noch an anderen Stellen Änderungen gemacht? Sonst brauchen wir die neue Version nicht importieren…

    Grüße
    mkoeper

    #7610
    caf
    Verwalter

    Hallo,

    ich habe die von Ihnen gemeldeten Versionskonflikte behoben. Bitte laden Sie sich das Nuclet noch einmal herunter, und versuchen Sie es dann mit der aktualisierten Version.

    Es wäre auf jeden Fall wichtig, die neue Version zu nehmen, weil neben den von Ihnen erkannten Problemen weitere Fehler behoben worden sind.

    > Wir haben jetzt eine weitere Frage in einem neuen Thema eingestellt.
    Der Fehler dürfte mit der neuen Version behoben sein.

    Freundliche Grüße,
    Frank Lehmann

    #7618
    Matthias KÖPER
    Teilnehmer

    Hallo Herr Lehmann,

    bei dem Versuch, Objektimporte zu löschen, habe ich noch eine Fehlermeldung gefunden:

    org.nuclos.common.UID cannot be cast to java.lang.Long

    Der Objektimport lässt sich nicht löschen.
    Bei Bedarf hänge ich noch die gesamte Meldung an.

    Nachdem ich jetzt auch meine Artikel erfolgreich importiert habe, wollte ich Aufträge importieren.
    Wie mache ich das am geschicktesten?

    Ich vermute, ich brauche zwei Strukturdefinitionen einmal für die Aufträge und einmal für die Positionen. Sollte man die Daten dann in zwei Dateien packen oder kann man diese in einer Datei unterbringen? Beim Objektimport kann ich ja mehrere Strukturdefinitionen angeben, aber nur eine Datei.

    Welchen Weg (csv-Import oder etwas anderes) würden Sie empfehlen wenn man regelmäßig automatisch Aufträge importieren möchte (möglichst ohne Zutun des Anwenders und mit vernünftiger Fehlerbehandlung)?

    Viele Grüße
    mkoeper

    #7623
    Matthias Dörr
    Teilnehmer

    Guten Morgen,

    vielleicht helfen Ihnen ja ein paar Erfahrungen aus der Praxis…

    Wir haben Nuclos seit einem halben jahr im Einsatz und sind sehr zufrieden. Nuclos löst bei uns nach und nach folgende Systeme vollständig ab: OfficeLine (Einkauf, Lager), iQS CAQ (Qualitätsdatenerfassung), Cimco (CNC Programmverwaltung), SmarTeam (Stücklistenverwaltung, Variantenmanagement). Ausserdem integrieren wir umfänge welche bisher mit Excel oder in Papier gelöst worden sind. Aufgrund der Anforderungen an die Dokumentation in Luftfahrt Betrieben ist die Konfiguration mittlerweile recht umfangreich 😉

    Wir haben viele Daten aus den „alten“ Systemen übernommen, bzw. syncronisieren die Systeme soweit sie noch parallel im Einsatz sind. Dies ist „simple stupid“ gelöst. Das „alte“ System schreibt alle 15 Minuten die relevanten Tabellen komplett in CSV Dateien (z.B. Auftrag.csv und Auftragspositionen.csv was sich meiner Meinung nach nicht in einer Datei zusammenfassen lässt). Den Rest macht Nuclos nach eindeutigen Schlüsseln welche ebenfalls in der CSV Datei auftauchen. Anmerkung dazu: man kann auch hervorragend Daten in Excel vorbereiten und diese dann einmalig (bereinigt) importieren.

    Ein weiterer Vorteil ist der einfache export. Jeder User kann Tabellen als Excel abziehen (Listenansicht>Liste exportieren) wenn z.B. einmalige eigene Abfragen gemacht werden sollen. Dies ermöglicht mit einfachen Mitteln die Anbindung an andere Tools. Wir experimentieren aktuell zum Beispiel mit yED (ebenfalls open source) zur Visualisierung von komplexen Bäumen (mehrere tausend Knoten) – mit tagesaktuellen Daten aus Nuclos versteht sich.

    Das geniale an Nuclos ist eben daß man mit einfachen Mitteln alles realisieren kann was man benötigt mit sehr wenigen Ausnahmen. Der einzige Punkt der mich wirklich „stört“ ist daß man in einem Layout nicht zwei subforms auf die gleiche Entität machen kann (z.B. in der Stückliste ein Subform „wo verwendet“ (Fremdschlüssel Parentitems) und „woraus bestehend“ (Fremdschlüssel Childitems). Dies kann man einfach umgehen wenn die Daten nur angezeigt werden sollen. Sobald man jedoch in beide subforms eingaben machen will muss man sich einen anderen Weg einfallen lassen was nicht so elegant ist.

    Sollten Sie weitere Fragen haben stehe ich gerne zur Verfügung.

    Gruß, Matthias Dörr

    #7624
    Matthias KÖPER
    Teilnehmer

    Vielen Dank für den Bericht.

    Wir haben unseren Kunden inzwischen von Nuclos überzeugen können und planen gerade Auftrags- und Lagerverwaltung und müssen uns jetzt in die Feinheiten von Nuclos einarbeiten. Dabei entstehen natürlich eine Menge Fragen.

    Die normalen Stammdaten werden wir per csv-Import in das System bekommen. Ein anderer Punkt ist aber der Auftragsimport. Wir erhalten täglich sehr viele kleine Aufträge über eine Webplattform zur Auslieferung. Diese müssen automatisch und User-Sicher in das System, also ohne Benutzerinteraktion und ohne sich im Fehlerfall Logadateien ansehen zu müssen. Die CSV-Schnittstelle kann und möchte ich einem normalen Sachbearbeiter nicht zumuten.

    Meine Idealvorstellung wäre, dass ich nur Kundennummer, Lieferanschrift, Artikelnummern und Mengen dem System mitteilen muss (bei dem Format sind wir noch flexibel)
    und daraus automatisch Aufträge entstehen, die auch die bei den Stammdaten hinterlegte Attribute wie Rechnungsadresse und Artikelname enthalten. Fehlerhafte Aufträge (z.B. unbekannte Artikelnummer) sollen ebenfalls als Auftrag, aber mit einem Fehlerstatus angelegt werden, so dass der Bearbeiter in auf einen Blick die Liste aller importierten Aufträge sehen kann und bei Bedarf fragliche Aufträge von Hand nachbearbeiten kann. Es darf auch im Fehlerfall kein Datensatz einfach verloren gehen.

    Wie packt man so ein Szenario am besten an?

    Viele Grüße
    mkoeper

    #7628
    Matthias Dörr
    Teilnehmer

    Hallo,

    wir haben sowas ähnliches beim importieren von Messwerten…

    Unsere Lösung: In Temporäre Tabelle (automatisch per job script) importieren, diese Importierten Datensätze werden manuell per Objektgenerator in die „echte“ Liste übernommen und danach als übernommen markiert (Statuswechsel).

    Gruß, Matthias

    #7710
    Matthias KÖPER
    Teilnehmer

    Hallo,

    ich importiere meine Aufträge per Job, wie von mdoerr beschrieben, in ein temporäres Auftragsobjekt und mache danach eine Prüfung, ob die Daten plausibel sind (mit anschließendem Statuswechsel je nach dem ob die Prüfung positiv ausfällt). Jetzt würde ich gerne im nächsten Schritt den Objektgenerator, der die „richtigen“ Auftragsobjekte erzeugt, ebenfalls per Jobregel anstoßen. Leider bin ich in der API nicht fündig geworden. Gibt es dafür eine Funktion oder muss ich den Objektgenerator von Hand aufrufen?

    Danke,
    mkoeper

    #7711
    Papa Schlumpf
    Teilnehmer

    Es gibt den GenerationProvider, mit dem man Arbeitsschritte ausführen kann.

    #7712
    Matthias KÖPER
    Teilnehmer

    Danke, den habe ich gesucht :laugh:

    Aaaaaber, ich bekomme noch eine Exception:
    GenerationProvider: Error while executing generation

    Der Objektgenerator funktioniert, wenn man ihn manuell aufruft.

    Im Serverlog steht etwas von clientLogin user=nuclos NOT IN SESSION SCOPE keine Ahnung, was mir das zu sagen hat…
    Ich hänge mal das Serverlog an. Vielleicht kann das jemand für mich deuten.

    Danke,
    mkoeper

    Attachments:
    #7713
    Papa Schlumpf
    Teilnehmer

    Die „NOT IN SESSION SCOPE“ Einträge sind normal, die stehen bei mir auch dauernd drin.

    Ich vermute mal, dass der Objektgenerator in dem Job „DEFAULT.Auftragsimport“ aufgerufen wird, oder? Wenn ja, dann steht die Exception nicht im Log, es sei denn man loggt sie über den JobContext selbst.

Ansicht von 15 Beiträgen - 1 bis 15 (von insgesamt 17)