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

help! select end select statement

Former Member
0 Likes
687

IF S_CHKSL = 'X'.

SELECT * FROM MARD WHERE MATNR EQ INTAB-MATNR

AND LGORT IN S_LGORT.

IF S_UR = 'X' OR S_ALLST = 'X'.

WA_PLNT_UR_MAIN = WA_PLNT_UR_MAIN + MARD-LABST.

WA_PLNT_UR = WA_PLNT_UR + MARD-LABST.

ENDIF.

IF S_QI = 'X' OR S_ALLST = 'X'.

WA_PLNT_QI_MAIN = WA_PLNT_QI_MAIN + MARD-INSME.

WA_PLNT_QI = WA_PLNT_QI + MARD-INSME.

ENDIF.

IF S_BLK = 'X' OR S_ALLST = 'X'.

WA_PLNT_BLK_MAIN = WA_PLNT_BLK_MAIN + MARD-SPEME.

WA_PLNT_BLK = WA_PLNT_BLK + MARD-SPEME.

ENDIF.

WA_STOCK_MAIN = WA_PLNT_UR_MAIN + WA_PLNT_QI_MAIN.

WA_STOCK = WA_PLNT_UR + WA_PLNT_QI.

ENDSELECT.

ENDIF.

Dear all,why is above coding works..but below coding doesnt works? the above coding before endselect,it will check the if statement underneath.but for belove coding,after select,,it straight jump to end select..any idea? thanks

IF S_TEM = 'X'.

SELECT * FROM MARD WHERE MATNR EQ INTAB-MATNR

AND LGORT IN TEM AND NOT LGORT IN TEMPD

AND NOT LGORT IN TEMCS AND NOT LGORT IN LVT

AND NOT LGORT IN LCS AND NOT LGORT IN LPD

AND NOT LGORT IN VJB AND NOT LGORT IN VCS

AND NOT LGORT IN VPD.

IF S_UR = 'X' OR S_ALLST = 'X'.

WA_PLNT_UR_MAIN = WA_PLNT_UR_MAIN + MARD-LABST.

WA_PLNT_UR = WA_PLNT_UR + MARD-LABST.

ENDIF.

IF S_QI = 'X' OR S_ALLST = 'X'.

WA_PLNT_QI_MAIN = WA_PLNT_QI_MAIN + MARD-INSME.

WA_PLNT_QI = WA_PLNT_QI + MARD-INSME.

ENDIF.

IF S_BLK = 'X' OR S_ALLST = 'X'.

WA_PLNT_BLK_MAIN = WA_PLNT_BLK_MAIN + MARD-SPEME.

WA_PLNT_BLK = WA_PLNT_BLK + MARD-SPEME.

ENDIF.

WA_STOCK_MAIN = WA_PLNT_UR_MAIN + WA_PLNT_QI_MAIN.

WA_STOCK = WA_PLNT_UR + WA_PLNT_QI.

ENDSELECT.

ENDIF.

5 REPLIES 5
Read only

Former Member
0 Likes
553

Hi,

It is jumping straight to ENDSELECT from SELECT as no data is found. Check the value of SY-SUBRC. It wont be equal to zero which means the written select statement could not fetch any record matching with the specified condition.

Regards,

Himanshu

Read only

Former Member
0 Likes
553

i try to put

if sy-subrc = 0 after the select statement,it seems the cursor wont jump and execute this statement of line also.it straight away jump to endselect.

Read only

0 Likes
553

You cannot put a sy-subrc check inside the select-endselect loop, for the control won't go inside if the where condition fails.

Regards,

Ravi

Read only

Former Member
0 Likes
553

IF S_TEM = 'X'.

SELECT * FROM MARD WHERE MATNR EQ INTAB-MATNR

AND LGORT IN TEM AND NOT LGORT IN TEMPD

AND NOT LGORT IN TEMCS AND NOT LGORT IN LVT

AND NOT LGORT IN LCS AND NOT LGORT IN LPD

AND NOT LGORT IN VJB AND NOT LGORT IN VCS

AND NOT LGORT IN VPD.

IF S_UR = 'X' OR S_ALLST = 'X'.

WA_PLNT_UR_MAIN = WA_PLNT_UR_MAIN + MARD-LABST.

WA_PLNT_UR = WA_PLNT_UR + MARD-LABST.

ENDIF.

IF S_QI = 'X' OR S_ALLST = 'X'.

WA_PLNT_QI_MAIN = WA_PLNT_QI_MAIN + MARD-INSME.

WA_PLNT_QI = WA_PLNT_QI + MARD-INSME.

ENDIF.

IF S_BLK = 'X' OR S_ALLST = 'X'.

WA_PLNT_BLK_MAIN = WA_PLNT_BLK_MAIN + MARD-SPEME.

WA_PLNT_BLK = WA_PLNT_BLK + MARD-SPEME.

ENDIF.

WA_STOCK_MAIN = WA_PLNT_UR_MAIN + WA_PLNT_QI_MAIN.

WA_STOCK = WA_PLNT_UR + WA_PLNT_QI.

ENDSELECT.

ENDIF.

here as per your here condition the data is not fetching so it is not at all going to select endselect loop . just check in your where condition..

regards

shiba dutta

Read only

Former Member
0 Likes
553

U have kept more conditions in the second select statement, so might be data is not matching for that criteria.

this must be the reason for ur issue.

Regards,

Sujatha.