Neu Ameise 1.5 vs Ameise 1.6 - Unterschiede zwischen GUI Version und Kommandozeile bzgl. gültiger Werte

JohnFrea

Sehr aktives Mitglied
21. September 2017
717
212
Moin,

mit dem Update auf Wawi 1.6 ist mir ein wirklich unschönes und undokumentiertes Verhalten der Ameise aufgefallen.

Betroffen ist die Spalte "Zum eigenen Lagerbestand hinzufügen" im Bereich Artikelstammdaten > Lieferant - vielleicht jedoch auch noch weitere Spalten.

Bis Wawi 1.5 war sowohl in der GUI wie auch in der CMD-Version ein "Y" für Ja möglich.
In 1.6.41.1 akzeptiert die GUI noch ein Y während die CDM das ablehnt und eine 1 erwartet. Und noch schlimmer, die CDM-Version lehnt das Y an und konvertiert den ungültigen Spaltenwert zu einer 0. Damit hat man im Ergebnis genau nicht, was man haben wollte und in diesem Beispiel wird der Lieferantenbestand NICHT zum Lagerbestand hinzu gefügt.

So eine Änderung erwartet wirklich niemand und so etwas im Feld zu debuggen ist nicht witzig.

Wie kann es überhaupt Unterschiede zwischen GUI und CMD bzgl. gültiger Werte geben?
Wurden noch mehr gültige Werte zwischen 1.5 und 1.6 umgestellt oder sind zwischen GUI und CMD unterschiedlich?

Dieser Thread nur als Hinweis, weil darüber vermutlich noch mehr Anwender, die Automatisieren stolpern werden. Ticket#2022081110000502 dazu eben eröffnet.

John
 
Zuletzt bearbeitet:

Verkäuferlein

Sehr aktives Mitglied
29. April 2012
2.343
838
Ist bestimmt ein Feature und kein Bug. ;)

Gibt auch Unterschiede zwischen Trockenlauf und Real-Import (Fehler/Probleme die erst im Real-Import angezeigt werden, im Trockenlauf aber nicht aufgetaucht sind), auch das gilt es zu beachten.
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
638
208
Für konkret das Feld "Zum Lieferantenbestand hinzufügen" ist das als Bug inzwischen bestätigt.

https://issues.jtl-software.de/issues/WAWI-63981

Was mich vor allen Dingena auf techischer Seite interessiert: Wie kann es da Unterschiede zwischen GUI und CMD geben?!?
Moin.
der interne Typ vom "Zum eigenen Lagerbestand hinzufügen" ist "Integer" also eine Zahl, die Spalte heißt "nLagerBeachten" und ist auch eine Zahl. Die Oberfläche (GUI) korrigiert automatisch "Y" zum "1" und "N" zum "0", das CSV/Batch-Modus macht das nicht. Der Wert "Y" ist also eigentlich falsch, muss "1" sein.
Bild1.png
 
  • Gefällt mir
Reaktionen: Verkäuferlein

Verkäuferlein

Sehr aktives Mitglied
29. April 2012
2.343
838
Was mich vor allen Dingena auf techischer Seite interessiert: Wie kann es da Unterschiede zwischen GUI und CMD geben?!?

Hast Du es mal im Trockenlauf probiert, welche Meldungen da kommen?

Keine Ahnung, bis zu welchem Punkt da die Abläufe bei allem 3 identisch sind.

Moin.
der interne Typ vom "Zum eigenen Lagerbestand hinzufügen" ist "Integer" also eine Zahl, die Spalte heißt "nLagerBeachten" und ist auch eine Zahl. Die Oberfläche (GUI) korrigiert automatisch "Y" zum "1" und "N" zum "0", das CSV/Batch-Modus macht das nicht. Der Wert "Y" ist also eigentlich falsch, muss "1" sein.
Den Anhang 86725 betrachten

Weißt Du ob das vor der 1.6 anders war und welche Felder sich möglicherweise geändert haben?
Meines Wissens gibt es das bei mehreren Feldern, ich kann mich zumindest an ähnliche Fehlermeldungen beim Import alter Vorlagen erinnern.
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
638
208
Hast Du es mal im Trockenlauf probiert, welche Meldungen da kommen?

Keine Ahnung, bis zu welchem Punkt da die Abläufe bei allem 3 identisch sind.



