Datenbank View wird nicht erkannt

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

Datenbank View wird nicht erkannt

Beitrag von Apabtalker (ForumUser / 20 / 10 / 0 ) »
Hallo Kollegen,
ich habe einen Datenbank View angelegt mit mehreren Joins. Alles scheint gut ... dann versuche ich ihn wie eine Tabelle zu behandeln und lese ihn normalem SELECT FROM INTO aus.
Bei Select bricht die Funktion sofort ab weil der View nicht erkannt wird. Aktiviert hab ich ihn ... Muss ich ihn im TOP Include noch bekannt geben (definieren) oder muss ich vor meinem Select sowas wei EXEC SQL machen ?

Weiß jemand weiter oder hat ein Beispiel ?
Dank !
abaptalker

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


Re: Datenbank View wird nicht erkannt

Beitrag von a-dead-trousers (Top Expert / 4457 / 227 / 1198 ) »
hi!

Wie du schon gesagt hast, kann man einen View direkt in OpenSQL wie eine Tabelle abfragen. Eine Einbindung mit TABLES usw. ist nicht notwendig.
Ich denk da hat eher beim aktivieren was nicht funktioniert. Oder du hast keinen Datenbankview angelegt, sondern eine Pflegeview.

Schau dir den View mal in der SE11 an.
Oben im Menü auf Hilfsmittel->Datenbankobjekt->Datenbank-Utility.
Da sollte der Status des View auf der Datenbank angezeigt werden.
Wenn da nicht steht "existiert auf der Datebank" kannst du unten auf "aktivieren" klicken.

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Apabtalker

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: Datenbank View wird nicht erkannt

Beitrag von Apabtalker (ForumUser / 20 / 10 / 0 ) »
Hi ADT,
danke für den Hinweis !
Ja, die View existiert auf der DB und ja sie ist activ ! Und sie ist kein Pflegeview, da ich sie read-only angelegt habe.
Nur dachte ich sie ohne Weiteres lesen zu können wie eine Tabelle - einfach so mit select a,b,c, into x,y,c from VIEW where .....

Also muss ich wohl mit OpenSQL arbeiten ... Hast Du da ein Beispiel vielleicht ?
Danke und Gruß
abaptalker

Re: Datenbank View wird nicht erkannt

Beitrag von a-dead-trousers (Top Expert / 4457 / 227 / 1198 ) »
Apabtalker hat geschrieben:Nur dachte ich sie ohne Weiteres lesen zu können wie eine Tabelle - einfach so mit select a,b,c, into x,y,c from VIEW where .....
Das ist OpenSQL.

Das andere wäre NativeSQL und funktioniert mit EXEC SQL ... ENDEXEC.

Bei deinem obigen Beispiel passt übrigens die Syntax nicht ganz. Beistriche weg und Klammern einfügen.

Code: Alles auswählen.

select a b c into (x,y,c) from VIEW where ....
lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Apabtalker

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: Datenbank View wird nicht erkannt

Beitrag von Apabtalker (ForumUser / 20 / 10 / 0 ) »
Hallo ADT,
danke für die Hinweise !!

1) Mein Select brincht sofort ab mit dem Fehler : A table name, specified in an SQL command, is unknown
Er erkannt also die View nicht .... ich sprech die View an, als sein sie eine Tabelle

2) Stimmt mein Select war nicht korrekt - ich weiß - sollte nur ein Beispiel sein.

Also OpenSQL ist wenn ich nichts angebe .... also einen stinknormalen Select o.ä. programmiere. Es bleibt die Frage offen WARUM erkennt er die View nicht ... mit der SE11 bekomme ich Daten wenn ich die View aufrufe !

Grüße
abaptalker

Re: Datenbank View wird nicht erkannt

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Apabtalker hat geschrieben: 1) Mein Select brincht sofort ab mit dem Fehler : A table name, specified in an SQL command, is unknown
Er erkannt also die View nicht ....
Das ist schon mal seltsam.
Apabtalker hat geschrieben:ich sprech die View an, als sein sie eine Tabelle
Genau so soll's auch sein.
Apabtalker hat geschrieben:mit der SE11 bekomme ich Daten wenn ich die View aufrufe !
Mit der SE11 oder der SE16?

In der SE11 siehst Du ja nur die Struktur / Definition der View. Den Inhalt hingegen mit der SE16 (bzw. wenn man in der SE11 den Button "Inhalt (Strg+Umsch+F10)" drückt). Was genau meinst Du da?

