Sub-Queries
Eine kurze Vorstellung von Sub-Queries und wie sie verwendet werden können.
Sub-Queries kommen nicht sehr häufig zum Einsatz. Man sollte jedoch im Hinterkopf haben, dass es sie gibt, denn einige Aufgaben kann man recht elegant mit ihnen lösen.
Im folgenden Beispiel soll nur dann ein Satz aus Tabelle ztab_b gelesen werden, wenn ein zugehöriger Satz in Tabelle knvv vorhanden ist.
SELECT SINGLE * FROM knvv WHERE kunnr EQ p_kunnr AND vkorg EQ p_vkorg AND vtweg EQ p_vtweg AND spart EQ p_spart AND loevm NE 'X'. IF sy-subrc EQ 0. *** Zusatzdaten zum verkaufsbüro/verkäufergruppe SELECT SINGLE * FROM ztab_b WHERE vkorg = p_vkorg AND vkbur = p_vkbur AND vkgrp = p_vkgrp. IF sy-subrc EQ 0. ... ENDIF. ENDIF.
Folgendes Coding ist mindestens doppelt so schnell:
*** Zusatzdaten zum verkaufsbüro/verkäufergruppe SELECT SINGLE * FROM ztab_b WHERE vkorg = p_vkorg AND vkbur = p_vkbur AND vkgrp = p_vkgrp AND EXISTS ( SELECT * FROM knvv WHERE kunnr EQ p_kunnr AND vkorg EQ p_vkorg AND vtweg EQ p_vtweg AND spart EQ p_spart AND loevm NE 'X' ).
Wenn Sie sich innerhalb des Subqueries auf den aktuellen Tabelleneintrag beziehen möchten, dann sieht das Coding etwas anders aus:
*** Zusatzdaten zum verkaufsbüro/verkäufergruppe SELECT SINGLE * FROM ztab_b AS b WHERE vkorg = p_vkorg AND vkbur = p_vkbur AND vkgrp = p_vkgrp AND EXISTS ( SELECT * FROM knvv WHERE kunnr EQ p_kunnr AND vkorg EQ b~vkorg AND vtweg EQ b~vtweg AND spart EQ b~spart AND loevm NE 'X' ).
Letzte Artikel von Enno Wulff (Alle anzeigen)
- 7. December: Excel Racing Simulation – Root Vole Race - 7. Dezember 2024
- 5. December: ABAPConf - 5. Dezember 2024
- 4. December: Only a lazy developer is a good developer - 4. Dezember 2024