Code: Alles auswählen.
SELECT d2~tabname, d3~fieldname, d3~rollname, d3~precfield, d2~clidep,d2~contflag FROM dd02l AS d2 JOIN dd03l AS d3 ON d2~tabname = d3~tabname WHERE d2~tabclass = 'TRANSP'
AND d3~tabname = '/IDXGL/TOU_VERS' OR d3~tabname = '/IDXGL/TOU_HEAD' AND d3~rollname LIKE '/IDX%' ORDER BY d2~tabname
INTO TABLE @DATA(test).
LOOP AT test INTO DATA(ls_test) WHERE fieldname <> ''.
Data(condition) = | { ls_test-fieldname } <> '' |.
SELECT COUNT(*) FROM (ls_test-tabname) WHERE (condition) INTO @counter.
ENDLOOP.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag:
Icke0801
Folgende Benutzer bedankten sich beim Autor a-dead-trousers für den Beitrag (Insgesamt 2):
Icke0801 • tekko
genialer Tipp. Wusste gar nicht, dass es so ein Feld gibt. Danke dir :)a-dead-trousers hat geschrieben: ↑31.03.2022 21:14Frag in deinem ersten Select zusätzlich noch "INTTYPE" mit ab und passe mit dieser Informationen deine Condition entsprechend an. Bei Zahlenwerten "<> 0" und bei Textwerten "<> ''"
Code: Alles auswählen.
LOOP AT test INTO DATA(ls_test) WHERE fieldname <> ''.
Code: Alles auswählen.
SELECT d2~tabname, d3~fieldname, d3~rollname, d3~precfield, d2~clidep,d2~contflag FROM dd02l AS d2 JOIN dd03l AS d3 ON d2~tabname = d3~tabname WHERE d2~tabclass = 'TRANSP'
AND d3~tabname = '/IDXGL/TOU_VERS' OR d3~tabname = '/IDXGL/TOU_HEAD' AND d3~rollname LIKE '/IDX%' ORDER BY d2~tabname
INTO TABLE @DATA(test).
DELETE test WHERE fieldname EQ SPACE.
LOOP AT test ASSIGNING FIELD-SYMBOL(<test>).
Data(condition) = | { <test>-fieldname } <> '' |.
SELECT COUNT(*) FROM (<test>-tabname) WHERE (condition) INTO @counter.
ENDLOOP.