Weißt Du ob das vor der 1.6 anders war und welche Felder sich möglicherweise geändert haben?
Meines Wissens gibt es das bei mehreren Feldern, ich kann mich zumindest an ähnliche Fehlermeldungen beim Import alter Vorlagen erinnern.
Moin. Ich habe bei mir 2 Version: die 1.5.55 und die 1.6.41. Die Ameise Felder-Tabellen sind sehr ähnlich, aber nicht identisch, da gibt es mehrere Unterschiede. Ich mache Morgen einen Abgleich zwischen den Versionen und poste es hier als Tabelle.
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
638
208
Hallo an Alle,
ich habe die Importfelder in Ameise zwischen 1.5.55.3 und 1.6.41.2 verglichen.
Die Tabellen sind identisch, und auch die Spalte "Zum eigenen Lagerbestand hinzufügen" ist eine Zahl, genau so wie in 1.6
Bild2.png

Der einzige Unterschied zwischen 1.5 und 1.6 ist - es fehlen 2 Spalten in 1.6: Lagerbestand in Variationen und Drittland.
Bild3.png
wobei das für 1.6 verständlich ist.
Mit freundlichen Grüßen, Ihr MVH-Team
 

Verkäuferlein

Sehr aktives Mitglied
29. April 2012
2.343
838
Die Tabellen sind identisch, und auch die Spalte "Zum eigenen Lagerbestand hinzufügen" ist eine Zahl, genau so wie in 1.6
Hab mal versucht, über den Issue-Tracker etwas herauszufinden:
https://issues.jtl-software.de/issues/WAWI-59010
https://issues.jtl-software.de/issues/WAWI-59084

Im Guide ist dazu folgendes zu finden:
https://guide.jtl-software.de/jtl-w...beispiel-fuer-eine-csv-datei-mit-artikeldaten


https://guide.jtl-software.de/jtl-w...mportieren/#schritt-2-standardwerte-festlegen
Hinweis zu den erlaubten Werten: Bei vielen Standardwerten können Sie prinzipiell nur auswählen, ob diese gesetzt sein sollen oder nicht, z. B. Bestandsführung aktiv. Erlaubte Werte sind hier Ja, J, true, Y und 1 zum Aktivieren einer Option bzw. Nein, N, false und 0 zum Deaktivieren.
 
Zuletzt bearbeitet:

mvh

Sehr aktives Mitglied
26. Oktober 2011
638
208
Ja, richtig. Diese Spalte cValidation beschreibt, wie die Ameise (als Programm/GUI) die Daten behandeln soll (bool=Y,N 01=0,1),
aber im Kommandozeilen-Modus (also als Konsole) wird die Spalte manchmal? ignoriert uns hier ist nur der Typ wichtig:
int8 = Ganzzahl (bis 256?), char=1 Zeichen, usw.
Ich würde mich nicht auf die korrekte Umwandlung verlassen, sondern gleich den richtigen Typ nehmen, ist sicherer.
LG, Ihr MVH-Team
 

Verkäuferlein

Sehr aktives Mitglied
29. April 2012
2.343
838
Ja, richtig. Diese Spalte cValidation beschreibt, wie die Ameise (als Programm/GUI) die Daten behandeln soll (bool=Y,N 01=0,1),
aber im Kommandozeilen-Modus (also als Konsole) wird die Spalte manchmal? ignoriert uns hier ist nur der Typ wichtig:
int8 = Ganzzahl (bis 256?), char=1 Zeichen, usw.
Ich würde mich nicht auf die korrekte Umwandlung verlassen, sondern gleich den richtigen Typ nehmen, ist sicherer.
LG, Ihr MVH-Team

Habe ich soweit verstanden. :)

Nur die Frage ist ja, ob denn auch alle entsprechenden Felder (z.B. die Standardwerte in der Wawi bei denen N/Y zur Auswahl steht) auch alles Integer sind. Oder anders: Welche Felder sind möglicherweise keine Integer?

Sonst hat man das Spiel ja wieder umgekehrt.

Hast Du die Datentypen und Validierungen der Datenbankfelder direkt aus der Datenbankstruktur ausgelesen oder gibt es die Aufstellung dazu irgendwo im Guide?
 

John

Sehr aktives Mitglied
3. März 2012
2.592
496
Berlin
Versuch mal in der GUI in einenen Standardwert, der ein Boolean ist etwas Ungültiges einzugeben. Wenn Du das Feld erläßt, macht er ein Validate mit MessageBox und gibt die gültigen Werte an:
1,Y,J,True
0,N,False
glaube ich.

