aktueller Tabelleneintrag

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

aktueller Tabelleneintrag

Beitrag von mamba (ForumUser / 43 / 0 / 0 ) »
Hallo,

ich möchte aus einer Tabelle den aktuellen gültigen Satz lesen.
(Anhand von 'Datum ab' und 'Datum bis'.)

Wie macht man das am Geschicktesten?
Gibt es hierfür einen eigenen Befehl?

Viele Grüße! :D

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


Beitrag von Thomas R. (Expert / 755 / 78 / 34 ) »
Hallo Mamba (und was ist mit MAOAM)!

Interne Tabelle: READ
Datenbanktabelle SELECT

MfG
Thomas R.

Beitrag von Charadin (Specialist / 148 / 0 / 0 ) »
Hallo mamba,

versuch's mal so:

Code: Alles auswählen.

DATA: it_sbook TYPE TABLE OF sbook.
SELECT-OPTIONS: so_date FOR sbook-fldate.


START-OF-SELECTION.

SELECT *
  FROM sbook
  INTO TABLE it_sbook
  WHERE fldate IN so_date.
Gruß,
Charadin

Beitrag von mamba (ForumUser / 43 / 0 / 0 ) »
Das ging ja schnell!
Danke! :D


@Thomas
Bekomme ich mit Select grundsätzlich den aktuellsten Eintrag?

PS: Ich mag kein Maoam! :wink:


@Charadin
Ich habe leider keine Select-Options zur Verfügung. :?

Beitrag von Charadin (Specialist / 148 / 0 / 0 ) »
mamba hat geschrieben:@Charadin
Ich habe leider keine Select-Options zur Verfügung. :?
dann versuch's mal so:

Code: Alles auswählen.

SELECT *
  FROM sbook
  INTO TABLE it_sbook
  WHERE fldate BETWEEN datum_von AND datum_bis.
Gruß,
Charadin

Re: aktueller Tabelleneintrag

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
mamba hat geschrieben:Hallo,

ich möchte aus einer Tabelle den aktuellen gültigen Satz lesen.
(Anhand von 'Datum ab' und 'Datum bis'.)

Wie macht man das am Geschicktesten?
Gibt es hierfür einen eigenen Befehl?

Viele Grüße! :D
HI!

