Querys in Abab mit Selektions-Variablen

Hinweise, Tips und Tricks, FAQs - keine Anfragen!!

Querys in Abab mit Selektions-Variablen

Postby Marlies1022 » Mon Jan 31, 2005 11:37 am

Hallo zusammen
Ich habe folgendes Problem:
Folgende Abfrage in meinem Abap funktioniert:
select distinct
a~tdname
into corresponding fields of table gt_allemat
from stxh as a
where a~tdid = gitxtid "welche TextID
and a~tdspras = 'DE' "Sprache
and a~tdfdate >= '01.01.2004' "Von datum
and a~tdfdate <= '31.12.2004' "Bis Datum
and a~mandt = '010'. "Mandant
** =====================================

Folgende Abfrage gibt nichts zurück:
select distinct
a~tdname
into corresponding fields of table gt_allemat
from stxh as a
where a~tdid = gitxtid "welche TextID
and a~tdspras = 'DE' "Sprache
and a~tdfuser = gierfass
and a~tdfdate >= givondat "Von datum
and a~tdfdate <= gibisdat "Bis Datum
and a~mandt = '010'. "Mandant

** ==================================================
Variablendefinitionen für givondat und gibisdat:
Variante 1:
parameters: givondat type D. "von Datum
parameters: gibisdat type D. "bis Datum

Datum-Variante 2:
parameters: giVonDat like stxh-tdfdate. "von Datum
parameters: giBisDat like stxh-tdfdate. "bis Datum

Wieso finde ich mit diesen Variablen keine Werte?
** ============================================
Variablendefinitionen für gierfass:
parameters: gierfass like stxh-tdfuser default 'SMA'.
Verwendung der Benutzer-Variable gierfass:
'S*' -> es wird nichts selektiert
'SMA' -> es wird etwas gefunden

Wieso lässt sich hier mit S* nichts finden?
** ============================================

Danke für Eure Hilfe
Dani
Marlies1022
.
.
 
Posts: 5
Joined: Mon Jan 31, 2005 11:37 am

Postby Logan3964 » Mon Jan 31, 2005 12:01 pm

Hallo,

könnte daran liegen:

das '_'-Zeichen steht für genau ein beliebiges Zeichen,
das '%'-Zeichen steht für eine beliebige Folge von Zeichen, einschließlich der leeren Zeichenfolge.

Dann müßte es bei dir: 'S%' lauten.

mfg
Richard
Logan3964
...
...
 
Posts: 386
Joined: Wed Jul 07, 2004 1:53 pm

Postby Marlies1022 » Mon Jan 31, 2005 1:20 pm

Hallo Richard
Danke für den Hinweis. Ich habe die Selektion mit 'S%' nun hingekriegt.

Bei der Datumseingrenzung komme ich aber nicht weiter.

Grüsse
Dani
Marlies1022
.
.
 
Posts: 5
Joined: Mon Jan 31, 2005 11:37 am

Postby Silke1341 » Mon Jan 31, 2005 2:13 pm

RiffRaff hat geschrieben:Hallo,

könnte daran liegen:

das '_'-Zeichen steht für genau ein beliebiges Zeichen,
das '%'-Zeichen steht für eine beliebige Folge von Zeichen, einschließlich der leeren Zeichenfolge.

Dann müßte es bei dir: 'S%' lauten.

mfg
Richard

hier muss man einen Unterschied bzgl. der Wildcards machen:
SQL:
% - eine beliebige Zeichenkette
_ - ein beliebiges Zeichen

ABAP (Range):
* - eine beliebige Zeichenkette
+ - ein beliebiges Zeichen

bei der Selektion mit SELECT ist noch zu bemerken, dass bei Verwendung von Wildcards mit
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. <dbfeld> LIKE <prüffeld>
GeSHi ©
selektiert werden muss.

Alternativ kann man auch folgendes benutzen:
Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1. SELECT-OPTIONS:
  2.   pr_werks FOR marc-werks
  3.                   NO-EXTENSION "nur einzeilig
  4.                   NO INTERVALS."keine Intervale
  5. ...
  6.   lt_werks TYPE TABLE OF werks_d.
  7.  
  8. SELECT werks
  9.        FROM t001w
  10.        INTO TABLE lt_werks
  11.        WHERE werks IN pr_werks. "<<<==== IN-Operator
  12.  
GeSHi ©

Der Vorteil ist, dass bei der Eingabe die 'normalen' Wildcards gelten, die bei der Übergabe an SQL durch die R/3-SQL-Schnittstelle korrekt umgesetzt werden.
Silke1341
.....
.....
 
Posts: 1985
Joined: Thu Aug 19, 2004 3:20 pm


Return to Tips + Tricks & FAQs

Who is online

Users browsing this forum: No registered users and 14 guests