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

PROBLEM IN LOOP

Former Member
0 Likes
965

i HAVE USED THE BELOW LOOP for displaying the hearder text of Tax coloum based on condition(KSCHL). when ever it fine JVRD or JIPC conditions it shows in right manner but when it doesnt find any row, it wont show any text. I want it to show Sales Tax when JVRD or JIPC are not there.

********************************************************************************

LOOP AT T_KONP WHERE KSCHL = 'JVRD' OR KSCHL = 'JIPC'.

IF SY-SUBRC = 0.

IF T_KONP-KSCHL = 'JVRD'.

TAX = 'Local Tax'.

ELSEIF T_KONP-KSCHL = 'JIPC'.

TAX = 'Central Tax'.

ENDIF.

ELSE.

TAX = 'Sales Tax'.

ENDIF.

*********************************************************************************

Thanks.

Khan.

9 REPLIES 9
Read only

Former Member
0 Likes
939

Hi,

use this code.

LOOP AT T_KONP WHERE KSCHL = 'JVRD' OR KSCHL = 'JIPC'.
  IF T_KONP-KSCHL = 'JVRD'.
     TAX = 'Local Tax'.
  ELSEIF T_KONP-KSCHL = 'JIPC'.
    TAX = 'Central Tax'.
  ENDIF.
ENDLOOP.
IF SY-SUBRC <> 0.
  TAX = 'Sales Tax'.
ENDIF.

Regards,

Richa

Read only

0 Likes
939

sORRY Richa, yOUR CODE doesnt WORK.

I appritiate ur reply.

Khan.

Read only

Former Member
0 Likes
939

Hi ,

LOOP AT T_KONP.

"Remove this.WHERE KSCHL = 'JVRD'OR KSCHL = 'JIPC'.

IF T_KONP-KSCHL = 'JVRD'.

TAX = 'Local Tax'.

ELSEIF T_KONP-KSCHL = 'JIPC'.

TAX = 'Central Tax'.

ELSE.

TAX = 'Sales Tax'.

ENDIF.

ENDLOOP.

Regards,

Suruchi

null

Read only

Former Member
0 Likes
939

Khan,

You have already filtered out data in loop statement by saying

LOOP AT T_KONP WHERE KSCHL = 'JVRD' OR KSCHL = 'JIPC'.

So, you won't get any record which doesn't have one of these values inside your loop.

As per your requirement you should have used:

LOOP AT T_KONP .

IF T_KONP-KSCHL = 'JVRD'.

TAX = 'Local Tax'.

ELSEIF T_KONP-KSCHL = 'JIPC'.

TAX = 'Central Tax'.

ELSE.

TAX = 'Sales Tax'.

ENDIF.

endloop.

Read only

Former Member
0 Likes
939

Hi Khan ,

Try this code

LOOP AT T_KONP WHERE KSCHL = 'JVRD' OR KSCHL = 'JIPC'.

IF T_KONP-KSCHL = 'JVRD'.

TAX = 'Local Tax'.

ELSEIF T_KONP-KSCHL = 'JIPC'.

TAX = 'Central Tax'.

ENDIF.

IF SY-SUBRC ne 0.

TAX = 'Sales Tax'.

ENDIF

Regards,

Arun

Read only

0 Likes
939

sORRY aRUN , yOUR CODENT WORK.

I appritiate ur reply.

Khan.

Read only

Former Member
0 Likes
939

hi,

LOOP AT T_KONP WHERE KSCHL = 'JVRD' OR KSCHL = 'JIPC'.

IF SY-SUBRC <> 0.

TAX = 'Sales Tax'.

else.

IF T_KONP-KSCHL = 'JVRD'.

TAX = 'Local Tax'.

ELSEIF T_KONP-KSCHL = 'JIPC'.

TAX = 'Central Tax'.

TAX = 'Sales Tax'.

ENDIF.

endif.

Read only

Former Member
0 Likes
939

khan,

LOOP AT T_KONP.

CASE T_KONP-KSCHL.

WHEN 'JVRD'.

TAX = 'Local Tax'.

WHEN 'JIPC'.

TAX = 'Central Tax'.

WHEN others.

TAX = 'Sales Tax'.

ENDCASE.

ENDLOOP.

Don't forget to reward if useful....

Read only

Former Member
0 Likes
939

self answered