Application Development 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: 

Error

Former Member
0 Kudos

Hi,

when i am creating the program iam getting the following error.

Incorrect logical expression:/comparison?select option can only followed by and or.

plz let me know what is the error in the program. annd what is select option

DATA: W_VAR1 TYPE I,

w_var2 type I.

WHILE : W_VAR1 < 10,

W_VAR1 = W_VAR1 + 1

W_VAR2 = W_VAR2 + W_VAR1

WRITE:/ W_VAR2, W_VAR1.

ENDWHILE.

WHILE SY_INDEX <= 10,

W_VAR2 = W_VAR2 + SY_INDEX.

WRITE:/ W_VAR2, SY_INDEX.

ENDWHILE.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

HI,

see this now.

u have to use period(.)at the end of while statement.and u u have to use sy-index instead of sy_index.

DATA: W_VAR1 TYPE I,

w_var2 type I.

WHILE : W_VAR1 < 10.

W_VAR1 = W_VAR1 + 1.

W_VAR2 = W_VAR2 + W_VAR1.

WRITE:/ W_VAR2, W_VAR1.

ENDWHILE.

WHILE SY-INDEX <= 10.

W_VAR2 = W_VAR2 + SY-INDEX.

WRITE:/ W_VAR2, SY-INDEX.

ENDWHILE.

<b>reward if useful.</b>

rgds,

bharat.

10 REPLIES 10

Former Member
0 Kudos

Hi

use SY-INDEX not SY_INDEX

see the corrected code

DATA: W_VAR1 TYPE I,

w_var2 type I.

WHILE : W_VAR1 < 10.

W_VAR1 = W_VAR1 + 1.

W_VAR2 = W_VAR2 + W_VAR1.

WRITE:/ W_VAR2, W_VAR1.

ENDWHILE.

WHILE SY-INDEX <= 10.

W_VAR2 = W_VAR2 + SY-INDEX.

WRITE:/ W_VAR2, SY-INDEX.

ENDWHILE.

<b>Reward points for useful Answers</b>

Regards

Anji

Former Member
0 Kudos

Hi Rams,

Try this code.

DATA: W_VAR1 TYPE I,

w_var2 type I.

WHILE W_VAR1 < 10.

W_VAR1 = W_VAR1 + 1.

W_VAR2 = W_VAR2 + W_VAR1.

WRITE:/ W_VAR2, W_VAR1.

ENDWHILE.

WHILE SY-INDEX <= 10.

W_VAR2 = W_VAR2 + SY-INDEX.

WRITE:/ W_VAR2, SY-INDEX.

ENDWHILE.

Reward points if useful.

Regards,

Atish

Former Member
0 Kudos

change the program like this....

DATA: W_VAR1 TYPE I,

w_var2 type I.

WHILE W_VAR1 < 10.

W_VAR1 = W_VAR1 + 1.

W_VAR2 = W_VAR2 + W_VAR1.

WRITE:/ W_VAR2, W_VAR1.

ENDWHILE.

WHILE SY-iNDEX <= 10.

W_VAR2 = W_VAR2 + SY-INDEX.

WRITE:/ W_VAR2, SY-INDEX.

ENDWHILE.

Former Member
0 Kudos

HI,

see this now.

u have to use period(.)at the end of while statement.and u u have to use sy-index instead of sy_index.

DATA: W_VAR1 TYPE I,

w_var2 type I.

WHILE : W_VAR1 < 10.

W_VAR1 = W_VAR1 + 1.

W_VAR2 = W_VAR2 + W_VAR1.

WRITE:/ W_VAR2, W_VAR1.

ENDWHILE.

WHILE SY-INDEX <= 10.

W_VAR2 = W_VAR2 + SY-INDEX.

WRITE:/ W_VAR2, SY-INDEX.

ENDWHILE.

<b>reward if useful.</b>

rgds,

bharat.

Former Member
0 Kudos

