Exception in Function Module

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
NK

HI,
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.

Similar Messages

  • 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,
    Veera

    Hi,
    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
    jyothi

    Hi,
    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

  • Exceptions in function module.... for beginner......

    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

  • Exceptions in function module

    Hi,
    What are the exceptions in function module.
    Thanks in advance

    HI,
    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
    swathi

    Exception 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

  • What are the system built exceptions in function modules?

    Hi Experts,
    When we are creating the function module in se37 without exceptions ,but system  will assign  2 default exceptions? what are the those exceptions? please provide the information on this issue.
    Thanks,
    Srinivas.

    Hi,
    The system raises exceptions
    1) COMMUNICATION_FAILURE and
    2) SYSTEM_FAILURE  by default.
    Regards,
    Lokeswari.

  • 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!
    Jeff

    Hi,
    After calling the function module, you can do something like this.
    IF SY-SUBRC <> 0.
      RAISE EXCEPTION.
    ENDIF.
    Regards,
    Ferry Lianto

  • How to create EXCEPTION in function module

    hi experts,
              how to create exeptions in function module i want step by step.
    regards,
    chaitu

    hi,
    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.

  • 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.

  • Exceptions in Function Modules

    Hi
    How can I create an Exception in a Function Module and Raise that based on some condition? Plz help

    Hi Santo,,,,
    Look into this link ,, where u will get  a clear information on exceptions,,,,,
    http://help.sap.com/saphelp_nw70/helpdata/en/9f/db98fc35c111d1829f0000e829fbfe/content.htm
    http://abapprogramming.blogspot.com/2007/06/lesson-24-function-groups-and-function.html
    In the function module, you can create your own local types and data objects, and call subroutines or other function modules.
    You can make a function module trigger exceptions .
    To do this, you must first declare the exceptions in the interface definition, that is, assign each one a different name.
    In the source code of your function module, you program the statements that trigger an exception under the required condition. At runtime, the function module is terminated when an exception is triggered.
    The changes to exporting and changing parameters are the same as in subroutines. There are two statements that you can use to trigger an exception. In the forms given below, stands for the name of an exception that you declared in the interface. The system reacts differently according to whether or not the exception was listed in the function module call:
    RAISE .
    If the exception is listed in the calling program, the system returns control to it directly. If the exception is not listed, a runtime error occurs.
    MESSAGE () RAISING .
    If the exception is listed in the calling program, the statement has the same effect as RAISE . If it is not listed, the system sends message from message class with type , and no runtime error occurs.
    Function modules differ from subroutines in that you must assume that they will be used by other programmers. For this reason, you should ensure that you complete the steps listed here.
    Documentation (can be translated)
    You should document both your parameters and exceptions with short texts (and long texts if necessary) and your entire function module. The system provides a text editor for you to do this, containing predefined sections for Functionality, Example Call, Hints, and Further Information.
    Work list
    When you change an active function module, it acquires the status active (revised). When you save it, another version is created with the status inactive . When you are working on a function module, you can switch between the inactive version and the last version that you activated. When you activate the inactive version, the previous active version is overwritten.
    Function test
    Once you have activated your function module, you can test it using the built-in test environment in the Function Builder. If an exception is triggered, the test environment displays it, along with any message that you may have specified for it. You can also switch into the Debugger and the Runtime Analysis tool. You can save test data and compare sets of results.
    When you insert a function module call in your program, you should use the Pattern function. Then, you only need to enter the name of the function module (input help is available). The system then inserts the call and the exception handling (MESSAGE statement) into your program.
    You assign parameters by name. The formal parameters are always on the left-hand side of the expressions:
    Exporting parameters are passed by the program. If a parameter is optional, you do not need to pass it. Default values are displayed if they exist.
    Importing parameters are received by the program. All importing parameters are optional.
    Changing parameters are both passed and received. You do not have to list optional parameters.
    Default values are displayed if they exist.
    The system assigns a value to each exception, beginning at one, and continuing to number them sequentially in the order they are declared in the function module definition. You can assign a value to all other exceptions that you have not specifically listed using the special exception OTHERS.
    If you list the exceptions and one is triggered in the function module, the corresponding value is placed in the return code field sy-subrc. If you did not list the exception in the function call, a runtime error or a message occurs, depending on the statement you used in the function module to trigger the exception.
    When you create a function module, you must assign it to a function group. The function group is the main program in which a function module is embedded.
    A function group is a program with type F, and is not executable . The entire function group is loaded in a program the first time that you call a function module that belongs to it.
    The system also triggers the LOAD-OF-PROGRAM event for the function group.
    The function group remains active in the background until the end of the calling program. It is therefore a suitable means of retaining data objects for the entire duration of a program. All of the function modules in a group can access the group's global data.
    Please reward if found helpful,,,,,,,,,,,,,,,,
    Thanks And Regards ,,,,
    Sreekar.Kadiri.

  • Question about exceptions in function module GUI_DOWNLOAD

    To all,
    I add the function module 'GUI_DOWNLOAD' in the ABAP report program. After the user download the data to excel, the program also displays a report on the screen for print output.
    If the user keep the excel file open and tries to replace the file on download, the program gives an error message 'Access to file denied' and the program ends without displaying a report on the screen.
    Is there any way not to end the program even if download is failed?
    I would like the program displays a report after it gives an error message.
    So I am trying to use exceptions. But if I code to give messages, the programs ends as above. And if I just make exit when it happens, no error message and the program displays a report but the user don't know if the excel file was updated or not.
    Could anybody kindly let me know how to code exceptions and messages if it is possible the program works I hope.
    Thank you very much in advance.
    Best regards,
    Miki Komatsu

     I figured out how to do that.
      Thanks.
      Best regards,
      Miki

  • Display exception of function module on report

    I am trying to explode BOM using the function module given below.
    Is it possible that i can display the exact exception that i get on screen.
    call function 'CS_BOM_EXPLOSION'
    exporting
    datuv = li_datuv
    mktls = 'X'
    mehrs = 'X'
    mmory = '1'
    mtnrv = li_mtnrv
    capid = 'PP01'
    stlal = '1'
    svwvo = 'X'
    vrsvo = 'X'
    werks = li_werks
    importing
    topmat = startmat "includes structure CSTMAT
    tables
    stbd = i_tbd "includes structure CSXDOC
    stbe = i_tbe "includes structure CSXEQUI
    stbk = i_tbk "includes structure CSXKLA
    stbm = i_tbm "includes structure CSXMAT
    stbp = i_tbp "includes structure CSXGEN
    stbt = i_tbt "includes structure CSXTDL
    exceptions
    alt_not_found = 1
    call_invalid = 2
    missing_authorization = 3
    no_bom_found = 4
    no_plant_data = 5
    no_suitable_bom_found = 6
    object_not_found = 7
    conversion_error = 8
    others = 9.

    Hi , you can do like this.
    CASE SY-SUBRC.
    WHEN 1.
    WRITE: 'alt_not_found'.
    WHEN 2.
    WRITE : 'missing_authorization '.
    WHEN 3.
    WHEN 4.
    WHEN 5.
    WHEN 6.
    WHEN 7.
    WHEN 8.
    WHEN 9.
    ENDCASE.

  • Exception of function modul

    Hi,
    I develop on the EP 6.0 and I use JCA (ConnectorService) to get a connection to a R/3.
    How can I get the exeption of a function modul?
    Thanks,
    Christian

    Hi , you can do like this.
    CASE SY-SUBRC.
    WHEN 1.
    WRITE: 'alt_not_found'.
    WHEN 2.
    WRITE : 'missing_authorization '.
    WHEN 3.
    WHEN 4.
    WHEN 5.
    WHEN 6.
    WHEN 7.
    WHEN 8.
    WHEN 9.
    ENDCASE.

  • 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.
    Thanks

    Hi,
    Please try this.
    IF <your field check>  NE <your condition>
      RAISE IDOC_ERROR.
    ENDIF.
    OR
    SY-SUBRC = '1'.
    Regards,
    Ferry Lianto

