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

sy-subrc

0 Likes
2,500

what does sy-subrc = 8 indicates.

if sy-subrc = 0.

data is rete.. successfuly from data base

if sy-subrc = 4 , not successful

but what does sy-subrc = 8 indicatesa

can any body reply me

thanks

what does sy-subrc = 8 indicates.

if sy-subrc = 0.

data is rete.. successfuly from data base

if sy-subrc = 4 , not successful

but what does sy-subrc = 8 indicatesa

can any body reply me

thanks

6 REPLIES 6
Read only

suresh_datti
Active Contributor
0 Likes
1,443

Press F1 on a SELECT & you will get this..

SY-SUBRC = 8:

Applies only to SELECT SINGLE FOR UPDATE: You did not specify all of the primary key fields in the WHERE condition. The result table is empty.

~Suresh

Read only

Former Member
0 Likes
1,443

Hi,

Sy-subrc = 0 -


Success

Sy-subrc = 4 -


Failure(known reason)

Sy-subrc = 8 -


Internal error(Unknown reason).

Regards

Sudheer

Read only

Juwin
Active Contributor
0 Likes
1,443

For a select or a read statement:

Sy-subrc = 0 -


Success

Sy-subrc = 4 -


No records found in the source table which matched the selection conditions

Sy-subrc = 8 -


The source is empty.

Read only

Former Member
0 Likes
1,443

Hi Hari,

Check this link,

it will be useful to you!

Thanks

Janani

award points if helpful

Read only

Former Member
0 Likes
1,443

SY-SUBRC

Return value set by the following ABAP statements. In general, a content of 0 means that the statement was executed without problems.

ASSIGN sets SY-SUBRC to 0 if assignment to field symbol is possible, otherwise 4.

ASSIGN <dref>->* sets SY-SUBRC to 0 if dereferencing is possible, otherwise 4.

AUTHORITY-CHECK sets SY-SUBRC to 0 if the user has the necessary authorization, otherwise 4, 8, 12, 16, 24, 28, 32, or 36 depending on the cause.

CALL DIALOG with USING sets SY-SUBRC to 0, if processing was successful, otherwise <>0.

CALL FUNCTION sets SY-SUBRC according to the exception handling.

CALL METHOD sets SY-SUBRC according to the exception handling.

CALL SELECTION-SCREEN sets SY-SUBRC to 0 if the user chose Enter or Execute and 4 if the user chose Cancel.

CALL TRANSACTION with USING sets SY-SUBRC to 0 if processing was successful, otherwise <>0.

CATCH SYSTEM-EXCEPTIONS sets SY-SUBRC if there are runtime errors after the ENDCATCH statement. The value is specified in the program.

COMMIT WORK sets SY-SUBRC to 0.

COMMIT WORK AND WAIT sets SY-SUBRC to 0 if update was successful, otherwise <>0.

COMMUNICATION INIT DESTINATION … RETURNCODE sets SY-SUBRC as specified.

CONCATENATE sets SY-SUBRC to 0 if the result fits into target variable, otherwise 4.

CREATE OBJECT sets SY-SUBRC if the exceptions of the instance constructor are handled.

CREATE OBJECT in OLE2 sets SY-SUBRC to 0 if an external object was created, otherwise 1,2, 3 with different causes.

DELETE sets SY-SUBRC to 0 if the operation was successful, otherwise 4 or <> 0 depending on cause.

DEMAND … MESSAGES INTO sets SY-SUBRC to 0 if a message table is empty, otherwise <> 0.

DESCRIBE LIST sets SY-SUBRC to 0 if row or list exists, otherwise 4 or 8.

EXEC SQL - ENDEXEC sets SY-SUBRC to 0 in almost all cases. Only if no set was read with FETCH is SY-SUBRC 4.

FETCH sets SY-SUBRC to 0 if at least one row was read, otherwise 4.

GENERATE SUBROUTINE POOL sets SY-SUBRC to 0 if generation was successful, otherwise 8.

GET CURSOR sets SY-SUBRC to 0 if the cursor is correctly positioned, otherwise 4.

GET PARAMETER sets SY-SUBRC to 0 if value found in SAP Memory, otherwise 4.

IMPORT sets SY-SUBRC to 0 if import of data objects was successful, otherwise 4.

IMPORT sets SY-SUBRC to 0 if import of data objects was successful, otherwise 4.

LOAD REPORT sets SY-SUBRC to 0 if the operation was successful, otherwise 4 or 8 depending on cause.

LOOP sets SY-SUBRC to 0 if loop over extract was passed at least once, otherwise 4.

LOOP AT sets SY-SUBRC to 0 if loop over internal table was passed at least once, otherwise 4.

MODIFY sets SY-SUBRC to 0 if operation was successful, otherwise 4.

MODIFY LINE sets SY-SUBRC to 0 if list row was changed, otherwise <> 0.

MODIFY sets SY-SUBRC to 0 if operation was successful, otherwise 4.

OLE2 automation, bundled commands set SY-SUBRC to 0 if all were successfully executed, otherwise 1, 2, 3, 4 depending on cause.

OPEN DATASET sets SY-SUBRC to 0 if the file was opened, otherwise 8.

Open SQL commands set SY-SUBRC to 0 if operation was successful, otherwise <>0.

OVERLAY sets SY-SUBRC to 0 if at least one character is overlayed, otherwise 4.

READ DATASET sets SY-SUBRC to 0 if the read operation was successful, otherwise 4 or 8 depending on cause.

READ LINE sets SY-SUBRC to 0 if list row exists, otherwise <> 0.

READ TABLE sets SY-SUBRC to 0 if the table row was found, otherwise 2, 4, 8 depending on cause.

REPLACE sets SY-SUBRC to 0 if search string could be replaced, otherwise <> 0.

ROLLBACK WORK always sets SY-SUBRC to 0.

SCROLL sets SY-SUBRC to 0 if scrolling in list successful, otherwise 4 or 8 depending on cause.

SEARCH sets SY-SUBRC to 0 if search string was found, otherwise 4.

SELECT sets SY-SUBRC to 0 if at least one row was read, otherwise 4 or even 8 with SELECT SINGLE FOR UPDATE.

SET COUNTRY sets SY-SUBRC to 0 if country ID was found in table T005X, otherwise 4.

SET BIT sets SY-SUBRC to 0 if bit was set, otherwise <> 0.

SET TITLEBAR sets SY-SUBRC to 0 if title exists, otherwise 4.

SHIFT … UP TO sets SY-SUBRC to 0 if position was found in character string, otherwise 4.

SPLIT sets SY-SUBRC to 0 if size of target fields is sufficient, otherwise 4.

UPDATE sets SY-SUBRC to 0 if operation successful, otherwise 4.

WRITE … TO sets SY-SUBRC to 0 if assignment successful, otherwise 4.

reward all helpfull answers

Read only

aris_hidalgo
Contributor
0 Likes
1,443

Hi Hari,

If you are reffering to select statements, below is the description of the values

of sy-subrc after executing your select statement.

0 - The SELECT statement sets sy-subrc to 0 for every pass by value to an ABAP data object. The ENDSELECT statement sets sy-subrc to 0 if at least one row was transferred in the SELECT loop.

4 - The SELECT statement sets sy-subrc to 4 if the result set is empty, that is, if no data was found in the database.

8 - The SELECT statement sets sy-subrc to 8 if the FOR UPDATE addition is used in result, without the primary key being specified fully after WHERE.

Hope this helps...

P.S. Please award points if found useful...