@mvh & @Verkäuferlein schön, daß Ihr auch tief mit rein schaut, in so ein Detail.
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
638
208
Habe ich soweit verstanden. :)

Nur die Frage ist ja, ob denn auch alle entsprechenden Felder (z.B. die Standardwerte in der Wawi bei denen N/Y zur Auswahl steht) auch alles Integer sind. Oder anders: Welche Felder sind möglicherweise keine Integer?

Sonst hat man das Spiel ja wieder umgekehrt.

Hast Du die Datentypen und Validierungen der Datenbankfelder direkt aus der Datenbankstruktur ausgelesen oder gibt es die Aufstellung dazu irgendwo im Guide?
Ameise-TypAmeise-FeldDB?TabelleDB-FeldAmeise-Typechtes DB-TypAmeise-Validierung
Amazon-Angebote ändernAPA Nutzenpf_amazon_angebot_extnAPANutzenint8tinyintbool01
Amazon-Angebote ändernAutomatischen Preisabstand nutzentHlpnPreisabstandNutzenint8bool01
Amazon-Angebote ändernB2B Preise sendenpf_amazon_angebot_extnB2BPreiseSendenbitbitbool
Amazon-Angebote ändernMin und Maxpreis anhand des Einkaufspreises berechnentHlpKonkurenzAsinnAufschlagProzentNutzenAsinint8bool01
Amazon-Angebote ändernMin und Maxpreis anhand des Einkaufspreises berechnentHlpnAufschlagProzentNutzenint8bool01
Amazon-Angebote ändernPreisanpassungsstrategie BuyboxtHlpnBuyBoxint8bool01
Amazon-Angebote ändernPreisanpassungsstrategie Konkurenz AsintHlpKonkurenzAsinnKonkurenzAsinint8bool01
ArtikeldatenBeschaffungszeit autom. ermittelntartikelnAutomatischeLiefertageberechnungint8tinyintbool01
ArtikeldatenCharge ArtikeltartikelnChargeint8tinyintbool01
ArtikeldatenInhalt/MengetartikelfMassMengerealdecimalbool01
ArtikeldatenIst DropshippingartikeltliefartikelnDropShippingint8tinyintbool01
ArtikeldatenIst Standard-DropshippinglieferanttliefartikelnDropShippingStandardint8tinyintbool01
ArtikeldatenIst StandardlieferanttliefartikelnStandardint8tinyintbool01
ArtikeldatenIst VaterartikeltartikelnIstVaterint8tinyintbool01
ArtikeldatenKein BestellvorschlagtartikelnNichtBestellbarint8tinyintbool01
ArtikeldatenLieferstatus zurücksetzentlieferstatushlpLieferStatusintbool01
ArtikeldatenLieferzeit vom Lieferanten beziehentliefartikelnLieferzeitAusLieferantint32tinyintbool01
ArtikeldatenMHD Artikel (Mindesthaltbarkeitsdatum)tartikelnMHDint8tinyintbool01
ArtikeldatenMindestlagerbestand zurücksetzentartikelhlpMindestlagerbestandZurücksetzenintbool01
ArtikeldatenZum eigenen Lagerbestand hinzufügentliefartikelnLagerBeachtenint8tinyintbool01
eBay-Angebote ändernAngebot mit Informationen aus dem eBay-Katalog vorbefüllenebay_itemIncludeeBayProductDetailsint8tinyintbool01
eBay-Angebote ändernPreisvorschlag Aktivebay_itemBestOfferEnabledint32tinyintBOOL01
eBay-Angebote erstellenAngebot mit Informationen aus dem eBay-Katalog vorbefüllenebay_itemIncludeeBayProductDetailsint8tinyintbool01
eBay-Angebote erstellenPreisvorschlag Aktivebay_itemBestOfferEnabledint32tinyintBOOL01
KonfigurationskomponentenKomponente empfehlentkonfigitembEmpfohlenint32tinyintbool01
KonfigurationskomponentenKomponente vorauswählentkonfigitembSelektiertint32tinyintbool01
KonfigurationskomponentenName vom Artikel beziehentkonfigitembNameint32tinyintbool01
KonfigurationskomponentenPreise vom Artikel beziehentkonfigitembPreisint32tinyintbool01
KonfigurationskomponentenRabatte anzeigentkonfigitembRabattint32tinyintbool01
KonfigurationskomponentenVom Artikelmultiplikator lösentkonfigitembIgnoreMultiplierint32tinyintbool01
KonfigurationskomponentenZuschläge anzeigentkonfigitembZuschlagint32tinyintbool01
KundendatenDrittlandtkundenDrittlandint8tinyintbool01
LieferantendatenDropshipping bei NachnahmetlieferantnDropshippingBeiNachnahmeint8tinyintbool01
LieferantendatenDropshipping möglichtlieferantnDropshippingint8tinyintbool01
LieferantendatenEinkaufslistensperretlieferantnKeineEinkaufslisteint8tinyintbool01
MerkmaleMehrfachauswahltMerkmalnMehrfachauswahlinttinyintBOOL01
Preise / Bestände (QuickSync)Ist DropshippingartikeltliefartikelnDropShippingint8tinyintbool01
Preise / Bestände (QuickSync)Ist Standard-DropshippinglieferanttliefartikelnDropShippingStandardint8tinyintbool01
Preise / Bestände (QuickSync)Ist StandardlieferanttliefartikelnStandardint8tinyintbool01
Preise / Bestände (QuickSync)Zum eigenen Lagerbestand hinzufügentliefartikelnLagerBeachtenint8tinyintbool01
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
638
208
Habe ich soweit verstanden. :)

