Display error message in BADI...

Hello Experts,
How do we throw an error message inside a BADI method? I am currently using BADI MRM_INVOICE_UPDATE
but when I check there are no exceptions or events to use or the message function like the one
found in ME_PROCESS_PO_CUST.
Please tell me on how to display an error message(E) inside the standard method of the BADI.
Thank you guys and take care!

Hi,
As explained in the above answer, in the documentation of this badi it says:
You should note that no system messages can be send in the methods. One exception here is the method CHANGE_AT_SAVE. Within this method, a system message can be issued if the exception ERROR_WITH_MESSAGE is triggered.
In order to issue a message you should do something like this:
MESSAGE e001(ZMESSAGECLASS) RAISING error_with_message.
Best regards
Edited by: Pablo Casamayor on Aug 18, 2009 8:08 AM

Similar Messages

  • How to display Error messages through BADI HRPAD00INFTY in ESS ?

    Hi,
    In ESS, I want to perform custom validation on IT1067 ( Health Plan ) and allow only specific combinations of health plans to be selected.   We are on ECC6.0 EhP4 .  This infotype is "NOT PERMITTED" in the new decoupled framework and hence I cannot use NEW BADI's for validation and I am stuck with Classical BADI - HRPAD00INFTY.
    In my classical badi HRPAD00INFTY, after validation, I want to display an error message if "Invalid Combination" is selected by the user.  
    I tried using the following code to display the error message :
              DATA badi_message_handler   TYPE REF TO cl_hrpa_message_list.
              DATA message_handler        TYPE REF TO if_hrpa_message_handler. 
              DATA msg                    TYPE symsg.
              DATA is_ok                  TYPE boole_d.
              CREATE OBJECT badi_message_handler.
              message_handler = badi_message_handler.
              msg-msgid = 'YHBN'.
              msg-msgty = 'E'.
              msg-msgno = '006'.
              msg-msgv1 = c_none_plans. "'Invalid Plan'(z09).
              CALL METHOD message_handler->add_message
                EXPORTING
                  message = msg
                  cause   = message_handler->unknown.
                  is_ok = space.
              badi_message_handler->add_messages( message_handler ).
              RAISE error_with_message.
    The message is displayed in ESS but after that the Java Trace Exception is displayed.   I  want to display the error message in a user friendly way and provide an option to correct the plans.
    Please let me know if anyone has done similar thing or have any suggestions.
    Thanks

    Hi,
    DATA badi_message_handler   TYPE REF TO cl_hrpa_message_list.
              DATA message_handler        TYPE REF TO if_hrpa_message_handler. 
              DATA msg                    TYPE symsg.
              DATA is_ok                  TYPE boole_d.
              CREATE OBJECT badi_message_handler.
              message_handler = badi_message_handler.
              msg-msgid = 'YHBN'.
              msg-msgty = 'E'.
              msg-msgno = '006'.
              msg-msgv1 = c_none_plans. "'Invalid Plan'(z09).
              CALL METHOD message_handler->add_message
                EXPORTING
                  message = msg
                  cause   = message_handler->unknown.
                  is_ok = space.
              badi_message_handler->add_messages( message_handler ).
         *-- Add following--
        Exit.
              RAISE error_with_message.

  • Display error message in WEBUI using BADI - ORDER_SAVE-CHECK_BEFORE_SAVE

    Hi,
    I am trying to display error message using BADI - ORDER_SAVE (Method-CHECK_BEFORE_SAVE) based on certain conditions when the document is saved from WEB UI.
    I have written it like below:
    If (some conditions).
    Message E000 with 'Error in SAVE' RAISING DO_NOT_SAVE.
    endif.
    I mentioned my message class everything in class, and it is fine.
    However, it is not displaying my error message. It is displaying standard information message saying "Document Could not be saved'.
    Could you please help me out, how can I display my custom message.
    Thanks,
    Sandeep

    Hi Sandeep,
    U can use FM to raise a message from order save badi.
    Inside the if condition, u can raise do_not_save.
    If (some conditions)
          CALL FUNCTION 'CRM_MESSAGE_COLLECT'
            EXPORTING
              iv_caller_name = 'ORDERADM_H'
              iv_ref_object  = iv_guid
              iv_ref_kind    = 'A'
              iv_msgno       = '000'
              iv_msgid       = 'zcrm'
              iv_msgty       = 'A'
              iv_msgv1       = c_text1
              iv_msgv2       = c_text2
              iv_msgv3       = c_text3
            EXCEPTIONS
              not_found      = 1
              appl_log_error = 2
              OTHERS         = 3.
          IF sy-subrc NE 0.
          ENDIF.
          RAISE do_not_save.
    ENDIF.

  • Not able to display error message in PR creation.

    HI Experts,
    In PR creation process i am not able to display error message.
    BADI: ME_PROCESS_REQ_CUST
    method : PROCESS_ACCOUNT, PROCESS_ITEM
    I have used Include mm_messages_mac for handling error .
    MESSAGE e112(XXX) WITH XX-XX. this is my error message.
    even tried this also  mmpur_message 'W' 'ZMM_PUR' '001' '' '' '' ''.
    Please provide solution for this.
    Regards,
    Jayant

    Hi,
    In devepoment system im able to display the message but not in quality,code is 100% algined with quality.
    In quality system error message is being executed but not displayed,i mean control is comming out after the error message.
    i am using
    message EXXX(XXX).
    regards,
    Jayant.

  • How to display error message in Shopping Cart?

    How to display error message in Shopping Cart and stop the shopping cart for further processing? I try MESSAGE w001(zshop) or MESSAGE e001(zshop). But it is causing run-time error.

    Hi Paul,
    In the DOC_CHECK or DOC_SAVE BADI, you have a global internal table named et_messages. The structure of this table is 'bbp_smessages_badi'. You can append your error message here by inputting the message type, ID and number. The message type is either 'E' for error or 'W' for warning and the number would depend on your message class(ID). You will be able to see the error message on top of the screen, can be a red or yellow highlight depending on your appended message. I don't think creating the error message via the MESSAGE syntax will be successful, maybe this is why you are getting a runtime error.
    Regards,
    Noel

  • Display error message from SLG1 on shopping cart screen

    I have implemented a 'BBP_CATALOG_TRANSFER' badi. I am adding all the custom error messages in ET_SC_MESSAGES export parameter of this badi. As a result of this, all the custom error messages added in the above parameter, gets logged in the application log SLG1 automatically and I can see those custom messages in SLG1. Now how to display this message from SLG1 on the shopping cart screen on the top where you normally see standard error messages in red.
    Can anyone please help me on this?
    Thanks,
    Krupa

    Hi
    Which SRM version are you using ?
    I have not tried this... but I think this is not possible to display error messages
    using BBP_CATALOG_TRANSFER BADI.
    <u>Try to code your logic in using BBP_DOC_CHECK_BADI for filter type - BUS2121 (shopping cart). You need to add your custom message in ET_MESSAGES [] table.</u>
    <b>For sample coding, refer to the link below -></b>
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/srm/bbp_doc_check_badi-CheckPurchasingDocument&
    <b>Hope this will definitely help.</b>
    Do let me know.
    Regards
    - Atul

  • Non-displaying error messages

    I've developed this form that runs into oracle form errors. Everyone who runs my forms can see the error message at the bottom while I just get the message 'Working...'
    Also text fields that are attatched to LOV's do no return a system message that the field is an LOV selectable field. Getting the LOV is not the problem...but all the associated infomarion doesn't appear like number of records in the LOV which all the users can get. Help|Display Error doesn't return the error message or error code back to me.
    This is a problem only on my machine but it's hard to see what errors other ppl are getting if all I hear is the "ding" sound without the error message.
    Bad Oracle Forms install?

    Make sure that you have the console window set to an existing window in the module property.

  • Just upgraded to Lion an am discovering that I cannot send email photos from within iPhoto. Error message says bad Internet connection or server not working, when that's not the case. Never happened in Snow Leopard! Help!!!

    Just upgraded to Lion an am discovering that I cannot send email photos from within iPhoto. Error message says bad Internet connection or server not working, when that's not the case. Never happened in Snow Leopard! Help!!!

    what email service - Yahoo mail have been acting up lately
    you can try setting Mail as your email client - it resolves this pfoblem for some people
    LN

  • Display error message in batch job log

    Hello
    I have a batch job running and I have an error coming during some validation logic.
    The problem is I need to continue the batch job when this error message comes and it should not cancel the batch job as it is doing currently but display that error message in batch job log, there are more similar error messages coming in job log and job gets finished, but when my error message comes job gets cancelled.
    I cannot give it as info message as it will give wrong idea about message type.
    Is there any FM by which we can add message in job log?

    Sanjeev I have done that but problem is I do not want to give that as Information message but Error message only and continue processing.
    If you see in screenshot 3rd message is given by me as information and you can see error messages also 6th and 7th and job continued till it is finished
    Basically I want that 'I' to be displayed as 'E'.
    Display error message in batch job log 

  • How to display error message ??

    Hi,
    I have a BDC program to upload data from an excel sheet. I could see that some records of data fail to pass and hence after my bdc run i would like to display error message for the failed records as follows:
    costcenter:
    cost element:
    fiscal year:
    etc etc
    is it possible ?? how to do that ? please explain in detail.
    for ur reference my program is pasted below.
    thanks
    *& Report  ZBDC_BUDGET_UPLOAD
    REPORT  ZBDC_BUDGET_UPLOAD.
    types: begin of tdata,
             rec(150) type c,
           end of tdata,
           begin of tmtgp,
             costcent LIKE CCSS-KOSTL,
             costelem LIKE CCSS-KSTAR,
             fisyear LIKE CCSS-GJAHR,
             jan(10),
             feb(10),
             mar(10),
             apr(10),
             may(10),
             jun(10),
             jul(10),
             aug(10),
             sep(10),
             oct(10),
             nov(10),
             dec(10),
           end of tmtgp.
    data: idata type table of tdata with header line.
    data: imtgp type table of tmtgp with header line.
    Data : fieldval(10) type c.
    selection-screen begin of block b1 with frame title text-001.
    parameters: p_file type localfile default 'C:\budget_data_csv.csv'.
    selection-screen end of block b1.
    include zbdcrecx1.
    at selection-screen on value-request for p_file.
    call function 'KD_GET_FILENAME_ON_F4'
            exporting            static    = 'X'
            changing            file_name = p_file.
    start-of-selection.
    perform upload_data.
    loop at imtgp.
    Write imtgp-fisyear to fieldval.
    perform open_group.
    perform bdc_dynpro      using 'SAPLKPP0' '1000'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KPP0B-VALUE(04)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'KPP0B-VALUE(04)'
                                  fieldval.
    Write imtgp-costcent to fieldval.
    perform bdc_dynpro      using 'SAPLKPP0' '1000'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KPP0B-VALUE(06)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'KPP0B-VALUE(06)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP0' '1000'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KPP0B-VALUE(09)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-costelem to fieldval.
    perform bdc_field       using 'KPP0B-VALUE(09)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP0' '1000'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'KPP0B-VALUE(04)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=CSPB'.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-jan to fieldval.
    perform bdc_field       using 'Z-BDC03(01)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(02)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-feb to fieldval.
    perform bdc_field       using 'Z-BDC03(02)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(03)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-mar to fieldval.
    perform bdc_field       using 'Z-BDC03(03)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(04)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-apr to fieldval.
    perform bdc_field       using 'Z-BDC03(04)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(05)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-may to fieldval.
    perform bdc_field       using 'Z-BDC03(05)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(06)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-jun to fieldval.
    perform bdc_field       using 'Z-BDC03(06)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(07)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-jul to fieldval.
    perform bdc_field       using 'Z-BDC03(07)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(08)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-aug to fieldval.
    perform bdc_field       using 'Z-BDC03(08)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(09)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-sep to fieldval.
    perform bdc_field       using 'Z-BDC03(09)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(10)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-oct to fieldval.
    perform bdc_field       using 'Z-BDC03(10)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(11)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-nov to fieldval.
    perform bdc_field       using 'Z-BDC03(11)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(12)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    Write imtgp-dec to fieldval.
    perform bdc_field       using 'Z-BDC03(12)'
                                  fieldval.
    perform bdc_dynpro      using 'SAPLKPP2' '0110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'Z-BDC03(12)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=CBUC'.
    perform bdc_transaction using 'KP06'.
    perform close_group.
    endloop.
    form upload_data.
    data: filename type string.
    clear idata.
    refresh idata.
    filename = p_file.
    call function 'GUI_UPLOAD'
        exporting            filename        = filename
        filetype        = 'ASC'
        tables            data_tab        = idata
        exceptions            file_open_error = 1
        file_read_error = 2
        no_authority    = 6
        others          = 17.
        check sy-subrc = 0.
        loop at idata.
        clear imtgp.
        split idata at ',' into imtgp-costcent imtgp-costelem imtgp-fisyear
    imtgp-jan imtgp-feb imtgp-mar imtgp-apr imtgp-may imtgp-jun imtgp-jul
    imtgp-aug imtgp-sep imtgp-oct imtgp-nov imtgp-dec.
        append imtgp.
        endloop.
    endform.

    check the below code,.,
    DATA : t_bdcmsgcoll TYPE STANDARD TABLE OF bdcmsgcoll WITH HEADER LINE.
      CALL TRANSACTION '<DELIVERYTRANSACTION>' USING t_bdctab
                              mode 'N'
                              MESSAGES INTO t_bdcmsgcoll.
      DESCRIBE TABLE t_bdcmsgcoll LINES g_lines.
      READ TABLE t_bdcmsgcoll INDEX g_lines.
      IF t_bdcmsgcoll-msgtyp = 'S' AND
         t_bdcmsgcoll-msgid = <Msg id> AND
         t_bdcmsgcoll-msgnr = <Msg number>.
    * Trap your Call Transaction messages
        t_success-deliverynumber = t_bdcmsgcoll-msgv1.
    * You can format the message returned by call transaction using function 'FORMAT_MESSAGE' which will return g_mesg
        t_success-message = g_mesg.
        APPEND t_success.
        CLEAR  t_success.
      ELSE.
    * If there an Error-Do this..
        READ TABLE t_bdcmsgcoll WITH KEY msgtyp = 'E'.
        IF sy-subrc = 0.
    * Format your message using FORMAT_MESSAGE "FM
         CLEAR g_mesg.
         t_error-msg   = g_mesg_incl.
         APPEND t_error.
         CLEAR  t_error.
       ENDIF.
    ENDIF.
    * Clear for next run
      CLEAR: t_bdcmsgcoll,
             t_bdctab.
      REFRESH: t_bdcmsgcoll[],
               t_bdctab[].

  • Prb display error message while creating PR at ME51n in ME_PROCESS_REQ_CUST

    Hi All,
    I have this requirement to check the cost center availability in PR screen (ME51n).
    If cost center in the Account assignment tab is not empty, display error message  and not able to create the PR.
    With my code below, it doesn't triggered the error message and PR created.
    Could anyone help?
    METHOD if_ex_me_process_req_cust~process_account.
    DATA: w_account_ref TYPE exkn.
    w_account_ref = im_account_ref->get_data( )
    IF w_account_ref-kostl IS NOT INITIAL.
      MESSAGE e303(ME) WITH text-001 w_account_ref-kostl text-002.
    ENDIF.
    ENDMETHOD.
    Thank you.
    SW

    Hi,
    You have to use definition MMPUR_MESSAGE 'E'  ME 303   text-001 w_account_ref-kostl text-002.
    This will throw the error during check and save instead of message e303(me) .
    Hope it helps.
    Sujay
    Edited by: Sujay Venkateswaran Krishnakumar on Oct 5, 2010 2:54 PM

  • A way to display error messages from the program

    Dear all,
    I am looking forward to display a set of error messages(in a internal table) during the execution of the program to the user.
    I wanted to know the better way of displaying error messages from my program with more options.
    Well I tried out using displaying errors as ALV list/Grid or as simple list processing.
    But I found some  stanadard transactions (Like in MM and FI  where errors are shown in a better way, but failed to find out how they are done.
    Please guide me.
    Thanks in advance
    Aryan

    Try to use application logging it has a very good way to display a set of messages.
    [http://abap4.tripod.com/Using_Application_Logging.html|http://abap4.tripod.com/Using_Application_Logging.html]
    Run this report in se38 an example sap report to understand logging way to show a set of messages
    Report Name  :  SBAL_DEMO_01
    Edited by: Vighneswaran CE on Dec 19, 2010 3:01 PM
    Edited by: Vighneswaran CE on Dec 19, 2010 3:11 PM

  • Displaying error messages in table...

    Hi All,
    How can we display error messages in a table in a bsp page.
    I am filling an internal table in OnInputProcessing on some event with all the error messages to be displayed.
    Table sould have two columns
    1)Graphic depending on error type.
    2)Error message.
    Thanks,
    Anubhav.

    Hi Graham,
    The solution is perfect!
    One more thing...when the page is displayed with errors table , i need to set focus on the table.
    My code is:
    <htmlb:gridLayoutCell columnIndex="1" rowIndex="1" id="fourthmain">
    <% if itab_message is not initial .%>
      <table class=""urGridLayout" border="1" cellpadding="2" id="err_tab">
        <%
      loop at itab_message into wa_message.
        %>
        <tr>
        <td class="urCoB2Whl">
        <% case wa_message-typ.
          when 'S'. %>
          <htmlb:image src = "ICON_MESSAGE_INFORMATION" />
          <% when 'error'. %>
          <htmlb:image src = "ICON_MESSAGE_ERROR" tooltip="Error" />
          <% when 'W'. %>
          <htmlb:image src = "ICON_MESSAGE_WARNING" />
          <% when 'I'. %>
          <htmlb:image src = "ICON_MESSAGE_INFORMATION" />
          <% when 'A'. %>
          <htmlb:image src = "ICON_MESSAGE_CRITICAL" />
          <% endcase. %>
        </td>
        <td><font size="2" face="Times">
        <%= wa_message-msg%>
        </font>
        </td >
        </tr>
        <%
      endloop.
        %>
        </table>
    <% refresh itab_message. %>
    <% endif. %>
          </htmlb:gridLayoutCell>
    I tried using
    <phtmlb:focusRect focusElementId="err_tab"/>
    and also:
    <s cript="text/javascript">
    daument.farm.elementid.focus();
    </s cript>
    But failed...pls help me out.
    Thanks,
    Anubhav.

  • How To Display Error Message In Self Service Page

    Dear All,
    I am using 11.5.10 Oracle HRMS self Service ,,,
    How can I display error message on the top of the self service page if some action happen ?
    Best Regards

    Time entry rules maybe?

  • How to display error message in Billing Output Type (VF03).

    Hi,
    could anyone suggest how do i display error message via billing (VF03) output type?

    i want to display an error message from my sapscript program.
    *determine discount
    it_zmas-discount = it_zmas-gross_value - zkwert.
    MODIFY it_zmas.
    ELSE.
    MESSAGE ID 'Z0' TYPE 'S' NUMBER '999' WITH 'Please maintain cust pricing grp 34 for ' wa_zmas-matnr.
    p_proc_screen = 'X'.
    ENDIF.
    when user enter billing doc no in vf03, user will click 'issue output type' and select their output type to be printed out.
    if there's an error in the print program, it should promt out an error message and do not allowed user to print preview and print the form out.
    what i had did previously, i prompt the error message and disable the print preview button. i think its not a good solution and i am not sure how to stop the form from not printing it out.
    i was wondering is there any user exit of the output type, vofm (which i had this solutions from my previous question, but unsure how to use it) or any other solutions.
    please help.

Maybe you are looking for