Gruß,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

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

Re: Datenbank View wird nicht erkannt

Beitrag von Apabtalker (ForumUser / 20 / 10 / 0 ) »
Probelm gelöst ... !

Dank an Haubi und ADT,

der Fehler im Select lag nicht an der View selbst - es war nicht die View, die er nicht erkannt sondern eine virtuelle Tabelle, die ich in der Where-Bedingung verwendet hatte. Da hab ich dann was umgestellt.
Mein Problem ist zwar gelöst -die View funktioniert - nur gebraucht hat das alles nix, denn Ziel sollte die Performanceverbesserung einen großen Selects über 5 Tabellen (EKKO, EKPO, EKES, EKET und T024) werden.

Das Ding hab ich auseinandergenommen .... schneller wurde damit aber nicht - leider. :(
LG
abaptalker

Re: Datenbank View wird nicht erkannt

Beitrag von a-dead-trousers (Top Expert / 4457 / 227 / 1198 ) »
hi!

Mach einen Performance-Trace (ST05) zu deinem View und schau dir dann im Ergebnis an, welche Indizes für die Durchführung herangezogen werden.
Möglicherweise wird aufgrund der WHERE-Bedingung ein unpassender ausgewählt.
Schau dir über sie SE11 die vorhandenen Indizes zu den Tabellen an und versuch die WHERE-Bedingung entsprechend dieser Infos zu verbessern.
Wenn du keine Möglichkeit hast die WHERE-Bedingung zu verändern, kannst du als letzte Möglichkeit einen zusätzlichen Index anlegen der alle Felder deiner Bedingung enthält.

Wichtig: Ein Index (oder der Tabellenschlüssel) muss immer von links nach rechts (oder oben nach unten in der SE11-Anzeige) mit den Feldern aus der WHERE-Bedingung versorgt sein. Je weiter das Feld links (oder oben) im Index steht desto WICHTIGER (selektiver!) ist es für die Index-Auswahl.

Vereinfacht gesagt:
Wenn der Index z.b. aus fünf Feldern besteht und das zweite Feld kommt nicht in der WHERE-Klausel vor, wird der Index höchstwahrscheinlich nicht gezogen. Ist es aber möglich dieses Feld zusätzlich zu den anderen in der WHERE-Bedingung zu versorgen, wird der nun passende Index ausgewählt und die Abfrage wird vermutlich schneller ausgeführt als vorher.

Zum Thema Performance und Datenbank-Design gibts auch Schulungen von SAP, da wird genau erklärt wie man Indizes am Besten ausnutzt usw.
(Sofern meine Schulungsnummer von vor vier Jahren noch aktuell ist, sollte es die BC490 sein)

lg ADT

Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag:
Apabtalker

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

Seite 1 von 1

Vergleichbare Themen

3
Antw.
2676
Views
Datenbank-View
von nordlender » 13.10.2011 13:38 • Verfasst in ABAP® für Anfänger
2
Antw.
3796
Views
CDS VIEW: Mehrere Tabellen aus einer CDS View updaten
von Abapanfänger » 03.07.2019 10:46 • Verfasst in ABAP® für Anfänger
2
Antw.
8243
Views
STRLEN wird nicht erkannt
von callstacker » 18.03.2006 15:56 • Verfasst in ABAP® für Anfänger
0
Antw.
1332
Views
Wie wird im BW ein Delta an Daten erkannt?
von c0lt.seavers » 02.04.2009 08:23 • Verfasst in Sonstige Module
4
Antw.
2980
Views
Select-Options Variable wird nicht als solche erkannt
von ChristianHo » 18.01.2016 14:23 • 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

IBAN und BUT0BK
vor 2 Tagen von GastX gelöst 4 / 2394
Gewährleistungsende im Equipment
vor 3 Tagen von Yourairld gelöst 8 / 24617
IF mit AND und OR
vor einer Woche von GastX 6 / 12950
Meine Inbox
vor einer Woche von Rabea1103 1 / 10370

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

IBAN und BUT0BK
vor 2 Tagen von GastX gelöst 4 / 2394
Gewährleistungsende im Equipment
vor 3 Tagen von Yourairld gelöst 8 / 24617
IF mit AND und OR
vor einer Woche von GastX 6 / 12950
Meine Inbox
vor einer Woche von Rabea1103 1 / 10370