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 in where condition

Former Member
0 Likes
712

SELECT VENUM

           VEMNG

           UNVEL

           MATNR

           SONUM

    FROM   VEPO

    INTO   CORRESPONDING FIELDS OF TABLE T_VEPO

    WHERE  MATNR IN S_MATNR

    AND    WERKS = P_WERKS

    AND    LGORT IN S_LGORT.

  •    AND    SONUM + 0(10) IN S_VBELN.

I M GETTING ERROR IF I USE       AND    SONUM + 0(10) IN S_VBELN.   THIS IN WHERE  CONDITION .

P_WERKS: PARAMETERS.

S_LGORT, S_VBELN : SELECT-OPTIONS.

CAN ANY ONE HELP ME..

1 ACCEPTED SOLUTION
Read only

faisalatsap
Active Contributor
0 Likes
661

Hi, Raghu Korrai

Please Check the following Sample Code hope this will solve out your problem.

TABLES: vepo, vbrk.
DATA: it_vepo LIKE STANDARD TABLE OF vepo,
      wa_vepo LIKE vepo.

SELECT-OPTIONS: so_matnr FOR vepo-matnr,
                so_werks FOR vepo-werks,
                so_lgort FOR vepo-lgort,
                so_vbeln FOR vbrk-vbeln OBLIGATORY.

SELECT venum vemng unvel matnr sonum
  FROM vepo
  INTO CORRESPONDING FIELDS OF TABLE it_vepo
  WHERE matnr IN so_matnr
    AND werks IN so_werks
    AND lgort IN so_lgort.

DELETE it_vepo WHERE sonum+0(10) NOT IN so_vbeln." this will delete according your Requirements

You can't this SONUM+0(10) in select

Thanks and Best Regards,

Faisal

5 REPLIES 5
Read only

Former Member
0 Likes
661

Hi Raghu,

SELECT VENUM
VEMNG
UNVEL
MATNR
SONUM
FROM VEPO
INTO CORRESPONDING FIELDS OF TABLE T_VEPO
WHERE MATNR IN S_MATNR
AND WERKS = P_WERKS
AND LGORT IN S_LGORT.
* AND SONUM + 0(10) IN S_VBELN.
" AND SONUM+0(10) IN S_VBELN. " Add this

Cheerz

Ram

Read only

0 Likes
661

I've tried ram its not working..thanks reply

Read only

faisalatsap
Active Contributor
0 Likes
662

Hi, Raghu Korrai

Please Check the following Sample Code hope this will solve out your problem.

TABLES: vepo, vbrk.
DATA: it_vepo LIKE STANDARD TABLE OF vepo,
      wa_vepo LIKE vepo.

SELECT-OPTIONS: so_matnr FOR vepo-matnr,
                so_werks FOR vepo-werks,
                so_lgort FOR vepo-lgort,
                so_vbeln FOR vbrk-vbeln OBLIGATORY.

SELECT venum vemng unvel matnr sonum
  FROM vepo
  INTO CORRESPONDING FIELDS OF TABLE it_vepo
  WHERE matnr IN so_matnr
    AND werks IN so_werks
    AND lgort IN so_lgort.

DELETE it_vepo WHERE sonum+0(10) NOT IN so_vbeln." this will delete according your Requirements

You can't this SONUM+0(10) in select

Thanks and Best Regards,

Faisal

Read only

Former Member
0 Likes
661

HAI,

You may also try this:

Var = SONUM+0(10). " New Variable
SELECT VENUM
VEMNG
UNVEL
MATNR
SONUM
FROM VEPO
INTO CORRESPONDING FIELDS OF TABLE T_VEPO
WHERE MATNR IN S_MATNR
AND WERKS = P_WERKS
AND LGORT IN S_LGORT
AND Var eq S_VBELN.

Best Regards,

rama

Edited by: newtoAbap on Jun 7, 2010 11:30 AM

Read only

Former Member
0 Likes
661

HI

Declare another table t_vepo2 of same type t_vepo.

SELECT VENUM

VEMNG

UNVEL

MATNR

SONUM

FROM VEPO

INTO CORRESPONDING FIELDS OF TABLE T_VEPO

WHERE MATNR IN S_MATNR

AND WERKS = P_WERKS

AND LGORT IN S_LGORT.

                                                  • add below code to your code''************

LOOP AT t_vepo INTO lw_vepo.

IF lw_vepo-sonum+0(10) IN s_vbeln.

APPEND lw_vepo TO t_vepo2.

ENDIF.

CLEAR lw_vepo.

ENDLOOP.

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

Now use the table t_vep02 instead of t_vepo.

Regards

Deepa