HANA und for all entries

Alles über die SAPs In-Memory Datenbank HANA
5 Beiträge • Seite 1 von 1
5 Beiträge Seite 1 von 1

HANA und for all entries

Beitrag von ST22 (Specialist / 279 / 43 / 41 ) »
Hallo Zusammen,

ist unter HANA der for all entries mit leerer entry Tabelle nicht mehr erlaubt, bzw. gibt es da generell Probleme?
Bei leerer Entry-Tabelle liefert der zweite SELECT in die sortierte Tabelle auch alle anderen Sprachen.
Kann jemand von euch das mal testen auf einer HANA Umgebung?

Grüße
Frank

Code: Alles auswählen.

REPORT zcheck_for_all_entries.
TABLES:
  mara.

SELECT-OPTIONS:
  s_matnr FOR mara-matnr.

TYPES:
  BEGIN OF ty_makt_s,
    matnr TYPE matnr,
    spras TYPE spras,
    maktx TYPE maktx,
  END   OF ty_makt_s.

DATA: gt_makt     TYPE STANDARD TABLE OF ty_makt_s.
DATA: gt_makt_srt TYPE SORTED   TABLE OF ty_makt_s WITH UNIQUE KEY matnr spras.

START-OF-SELECTION.

  SELECT matnr maktx FROM makt
    INTO CORRESPONDING FIELDS OF TABLE gt_makt
    FOR ALL ENTRIES IN s_matnr
    WHERE matnr = s_matnr-low
    AND   spras = sy-langu.

  LOOP AT gt_makt_srt ASSIGNING FIELD-SYMBOL(<makt>)
    WHERE spras <> sy-langu.
    EXIT.
  ENDLOOP.
  IF sy-subrc = 0.
    WRITE: / <makt>-matnr, <makt>-spras.
  ENDIF.

  SELECT matnr spras maktx FROM makt
    INTO CORRESPONDING FIELDS OF TABLE gt_makt_srt
    FOR ALL ENTRIES IN s_matnr
    WHERE matnr = s_matnr-low
    AND   spras = sy-langu
    ORDER BY PRIMARY KEY.

  LOOP AT gt_makt_srt ASSIGNING FIELD-SYMBOL(<makt_srt>)
    WHERE spras <> sy-langu.
    EXIT.
  ENDLOOP.
  IF sy-subrc = 0.
    WRITE: / <makt_srt>-matnr, <makt_srt>-spras.
  ENDIF.

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


Re: HANA und for all entries

Beitrag von erp-bt (Specialist / 163 / 4 / 21 ) »
Hallo,

Bei mir wird gar nichts ausgegeben. Im ersten Select wird das Feld SPRAS nicht gefüllt und beim 2. Select ist das Feld SPRAS nicht ungleich SY-LANGU. In beiden Selects wird jeweils nur ein Eintrag gefunden.

Viele Grüße, Tapio

Folgende Benutzer bedankten sich beim Autor erp-bt für den Beitrag:
ST22

...entwickelnder Berater...beratender Entwickler

Re: HANA und for all entries

Beitrag von ST22 (Specialist / 279 / 43 / 41 ) »
Hi,
stimmt, den ersten SELECT kann man noch um SPRAS erweitern.
Und der erste LOOP war auch um die falsche Itab, sorry.

Code: Alles auswählen.

REPORT zcheck_for_all_entries.
TABLES:
  mara.

SELECT-OPTIONS:
  s_matnr FOR mara-matnr.

TYPES:
  BEGIN OF ty_makt_s,
    matnr TYPE matnr,
    spras TYPE spras,
    maktx TYPE maktx,
  END   OF ty_makt_s.

DATA: gt_makt     TYPE STANDARD TABLE OF ty_makt_s.
DATA: gt_makt_srt TYPE SORTED   TABLE OF ty_makt_s WITH UNIQUE KEY matnr spras.

START-OF-SELECTION.

  SELECT matnr spras maktx FROM makt
    INTO CORRESPONDING FIELDS OF TABLE gt_makt
    FOR ALL ENTRIES IN s_matnr
    WHERE matnr = s_matnr-low
    AND   spras = sy-langu.

  LOOP AT gt_makt ASSIGNING FIELD-SYMBOL(<makt>)
    WHERE spras <> sy-langu.
    EXIT.
  ENDLOOP.
  IF sy-subrc = 0.
    WRITE: / <makt>-matnr, <makt>-spras.
  ENDIF.

* this select statement reads other languages also !?!
  SELECT matnr spras maktx FROM makt
    INTO CORRESPONDING FIELDS OF TABLE gt_makt_srt
    FOR ALL ENTRIES IN s_matnr
    WHERE matnr = s_matnr-low
    AND   spras = sy-langu
    ORDER BY PRIMARY KEY.

  LOOP AT gt_makt_srt ASSIGNING FIELD-SYMBOL(<makt_srt>)
    WHERE spras <> sy-langu.
    EXIT.
  ENDLOOP.
  IF sy-subrc = 0.
    WRITE: / <makt_srt>-matnr, <makt_srt>-spras.
  ENDIF.
Das eigentliche Problem ist, dass bei leerer Entrytabelle auch alle anderen Sprachen mit selektiert werden.

Scheint ein bug zu sein, oder habe ich was übersehen?

Grüße
Frank

Re: HANA und for all entries

Beitrag von zzcpak (Expert / 673 / 5 / 68 ) »
das ist lt. Beschreibung von FOR ALL ENTRIES doch das "normale" Verhalten. Daher wird ja auch immer empfohlen, VOR der Verwendung von FAE zu prüfen, ob die Eingabetabelle auch Inhalte hat. Sonst werden halt eben alle Einträge gelesen.
Before using an internal table itab after FOR ALL ENTRIES, always check that the internal table is not initial. In an initial internal tables, all rows are read from the database regardless of any further conditions specified after WHERE. This is not usually the required behavior.

Folgende Benutzer bedankten sich beim Autor zzcpak für den Beitrag:
ST22


Re: HANA und for all entries

Beitrag von ST22 (Specialist / 279 / 43 / 41 ) »
O.K. , das war der Fehler "regardless of any further conditions...".
Im Moment achten wir halt besonders auf HANA relevante Dinge, sind schon über ein paar "Order by" issues gestolpert, aber das hat jetzt damit gar nichts zu tun.

Grüße
Frank

Seite 1 von 1

Vergleichbare Themen

3
Antw.
3688
Views
HANA kennelernen, womit anfangen? ( nicht s4/hana )
von DenBas » 03.09.2019 14:17 • Verfasst in SAP HANA für Anfänger
6
Antw.
4098
Views
FOR ALL ENTRIES IN
von Bajdu » 21.08.2006 14:25 • Verfasst in ABAP® für Anfänger
1
Antw.
1491
Views
FOR ALL ENTRIES IN
von melisy » 02.04.2009 12:11 • Verfasst in ABAP® für Anfänger
1
Antw.
1601
Views
'Range und FOR ALL ENTRIES
von eschi78 » 08.11.2007 09:51 • Verfasst in ABAP® Core
23
Antw.
8704
Views
Alternative For All Entries
von L0w-RiDer » 11.02.2019 15:33 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag



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

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 6 Stunden von DeathAndPain gelöst 22 / 2801
Daten an Tabelle binden
vor 11 Stunden von Lukas Sanders 2 / 877
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 431

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

Dialog-Container mit Toolbar/Status
vor 6 Stunden von DeathAndPain gelöst 22 / 2801
Daten an Tabelle binden
vor 11 Stunden von Lukas Sanders 2 / 877
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 431

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2468
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9050