Hallo,
ich habe folgendes Problem, wenn ich in ein Dynprofeld bei einem
Batch Input eine konkrete Zahl schreibe funktioniert es. Fuege ich
aber ueber eine Variable diesselbe Zahl ein, dann bekomme ich die
Fehlermeldung:
"Laenge des Eingabewertes ist groesser als das Dynprofeld"
Die Varibale ist genau so definiert wie das Feld, dass ich
fuellen moechte.
Zur Veranschaulichung hier ein Auszug aus dem Quellcode:
PERFORM bdc_field USING 'eket-menge(01)' '50'.
* Hier wird die Zahl 50 in das Feld eket-menge geschrieben
b_menge LIKE eket-menge. "Einteilungsmenge
* Definition der Variablen b_menge furr den batch-input
PERFORM bdc_field USING 'eket-menge(01)' b_menge.
* Variable b_menge = '50' -> Fehlermeldung:
* Laenge des Eingabewertes ist groesser als das Dynprofeld
ich habe es gerade mit Grossbuchstaben ausprobiert -> es geht genauso wenig. Das merkwürdige an der Sache ist ja, daß wenn ich zB die Zahl '50' direkt eingebe es funktioniert. Steht dagegen meine Zahl 50 in einer Variablen drin (und die Variable ist mit "LIKE eket-menge" definiert) funktioniert es nicht mehr.
das Feld EKET-MENGE ist mit Länge 13 als QUAN-Feld definiert. Auf welches Dynpro willst du die Daten denn schreiben? Ist das Feld dort evtl. anders definiert?
genau das war das Problem. Ich habe die Zahl in einen Linksbündigen Text umgewandelt (Leerzeichen entfernt und Punkt durh Komma ersetzt) und das spielt jetzt wunderbar.
vielen Dank für Euere Anregungen, Ihr seid die Besten!