‎2008 Mar 25 12:53 PM
HI all,
with in the loop I wrote like this
SELECT * INTO TABLE wpa0491
FROM pa0491
WHERE otv02 = off .
SORT wpa0491 BY pernr .
DELETE ADJACENT DUPLICATES FROM wpa0491 COMPARING pernr.
*
SELECT * INTO TABLE wpa0001
FROM pa0001
FOR ALL ENTRIES IN wpa0491
WHERE pernr = wpa0491-pernr
AND endda = '99991231'.
*
SORT wpa0001 BY plans .
DELETE ADJACENT DUPLICATES FROM wpa0001 COMPARING plans.
LOOP AT wpa0001 where plans = wpa0001-plans.
if objid <> wpa0001-plans.
SELECT * INTO whrp1001
FROM hrp1001
WHERE
otype = 'S'
AND objid = wpa0001-plans
AND relat = '012'.
IF sy-subrc = 0 .
pernr = wpa0001-pernr.
APPEND whrp1001.
CLEAR whrp1001.
ENDIF.
ENDSELECT.
ENDLOOP.
how to avoid this.
‎2008 Mar 25 12:58 PM
SORT wpa0001 BY plans .
DELETE ADJACENT DUPLICATES FROM wpa0001 COMPARING plans.
Change the select as ...
if not wpa0001[] is initial.
SELECT * INTO table it_whrp1001
FROM hrp1001
for all entries in wpa0001
WHERE otype = 'S'
AND objid = wpa0001-plans
AND relat = '012'.
endif.
Instead select * .. select SOBID ...
Edited by: Srinivas Gurram Reddy on Mar 25, 2008 6:33 PM
‎2008 Mar 25 12:58 PM
SORT wpa0001 BY plans .
DELETE ADJACENT DUPLICATES FROM wpa0001 COMPARING plans.
Change the select as ...
if not wpa0001[] is initial.
SELECT * INTO table it_whrp1001
FROM hrp1001
for all entries in wpa0001
WHERE otype = 'S'
AND objid = wpa0001-plans
AND relat = '012'.
endif.
Instead select * .. select SOBID ...
Edited by: Srinivas Gurram Reddy on Mar 25, 2008 6:33 PM
‎2008 Mar 25 12:59 PM
Hi,
Avoid what?
What is the problem in code,
please write it, do not wait people to understand from code part.
What are you facing with?
‎2008 Mar 25 1:00 PM
Hi
you can use FOR all Entries instead select endselect within loop.
remove * and use only PERNR to improve the performance
SELECT PERNR INTO table whrp1001
FROM hrp1001
for all entries of wpa0001
WHERE
otype = 'S'
AND objid = wpa0001-plans
AND relat = '012'.
regards
Shiva