Maybe you are looking for

  • Voice memos do not transfer to PC

    Hello everyone: I have been reading a lot about this subject in Apple Support Communities. But I haven't found any answer that works for me. I have some voice memos in my iPhone 4. Every time I sync the iPhoen with my computer (PC) the voice memos tr

  • Attachments converted to plain-text when using redirect rule

    When I redirect emails using a Mail rule, any attachments (as well as the entire message) are converted to plain text with extra control character, rendering the attachment unviewable. This does not happen when I manually redirect an email. Any help

  • Puchase order and contract.

    Hi ´gurús,                  I would like to know if it is possible to lock the field "Net price" of the purchase order when this document refers to a contract. The user should not modify this price when the PO refers to a purchase order. Its possible

  • Firefox 31.0 (Macbook Pro) computer shuts down when Bing is accessed.

    On my Macbook Pro and Firefox 31.0 , Bing crashes, rolling a grey shade down my screen, forcing me to execute a complete shutdown (no other option) and restart. Also tried Firefox in safe mode with no success. So far this has only occurred with Bing

  • Transferring 8mm videos to dvd using imovie

    I have several 8mm videos that I'm wanting to transfer to dvd. I have an old Sony ccd-trv212 that I can use, but don't know how to plug it into my Macbook. I've read that I need a FireWire transfer box, but some people have used only USB converters.