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

Where condition problem in select statement.

Former Member
0 Likes
1,213

Hi,

I am trying to write select statement as below

SELECT objectclas objectid FROM cdhdr INTO CORRESPONDING FIELDS OF TABLE ltab_chgdocu

WHERE objectclas IN ('STUE' , 'STUE_V')

AND ( TCODE eq 'CS01u2019 or tcode eq u2019CS02u2019 or tcode eq 'C201' or tcode eq 'C202' ) .

But I am getting the error like "literals that takes up more than one line or not permitted"

Please let me know whats wrong and correct me .

Thanks,

Vinay.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,156

Hi,

Copy and paste the below coding.

DATA : LTAB_CHGDOCU TYPE TABLE OF CDHDR.

SELECT OBJECTCLAS OBJECTID FROM CDHDR INTO CORRESPONDING FIELDS OF TABLE LTAB_CHGDOCU

WHERE OBJECTCLAS IN ('STUE' , 'STUE_V')

AND ( TCODE EQ 'CS01'

OR TCODE EQ 'CS02'

OR TCODE EQ 'C201'

OR TCODE EQ 'C202' ) .

With Regards,

Sumodh.P

11 REPLIES 11
Read only

Former Member
0 Likes
1,156

HI,

Problem is


 'CS01u2019  " Check the qoutes 

Try this it will work.



SELECT objectclas objectid FROM cdhdr INTO CORRESPONDING FIELDS OF TABLE ltab_chgdocu
WHERE objectclas IN ('STUE' , 'STUE_V')
AND  TCODE eq 'CS01' 
  or tcode eq 'CS02' 
  or tcode eq 'C201' 
  or tcode eq 'C202' .

Regards and Best wishes.

Read only

Former Member
0 Likes
1,156

Hi,

The single quote given in your code were wrong.. try to type again that all.. I have done that and working fine.. Retype all the single quotes.. Like after and before CS01 and all..

SELECT objectclas objectid FROM cdhdr INTO CORRESPONDING FIELDS OF TABLE ltab_chgdocu
WHERE objectclas IN ('STUE' , 'STUE_V')
AND ( TCODE eq 'CS01' 
 or tcode eq 'CS02' 
  or  tcode eq 'C201' 
  or tcode eq 'C202' ).

Edited by: Lokesh Tarey on Apr 30, 2010 7:23 AM

Read only

0 Likes
1,156

Still getting same error .....

Read only

0 Likes
1,156

Copy Paste and check.

tables : cdhdr.

types : begin of ltab_chgdocu,
        objectclas type cdhdr-objectclas,
        objectid   type cdhdr-objectid,
        end of ltab_chgdocu.
DATA : it_tab TYPE STANDARD TABLE OF ltab_chgdocu,
       wa_tab TYPE ltab_chgdocu.

SELECT objectclas objectid FROM cdhdr INTO CORRESPONDING FIELDS OF TABLE it_tab
WHERE objectclas IN ('STUE' , 'STUE_V')
AND ( TCODE eq 'CS01'
 or tcode eq 'CS02'
  or  tcode eq 'C201'
  or tcode eq 'C202' )

.

Read only

Former Member
0 Likes
1,157

Hi,

Copy and paste the below coding.

DATA : LTAB_CHGDOCU TYPE TABLE OF CDHDR.

SELECT OBJECTCLAS OBJECTID FROM CDHDR INTO CORRESPONDING FIELDS OF TABLE LTAB_CHGDOCU

WHERE OBJECTCLAS IN ('STUE' , 'STUE_V')

AND ( TCODE EQ 'CS01'

OR TCODE EQ 'CS02'

OR TCODE EQ 'C201'

OR TCODE EQ 'C202' ) .

With Regards,

Sumodh.P

Read only

Former Member
0 Likes
1,156

Dear,

Your putting just wrong quotes. Please try to type whole code manually. Pls don't try to just copy and paste..

Like 'CS01'.. here try to type by your own this single quotes..

Regs,

Lokesh.

Read only

0 Likes
1,156
But I am getting the error like "literals that takes up more than one line or not permitted

We generally face this error if the literals i.e the quotes don't end up the same for the starting and ending value.

Read only

BH2408
Active Contributor
0 Likes
1,156

HI ,

Use the ranges....

Regards,

Bharani

Read only

Mohamed_Mukhtar
Active Contributor
0 Likes
1,156

Hi Vinay,

Declare constants

constants : c_stue type CDOBJECTCL value 'STUE',
             c_stue_v type CDOBJECTCL value 'STUE_V',
             c_cs01 type sy-tcode value 'CS01',
             c_cs02 type sy-tcode value 'CS02',
             c_C201 type sy-tcode value 'C201',
             c_C202 type sy-tcode value 'C202'.

And replace your hardcoded values with these constants in your select query.

SELECT objectclas objectid FROM cdhdr INTO CORRESPONDING FIELDS OF TABLE it_tab
                                    WHERE objectclas IN (c_STUE , c_STUE_V)
                                                 AND ( TCODE eq c_CS01
                                                 or tcode eq c_CS02
                                                 or  tcode eq c_C201
                                                  or tcode eq c_C202 ).

Thanks & Regards

- Always Leaner

Read only

Former Member
0 Likes
1,156

Hi Vinay,

It's working for me.



TYPES : BEGIN OF ty_chgdocu,
       objectclass TYPE cdobjectcl,
       objectid    TYPE cdobjectv,
       END OF ty_chgdocu.

DATA : ltab_chgdocu TYPE TABLE OF ty_chgdocu,
       wa_chgdocu LIKE LINE OF ltab_chgdocu .

SELECT objectclas objectid
                FROM cdhdr
                INTO TABLE ltab_chgdocu
                WHERE objectclas IN ('STUE' , 'STUE_V') AND
                     tcode IN ('CS01' , 'CS02', 'CS03' ).

Cheers

VJ

Read only

0 Likes
1,156

Yes...Are u talking about the code i had given?

i had executed the code . It's Working