‎2008 May 29 1:04 PM
I have user input of say 4 entires in select-options.
SELECT-OPTIONS : a_matnr FOR mara-matnr.
Now I want to validate that if user has input 4 materials say
1234
4567
3467
tttttt
Now tttttt soes not exist in mara, I can do a select into table, ho can I enrure that all entries entered exist in mara
‎2008 May 29 1:06 PM
HI,
Check the below code...
SELECT matnr FROM mara
INTO lv_matnr
WHERE matnr IN s_matnr.
IF lv_matnr is initial.
MESSAGE EXXX.
ENDIF.
ENDSELECT.
Rgds,
Bujji
‎2008 May 29 1:13 PM
You have to write in the event
data : vmatnr type matnr.
AT SELECTION-SCREEN ON a_matnr.
loop at a_matnr.
select matnr from mara into vmatnr
where matnr = a_matnr-low.
endselect.
if sy-subrc <> 0.
message 'One of the Entry may be wrong' type 'E'.
endloop .
Please reward if useful.
‎2008 May 29 1:14 PM
Hello,
DATA lt_matnr TYPE STANDARD TABLE OF mara-matnr.
SELECT matnr FROM mara INTO TABLE mara WHERE matnr IN s_matnr.
IF lt_matnr IS NOT INITIAL.
WRITE 'Entry exists in MARA table'.
ENDIF.
Regards.
‎2008 May 29 1:22 PM
Hi.
First, you'll need to write your code on AT SELECTION-SCREEN event.
Like this:
DATA: vl_matnr TYPE mara-matnr.
SELECT matnr UP TO 1 ROWS
FROM mara
INTO vl_matnr
WHERE matnr IN s_matnr
ENDSELECT.
IF sy-subrc <> 0.
MESSAGE i001(z_mess_class).
ENDIF.
Regards,
Brian Gonsales
‎2008 May 29 2:51 PM
Hi MN
try the following
TABLES: MARA.
SELECT-OPTIONS: A_MATNR FOR MARA-MATNR.
DATA: MESSAGE1(40).
AT SELECTION-SCREEN ON A_MATNR.
LOOP AT A_MATNR.
SELECT SINGLE MATNR FROM MARA
INTO MARA-MATNR
WHERE MATNR EQ A_MATNR-LOW.
IF SY-SUBRC NE 0.
CONCATENATE 'Material' A_MATNR-LOW 'not exists' INTO MESSAGE1 SEPARATED BY SPACE.
MESSAGE MESSAGE1 TYPE 'I'.
LEAVE LIST-PROCESSING.
ENDIF.
ENDLOOP.
reward if useful
Regards
Prabumanoharan