EXEC SQL - '/' in Tablename

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

EXEC SQL - '/' in Tablename

Beitrag von TakePotLuck (ForumUser / 15 / 2 / 0 ) »
Hallo Zusammen

Ich muss eine Exec SQL Abfrage auf eine Tabelle machen, welche im Tablename Slashs beinhalten (TB Name Bsp: /SPDGS/DP_LTPO).

Leider kriege ich dabei immer einen Syntax-Error, eben wegen diesen Zeichen.

Wie kann ich das umgehen? Habe über die F1 Hilfe und Google nicht wirklich etwas gefunden.

Vielen Dank für die Hilfe.

Gruss
TakePotLuck

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


Re: EXEC SQL - '/' in Tablename

Beitrag von Tron (Top Expert / 1327 / 35 / 332 ) »
Moin TakePotLuck,
im Paket SDB_ADBC findest Du Beispiele und Demos zum "Small-Talk" mit der SQL-Datenbank.
Insbesondere das Coding zu ADBC_QUERY sollte Deinen Wünschen gerecht werden.
Mit dem Report kannst Du schnell mal etwas testen !
gruß Jens
Artverwandt
siehe auch http://apentia-forum.de/viewtopic.php?f ... 9&start=15
<:: XING-Gruppe Tricktresor::>
Die deutsche Rechtschreibung ist Freeware, du darfst sie kostenlos nutzen –
Aber sie ist nicht Open Source, d. h. du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

Re: EXEC SQL - '/' in Tablename

Beitrag von TakePotLuck (ForumUser / 15 / 2 / 0 ) »
Hallo Jens

Danke für deinen Input.

Ich habe verschiedene Wege nun ausprobiert.

Code: Alles auswählen.

DATA: tabname type dboject_d.
oder
DATA: tabname type string value `/SPDGS/DP_LTPO`

EXEC SQL.
    SELECT LTRNR
    FROM tabname
    into :ltrnr
    where exidv = : code
ENDEXEC.
Dabei erhalte ich immer den Fehler
Laufzeitfehler: DBFI_DSQL2_OBJ_UNKNOWN
Ausnahme; CX_SY_NATIVE_SQL_ERROR

Über SE16 kann ich die DB aber mit diesem Namen öffnen.

Gruss
TakePotLuck

Re: EXEC SQL - '/' in Tablename

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
hi!

Tabname in ( ) setzen!

lg ADT
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: EXEC SQL - '/' in Tablename

Beitrag von TakePotLuck (ForumUser / 15 / 2 / 0 ) »
Hy ADT

Tabname in () löst ebenfalls einen Fehler aus.

DBIF_DSQL2_SQL_ERROR

Gruss
TakePotLuck

Re: EXEC SQL - '/' in Tablename

Beitrag von a-dead-trousers (Top Expert / 4399 / 223 / 1182 ) »
ich hab mit EXEC SQL noch nicht soviel gemacht, aber hast du schon versucht den Tabellennamen innerhalb des EXEC SQL unter Hochkomma zu setzen?

Code: Alles auswählen.

EXEC SQL.
        SELECT LTRNR
        FROM `/SPDGS/DP_LTPO`
        into :ltrnr
        where exidv = :code
ENDEXEC.
Soweit ich weiß wird das SQL-Statement ja 1:1 an die DB geschickt und die kann mit der Syntax eigentlich umgehen.

Andere Möglichkeit wäre Doppelpunkt zu verwenden. Ähnlich dem :ltrnr. Die Anweißung verknüpft ja meines Wissens die Query mit den internen Variablen.

Code: Alles auswählen.

DATA: tabname type string value `/SPDGS/DP_LTPO`.

EXEC SQL.
   SELECT LTRNR
   FROM :tabname
   into :ltrnr
   where exidv = :code
ENDEXEC.
Nur zwei Denkanstöße ohne Gewähr der Funktionstüchtigkeit :|
Ach ja du hattest bei :code ein Leerzeichen dazwischen.

lg ADT
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: EXEC SQL - '/' in Tablename

Beitrag von TakePotLuck (ForumUser / 15 / 2 / 0 ) »
Hallo ADT

Vielen Dank für deine Gedankenanstösse. Leider haben diese den gleichen Effeckt -> Error

Ich werde das Problem nun anderst lösen.
Da der SQL Befehl aus dem Funktionsbaustein nicht im selben SAP System ist wie die Datenbank, werde
ich auf dem SAP System mit der Datenbank einen FB schreiben und diesen anstelle des SQL Commands aufrufen. Dies sollte möglich sein.

System 1 mit Aufruf des FB aus System2

System 2 mit FB und Select auf DB.

Vielen Dank für eure Hilfe.

Gruss
TakePotLuck

Re: EXEC SQL - '/' in Tablename

Beitrag von TakePotLuck (ForumUser / 15 / 2 / 0 ) »
Hallo Zusammen

Hab noch ne einfachere Variante gefunden ohne weiteren FB.

Ich leg im Zielsystem einfach ne View der Tabelle an, ohne die '/'. Dann klappts wunderbar :D

Gruss
TakePotLuck

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1497
Views
Exec SQL
von fawkes » 13.07.2007 14:21 • Verfasst in ABAP® Core
7
Antw.
2441
Views
EXEC SQL
von JohnLocklay » 21.02.2019 13:51 • Verfasst in ABAP® Core
7
Antw.
4198
Views
EXEC SQL mit IN Parameter???
von Spaulding » 19.09.2006 19:25 • Verfasst in Basis
2
Antw.
677
Views
EXEC SQL / Sonderzeichen
von littleJohn » 19.10.2022 11:42 • Verfasst in ABAP® Core
10
Antw.
21205
Views
exec sql mit dynamischen Tabellennamen
von mailmal » 30.05.2005 16:29 • Verfasst in ABAP® Core

Über diesen Beitrag


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

Aktuelle Forenbeiträge

Regex in where
vor 2 Stunden von edwin 7 / 162
Daten an Tabelle binden
vor 16 Stunden von Bright4.5 3 / 1486

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

Regex in where
vor 2 Stunden von edwin 7 / 162
Daten an Tabelle binden
vor 16 Stunden von Bright4.5 3 / 1486

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821