Hi rams s

Now u do code like this, you wont get error.

DATA: W_VAR1 TYPE I,

w_var2 type I.

WHILE W_VAR1 < 10.

W_VAR1 = W_VAR1 + 1.

W_VAR2 = W_VAR2 + W_VAR1.

WRITE:/ W_VAR2, W_VAR1.

ENDWHILE.

WHILE SY-INDEX <= 10.

W_VAR2 = W_VAR2 + SY-INDEX.

WRITE:/ W_VAR2, SY-INDEX.

ENDWHILE.

if its solved reward points.

thanks

senthil

former_member588853
Active Contributor
0 Kudos

HI ram.

I have corrected you program.. see the bugs in BOLD

DATA: w_var1 TYPE i,

w_var2 TYPE i.

WHILE : w_var1 < 10<b>.</b>

w_var1 = w_var1 +<b> 1.</b>

w_var2 = w_var2 + w_var1<b>.</b>

WRITE:/ w_var2, w_var1.

ENDWHILE.

WHILE sy-index <= 10<b>.</b>

w_var2 = w_var2 + <b>sy-index</b>.

WRITE:/ w_var2, <b>sy-index</b>.

ENDWHILE.

I dont under stand why this program?

rewards if useful,

regards,

nazeer

Former Member
0 Kudos

Hi Ram,

I am not aware of the need and what you are expecting from this code, but I tried to give you the code without errors.

You can have a look at the code below.

DATA: W_VAR1 TYPE I,

w_var2 type I.

WHILE W_VAR1 < 10.

W_VAR1 = W_VAR1 + 1.

W_VAR2 = W_VAR2 + W_VAR1.

WRITE:/ W_VAR2, W_VAR1.

ENDWHILE.

WHILE SY-INDEX <= 10.

W_VAR2 = W_VAR2 + SY-INDEX.

WRITE:/ W_VAR2, SY-INDEX.

ENDWHILE.

<b>Reward points if this has solved your problem.</b>

Regards,

Kiran Kumar S

Former Member
0 Kudos

hi

your problem is that you didnt give full stop after ending the command.

In ABAP, for every end of statement you have to give full stop.

thanks

senthil

Former Member
0 Kudos

hi

only small errors like comma, sy-index etc are there.

DATA: W_VAR1 TYPE I,

w_var2 type I.

WHILE : W_VAR1 < 10.

W_VAR1 = W_VAR1 + 1.

W_VAR2 = W_VAR2 + W_VAR1.

WRITE:/ W_VAR2, W_VAR1.

ENDWHILE.

WHILE SY-INDEX <= 10.

W_VAR2 = W_VAR2 + SY-INDEX.

WRITE:/ W_VAR2, SY-INDEX.

ENDWHILE.

now it will work.

reward if useful..

former_member375669
Participant
0 Kudos

hi rams

i don't understand what u want to do with this program.

i am giving here two solutions for your program..

1) try this

DATA: W_VAR1 TYPE I,

w_var2 type I.

WHILE : W_VAR1 < 10.

W_VAR1 = W_VAR1 + 1.

W_VAR2 = W_VAR2 + W_VAR1.

WRITE:/ W_VAR2, W_VAR1.

WHILE SY-INDEX <= 10.

W_VAR2 = W_VAR2 + SY-INDEX.

WRITE:/ W_VAR2, SY-INDEX.

ENDWHILE.

ENDWHILE.

2) and again try this

DATA: W_VAR1 TYPE I,

w_var2 type I.

WHILE : W_VAR1 < 10.

W_VAR1 = W_VAR1 + 1.

W_VAR2 = W_VAR2 + W_VAR1.

WRITE:/ W_VAR2, W_VAR1.

ENDWHILE.

WHILE SY-INDEX <= 10.

W_VAR2 = W_VAR2 + SY-INDEX.

WRITE:/ W_VAR2, SY-INDEX.

ENDWHILE.