Send custom error message using IDoc conversion rule?

Hello,
I am using an Idoc conversion rule in BD79 to load cost centers.  In my conversion rule I use a conversion exit function module to concatenate 2 specific characters and sending cost center value together and then this output value placed in the receiving cost center field.  This works fine, but now I want to send a custom error message to the idoc and fail the idoc if the sending cost center value is greater than 8 digits. 
Does anyone know how to send an error message or update an idoc with an error message using a conversion rule (bd79)?
Thank you,
Rhonda

Hi Rhonda,
Any luck on the below.. i have a similar issue...
Sorry to hijack your thread...

Similar Messages

  • Custom error message using MESSAGE Tag

    I am using mulitple input fields in the page and i want to validate them for not empty. If it remains empty then error message should be displayed. This error message is different for every field.
    I've used message tad for this purpose. Is there any way to show the custom message according to our own requriements using this message tag???
    Thank you

    You need to override the default error messages with your own messages properties file which you specify in the faces-config.xml.
    Check this for examples:
    [http://www.jsf-faq.com/faqs/faces-messages.html#126]
    [http://balusc.blogspot.com/2008/07/dao-tutorial-use-in-jsf.html#MessageBundleFile]
    For required fields you need to override javax.faces.component.UIInput.REQUIRED.

  • Reg.Customized error messages

    Hi All,
    How to get customized error messages in MONI in Error pipe.
    Is there any way to do?
    Thanks,
    Regards,
    Naresh

    Hi
    You can get custom error messages using Fault message Type.
    Even more customerization can be achived using ABAP
    Refer following
    Fault Message Types - A Demo (Part 1)
    Handling Web Service SOAP Fault Responses in SAP NetWeaver XI
    The specified item was not found.
    Interesting ABAP tables in XI – Part I
    Error handling framework
    Error Handling Framework XI(Out-of the box)-Episode 1
    Error Handling Framework XI(Out-of the box)-Episode 2
    Thanks
    Gaurav

  • Idoc conversion rule

    Hi,
    What is idoc conversion rule? Why we need this?
    While upgrading from 4.7 to ECC 6.0 what all precautions need to be taken for the existing standard idocs and custom idocs in the system.
    Thanks & Regards,
    Soumya.

    Hi,
    ALE allows the user to perform an SAP transaction in the sending system, after-which the following steps occur:
    1 or more communication IDocs (intermediate documents: container for the application data) are created in the sending system database. An ALE distribution model, that needs to have been configured, determines which systems the IDocs are to be sent
    These communication IDocs, that contain the relevant application data of the transaction that was performed, are then passed to the ALE communication layer
    This layer performs an RFC call, using the port definition and an RFC destination determined through the customer model
    The IDocs are then transferred to the respective receiving systems. These could be SAP R/3, R/2 or external systems
    If the receiving system is an SAP system then:
    In the case of master data distribution the same transaction that was performed on the sending system is again performed on the receiving system with the data contained in the IDoc. This allows the data to go through the SAP checks before posting occurs
    In the case of transaction scenarios the relevant data is passed to the respective transactions in order to load the required application document. Eg. A PO is loaded on the sending side, yet a SO is created on the receiving system
    Master data has another difference:
    It can be set up in such a way that any changes made to specific fields in master data tables can automatically trigger off the ALE distribution process for that particular master data object
    If a master data object is created or changed on a sending system and distributed to another system the respective transaction is used to either create or change that respective master data object on the receiving system
    In general, if standard SAP can't perform the task required then neither can ALE. It doesn't add functionality, it merely decouples it and allows you to distribute it onto other remote systems.
    The Detail as described by SAP
    In the output processing one of the function modules of the application creates an IDoc, the so-called master IDoc. This IDoc is sent to the ALE layer where the following processing steps are applied:
    Outbound processing
    Receiver determination
    An IDoc is similar to a normal letter in that it has a sender and a receiver. If the receiver has not been explicitly identified by the application, then the ALE layer uses the customer distribution model to help determine the receivers for the message.
    The ALE layer can find out from the model whether any distributed systems should receive the message and, if so, then how many. The result may be that one, several or no receivers at all are found.
    For each of the distributed systems that have been ascertained to be receiver systems, the data that is specified by the filter objects in the customer distribution model is selected from the master IDoc. This data is then used to fill an IDoc, and the appropriate system is entered as receiver.
    Data selection
    Segment filtering
    Individual segments can be deleted from the IDoc before dispatch by selecting Functions for the IDoc processing -> Settings for filtering in ALE Customizing. The appropriate setting depends on the sending and receiving logical R/3 System.
    Field conversion
    Receiver-specific field conversions are defined under Functions for the IDoc processing -> Conversions.
    General rules can be specified for field conversions; these are important for converting data fields to exchange information between R/2 and R/3 Systems. For example, the field "plant" can be converted from a 2-character field to a 4-character field.
    The conversion is done using general EIS conversion tools (Executive Information System).
    Version change
    SAP ensures that ALE functions between different R/3 System releases. By changing the IDoc format you can convert message types of different R/3 releases. SAP Development use the following rules when converting existing message types:
    Fields may be appended to a segment type;
    Segments can be added;
    ALE Customizing keeps a record of which version of each message type is in use for each receiver. The correct version of the communication IDoc is created in the ALE output.
    The resulting IDocs (it is possible that several IDocs could be created in the receiver determination) are referred to as communication IDocs and are stored in the database. The dispatch control then decides which of these IDocs should be sent immediately. These are passed to the communications layer and are sent either using the transactional Remote Function Call (RFC) or via file interfaces (e.g. for EDI).
    If an error occurs in the ALE layer, the IDoc containing the error is stored and a workflow is created. The ALE administrator can use this workflow to process the error.
    Inbound processing
    After an IDoc has been successfully transmitted to another system, inbound processing is carried out in the receiver system, involving the following steps in the ALE layer:
    Segment filtering
    Segment filtering functions the same way in inbound processing as in outbound processing.
    Field conversion
    Specific field conversions are defined in ALE Customizing.
    The conversion itself is performed using general conversion tools from the EIS area (Executive Information System).
    Generalized rules can be defined. The ALE implementation guide describes how the conversion rules can be specified.
    One set of rules is created for each IDoc segment and rules are defined for each segment field.
    The rules for converting data fields from an R/2-specific format to an R/3 format can be defined in this way. An example of this R/2 - R/3 conversion is the conversion of the plant field from a 2 character field to a 4 character field.
    Data transfer to the application
    Input control
    When the IDocs have been written to the database, they can be imported by the receiver application.
    IDocs can be passed to the application either immediately on arrival or can follow in batch.
    You can post an inbound IDoc in three ways:
    by calling a function module directly: A function is called that imports the IDoc directly. An error workflow will be started only if an error occurs.
    by starting a SAP Business Workflow. A workflow is the sequence of steps to post an IDoc.
    by starting a work item A single step performs the IDoc posting.
    The standard inbound processing setting is that ALE calls a function module directly. For information about SAP Business Workflow alternatives refer to the online help for ALE programming.

  • Custom error message in mapping-Alert

    We are using XSLT mapping and We are raising custom error message based upon some conditions i.e if vendor number is invalid or blank.If it doesn't meet the requirement,mapping will fail and it will throw error message as" IDoc XXXXXXXXX is having invalid vendor number".
    My question is,we would like to send this custom error message to email receipients through RWB-AFW.
    How do we capture this custom error message is alert category or alert rule?

    SOLVED!!!!
    UDF call to RFC-FM by passing payload dato in t it

  • Capturing custom error message from alert category

    We are using XSLT mapping and We are raising custom error message based upon some conditions i.e if vendor number is invalid or blank.If it doesn't meet the requirement,mapping will fail and it will throw error message as" IDoc XXXXXXXXX is having invalid vendor number".
    My question is,we would like to send this custom error message to email receipients through RWB-AFW.
    How do we capture this custom error message is alert category or alert rule?

    You can not unless u use BPM.
    VJ

  • Customized Error Message

    Hi Guys,
    I have written a checkin filter for word documents. This filter reads Document's meta data and map that meta data Content Server Meta data.
    I am validating Document's meta data in filter. If meta data is missing in Document, then i am aborting the checkin.
    The issue is, when checkin is aborted , Following error message is displayed " Checkin Failed, dCreateDate is missing". I want customize this error message.
    When I checkin word doc using WebDAV, then it gives error "Checkin Failed - some internal error occured" . I want o customize this error message also .
    Can you pls help me and let me know how can I achieve this ?

    you can do the validation in a content profile rule and then use this idoc script to show a custom error message
    Aborts the current page and displays Access Denied as an error message:
    <$abortToErrorPage("Access Denied")$>

  • ICI - How to display custom error messages in SAP CRM

    Hello,
    we are working on a custom Contact Center which interfaces with SAP CRM Version 7 with Enhancement Package over ICI.
    The basic call functions like accepting, hanging up, holding and retrieving are fully implemented and are working already.
    Our goal is to display error messages in the CRM so that clients know there is something wrong, for example why he can't be log in successfully (e.g. the telephony server isn't reachable).
    We already found the ICI Documentation file which provides us the CRM SOAP error codes and tried to send SOAP Fault messages, but never got
    them to screen.
    Please find an attached example screenshot what we mean exactly, reproduced by trying to make a call with CRM user while BCM CDT isn't
    running in the background.
    Regarding to this topic we've the following questions:
    - Is it possible to display custom error messages on the CRM or is this functionality limited to SAP?
    - Could you provide us some further information on how to use this feature exactly (implementation details?) and how the SOAP XML should look like to get it work?
    Thank you in advance!
    Best regards
    René Holy

    NewUser7 wrote:
    Please correct me if I am wrong
    I need to create an entity adapter and attach an error handler with the adapter? or can i handle that in the event handler itself. I coulnt find any api for handling errorsYou can do it both ways but since we are talking about event handler now, then in 9.x you need to extend com.thortech.xl.client.events.tcBaseEvent class for creating a event handler. In tcBaseEvent class there are various flavors of handleError method. So use that as per my note earlier and you should be good.
    HTH

  • Errors with the global conversion rule for the field 0SOURSYSTEM.

    Hello Gurus,
        We are implementing CRM Activities. I enhanced the data source and when I add new info objects to 0SAL_DS01 DSO and trying to activate I'm getting there errors. Can some one please help me out in this problem?
    Error in global conversion rule for InfoObject 0SOURSYSTEM
    Message no. RSAR263
    Diagnosis
    Errors with the global conversion rule for the field 0SOURSYSTEM.
    System Response
    The function module delivers the following error message:
    Field "" is unknown. It is neither in one of t
    Procedure
    Check the definition of the global conversion rule for an InfoObject
    What does this error mean? We are using BI 7.
    Thanks
    RKR

    I have around 9 source systems, do I have to maintain data for all of them for 0SOURCESYSTEM?
    I set data for CRM system and then tried to activate.. but still I'm getting same error.
    I;m getting this warning too...
    InfoObject 0FISCVARNT needs to be in key for DataStore object C_0SAL_D
    Message no. RSDODSO123
    Diagnosis
    Characteristic 0FISCVARNT is included in the data part of ODS object C_0SAL_D.
    System Response
    The fiscal year variant cannot be used in the update rules for calculating business hour characteristics.
    Does this matter???
    Thanks
    RKR
    Message was edited by:
            RKR M

  • ALE IDoc Conversion Rule or BADI

    Hi,
    I'm new to ALE IDoc. I have a requirement to hide some sensitive data field for the HR information when outbound the Idoc.
    Example, I need to outbound the IT8 Basic Pay with payscale area etc but not with the basic pay amount. I can convert the basic pay amount to zero when the idoc is being created.
    I've searched through some information and found out that there are several ways to achieve it. However, I'm not sure which one is a better way.
    Is it using the Conversion Rule (BD62) or using Badi or Idoc Reduction method is better?
    Kindly give me some hints as I'm very confuse of which one is the better solution.
    Many thanks in advance.

    No user exit is needed for conversion rule.
    However, you should remember that conversion rules are applied segment fields for a particular message type. So wherever the IDoc message type is used the rule will be applied. If you want to associate the rule for any other condition in addition to message type better to go with a BADI
    These are steps to create and apply a conversion rule to a message type:
    1. Transaction BD62 - Create conversion rule and assign it to a IDoc segment
    2. Transaction BD79 - Define the conversion rule by selecting your field and clicking display button. Once inside you can use various options like set constant to map 0 to the basic pay
    3. Finally assign the conversion rule to your message type using BD55
    As for BADIs, IDOC_DATA_MAPPER is also suited for your requirement, the method PROCESS, allows you to manipulate your IDoc fields whichever way you want. You get the control record, data records, using which you can restrict your manipulation to specific message type or other conditions
    To above post, BADI IDOC_CREATION_CHECK should not be used for mappings/conversions as its specific purpose is to stop creation of an IDoc under required conditions

  • Custom error message in SAP application log

    Is there a way to add a custom error message to the SAP application log without passing the message variables MSGV1, MSGV2, MSGV3, MSGV4 and the Message class and number. 
    We want to pass a custom message from the BAPIRET2-MESSAGE without giving it a Message class and number.  The reason for this is that  we are using class based exceptions instead of the traditional message class with errors.  When we catch the class based exception, we take the error text of the exception and put in in the BAPIRET2-message and set the BAPIRET2-TYPE as 'E'.  Now we want to add this to the SAP application log.
    The call to 'BAL_LOG_MSG_ADD' takes a structure BAL_S_MSG which is just like BAPIRET2.  However this function builds the entry to the application log use the message variables MSGV1, MSGV2, MSGV3, MSGV4.  There is no provision to pass in the BAPIRET2 message.
    Add message to application log
      CALL FUNCTION 'BAL_LOG_MSG_ADD'
        EXPORTING
         i_log_handle              = app_log_handle
         i_s_msg                   = log_message
    Thanks,
    Jay

    Hi Jay,
    Did you see <b>BAL_LOG_EXCEPTION_ADD</b>?
    This FM is represented by the structure <b>BAL_S_EXC</b>. This can have various versions as described below:
    <b>Data of BAL_S_EXC Structure  /     Use</b>
    <b>EXCEPTION</b>  /                              Exception class from which an exception text 
                                                       is added to the log. This field must be filled.
    <b>MSGTY</b>  /                                     Message type (MSGTY) of a T100 message.
                                                       This field must also be filled for exceptions.
    <b>PROBCLASS,
    DETLEVEL,
    ALSORT, TIME_STMP</b>  /                Message or exception attributes, such as
                                                        problem class (PROBCLASS, for
                                                        example, "very important"), level of detail
                                                        (DETLEVEL, from 1 to 9), sort criterion
                                                        (ALSORT, unrestricted) and timestamp
                                                        (TIME_STMP). These fields can be displayed
                                                        in the log (except TIME_STMP).
    <b>MSG_COUNT</b>   /                            This attribute is not used for exceptions.
    Follow the link below for more details:
    <a href="http://help.sap.com/saphelp_nw04/helpdata/en/d6/5d7f38f52f923ae10000009b38f8cf/frameset.htm">SAP Help DOc</a>
    Hope this helps.
    Thanks
    Sanjeev

  • Component level display of the Custom Error Message in 11g

    Iam using custom error handler that extends the default DCErrorHandlerImpl class to handle the Custom exceptions thrown from the service layer, and able to see the exception displayed in the ADF UI in a popup window.
    How can we do Customization in order to display the Custom error message inline with a component (i.e. associated with a specific UI component with the arrow mark look and feel ) instead of the global level message displayed as a pop up window on the ADF UI page? Please suggest.
    Thanks,
    Kayal.
    Edited by: user11217416 on Feb 15, 2012 6:07 AM
    Edited by: user11217416 on Feb 15, 2012 6:14 AM

    Hi,
    Try as follows
      final static int MSG_FATAL = 1;
      final static int MSG_ERROR = 2;
      final static int MSG_WARN = 3;
      final static int MSG_INFO = 4;
          public static void showMsgForRelevantComponentAll(int iSeverity, String sMsg, UIComponent uIComponent) {
              FacesMessage msg = null;
              switch (iSeverity) {
              case MSG_FATAL:
                  msg = new FacesMessage(FacesMessage.SEVERITY_FATAL, null, sMsg);
                  break;
              case MSG_ERROR:
                  msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, null, sMsg);
                  break;
              case MSG_WARN:
                  msg = new FacesMessage(FacesMessage.SEVERITY_WARN, null, sMsg);
                  break;
              case MSG_INFO:
              default:
                  msg = new FacesMessage(FacesMessage.SEVERITY_INFO, null, sMsg);
              FacesContext facesContext = FacesContext.getCurrentInstance();
              facesContext.addMessage(uIComponent.getClientId(facesContext), msg);
          }

  • Catch datetime exception and custom error message in SSRS

    I currently working on create report by using SSRS. I have 2 parameters: [Start date] and [End date] to filter data from database and show it on report. I want to validate 2 datetime parameter as describe above. Please tell me a solution to do this.
    For example:
    When user type the text like: 4/15/2014mmm => System validation thrown a message: [The From Date not correct type]
    But in my case, I want to receive a custom error message by myself.(Look like: [Date Invalid!])

    Hi Brain,
    According to your description, you have a report with two parameters for user to input. Now you want to validate these two parameters and display custom error message when the date is invalid. Right?
    In Reporting Service, it doesn’t provide any interference for us to modify the system error message (the text in grey color). That means we can’t modify the system message when error occurs. However we can create a textbox in this report, use custom code
    and expression to display the custom error message. But this all based on the report is successfully running. So if error occurs during report processing, all the custom code and expression will not work. In this scenario, we find a workaround for you. We
    use custom code to judge if the date is valid, if the users type an invalid date, we return a default value to make sure this report can successfully run. Then we use expression to control the visibility of tablix in this report and create a textbox to show
    the custom error message. Your case has been tested in our local environment. Here are steps and screenshots for your reference:
    Go to Report Properties. Put the code below into custom code:
    Public Shared a As Integer=0
    Public Shared Function IsDate(d1 As String,d2 As String) as Integer
            Try
               FormatDateTime(d1)
               FormatDateTime(d2)
            Catch ex As Exception
                       a=1
            End Try
    return a
    End Function
    Create two parameters. One is StartDate, the other is EndDate. Set the data type of these two parameters Text.
    Create a filter for StartDate, put the expression below into Value:
    =IIF(Code.IsDate(Parameters!StartDate.Value,Parameters!EndDate.Value)=0,CDate(IIF(Code.IsDate(Parameters!StartDate.Value,Parameters!EndDate.Value)=0,Parameters!StartDate.Value,"1/1/2012")),CDate("1/1/2012"))
    Create a filter for EndDate, put the expression below into Value:
    =IIF(Code.IsDate(Parameters!StartDate.Value,Parameters!EndDate.Value)=0,CDate(IIF(Code.IsDate(Parameters!StartDate.Value,Parameters!EndDate.Value)=0,Parameters!EndDate.Value,"1/1/2013")),CDate("1/1/2013"))
    Ps: In step3 and step4, the date(“1/1/2012”, “1/1/2013”) in the expression are the default we set to make sure the report can successfully process. You can set any date existing in your dataset.
    Use the expression below to set the visibility of the tablix:
    =IIF(Code.IsDate(Parameters!StartDate.Value,Parameters!EndDate.Value)=0,false,true)
    Create a textbox, put the expression below into it:
    =IIF(Code.IsDate(Parameters!StartDate.Value,Parameters!EndDate.Value)=0,"","Date invalid")
    Save and preview. It looks like below:
    Reference:
    SSRS Calendar and Date Restriction
    Errors and Events Reference (Reporting Services)
    If you have any question, please feel free to ask.
    Best Regards,
    Simon Hou
      

  • How to show custom error message in WebADI Excel template?

    Hi,
    I've  created a custom Web ADI integrator and associated it with a 'Procedure' based custom interface.
    WebADI Interface API Returns is set to  "Error Message".
    I'm using  raise_application_error(-20001, "Actual Error Message") for invalid rows,but custom error message from PL/SQL  is not populated on the excel template.
    Instead it is showing "SQL exception occurred during PL/SQL upload".
    Am I missing anything? How to show custom error message from Pl/SQL procedure to WebADI Excel template?
    TIA
    Narasimha

    The custom API errors are visible in the BNE log but not on the Excel.
    BNE Log=>
    12/10/13 2:52 PM Web ADI Upload Job 13008 ERROR          BnePLSQLUpload.doUpload: Exception while uploading to PL/SQL API.  Error Code: 20001, Message: ORA-20001: -Please enter CONTAINER_ID -  Enter PO_NO -
    ORA-06512: at "APPS.XXPO_COSTFACTS_WEBADI_PKG", line 264
    ORA-06512: at line 1
    12/10/13 2:52 PM Web ADI Upload Job 13008 ERROR          BnePLSQLUpload.doUpload: Stack trace: java.sql.SQLException: ORA-20001: -Please enter CONTAINER_ID -  Enter PO_NO -
    ORA-06512: at "APPS.XXPO_COSTFACTS_WEBADI_PKG", line 264
    ORA-06512: at line 1
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395)
      at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:802)
      at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436)
      at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)
      at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521)
      at oracle.jdbc.driver.T4CCallableStatement.doOall8(T4CCallableStatement.java:202)
      at oracle.jdbc.driver.T4CCallableStatement.executeForRows(T4CCallableStatement.java:1005)
      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1307)
      at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3449)
      at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3550)
      at oracle.jdbc.driver.OracleCallableStatement.execute(OracleCallableStatement.java:4710)
      at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1374)
      at oracle.apps.bne.integrator.upload.BnePLSQLUpload.doUpload(BnePLSQLUpload.java:284)
      at oracle.apps.bne.integrator.upload.BneSAXUploader.processDeepestLevel(BneSAXUploader.java:2346)
      at oracle.apps.bne.integrator.upload.BneSAXUploader.startElement(BneSAXUploader.java:1182)
      at oracle.xml.parser.v2.XMLContentHandler.startElement(XMLContentHandler.java:181)
      at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1288)
      at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:336)
      at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:303)
      at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:234)
      at oracle.apps.bne.integrator.upload.BneUploader.processUpload(BneUploader.java:301)
      at oracle.apps.bne.integrator.upload.BneAbstractUploader.processUpload(BneAbstractUploader.java:114)
      at oracle.apps.bne.integrator.upload.async.BneAsyncUploadThread.run(BneAsyncUploadThread.java:140)
    12/10/13 2:52 PM AJPRequestHandler-HTTPThreadGroup-5 WARNING        BneOracleWebAppsContext.getTimeZone CLIENT_TIMEZONE_ID has not been set
    12/10/13 2:52 PM AJPRequestHandler-HTTPThreadGroup-5 ERROR          BneOracleWebAppsContext.getExtraJDBCConnection recieved the same connection as the base connection.  There may be transaction problems.
    How to show the same error in the excel template?
    Here is the package:
    CREATE OR REPLACE PACKAGE BODY APPS.XXPO_COSTFACTS_WEBADI_PKG
    AS
       PROCEDURE upload_data (
                              P_CONTAINER_ID IN VARCHAR2
                            , P_SAIL_DATE IN DATE
                            , P_PO_NO IN VARCHAR2                     
                             ) IS
        --declare
        lv_err_msg      VARCHAR2(240);
        lf_err_flag     NUMBER := 0;
        ln_temp         NUMBER;
        BEGIN
        --------------------- checking for mandatory parameters---------------------------
          IF (P_CONTAINER_ID IS NULL) THEN
             lf_err_flag := 1;
             lv_err_msg := lv_err_msg||'-'||'Please enter CONTAINER_ID - ';
          END IF;
          -------------Validation for Sail Date Format----------------------
          IF (P_SAIL_DATE IS NULL) THEN
             lf_err_flag := 1;
             lv_err_msg := lv_err_msg || ' ' || 'Enter Sail Date - ';
          ELSE
             BEGIN
                SELECT 1
                  INTO ln_temp
                  FROM DUAL
                 WHERE P_SAIL_DATE =  TO_DATE (TO_CHAR (P_SAIL_DATE, 'DD-MON-YYYY'), 'DD-MM-YYYY');
             EXCEPTION
                WHEN NO_DATA_FOUND THEN
                   lf_err_flag := 1;
                   lv_err_msg := lv_err_msg || ' Enter Sail date in DD-MON-YYYY Format';
                WHEN OTHERS THEN
                   lf_err_flag := 1;
                   lv_err_msg := lv_err_msg || ' Enter Sail date in DD-MON-YYYY Format'|| SQLERRM;
             END;
          END IF;
          -------------Validation for PO_Number----------------------
          IF (P_PO_NO IS NULL) THEN
             lf_err_flag := 1;
             lv_err_msg := lv_err_msg || ' ' || 'Enter PO_NO - ';
          ELSE
             BEGIN
                SELECT count(1)
                  INTO ln_temp
                  FROM PO_HEADERS
                 WHERE Attribute4 =  P_PO_NO;
             EXCEPTION
                WHEN NO_DATA_FOUND THEN
                   lf_err_flag := 1;
                   lv_err_msg := lv_err_msg || ' No Oracle PO for Biceps PO#'||P_PO_NO;
                WHEN OTHERS THEN
                   lf_err_flag := 1;
                   lv_err_msg := lv_err_msg || ' Error getting the Oracle PO for Bicpes PO#'||P_PO_NO||' Error-' || SQLERRM;
             END;
          END IF;
         -----------------------Insert Record----------------------------
         IF lv_err_msg is NULL THEN
         BEGIN
             INSERT
              INTO XXP2P_HW_COST_FACTORS_STG
                     CONTAINER_ID
                    ,SAIL_DATE
                    ,PO_NO
                    , ERROR_FLAG
                    , ERROR_MSG
                   ,CREATED_BY
                    ,CREATION_DATE
                    ,LAST_UPDATED_BY
                    ,LAST_UPDATE_DATE
                    ,LAST_UPDATE_LOGIN              
                VALUES
                     P_CONTAINER_ID
                    ,P_SAIL_DATE
                    ,P_PO_NO              
                    ,lf_err_flag
                    ,lv_err_msg
                  ,FND_GLOBAL.USER_ID
                    , trunc (sysdate)
                    ,FND_GLOBAL.USER_ID
                    , trunc (sysdate)
                    ,FND_GLOBAL.LOGIN_ID              
                  --  commit;
                  DBMS_OUTPUT.put_line
                    '-' || 'After ap_invoices_interface'
            EXCEPTION
            WHEN OTHERS THEN
              ROLLBACK;
              lf_err_flag := 1;
              lv_err_msg  := lv_err_msg || ' ' || 'error loading CONTAINER_ID-' || P_CONTAINER_ID || SQLERRM;
              raise_application_error(-20001, lv_err_msg);
            END;
        ELSE
              raise_application_error(-20001, lv_err_msg);
        END IF;
      END upload_data;                        
    END XXPO_COSTFACTS_WEBADI_PKG;

  • Cannot display custom error message in CRM_MKTLIST_BADI

    We did implement the following BADI BADI Name: CRM_MKTLIST_BADI
    Interface: IF_EX_CRM_MKTLIST_BADI Method: MAP_AND_CONVERT_DATA
    This enhancement is for suport the extension field for create new BP in
    external list management (transaction CRMD_MKTLIST). The BP creation
    process work properly but we cannot display our custom error message,
    only SAP standard error message is shown. We did try using the export
    parameter ET_MKTLIST_E but it does not work as expected, custom message
    still cannot display.
    How we can be show the custome error message ?
    Thanks in advance.
    Supreeya K.

    Hello Supreeya,
    have you tried to post this question in the SAP CRM: Webclient UI - Framework forum?
    Regards
    Gregor

Maybe you are looking for