[GELÖST] Dataport (nur Export) Feld auf Länge x schneiden

16. September 2009 11:04

Hallo!

Ich bin seit gestern speziell für die Einrichtung einer Schnittstelle abgestellt worden obwohl ich kaum Programmierkenntnisse im WWS habe.

Naja, sei´s drum.

Ich habe folgendes Problem:
Wir haben ein Feld "Hinweis" in den Fertigungsaufträgen das ausgelesen werden soll.
Allerdings dürfen in der Exceltabelle nur maximal 40 Zeichen stehen.
In einem 2. Feld die nächsten 40.

Wie bekomme ich das hin?

Ich habe erst gedacht, man bekäm das mit StartPos und Width hin. Das war leider ein Irrtum :mrgreen:.
(Hoffentlich kommt bald der November, dann bekomm ich endlich meinen Design-Kurs)

Gruß
Heike
Zuletzt geändert von leerwiese am 16. September 2009 13:39, insgesamt 2-mal geändert.

Re: Dataport (nur Export) Feld auf Länge x schneiden

16. September 2009 11:32

mein Tipp:

zwei Globale Variblen in die Dataport Fields nehmen und diese in dem (ca.) OnBeforeExport Trigger mit COPYSTR dementsprechend Parsen!

Falls du eine genauere Beschreibung brauchst, sag ruhig bescheid.

Re: Dataport (nur Export) Feld auf Länge x schneiden

16. September 2009 11:37

Bescheid :wink: !

Re: Dataport (nur Export) Feld auf Länge x schneiden

16. September 2009 11:49

ooookay!

Du hast wahrscheinlich in deinem Dataport alle Felder in den Dataport Fields. Dort kannst du statt den Feldern auch Variablen angeben. Nun Legst du zwei Globale an die du z.B. Feld2Part1 und Feld2Part2 nennst und nimmst diese in den Dataport Fields statt des eigentldichen Feldes auf.
Nun gehst du in den Code des DataItems und dort gibt es verschiedene Trigger. Du gehst in den (ca.!) BeforeExport Trigger und schreibst da ca. das rein

Code:
CLEAR(Feld2Part1);
CLEAR(Feld2Part2);
Feld2Part1 := COPYSTR(DataItemName."Feld2), 1, 40);
Feld2Part2 := COPYSTR(DataItemName."Feld2), 41, 40);


und wenn der nur fuer den Export da sein soll, muesste das auch schon reichen!

Wenn du noch fragen hast, stell sie! :)

Re: Dataport (nur Export) Feld auf Länge x schneiden

16. September 2009 12:26

Bin wohl blond.

Variable angelegt!
hinweis Variable.JPG


Dann aber wird´s schwierig. ImTrigger BeforeExport habe ich nun folgendes Eingetragen:
Code:
CLEAR(Hinweis1);
CLEAR(Hinweis2);
Hinweis1 := COPYSTR("Production Order".Hinweis),1, 40);
Hinweis2 := COPYSTR("Production Order".Hinweis),41, 40);


Bekomme aber jetzt folgende Fehlermeldung:
Fehlermeldung.JPG

Ich sage ja, blutige Anfängerin :-(
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: Dataport (nur Export) Feld auf Länge x schneiden

16. September 2009 12:46

Ist nicht in jeder Haarfarbe ein wenig Blond :lol:

Code:
CLEAR(Hinweis1);
CLEAR(Hinweis2);
Hinweis1 := COPYSTR("Production Order".Hinweis,1,40);
Hinweis2 := COPYSTR("Production Order".Hinweis,41,40);


Es war eine schliessende Klammer zuviel drin.

Damit sollte es klappen.
BTW: Mit der Taste F1 (im Code stehend!) wirst du dich noch sehr gut anfreunden :-)
(Alternativ auch über die Menüleiste -->"?"-->C/SIDE Reference guide)
OnlineHilfe hat geschrieben:COPYSTR (String)

Use this function to copy a substring of any length from a specific position in a string (text or code) to a new string.

NewString := COPYSTR(String, Position [, Length])



Kurs im November?
Freu dich, dann gehen ganz viele Lichter auf :-)
(..so war es zumindest bei mir)

Re: Dataport (nur Export) Feld auf Länge x schneiden

16. September 2009 13:23

Darüber hinaus solltest du deine beiden Variablen mit dem Datentyp Text und der Länge 40 anlegen
(und nicht, wie oben im Screenshot zu sehen ist, als Integer).

Re: [GELÖST) Dataport (nur Export) Feld auf Länge x schneiden

16. September 2009 13:38

Ihr seid die BESTEN!

Vielen Dank noch mal!