Ecm-generate-models meldet no primary language description

Hi Zusammen,

der Blue Client macht mir so richtitg Spass, aber ich verzweifel gerade an ecm-generate-models. Aus einem System habe ich hervorragend die Modellklassen ziehen können, bei einem zweiten System scheitere ich allerdings.

Versucht habe ich:

ecm-generate-models --file asobjdef_Kunde.xml --cabinet Lieferantenrechnung

Als Antwort kam:

ERROR: could not parse asobjdef_Kunde.xml: Field ‚feld1‘ has no primary language description entry.

Bin von Server zum XML umgestiegen, weil ich befürchtung hatte des liegt am „hochmodernen“ 8.10, aber das war es wohl nicht.

Wenn ich mir Feld1 ansehe, habe ich 3 Sprachen definiert, sowohl im Register wie auch im Dokument:

			<field taborder="1" name="Lieferant Name" internal="VendorName" fieldname="feld1" prnalias="" os_guid="9864BB3872F04AF2B2C88BA603917E17" classstring="" tooltip="|" init="" searchgroupname="" regularexpression="">
				<names>
					<name lang_id="7" tooltip="|" imageid="" defaulturl="" newurl="" updateurl="" requesturl="" readonlyurl="">Lieferant Name</name>
					<name lang_id="12" tooltip="|" imageid="" defaulturl="" newurl="" updateurl="" requesturl="" readonlyurl="">Fournisseur</name>
					<name lang_id="16" tooltip="|" imageid="" defaulturl="" newurl="" updateurl="" requesturl="" readonlyurl="">Nomne fornitore</name>
				</names>
				<flags input_length="100" flags="4194304" flags1="1048576" flags2="0" dt="X" align="left"></flags>
				<field_pos left="28" top="19" right="59" bottom="8"></field_pos>
				<input_pos left="97" top="19" right="120" bottom="12"></input_pos>
			</field>

Habt ihr einen Hinweis für mich, wo sich der Fehler versteckt? Ich meine ausser vor der Tastatur :wink:

Danke und Gruss

Sascha

Hi Sascha,

der Generator hat noch so seine Herausforderungen … :slight_smile:
Ich habe deine Meldung mit aufgenommen. Es gibt inzwischen schon eine 1.0.3a1 welche bereits einige Generatorfehler behoben hat.

Musst daher die Version dafür explizit angeben da ich diese Version noch als PreRelease markiert habe. Wenn du noch am entwickeln bist, kannst du gut auf die 1.0.3a3 wechseln, ansonsten lieber auf der 1.0.2 bleiben.

Bald kommt noch die 1.0.3a2 mit weiteren Korrekturen.

Dein Thema habe ich in das Ticket aufgenommen:
[#16198] ecmind_blue_client: Ecm-generate-models meldet no primary language description

Gruss Uli

Hi Uli,

danke, aber mit der 3a1 geht es auch nicht. Du hattest noch die 3a3 erwähnt, aber das halte ich für einen Tippfehler.

Da ich die rund 80 Felder in Dokument und Register nicht tippen will, werde ich mich mal in den Debugger einarbeiten, schadet eh nicht. Vielleicht kommt ja ein Patch von mir dabei raus.

Danke und Gruss Sascha

PS: GIT sagt „Retry later“, nur falls ihr da nicht eh gerade dran seit.

Hallo @SMU,

kannst du prüfen, ob vielleicht Felder noch keinen internal_name haben?
Diese waren in der 8.50 vermutlich noch keine Pflicht.

Kannst du das in deiner Objektdefinition prüfen?
Du kannst auch, falls noch nicht geschehen, für einzelne Schränke der Objektdefinition die Models generieren. Damit kannst du den Fehler vielleicht leichter eingrenzen.

Gruss Uli

@smu: Kurzer Nachtrag:

Kannst du vielleicht im betroffenen Schrank durchgehen, ob für deine primäre Sprache,
image

in allen Feldern mindestens dieses Feld ausgefüllt ist?

Die Fehlermeldung weisst darauf hin, dass im XML der Objektdefinition anscheinend, der <names>-Tag leer ist, oder der <name>-Tag der primären Sprache fehlt.

Die Sprache und deren ID wie auch welche primär ist (2) kannst du in der asobjdef.xml im Zweifel kurz prüfen:

Gruss Uli

Hi Uli,

das letzte Bild ist die Lösung. Bin im Debugger gerade bei den Languages (ECMDefinition _init_) und da kommt nichts gescheites bei raus. Der Grund liegt im XML:

<languages>
	<language lang_id="7" active="2" name="German"></language>
	<language lang_id="9" active="0" name="English"></language>
	<language lang_id="10" active="0" name="Spanish"></language>
	<language lang_id="12" active="1" name="French"></language>
	<language lang_id="14" active="0" name="Hungarian"></language>

Sprich, hier fehlt der ISO Code bzw. das Attribut localname. Danach ist die Variable all_languages praktisch leer. Das hier entstehende Chaos habe ich noch nicht durchblickt

Also habe ich hier definitiv eine zu alte enaio Version am Start.

Gruss Sascha

Hi Sascha,

kannst du mir eine Objektdefinition aus dem 8.50 zusenden?
Bitte nur etwas Generisches ohne Kundenbezug. Vielleicht den technischen SAP-Schrank.

Hab leider kein 8.50 System mehr zur Hand. Ich kann mal prüfen, wie komplex es wäre, die Kompatibilität an sich herzustellen.

Gruss Uli

Hi Uli,

es ist sogar ein 8.10. Aber aus meiner Sicht ist es völlig legitim, wenn die Generierung nicht mit der Version läuft. Man kann nicht alles Versionen supporten.

Wenn man auf das asobjdef.xml geht (statt direkt an den Server), dann kann man bei Bedarf manuell nachhelfen und localename ergänzen:

<languages>
	<language lang_id="7" active="2" name="German" localename="de_DE"></language>
	<language lang_id="9" active="0" name="English"></language>

Hier mal nur für die aktive Sprache gemacht.

Das Modell sieht auch soweit gut aus.

Für das innere Spielkind habe ich dir die asobjdef.xml per Mail gesendet.

Danke für den Client und als Opensource. Damit konnte ich für das alte enaio auch noch was ausrichten.

Gruss Sascha

2 „Gefällt mir“