13. November 200718 j Hallo Leute, bin leider in ABAP noch ein ziemlicher Anfänger und möchte folgendes machen: Habe einen Stirng in dieser Form '22.01.1997' und möchte daraus ein Datum in Form 19970122 machen. Das funktioniert noch nicht: RESULT = CREATEDON+6(4) & CREATEDON+3(2) & CREATEDON(2) Bekomme die Meldung Fehlerhafter arithmetischer oder Bitausdruck: Statt "&" wurde ein Operator (+, -, *, /, ... bzw. BIT-AND, BIT-XOR, BIT-OR) erwartet
13. November 200718 j data: lv1 type char4, lv2 type char4, lv3 type char4. data: lv_dat type char10. lv1 = createdon(2). "Tag lv2 = createdon+3(2). "Monat lv3 = createdon+6(4). "Jahr CONCATENATE lv3 lv2 lv1 into lv_dat. "zusammenfügen CONDENSE lv_dat NO-GAPS. "lösche alle leerzeichen sollte gehn, aber nicht getestet auf die schnelle...
13. November 200718 j Hallo, das Codebeispiel ist richtig. Allerdings ist die Anweisung CONDENSE lv_dat NO-GAPS. überflüssig.
13. November 200718 j das Codebeispiel ist richtig. Allerdings ist die Anweisung CONDENSE lv_dat NO-GAPS. überflüssig. wenn man aus den beiden anderen Variablen statt char4 char2 macht, ja
13. November 200718 j wenn man aus den beiden anderen Variablen statt char4 char2 macht, ja Ähm, nö? Habe es gerade mal im Debugger ausprobiert. Das Ergebnis ist sowohl mit als auch ohne CONDENSE das Gleiche. Könnte das evtl. an unterschiedlichen Releases liegen? Wir fahren hier mit ECC 6.0. EDIT: Liegt nicht am Release sondern am Befehl CONCATENATE: Bei der Zeichenkettenverarbeitung werden bei Datenobjekten dobj1 dobj2 ... bzw. Zeilen der internen Tabelle itab fester Länge die schließenden Leerzeichen standardmäßig nicht berücksichtigt.
13. November 200718 j Ähm, nö? habs auch mal probiert, stimmt aber nun weiß er wenigstens wie man alle blanks löschen kann
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.