RuntimeError CX_SY_DYNAMIC_OSQL_SEMANTICS

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

RuntimeError CX_SY_DYNAMIC_OSQL_SEMANTICS

Beitrag von Spookykid (Specialist / 140 / 28 / 0 ) »

Code: Alles auswählen.

Runtime Errors         SAPSQL_GROUP_BY_ILL_TABLE_TYPE
Except.                CX_SY_DYNAMIC_OSQL_SEMANTICS
Date and Time          03.05.2011 14:52:09



 Short text
     GROUP BY on pool or cluster table.



 What happened?
     Error in the ABAP Application Program

     The current ABAP program "Z_GET_TABLES" had to be terminated because it has
     come across a statement that unfortunately cannot be executed.



 What can you do?
     Note down which actions and inputs caused the error.


     To process the problem further, contact you SAP system
     administrator.

     Using Transaction ST22 for ABAP Dump Analysis, you can look
     at and manage termination messages, and you can also
     keep them for a long time.



 Error analysis
     An exception occurred that is explained in detail below.
     The exception, which is assigned to class 'CX_SY_DYNAMIC_OSQL_SEMANTICS', was
      not caught and
     therefore caused a runtime error.
     The reason for the exception is:
     A SELECT statement was to be executed in which the result set is to be
     grouped with GROUP BY.The column 'SPRAS ' according to which the grouping
     should be carried out, is a column of the pool or cluster table 'INDEXDT '.

     However, in Open SQL, it is only allowed to group according to columns
     of transparent tables or columns of database views or projection views
     on transparent tables.

Kennt jemand von euch diese Fehlermeldung? Ich bekomme Sie beim ausführen dieses Statements. Ich bekomme diese Meldung jedoch nur, wenn ich in den Select Options (hier nicht zu sehen) alle Customizing Tabelle durchlaufe. Bei der Selektion von 5 Stück läuft das Programm durch.

Code: Alles auswählen.

loop at lt_itab ASSIGNING <z1>.


  Select spras from (<z1>-tabname) into CORRESPONDING FIELDS OF TABLE lt_spras GROUP BY spras.


 loop at lt_spras ASSIGNING <z2>.

   <z2>-tabname =  <z1>-tabname .


  endloop.

APPEND LINES OF lt_spras to lt_spras2.
clear lt_spras.


endloop.

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


Re: RuntimeError CX_SY_DYNAMIC_OSQL_SEMANTICS

Beitrag von Spookykid (Specialist / 140 / 28 / 0 ) »
Ich denke ich habe den Fehler gefunden. Ich möchte den Inhalt einiger Tabellen gruppieren, die als Pool-Tabellen deklariert wurden. Ein "Group by" soll dort anscheinend nicht möglich sein.
Kennt jemand hier einen Workaround?

Re: RuntimeError CX_SY_DYNAMIC_OSQL_SEMANTICS

Beitrag von a-dead-trousers (Top Expert / 4483 / 231 / 1205 ) »
Hi!

Pool- und Cluster-Tabellen sind KEINE Datenbanktabellen im herkömlichen Sinn und können daher nicht in Join, Group Bys usw. verwendet werden.
Die Daten werden nämlich nicht in Tabellenfeldern gespeichert sondern in einer eigenen Struktur die eine effizientere Speichernutzung ermöglicht und die Daten kleiner gespeichert werden können. Ein Zugriff auf die Daten ist nur mittels Primärschlüssel möglich.

Für eine genauere Beschreibung schlag Bitte in der SAP-Hilfe nach.

Du musst also zuerst die Schlüssel für die Abfrage möglichst genau bestimmen und dann die betroffene Tabelle damit abfragen.
Am Besten geht das IMHO mit SELECT ... FOR ALL ENTRIES IN <tabelle>. Du muss nur aufpassen, dass daraus eine SQL-Anweisung erzeugt wird die alle Zeilen der Tabelle beinhaltet und nach 2MB (je nach Systemkonfiguration) für die SQL-Abfrage ist Schluss. Auch darf die Tabelle nicht leer sein, sonst wird (nach SAP Standard) ALLES selektiert.

Ein Group By musst du dann nach dem Select mittels SORT und DELETE ADJACENT DUPLICATES simulieren

lg
ADT

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

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

1
Antw.
4442
Views
dynamic table in alv grid anzeigen
von kostonstyle » 07.08.2008 11:29 • Verfasst in ABAP® für Anfänger
2
Antw.
3803
Views
Dynamic Cast von Superclass auf Subclass
von AdrianSchm » 22.06.2018 11:03 • Verfasst in ABAP Objects®

Über diesen Beitrag


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

Aktuelle Forenbeiträge

BAPI zur ABSO?
vor einer Woche von DeathAndPain 2 / 1035
Materialstammerweiterung: Neuer Reiter
vor 3 Wochen von DeathAndPain gelöst 4 / 1719
Ermittlung der Arbeitstage (Mosid)
vor 3 Wochen von Radinator 11 / 47397
LSMW-Problem
vor 4 Wochen von DeathAndPain gelöst 6 / 5290

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

BAPI zur ABSO?
vor einer Woche von DeathAndPain 2 / 1035
Materialstammerweiterung: Neuer Reiter
vor 3 Wochen von DeathAndPain gelöst 4 / 1719
Ermittlung der Arbeitstage (Mosid)
vor 3 Wochen von Radinator 11 / 47397
LSMW-Problem
vor 4 Wochen von DeathAndPain gelöst 6 / 5290