HOW TO RAISE EXCEPTION IN FUNCTION MODULE !
I have created a function module....where i want to raise some error message when some wrong data will be inputed
what is the syntax ? Please tell me the syntax .
hi you can do like this:
in exception tab of FM write exceptions you want to raise.
e.g. incorrect_input.
now in code write
if input not correct (write your validation condition here)
raise incorrect_input.
endif.
reward if useful.
Similar Messages
-
How to create EXCEPTION in function module
hi experts,
how to create exeptions in function module i want step by step.
regards,
chaituhi,
Raising Exceptions
There are two ABAP statements for raising exceptions. They can only be used in function modules:
RAISE except.
und
MESSAGE.....RAISING except.
The effect of these statements depends on whether the calling program handles the exception or not. The calling program handles an exception If the name of the except exception or OTHERS is specified after the EXCEPTION option of the CALL FUNCTION statement.
If the calling program does not handle the exception
· The RAISEstatement terminates the program and switches to debugging mode.
· The MESSAGE..... RAISING statement displays the specified message. Processing is continued in relation to the message type.
If the calling program handles the exception, both statements return control to the program. No values are transferred. The MESSAGE..... RAISING statement does not display a message. Instead, it fills the system fields sy-msgid, sy-msgty, sy-msgno , and SY-MSGV1 to SY-MSGV4.
Source Code of READ_SPFLI_INTO_TABLE
The entire source code of READ_SPFLI_INTO_TABLE looks like this:
FUNCTION read_spfli_into_table.
""Local Interface:
*" IMPORTING
*" VALUE(ID) LIKE SPFLI-CARRID DEFAULT 'LH '
*" EXPORTING
*" VALUE(ITAB) TYPE SPFLI_TAB
*" EXCEPTIONS
*" NOT_FOUND
SELECT * FROM spfli INTO TABLE itab WHERE carrid = id.
IF sy-subrc NE 0.
MESSAGE e007(at) RAISING not_found.
ENDIF.
ENDFUNCTION.
The function module reads all of the data from the database table SPFLI where the key field CARRID is equal to the import parameter ID and places the entries that it finds into the internal table spfli_tab. If it cannot find any entries, the exception NOT_FOUND is triggered with MESSAGE ... RAISING. Otherwise, the table is passed to the caller as an exporting parameter.
Calling READ_SPFLI_INTO_TABLE
The following program calls the function module READ_SPFLI_INTO_TABLE:
REPORT demo_mod_tech_fb_read_spfli.
PARAMETERS carrier TYPE s_carr_id.
DATA: jtab TYPE spfli_tab,
wa LIKE LINE OF jtab.
CALL FUNCTION 'READ_SPFLI_INTO_TABLE'
EXPORTING
id = carrier
IMPORTING
itab = jtab
EXCEPTIONS
not_found = 1
OTHERS = 2.
CASE sy-subrc.
WHEN 1.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno.
WHEN 2.
MESSAGE e702(at).
ENDCASE.
LOOP AT jtab INTO wa.
WRITE: / wa-carrid, wa-connid, wa-cityfrom, wa-cityto.
ENDLOOP.
The actual parameters carrier and jtab have the same data types as their corresponding interface parameters in the function module. The exception NOT_FOUND is handled in the program. It displays the same message that the function module would have displayed had it handled the error.
Hope this is helps,Do reward. -
Raise exception in function module call from SAP owned program
I need to raise an exception in a function module to terminate a transaction, display a error message and return to to previous selection screen so the user can fix the error before moving forward.......
How do you do this when the program using the function module is SAP owned?
Thank You!
JeffHi,
After calling the function module, you can do something like this.
IF SY-SUBRC <> 0.
RAISE EXCEPTION.
ENDIF.
Regards,
Ferry Lianto -
Raising exceptions in function module
I am writing a coding inside the userexit. The call customer function has 'exception' parameters like below:
EXCEPTIONS
IDOC_ERROR = 1
DO_NOT_PROCESS_IDOC = 2
OTHERS = 3.
Now, I want to raise the exception to '1' depending on some conditions. How do I do that? I used to just get the import parameters from the funciton module but never raised exceptiosn before.
please advice.
ThanksHi,
Please try this.
IF <your field check> NE <your condition>
RAISE IDOC_ERROR.
ENDIF.
OR
SY-SUBRC = '1'.
Regards,
Ferry Lianto -
Hi,
How to use exception in Function module ?
How Can I use the exception my program while calling the Function Module ?
Can anyone explain with example ?
Thanks
NKHI,
if something happens in ur FM and u want it to be tracked in ur calling program, then u can use exception...............
If u r having(say) 3 exceptions in ur FM....
and in ur calling program its like below.
EXCEPTIONS
exception1 = 1
exception2 = 2
exception3 = 3
then if the first exception is raised in ur FM,then sy-subrc value ll be 1( exception1 = 1 )....llly if the second exception is raised in ur FM,then sy-subrc value ll be 2( exception2 = 2 ).........
now u can use this sy-subrc values like below....
If sy-subrc = '1'.
message 'First exception is raised' type 'I'.
else.
message '2nd or 3rd exception is raised' type 'I'.
endif.
Cheers,
jose. -
How to raise the exception in function module
Dear abaper's.
I am creating a Function module .In that in' EXCEPTION' Tab i am giving
3 exception .1.NO_DATA_FOUND 2.NO_PRINTER_FOUND 3.SMARTFORM_INTERFACE_NOT_FOUND.
In my coding if this condtion matches i want to raise this exception.how can i do this in my coding .can any one suggest me..
advance thanks,
Warm regards,
VeeraHi,
if that condition is not satisfied,and u didn't handle that exception while calling function module then in the runtime error u will get the text as the description of the exception in function module definition.
rgds,
bharat. -
How to write the exceptions in function module
dear all,
how to write the exceptions in function modules with example.
thanq
jyothiHi,
Raising Exceptions
There are two ABAP statements for raising exceptions. They can only be used in function modules:
RAISE except.
und
MESSAGE.....RAISING except.
The effect of these statements depends on whether the calling program handles the exception or not. The calling program handles an exception If the name of the except exception or OTHERS is specified after the EXCEPTION option of the CALL FUNCTION statement.
If the calling program does not handle the exception
· The RAISEstatement terminates the program and switches to debugging mode.
· The MESSAGE..... RAISING statement displays the specified message. Processing is continued in relation to the message type.
If the calling program handles the exception, both statements return control to the program. No values are transferred. The MESSAGE..... RAISING statement does not display a message. Instead, it fills the system fields sy-msgid, sy-msgty, sy-msgno , and SY-MSGV1 to SY-MSGV4.
Source Code of READ_SPFLI_INTO_TABLE
The entire source code of READ_SPFLI_INTO_TABLE looks like this:
FUNCTION read_spfli_into_table.
""Local Interface:
*" IMPORTING
*" VALUE(ID) LIKE SPFLI-CARRID DEFAULT 'LH '
*" EXPORTING
*" VALUE(ITAB) TYPE SPFLI_TAB
*" EXCEPTIONS
*" NOT_FOUND
SELECT * FROM spfli INTO TABLE itab WHERE carrid = id.
IF sy-subrc NE 0.
MESSAGE e007(at) RAISING not_found.
ENDIF.
ENDFUNCTION.
The function module reads all of the data from the database table SPFLI where the key field CARRID is equal to the import parameter ID and places the entries that it finds into the internal table spfli_tab. If it cannot find any entries, the exception NOT_FOUND is triggered with MESSAGE ... RAISING. Otherwise, the table is passed to the caller as an exporting parameter.
Calling READ_SPFLI_INTO_TABLE
The following program calls the function module READ_SPFLI_INTO_TABLE:
REPORT demo_mod_tech_fb_read_spfli.
PARAMETERS carrier TYPE s_carr_id.
DATA: jtab TYPE spfli_tab,
wa LIKE LINE OF jtab.
CALL FUNCTION 'READ_SPFLI_INTO_TABLE'
EXPORTING
id = carrier
IMPORTING
itab = jtab
EXCEPTIONS
not_found = 1
OTHERS = 2.
CASE sy-subrc.
WHEN 1.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno.
WHEN 2.
MESSAGE e702(at).
ENDCASE.
LOOP AT jtab INTO wa.
WRITE: / wa-carrid, wa-connid, wa-cityfrom, wa-cityto.
ENDLOOP.
The actual parameters carrier and jtab have the same data types as their corresponding interface parameters in the function module. The exception NOT_FOUND is handled in the program. It displays the same message that the function module would have displayed had it handled the error.
Or
just have to decide what exceptions u want and under what conditions.
then declarethese exeptions under the exceptions tab.
in the source code of ur function module.
if
like this u can code .
now when u call the function module in tme mainprogram.
if some error occurs and u have declared a exception for this then it will set sy-subrc = value u give inthe call of this fm.
in the fm u can program these sy-subrc values and trigger the code for ur exception.
Please reward if useful
Regards,
Ravi
Edited by: Ravikanth Alapati on Mar 27, 2008 9:36 AM -
How to catch excpetions of function module?
Hallo everybody,
how can i catch the exception from function module "exception" and deliver it to call function parameter table --exception table.
For example,a function module 'RPY_TABLE_INSERT' is called by Call Function (parameter_table)in order to create a new table.When the table exists already, a exception "Already_exist" activated.But it can not be caught,since it is raised by "message raise". Therefore in the exception-table of caller no error is caught.
How can I deal with it?
Thanks in advance!
Message was edited by: Liying WangCALL FUNCTION 'RPY_TABLE_INSERT'
EXPORTING
LANGUAGE = SY-LANGU
TABLE_NAME =
WITH_DOCU = ' '
DOCUTYPE = 'T'
TRANSPORT_NUMBER = ' '
DEVELOPMENT_CLASS = '$TMP'
TABL_INF =
TABL_TECHNICS = ' '
TABLES
TABL_FIELDS =
DOCU_TABLE_USER =
DOCU_TABLE_TECH =
EXCEPTIONS
CANCELLED = 1
ALREADY_EXIST = 2
PERMISSION_ERROR = 3
NAME_NOT_ALLOWED = 4
NAME_CONFLICT = 5
DB_ACCESS_ERROR = 6
OTHERS = 7
IF SY-SUBRC <> 0.
as per the error sy-subrc will be set, you can see in the exceptions ( 1 for cancel, 2 for already exit)
so using this subrc you can determine the error
ENDIF. -
Dear all experts,
I am new to ABAP.
Can anybody please tell, how to use the exceptions in function module ?
and if any exception happens, then how to link some messages to that exceptions?
I will also like to know, how to create those messages ?
<b>Can anybody please illustrate with help of example, so that a beginner will be able to understand. ?</b>
<b>eg,</b> i am adding two numbers in function module, and if any one passing number is negative, then i need to raise exception with message please do not enter -ve numbers for addition.
your help will be surely, rewarded with points.
waiting for reply.
Regards & Thanks
Vinay.hi..
Raising Exceptions
There are two ABAP statements for raising exceptions. They can only be used in function modules:
RAISE <except>.
and
MESSAGE..... RAISING <except>.
The effect of these statements depends on whether the calling program handles the exception or not. If the name <except> of the exception or OTHERS occurs in the EXCEPTIONS addition of the CALL FUNCTION statement, the exception is handled by the calling program.
If the calling program does not handle the exception
The RAISE statement terminates the program and switches to debugging mode.
The MESSAGE ..... RAISING statement display the specified message. How the processing continues depends on the message type.
If the calling program handles the exception, both statements return control to the program. No values are transferred. The MESSAGE ..... RAISING statement does not display a message. Instead, it fills the system fields SY-MSGID, SY-MSGTY, SY-MSGNO, and SY-MSGV1 to SY-MSGV4.
Source Code of READ_SPFLI_INTO_TABLE
The entire source code of READ_SPFLI_INTO_TABLE looks like this:
FUNCTION READ_SPFLI_INTO_TABLE.
""Local interface:
*" IMPORTING
*" VALUE(ID) LIKE SPFLI-CARRID DEFAULT 'LH '
*" EXPORTING
*" VALUE(ITAB) TYPE SPFLI_TAB
*" EXCEPTIONS
*" NOT_FOUND
SELECT * FROM SPFLI INTO TABLE ITAB WHERE CARRID = ID.
IF SY-SUBRC NE 0.
MESSAGE E007(AT) RAISING NOT_FOUND.
ENDIF.
ENDFUNCTION.
The function module reads all of the data from the database table SPFLI where the key field CARRID is equal to the import parameter ID and places the entries that it finds into the internal table SPFLI_TAB. If it cannot find any entries, the exception NOT_FOUND is triggered using MESSAGE...RAISING. Otherwise, the table is passed to the caller as an exporting parameter.
Also check these links
http://help.sap.com/search/highlightContent.jsp
http://help.sap.com/search/highlightContent.jsp
http://help.sap.com/search/highlightContent.jsp
regards,
veeresh -
How to create a custom function module with the records in SAP R/3?
Hi All,
How to create a custom function module with the records in SAP R/3? Using RFC Adapter I have to fetch the custom function module records.
Regards
SaraHi
goto se37...here u need to create a function group... then u need to create a function module. inside assign import/export parameters. assign tables/exceptions. activate the same. now write ur code within the function module
http://help.sap.com/saphelp_nw04/helpdata/en/9f/db98fc35c111d1829f0000e829fbfe/content.htm
Look at the below SAP HELP links, These links will show you the way to create a Function Module
http://help.sap.com/saphelp_nw04/helpdata/en/26/64f623fa8911d386e70000e82011b8/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/9f/db98fc35c111d1829f0000e829fbfe/content.htm -
How to replace obsolete download function module in ECC6.0?
Hi Experts,
How to replace obsolete download function module in ECC6.0?
Thanks,
Adi.Hi,
DOWNLOAD is obsolete FM in ECC 6. To get the same functionality , we need to use
CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG method (It provides the File selection feature)
and
GUI_DOWNLOAD function module.(It downloads the internal table from program to presentation server)
Please see the example below:
Example:
*CALL FUNCTION 'DOWNLOAD'
EXPORTING
FILENAME = p_filename
FILETYPE = DAT
TABLES
DATA_TAB = T_DOWNL
EXCEPTIONS
INVALID_FILESIZE = 1
INVALID_TABLE_WIDTH = 2
INVALID_TYPE = 3
NO_BATCH = 4
UNKNOWN_ERROR = 5
OTHERS = 6.
*End of deletion CH01-
Replacement Method for above code:
DATA: l_filename TYPE string,
l_filen TYPE string,
l_path TYPE string,
l_fullpath TYPE string,
l_usr_act TYPE I.
l_filename = P_filename.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
EXPORTING
DEFAULT_FILE_NAME = l_filename
CHANGING
FILENAME = l_filen
PATH = l_path
FULLPATH = l_fullpath
USER_ACTION = l_usr_act
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
NOT_SUPPORTED_BY_GUI = 3
others = 4.
IF sy-subrc = 0
AND l_usr_act <>
CL_GUI_FRONTEND_SERVICES=>ACTION_CANCEL.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = l_fullpath
FILETYPE = 'DAT'
TABLES
DATA_TAB = T_DOWNL
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22. -
How can i use reuse_alv_fieldcatalog_merge function module
I am using below steps for populating the final internal table.How can I use reuse_alv_fieldcatalog_merge function module in the place of declaring all these fields.How canI put title of the report in reuse_alv_fieldcatalog_merge function module.
FORM BUILD_FIELDCATALOG .
FIELDCAT-TABNAME = 'IT_FINAL'.
FIELDCAT-FIELDNAME = 'KUNNR'.
FIELDCAT-SELTEXT_M = 'Customer Name'.
FIELDCAT-JUST = 'L'.
FIELDCAT-KEY = 'X'.
FIELDCAT-DATATYPE = 'C'.
APPEND FIELDCAT TO I_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_FINAL'.
FIELDCAT-FIELDNAME = 'VBELN'.
FIELDCAT-SELTEXT_M = 'Invoice Reference'.
FIELDCAT-JUST = 'L'.
FIELDCAT-KEY = 'X'.
APPEND FIELDCAT TO I_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_FINAL'.
FIELDCAT-FIELDNAME = 'VKBUR'.
FIELDCAT-SELTEXT_M = 'Sales Office'.
FIELDCAT-JUST = 'L'.
FIELDCAT-KEY = 'X'.
FIELDCAT-DATATYPE = 'C'.
APPEND FIELDCAT TO I_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_FINAL'.
FIELDCAT-FIELDNAME = 'VKGRP'.
FIELDCAT-SELTEXT_M = 'Sales Person'.
FIELDCAT-JUST = 'L'.
FIELDCAT-KEY = 'X'.
FIELDCAT-DATATYPE = 'C'.
APPEND FIELDCAT TO I_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_FINAL'.
FIELDCAT-FIELDNAME = 'POSNR'.
FIELDCAT-SELTEXT_M = 'Item No'.
FIELDCAT-JUST = 'L'.
FIELDCAT-KEY = 'X'.
APPEND FIELDCAT TO I_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_FIANL'.
FIELDCAT-FIELDNAME = 'ARKTX'.
FIELDCAT-SELTEXT_M = 'Item Description'.
FIELDCAT-JUST = 'L'.
FIELDCAT-DATATYPE = 'C'.
APPEND FIELDCAT TO I_FIELDCAT.
CLEAR FIELDCAT.Hello,
It is very easy to use reuse_alv_fieldcatalog_merge.
You try this it will work.
example
data:
DATA : gv_repid TYPE syrepid VALUE sy-repid . " Report id
PERFORM set_field_catalog USING gst_struct CHANGING lst_fieldcat.
FORM set_field_catalog USING uv_tab TYPE slis_tabname
CHANGING xt_fieldcatalog TYPE slis_t_fieldcat_alv.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = gv_repid
i_internal_tabname = uv_tab
i_inclname = gv_repid
CHANGING
ct_fieldcat = xt_fieldcatalog
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " set_field_catalog_spec -
Hi,
What are the exceptions in function module.
Thanks in advanceHI,
Exceptions are used to return the error which happens in function module to the calling program.
You can't show error messages directly from Function modules. So when there are some error occurs in function module it raises the desired exception. and this exception number is passed back to calling program. in this way calling program can trace out the error happens in function module.
REgards, -
What is the Exceptions in function module
Hi,
wt is the exceptions in function module? can anyone tell me?
Thanks
swathiException is the mechanism by which you can give the error messages back to the program.
Say for the REUSE_ALV_GRID_DISPLAY, we have so many exceptions. Every exception has some meaning. Say the exception PROGRAM_NOT_FOUND will be raised when you had passed wrong program name in the CALLBACK program.
PROGRAM_NOT_FOUND = 1...
If the exception was raised than this value will be set to the SY-SUBRC.
SO, by accessing SY-SUBRC, you can get to know which exception was raised.
Regards,
Naimesh Patel -
How to delete Thr created functional module dynamically
Hi All,
How to delete Thr created functional module dynamically
Regards,
Lisa
Message was edited by:
Lisa RoyHi,
You can use the function module RS_FUNCTION_DELETE to do that.
Make sure you are not deleting any standard FM's.
Example
call function 'RS_FUNCTION_DELETE'
exporting
funcname = 'ZFM_NAME" " Function modue name
suppress_popups = 'X' " TO suppress any pop-ups that come when you delete
exceptions
error_message = 1
cancelled = 2
function_released = 3
others = 4.
Regards,
Sesh
Maybe you are looking for
-
Show bspiView without TLN. (WDPortalNavigation navigateAbsolute )
Hi Im trying to open a bspiView (in a new browser window) from my Web Dynpro application using WDPortalNavigation.navigateAbsolute. I want the iView to be rendered without TLN, detailed navigation and so forth. Just the iView! WDPortalNavigation.navi
-
Oracle financials interview experiance
Hi buddy, today i went to an interview for oracle functional consultant designation in some MNC co. they 've asked me some questions somehow i 've given good ans.. but for three queries i'm unable to convence them so that can anybody give me the ans.
-
Numbers- How to copy cells incl borders
Hi All Tying to copy and paste cells in numbers and the cell borders dont paste for some reason. Can you advise me how to do this please? Thanks Drew
-
Need demo of a simple chart item using emp table sal column
DB version:10g Forms version 10g Hi folks, Can anyone please post some sample code for a simple chart item based on emp table in forms 10g. lets say show the salary variations using chart item. Please do help. thanks in advance.
-
I can not use my apple remote?
Where can I find the setting about apple remote? What should I do to solve this. Thanks