Wenn ich dich richtig verstehe, willst du einen gültigen Sa´tz, der Zwischen 2 Datums steckt, welche sich in der Datenbank aber überschneiden können.
Für den Fall musst sowas machen: (Beispiel anhand Uhrzeit

Code: Alles auswählen.

*-----------------------------------------------------*
*   Uhrzeit:    7     8     9    10     11     12     *
*   Eingabe:          X                  X            *
* --------------------------------------------------- *
*   Möglich 1:            X         X                 *
*   Möglich 2:            X                   X       *
*   Möglich 3:     X                X                 *
*   Möglich 4:     X                          X       *
*-----------------------------------------------------*
    SELECT  *
      FROM  db_tab
      INTO  TABLE itba
      WHERE strtdate  EQ  s_datum
        AND
            (  ( strt  >= zeit_von AND             " Für M2, M1
                 strt  <  zeit_bis     )
             OR
               ( ende  >  zeit_von AND             " Für M3, M1
                 ende  <= zeit_bis     )
             OR
               ( strt <= zeit_von  AND                 " Für M4
                 ende >= zeit_bis      )    ) .


Beitrag von Thomas R. (Expert / 755 / 78 / 34 ) »
Hallo mamba,
NEIN, aber:
mein Hinweis sollte Dich verleiten die jeweilige Hilfe dazu zu lesen um selbst die Lösung zu finden. Nur dann wirst Du wirklich etwas lernen und Dein Wissen erweitern. Nur so kommst Du auf Dauer weiter.

MfG
Thomas R.

Beitrag von mamba (ForumUser / 43 / 0 / 0 ) »
Hm, ich habe mich ganz falsch ausgedrückt, glaube ich.

In der Datenbanktabelle gibt es zu meiner Where-Bedingung mehrere Zeilen.
Ich brauche davon aber den Satz, dessen Datum am Aktuellsten ist.

Das steht in der Tabelle:

DATAB DATBI
01.01.2003 31.12.9999
25.07.2003 31.12.9999
01.05.2003 30.06.2003
15.07.2003 31.12.9999
15.07.2003 31.12.9999
05.03.2004 05.03.2004
01.01.2005 31.12.9999

In dem Fall bräuchte ich den letzten Satz - 01.01.2005 bis 31.12.9999 -.

Beitrag von Charadin (Specialist / 148 / 0 / 0 ) »
@mamba:

in Deinem Beispiel gibt es 2x einen Eintrag für folgenden Zeitraum:

Code: Alles auswählen.

15.07.2003 31.12.9999
Welcher Datensatz soll dann zurückgegeben werden?


Und was, wenn ich diese beiden Datensätze habe:

Code: Alles auswählen.

01.01.2005 31.03.2005
01.01.2005 31.12.9999
Welcher der beiden ist dann z.B. zum Stichtag 20.02.2005 aktueller?
Gruß,
Charadin

Beitrag von mamba (ForumUser / 43 / 0 / 0 ) »
Hm, also im ersten Beispiel wäre es dann egal welcher geliefert wird, denn eigentlich sollte es das nicht geben.

Beim zweiten Beispiel wird es spannender. Da wäre es der Eintrag bis 9999. Bzw. ICH würde den dann nehmen.

Beitrag von Charadin (Specialist / 148 / 0 / 0 ) »
noch ein Lösungsversuch: :wink:

Code: Alles auswählen.

SORT it_tab BY anfang DESCENDING
               ende   DESCENDING.

READ TABLE it_tab INTO st_tab INDEX 1.
Gruß,
Charadin

Beitrag von Thomas R. (Expert / 755 / 78 / 34 ) »
Hallo mamba,

hier ein konkretes Beispiel auf der afrv (so Du dort Daten hast).

Code: Alles auswählen.

REPORT 1.
PARAMETERS:
  p_datum TYPE dats OBLIGATORY DEFAULT sy-datum.

START-OF-SELECTION.
  PERFORM do_it USING p_datum.

*&---------------------------------------------------------------------*
*&      Form  do_it
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->VALUE(I_DATUM)  text
*----------------------------------------------------------------------*
FORM do_it USING value(i_datum) TYPE dats.
  DATA:
    lv_afori TYPE afrv-afori,
    lv_afruv TYPE afrv-afruv,
    lv_counter TYPE afrv-counter.

  SELECT afori afruv counter
    INTO (lv_afori, lv_afruv, lv_counter)
    FROM afrv
    WHERE endda >= i_datum
      AND begda <= i_datum.
    WRITE:
      lv_afori, lv_afruv, lv_counter.
  ENDSELECT.
  write:
    / 'Anzahl gefundener Datensätze:',sy-dbcnt.
ENDFORM.                    "do_it
Falls Du noch Probleme mit der Umsetzung hast poste doch mal den Tabellennamen.

MfG
Thomas R.

Seite 1 von 1

Vergleichbare Themen

2
Antw.
8807
Views
Aktueller Mehrwertsteuersatz
von cali » 11.01.2007 08:24 • Verfasst in Sales and Distribution
8
Antw.
3295
Views
aktueller Wert
von bohne » 03.03.2006 10:15 • Verfasst in ABAP® für Anfänger
1
Antw.
1257
Views
Aktueller Preis
von 82kolu1bma » 17.12.2015 09:04 • Verfasst in ABAP® für Anfänger
7
Antw.
6885
Views
Aktueller Tag des Jahres ermitteln
von chatty » 28.07.2005 08:10 • Verfasst in ABAP® Core
9
Antw.
5435
Views
Tabelleneintrag
von Mueller.D » 18.09.2017 13:31 • Verfasst in ABAP® für Anfänger

Aktuelle Forenbeiträge

User Exit EXIT_RQCPRM10_001
vor 4 Minuten von Manfred K. 1 / 2
Eclipse - warum/wann verwendet ihr es [nicht]
vor 16 Minuten von ewx 25 / 1834
Trennen Strasse und Hausnummer
vor einer Stunde von payten 13 / 10262
Dialog-Container mit Toolbar/Status
vor 15 Stunden von DeathAndPain gelöst 22 / 3216
Daten an Tabelle binden
vor 20 Stunden von Lukas Sanders 2 / 1077

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.

Aktuelle Forenbeiträge

User Exit EXIT_RQCPRM10_001
vor 4 Minuten von Manfred K. 1 / 2
Eclipse - warum/wann verwendet ihr es [nicht]
vor 16 Minuten von ewx 25 / 1834
Trennen Strasse und Hausnummer
vor einer Stunde von payten 13 / 10262
Dialog-Container mit Toolbar/Status
vor 15 Stunden von DeathAndPain gelöst 22 / 3216
Daten an Tabelle binden
vor 20 Stunden von Lukas Sanders 2 / 1077

Unbeantwortete Forenbeiträge

User Exit EXIT_RQCPRM10_001
vor 4 Minuten von Manfred K. 1 / 2
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2639
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9226