Datumseingrenzung bei WHERE

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

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

Datumseingrenzung bei WHERE

Beitrag von Gast ( / / 0 / 3 ) »
hallo,
ich habe folgendes problem.
ich würde gerne nur daten von einem bestimmten jahr in eine interen tabelle laden.
quasi:

Code: Alles auswählen.

select x y z from table
into itab
where datum+0(4) = '2005'.
leider gibt's dann ne beschwerde; klar, da er das feld nicht kennt.
ich könnte jetzt zwar zuvor das jahr in eine eigene spalte schreiben, aber ich bin mir ziemlich sicher, dass dies auch einfacher geht.
jemand ne idee?

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


Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Moinsen.

Auf Teilfelder kannst Du leider nicht selektieren. Versuch's mal mit "BETWEEN", also "zwischen 1.1.2005 und 31.12.2005".

Gruss,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Beitrag von ereglam (Top Expert / 1829 / 2 / 7 ) »
Hallo,

eine Möglichkeit ist, sich eine RANGE-Tabelle aufzubauen, die dann per IN-Operator an SQL übergeben wird:

Code: Alles auswählen.

DATA:
  lr_datum TYPE RANGE OF d, "oder anderen D-Typ
  ls_datum LIKE LINE OF lr_datum.

MOVE:
  'I'       TO ls_datum-sign,
  'CP'      TO ls_datum-option.
  
CONCATENATE
  sy-datum(4) "wenn aktuelles Jahr gewünscht.
  '*'
  INTO ls_datum-low.

APPEND lr_datum FROM ls_datum.
* ich bevorzuge:
* INSERT ls_datum INTO TABLE lr_datum.

SELECT x y z
       FROM tabelle
       INTO TABLE itab "gleich als ARRAY-Fetch
       WHERE datum IN lr_datum.
Gruß
Ereglam


May the Force be with your code
|| .| |.|| | .... . ..|. ||| .|. |.|. . |... . .|| .. | .... |.|| ||| ..| .|. |.|. ||| |.. .

Beitrag von Gast ( / / 0 / 3 ) »
hmm, hat sich meine vermutung bestätigt. leider sollte das jahr nicht fest sein, sondern das aktuelle jahr wird ausgelesen und dann auch verwendet.
das between ging dann natürlich mit CONCATENATE, aber der aufwand ist gleichbedeutend mit dem auslagern des jahres in eine eigene spalte.

danke für die info...

Seite 1 von 1

Ü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.