Nur die Frage ist ja, ob denn auch alle entsprechenden Felder (z.B. die Standardwerte in der Wawi bei denen N/Y zur Auswahl steht) auch alles Integer sind. Oder anders: Welche Felder sind möglicherweise keine Integer?

Sonst hat man das Spiel ja wieder umgekehrt.

Hast Du die Datentypen und Validierungen der Datenbankfelder direkt aus der Datenbankstruktur ausgelesen oder gibt es die Aufstellung dazu irgendwo im Guide?
Die Tabelle wurde anhand von Daten aus den WaWi-Tabellen ameise_importtyp, ameise_importtypfeld und SQL Server Tabellen sys.tables, sys.columns und sys.types erstellt.
Die Where-Abfrage
SQL:
cValidation like '%bool%' and cDBTyp not like '%char%'
Der komplette SQL-Code:
SQL:
SELECT ai.cName
    ,aif.cName
    ,aif.cTable
    ,aif.cDBName
    ,aif.cDBTyp
    ,col.data_type
    ,aif.cValidation
FROM [eazybusiness].[dbo].[ameise_importtypfeld] aif
INNER JOIN eazybusiness.dbo.ameise_importtyp ai ON aif.kImportTyp = ai.kImportTyp
OUTER APPLY (
    SELECT schema_name(tab.schema_id) AS schema_name
        ,tab.name AS table_name
        ,col.column_id
        ,col.name AS column_name
        ,t.name AS data_type
        ,col.max_length
        ,col.precision
    FROM sys.tables AS tab
    INNER JOIN sys.columns AS col ON tab.object_id = col.object_id
    LEFT JOIN sys.types AS t ON col.user_type_id = t.user_type_id
    WHERE tab.name = aif.cTable
        AND col.name = aif.cDBName
    ) col
WHERE cValidation LIKE '%bool%'
    AND cDBTyp NOT LIKE '%char%'
ORDER BY ai.cName
    ,aif.cName
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
638
208
Umgekehrt gibt es wenige Y/N-Felder, die tatsächlich vom Typ char sind:
Ameise-TypAmeise-FeldTabelleFeldMeta-TypSQL TypValidierung
ArtikeldatenAktivtartikelcAktivcharcharbool
ArtikeldatenErscheint am zurücksetzentartikelhlpErscheintAmZurücksetzencharNULLbool
ArtikeldatenLagerbestand in VariationentartikelcLagerVariationcharcharbool
Artikeldatenmit Lagerbestand arbeitentartikelcLagerAktivcharcharbool
ArtikeldatenNeu im SortimenttartikelcNeucharcharbool
ArtikeldatenPreislistetartikelcPreislistecharcharbool
ArtikeldatenSeriennummer-ArtikeltartikelcLagerArtikelcharcharbool
ArtikeldatenStückzahl teilbartartikelcTeilbarcharcharbool
ArtikeldatenTop ArtikeltartikelcTopArtikelcharcharbool
ArtikeldatenÜberverkäufe ermöglichentartikelcLagerKleinerNullcharcharbool
ArtikeldatenVariationskombinationen beachtentartikelvarkombi_beachtencharNULLbool
ArtikeldatenVerpackungseinheit zurücksetzentliefartikelhlpVerpackungseinheitZurücksetzencharNULLbool
Aufträge (Beta)Als Angebot importierentBestellunghlpAuftragcharNULLbool
KundendatenGesperrttkundecSperrecharcharbool
KundendatenKassenkundetkundecKassenKundecharcharbool
LieferantendatenAktivtlieferantcAktivcharcharbool
 

