on 11-27-2019 10:31 AM
Hello,
is there a way to make a loop faster or to replace it by something faster? I know of 'for all entries' but what if the two fields aren't compatible?
SELECT rqposname RQIDENT
INTO TABLE t_output
FROM tsp01
WHERE rqposname EQ lv_email.
LOOP AT t_output ASSIGNING FIELD-SYMBOL(<fs2>).
SELECT SINGLE jobname progname variant listident
INTO ( <fs2>-jobname, <fs2>-progname, <fs2>-variant, <fs2>-listident )
FROM tbtcp
WHERE listident EQ <fs2>-rqident
AND listident NE '0'.
ENDLOOP.
This takes a few minutes even though there are "only" 1300 rows in t_output.
Any Tips?
Thanks in advance.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
This works for me (ABAP >= 7.50 - CAST of type INT4 or NUMC):
DATA lv_email TYPE tsp01-rqposname.
SELECT s~rqident, " <========== INT4
j~listident, " <========== NUMC (10)
s~rqposname, j~jobname, j~progname, j~variant
FROM tsp01 AS s
INNER JOIN tbtcp AS j
ON CAST( j~listident AS INT4 ) = s~rqident
WHERE s~rqposname = @lv_email
AND j~listident <> '0000000000'
INTO TABLE @DATA(t_output).
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.