SELECT CHAR16 in CHAR12-Feld

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Getting started ... Alles für einen gelungenen Start.
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

SELECT CHAR16 in CHAR12-Feld

Beitrag von Patrick1982 (ForumUser / 32 / 4 / 0 ) »
Moin,

kurze Frage:
Ich selektiere aus einer Tabelle ein Feld mit Typ CHAR16, mein Ziel-Feld hat aber CHAR12.
In der DB-Tabelle sind die Einträge trotz CHAR16 nur 12-stellig (mit 4 führenden Nullen). In meinem Ziel möchte ich daher nur die letzten/rechten 12 Stellen des CHAR16-Felds haben.

Hat jemand eine Idee, wie ich direkt die letzten 12 Stellen übernommen bekomme?
Klar kann ich nachher drüber loopen und das konvertieren, aber es handelt sich um mehrere Mio. Einträge, daher würd ich mir den Loop gern sparen :-)

Vielen Dank!

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: SELECT CHAR16 in CHAR12-Feld

Beitrag von a-dead-trousers (Top Expert / 4300 / 214 / 1146 ) »
FELD+4 sollte funktionieren.

EDIT:
Sollte das in OpenSQL bei dir (noch) nicht funktionieren, in CDS-Views funktioniert es auf alle Fälle.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: SELECT CHAR16 in CHAR12-Feld

Beitrag von Shortcut IT (ForumUser / 50 / 2 / 14 ) »
Hallo,

bei einem halbwegs aktuellen Releasestand kannst du die SUBSTRING-Funktion in einem SELECT nutzen.

select feld1 as feld1, feld2 as feld2,...,
substring( CHAR16-Feld, 5, 12 ) as char12

Viele Grüße
Shortcut IT

Folgende Benutzer bedankten sich beim Autor Shortcut IT für den Beitrag (Insgesamt 2):
a-dead-trousersDeathAndPain


Re: SELECT CHAR16 in CHAR12-Feld

Beitrag von rob_abc (ForumUser / 59 / 12 / 18 ) »
LTRIM gibt es auch in SAP.

Code: Alles auswählen.

TYPES:
  BEGIN OF ty_matnr,
    matnr TYPE matnr,
  END OF ty_matnr.

DATA:
  mat_table TYPE SORTED TABLE OF ty_matnr WITH UNIQUE KEY matnr.

mat_table = VALUE #(
  ( matnr = '000000000000100000' )
  ( matnr = '100000-001-A' ) ).

DATA(l_rng) = VALUE rsdsselopt_t( ( sign = 'I' option = 'CP' low = '1*' ) ).

SELECT ltrim( matnr, '0' ) FROM @mat_table AS itab
   WHERE ltrim( matnr, '0' ) IN @l_rng
   INTO TABLE @DATA(found_materials).

cl_demo_output=>display( found_materials ).

Re: SELECT CHAR16 in CHAR12-Feld

Beitrag von Patrick1982 (ForumUser / 32 / 4 / 0 ) »
Shortcut IT hat geschrieben:
17.04.2024 23:22
Hallo,

bei einem halbwegs aktuellen Releasestand kannst du die SUBSTRING-Funktion in einem SELECT nutzen.

select feld1 as feld1, feld2 as feld2,...,
substring( CHAR16-Feld, 5, 12 ) as char12

Viele Grüße
Shortcut IT
Ahh perfekt, danke! Das hat hier noch keiner mitbekommen, dass das jetzt auch in ABAP SQL funktioniert :-)

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1105
Views
Dynamisch SELECT Feld
von Bajdu » 22.09.2006 14:17 • Verfasst in Basis
7
Antw.
5690
Views
Select , where Feld is Initial
von autohandel7 » 06.06.2019 10:36 • Verfasst in ABAP® für Anfänger
3
Antw.
1966
Views
SELECT AUF ZEICHEN IN EINEM FELD
von Adrian » 08.02.2013 11:26 • Verfasst in ABAP® für Anfänger
3
Antw.
591
Views
0 in ein Feld bei Select Option reinschreiben
von L0w-RiDer » 30.07.2019 11:18 • Verfasst in ABAP® für Anfänger
18
Antw.
3825
Views
Select-Option Feld verlängern/verbreitern
von Bright4.5 » 29.01.2019 08:27 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag



Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Abstimmschlüssel ändern
vor 4 Tagen von FS1895 1 / 40
Application-Log, SLG1 Meldungstext
vor 3 Wochen von chhe001 1 / 693
Transporte sind verschwunden
vor 3 Wochen von Abapriest69 1 / 418