03-18-2009 5:42 PM
Hi,
I would like to know in what cases sy-subrc is '2' in function ALSM_EXCEL_TO_INTERNAL_TABLE
the result of this function depends the version of excel, office ???
Somebody can help me ?
03-18-2009 7:59 PM
03-19-2009 2:13 AM
Hi Michael,
It is a Upload error from Excel file.
The return value of sy-subrc is as follows in Help.SAP.com
Return Value
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 u2026 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 u2026 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.
· 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 u2026 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 u2026 TO sets SY-SUBRC to 0 if assignment successful, otherwise 4.
Thanks & Regards,
Dileep .C
03-19-2009 2:19 AM
Hi Michael,
In detail, look to this how the exception is declared in the function module.
FUNCTION ALSM_EXCEL_TO_INTERNAL_TABLE .
*"----
-
""Lokale Schnittstelle:
*" IMPORTING
*" VALUE(FILENAME) LIKE RLGRAP-FILENAME
*" VALUE(I_BEGIN_COL) TYPE I
*" VALUE(I_BEGIN_ROW) TYPE I
*" VALUE(I_END_COL) TYPE I
*" VALUE(I_END_ROW) TYPE I
*" TABLES
*" INTERN STRUCTURE ALSMEX_TABLINE
*" EXCEPTIONS
*" INCONSISTENT_PARAMETERS
*" UPLOAD_OLE
*"----
-
· OLE2 automation, bundled commands set SY-SUBRC to 0 if all were successfully executed, otherwise 1, 2, 3, 4 depending on cause.
Thanks & Regards,
Dileep .C
Edited by: Dileep Kumar Chinnaiah on Mar 19, 2009 10:23 AM
04-29-2009 1:28 PM