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

Error

Former Member
0 Likes
1,050

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
Read only

Former Member
0 Likes
1,024

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
Read only

Former Member
0 Likes
1,024

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

Read only

Former Member
0 Likes
1,024

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

Read only

Former Member
0 Likes
1,024

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.

Read only

Former Member
0 Likes
1,025

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.

Read only

Former Member
0 Likes
1,024

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

Read only

Former Member
0 Likes
1,024

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

Read only

Former Member
0 Likes
1,024

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

Read only

Former Member
0 Likes
1,024

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

Read only

Former Member
0 Likes
1,024

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..

Read only

Former Member
0 Likes
1,024

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.