mvh

Sehr aktives Mitglied
26. Oktober 2011
638
208
Sehr häufig verwendet JTL folgende "mnemonic" in SQL-Feldnamen: "c"=char, "n"=numeric, "b"=binary
So kann man auch ohne den Aufwand den Typen schnell rausfinden.
Viele Grüße, Ihr MVH-Team
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu JTL Ameise Extrem Langsam im Export JTL-Ameise - Fehler und Bugs 7
Neu Nach Umstellung auf WMS Probleme mit der JTL Ameise Installation von JTL-WMS / JTL-Packtisch+ 0
Neu Ameise - Attribute importieren/aktualisieren - Mehrere Sprachen JTL-Ameise - Ideen, Lob und Kritik 1
Neu eBay Plus Angebote per Ameise steuerbar ? Eigene Übersichten in der JTL-Wawi 6
Neu Ameise - Variationskombinationen - UVP pflegen User helfen Usern - Fragen zu JTL-Wawi 0
Ameise - Auftragsimport mit mehreren Artikelpositionen JTL-Wawi 1.8 1
Neu Ameise Export Header JTL-Ameise - Fehler und Bugs 2
Neu Ameise eigener export User helfen Usern 8
Neu JTL-Ameise Kontaktdaten-Export und in Greyhound importieren plus Zuweisen User helfen Usern 1
Ameise - Export Zahlungdaten ohne Minuszahlungen ? Version 1.9.1.0 JTL-Wawi 1.8 2
Variationen per Ameise umbenennen JTL-Wawi 1.8 1
Neu Ameise Rechnungsexport nicht möglich Ungültige Steuereinstellungen JTL-Ameise - Fehler und Bugs 9
Neu Ist es möglich per Ameise Kunden zu löschen? Arbeitsabläufe in JTL-Wawi 2
Neu Sortiernummer Merkmalwert wird nicht richtig übernommen (Ameise) JTL-Wawi - Fehler und Bugs 0
Neu Geschwindigkeit der JTL Ameise JTL-Ameise - Ideen, Lob und Kritik 7
Ameise auf Client nicht erreichbar - Wawi hat zugriff auf Datenbank JTL-Wawi 1.7 2
Neu Ameise - Logikfrage zum Import von Artikeln mit und ohne Varkombis gemäß Guide User helfen Usern - Fragen zu JTL-Wawi 0
Neu JTL Ameise Import von Meta-Descriptions Schnittstellen Import / Export 6
Neu Kinderartikel per Ameise vom Vater lösen Arbeitsabläufe in JTL-Wawi 6
Neu JTL Ameise > Kaufland Attribute User helfen Usern 0
Neu Mindestabnahme / Abnahmeintervall Import mittels Ameise User helfen Usern - Fragen zu JTL-Wawi 1
SQL Abfrage via Ameise: Seriennummer u. weitere Daten JTL-Wawi 1.8 0
Neu Vaterartikel den günstigsten Preis der Kindervererben mittels Ameise und 0 ausschließen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Variantenartikel mit Ameise exportieren, ändern und wieder importieren? JTL Ameise - Eigene Exporte 14
Neu JTL Ameise Bestandsabgleich pro Kategorie oder Lieferant möglich? User helfen Usern - Fragen zu JTL-Wawi 6
Neu Verkaufte Stückzahl pro Artikel über Ameise ausgeben JTL Ameise - Eigene Exporte 1
AMEISE EXPORT DATEV Schnittstelle Fehlerhaft JTL-Wawi 1.8 4
Neu Artikelname für WMS über Ameise importieren JTL-Ameise - Fehler und Bugs 6
Neu Ameise Import manuell ausgeführt funktioniert, der gleiche Import über Batch Planung gestartet hat Fehler JTL-Ameise - Fehler und Bugs 2

Ähnliche Themen