Willkommen, Gast
Home › Foren › Nuclos Konfiguration › Nuclet Import/Export › BasisTtemplatePlus
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
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;
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
Die korrigierte Nuclet-Version (v1.1.1) steht nun im Downloadbereich zur Verfügung.
Bitte melden Sie sich, sollten weiterhin Schwierigkeiten auftreten.
Vielen Dank!
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
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
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
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
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
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
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
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
Du musst angemeldet sein, um auf dieses Thema antworten zu können.