Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

if condition

Former Member
0 Likes
553

ho to all,

help me in this issue,

iam not able to access the the elseif statement.

SORT ODP_TOTALS DESCENDING BY LPD_TOTAL.

SORT ODC_TOTALS DESCENDING BY LOA_TOTAL.

CLEAR : COUNT, CM_TOTAL,IS_TOTAL,FR_TOTAL.

LOOP AT ODC_TOTALS.

CLEAR:L_NAME1,L_LAND1.

  • SELECT SINGLE land1 FROM kna1

  • INTO l_land1

  • WHERE kunnr = loa_totals-kunnr.

COUNT = COUNT + 1.

IF COUNT LE 20 AND ODC_TOTALS-KUNNR NE S_KUNNR AND

( ODC_TOTALS-ZLSPR NE 'M' OR ODC_TOTALS-ZLSPR NE 'L' ).

CM_TOTAL = CM_TOTAL + ODC_TOTALS-LOA_TOTAL.

SELECT SINGLE NAME1 FROM KNA1

INTO L_NAME1

WHERE KUNNR = ODC_TOTALS-KUNNR.

MOVE COUNT TO FINAL_DATA_OD_CM-COUNT1.

MOVE ODC_TOTALS-KUNNR TO FINAL_DATA_OD_CM-KUNNR1.

MOVE L_NAME1 TO FINAL_DATA_OD_CM-NAME1.

MOVE ODC_TOTALS-ZTERM TO FINAL_DATA_OD_CM-ZTERM1.

MOVE ODC_TOTALS-LOA_TOTAL TO FINAL_DATA_OD_CM-LOA_TOTAL.

APPEND FINAL_DATA_OD_CM.

ELSEIF ODC_TOTALS-KUNNR NE S_KUNNR AND

( ODC_TOTALS-ZLSPR EQ 'M' OR ODC_TOTALS-ZLSPR EQ 'L' OR ODP_TOTALS-ZLSPR EQ '4'

OR ODP_TOTALS-ZLSPR EQ 'A' ).

LC_TOTAL = LC_TOTAL + ODC_TOTALS-LOA_TOTAL.

thanks in advance.

kiran kumar

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
526

LOOP AT ODC_TOTALS.

CLEAR:L_NAME1,L_LAND1.

COUNT = COUNT + 1.

IF COUNT LE 20 AND ODC_TOTALS-KUNNR NE S_KUNNR AND

( ODC_TOTALS-ZLSPR NE 'M' <b>AND</b> ODC_TOTALS-ZLSPR NE 'L' ).

CM_TOTAL = CM_TOTAL + ODC_TOTALS-LOA_TOTAL.

SELECT SINGLE NAME1 FROM KNA1

INTO L_NAME1

WHERE KUNNR = ODC_TOTALS-KUNNR.

MOVE COUNT TO FINAL_DATA_OD_CM-COUNT1.

MOVE ODC_TOTALS-KUNNR TO FINAL_DATA_OD_CM-KUNNR1.

MOVE L_NAME1 TO FINAL_DATA_OD_CM-NAME1.

MOVE ODC_TOTALS-ZTERM TO FINAL_DATA_OD_CM-ZTERM1.

MOVE ODC_TOTALS-LOA_TOTAL TO FINAL_DATA_OD_CM-LOA_TOTAL.

APPEND FINAL_DATA_OD_CM.

ELSEIF ODC_TOTALS-KUNNR NE S_KUNNR AND

( ODC_TOTALS-ZLSPR EQ 'M' OR ODC_TOTALS-ZLSPR EQ 'L' OR <b>ODC_TOTALS-ZLSPR EQ '4'

OR ODC_TOTALS-ZLSPR EQ 'A'</b> ).

LC_TOTAL = LC_TOTAL + ODC_TOTALS-LOA_TOTAL.

ENDIF.

Make the changes highlighted in Bold...and it should work

5 REPLIES 5
Read only

Former Member
0 Likes
526

Hi ,

if your <b>s_kunnr</b> is a select-option then change the statement

IF COUNT LE 20 AND ODC_TOTALS-KUNNR NE S_KUNNR AND

to

<b>IF COUNT LE 20 AND not ODC_TOTALS-KUNNR in S_KUNNR AND</b>

Hope this helps.

Read only

Former Member
0 Likes
526

hi Kiran,

elseif statement triggers only when if condition fails.

Regards,

Santosh.

Message was edited by: Santosh Kumar P

Read only

Former Member
0 Likes
527

LOOP AT ODC_TOTALS.

CLEAR:L_NAME1,L_LAND1.

COUNT = COUNT + 1.

IF COUNT LE 20 AND ODC_TOTALS-KUNNR NE S_KUNNR AND

( ODC_TOTALS-ZLSPR NE 'M' <b>AND</b> ODC_TOTALS-ZLSPR NE 'L' ).

CM_TOTAL = CM_TOTAL + ODC_TOTALS-LOA_TOTAL.

SELECT SINGLE NAME1 FROM KNA1

INTO L_NAME1

WHERE KUNNR = ODC_TOTALS-KUNNR.

MOVE COUNT TO FINAL_DATA_OD_CM-COUNT1.

MOVE ODC_TOTALS-KUNNR TO FINAL_DATA_OD_CM-KUNNR1.

MOVE L_NAME1 TO FINAL_DATA_OD_CM-NAME1.

MOVE ODC_TOTALS-ZTERM TO FINAL_DATA_OD_CM-ZTERM1.

MOVE ODC_TOTALS-LOA_TOTAL TO FINAL_DATA_OD_CM-LOA_TOTAL.

APPEND FINAL_DATA_OD_CM.

ELSEIF ODC_TOTALS-KUNNR NE S_KUNNR AND

( ODC_TOTALS-ZLSPR EQ 'M' OR ODC_TOTALS-ZLSPR EQ 'L' OR <b>ODC_TOTALS-ZLSPR EQ '4'

OR ODC_TOTALS-ZLSPR EQ 'A'</b> ).

LC_TOTAL = LC_TOTAL + ODC_TOTALS-LOA_TOTAL.

ENDIF.

Make the changes highlighted in Bold...and it should work

Read only

Former Member
0 Likes
526

instead of ELSEIF use only ELSE statement.

with ELSEIF also it should work if ur IF statement fails but anyway try out

Read only

Former Member
0 Likes
526

Hi,

<b>ELSEIF not ODC_TOTALS-KUNNR in S_KUNN</b>R AND...

Regards

Amole