[51905] in SAPr3-news

home help back first fref pref prev next nref lref last post

Re: Select-options mit =?ISO-8859-1?Q?AND-Verkn=FCpfung=3F?=

daemon@ATHENA.MIT.EDU (Andreas Christoph)
Thu Oct 21 14:48:47 2004

To: sapr3-news@mit.edu
Date: Thu, 21 Oct 2004 20:48:42 +0200
From: Andreas Christoph <none@nowhere.de>
Message-ID: <cl90a8$qn1$1@online.de>

Stefan Bauer wrote:
> Hallo Alexander,
> 
> danke für den Hinweis. Ich sollte mich wohl etwas klarer ausdrücken.
> 
> Ich habe eine Select-Option und gebe dort in der Mehrfachselektion 
> mehrere Werte ein.
> 
> Beispiel:
> Sign/Option jeweils I/EQ
> VBELN
> POSNR
> 
> Jetzt möchte ich z.B. aus der DD03L alle Tabellen selektieren, die 
> sowohl VBELN als auch POSNR enthalten, also Verknüpfung UND.
> 
> Da aber nun jedesmal andere Selektionswerte eingetragen werden können, 
> kann ich die nicht einfach in einer Where-Bedingung mit AND verknüpfen, 
> zumal auch die Anzahl differieren kann.
> 
> Am liebsten wäre mir, wenn ich auch Eingaben wie VBEL* und POS* mit AND 
> verknüpfen könnte. Ist wahrscheinlich jedoch nur in seltenen Fällen 
> sinnvoll.
> 
> Danke für die schnelle Reaktion,
> 
> Stefan

Hallo Stefan, dann hast Du kein Problem mit UND/ODER als Verknüpfung, 
sondern willst eigentlich etwas ganz anderes:
Du willst aus dem DDIC (Tabelle DD03L) die Tabellen ermitteln, die 
sowohl ein Feld mit Namen VBELN las auch eines mit Namen POSNR haben, 
korrekt ?
Da DD03L pro Tabellenfeld eine Zeile enthält, ist Deine 
Selektionsbedingung gar nicht auf eine Zeile bezogen, sondern Du hast 
ein zeilenübergreifendes Selektionskriterium:
Du hast zwei (im Prinzip auch auf mehr erweiterbar) Range-Tabellen
und suchst die Sätze in der DD03L, deren FIELDNAME jeweils einem Range 
genügt und die im TABNAME übereinstimmen.

Experimentier mal mit folgendem ABAP:

REPORT  ZJOINTEST                               .

tables: dd03l.

data: l_tabname like dd03l-tabname occurs 1 with header line.

select-options s_name1 for dd03l-fieldname.
select-options s_name2 for dd03l-fieldname.



select a~tabname from       dd03l as a
                  inner join dd03l as b
                  ON a~tabname = b~tabname
                  appending table l_tabname
                  where a~fieldname in s_name1 AND
                        b~fieldname in s_name2.


Gruß,
Andreas

home help back first fref pref prev next nref lref last post