Custom Error Message (How to?)

Hello,
I have a removeInstance tied to a button in the click event.  I know this will generate a default Adobe error if the minimum number of rows have been reached.
I would like to replace the default Adobe error of "index out of bounds" with a more user friendly error message.
I tried this after the removeInstance, but default error still popped-up:
xfa.host.messageBox("Delete error encountered.  Maximum number of rows deleted.", "Warning",1,0)
Can someone offer assistance?
Thanks

You cannot change the error massage but you can suppress it completely.
This script will check if the row "Row" currently occurs mor than 1 time, which is the minimum.
If so, the script to remove an instance is executed, otherwise your message is shown.
if (_Row.count > 1) {
     _Row.removeInstance(1);
} else {
     xfa.host.messageBox("Delete error encountered. Maximum number of rows deleted.", "Warning",1,0);

Similar Messages

  • 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

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

  • How to create a help view for a customized error message

    Hi all,
    Can you guide me how to create a help view for a customized error message, we need to put some suggestions in it so that user can can resolve this issue with this guide. ( the short text is too short to describe all situations via TC:SE91)
    Thanks very much!
    Bruce, Wen

    Hi Bruce,
    Could you brief your concerns again.
    Why don't you maintain long text in message class for long description.
    Regards,
    Ranjith N

  • How to create Custom error message in SharePoint 2013

    Hi,
    I have created one document library.On uploading the same file SharePoint throws error as"server error.The same file exit".
    But my requirement is not to show the SharePoint default message.I wanted to create custom message and show the pop up for the same file upload.
    Is there any way to create any custom error page or can I manipulate SharePoint default error page?
    Any help?
    Thank you

    Hi,
    You can create an event receiver to set the validation error messages.  One such post to redirect the custom error page is as follows
    https://social.msdn.microsoft.com/Forums/office/en-US/2bc851f6-e04b-4550-b87f-9b874a290482/sharepoint-event-receivers-and-custom-error-messages?forum=sharepointdevelopmentlegacy
    Create custom error page for SharePoint event receiver
    Please mark it answered, if your problem resolved or helpful.

  • How to display custom error message if the Required field is not entered?

    Hi,
    I have made one input field as required field in a view.
    I want to display one custom error message ,if the required input field is not entered.
    Please help me regarding this.
    Thanks,
    Deepika

    hi deepika....
    First go to message pool under webdynpro components.
    Create a new message there..of type error.
    Enter your text.
    Now to avoid null pointer exception , in wdDoInit(), initialise the value
    wdContext.currentDateTimeElement().setDate("");
    now create an action for submission of data. If field is empty, then within the button write:
      msg = wdComponentAPI.getComponent().getMessageManager();
        if(wdContext.currentDateTimeElement().getDate().equals(""))
        msg.raiseMessage(IMessageCompTodatDateTime.ERROR,new Object[]{""},true)     ;
    between begin others put:
    regards,
    pinki
      IWDMessageManager msg = null;

  • 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);
          }

  • 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

  • Print a custom Error message in the XML bursting program's log file...

    Hi,
    I having this requirement, where i need to print a custom error message in the xml bursting program's log file.
    Actually i am having a report where i create invoices and then those invoices are emailed to the respective customers, now say if a customer has three contacts and there is only two valid email id's so what happens is bursting will be successful for two contacts whereas the third contact dosen't get any emails. when this happens i need to log a message in the bursting programs log file stating a custom message.
    Two things i want to know..
    1- Whether is it possible to write into the xml bursting programs log file
    2- If yes, then how..
    note: it ll be greatly appreciated if the answer is elaborated.
    thanks,
    Ragul

    Hi,
    I having this requirement, where i need to print a custom error message in the xml bursting program's log file.
    Actually i am having a report where i create invoices and then those invoices are emailed to the respective customers, now say if a customer has three contacts and there is only two valid email id's so what happens is bursting will be successful for two contacts whereas the third contact dosen't get any emails. when this happens i need to log a message in the bursting programs log file stating a custom message.
    Two things i want to know..
    1- Whether is it possible to write into the xml bursting programs log file
    2- If yes, then how..
    note: it ll be greatly appreciated if the answer is elaborated.
    thanks,
    Ragul

  • Custom Error message in Login Page

    Hi,
    I am using MVC framework for my project. I want to display custom error messages to the user in the Login page(JSP).
    For eg: invalid password, password has been expired etc. How do I pass these messages from Java to my login page & display it?

    This is a sample action class for login page in struts : -
    package xxx;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.struts.action.ActionError;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import LoginForm.java;
    public class Action extends org.apache.struts.action.Action
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {
    ActionErrors errors = new ActionErrors();
    ActionForward forward = new ActionForward(); // return value
    String username;
    String password;
    try {
    LoginForm lf = new LoginForm;
    username =lf.getUserName();
    password = lf.getPassword();
    if( username== null)
    forward=mapping.getInputForward();
    if( (username == "admin" ) && ( password="admin"))
    // do something here
    } catch (Exception e) {
    // Report the error using the appropriate name and ID.
    //Errors will be caught here.
    errors.add("name", new ActionError("id"));
    // If a message is required, save the specified key(s)
    // into the request for use by the <struts:errors> tag.
    if (!errors.isEmpty()) {
    saveErrors(request, errors);
    // Forward control to the appropriate 'failure' URI (change name as desired)
    //     forward = mapping.findForward("failure");
    } else {
    // Forward control to the appropriate 'sucuess' URI (change name as desired)
    forward = mapping.findForward("success");
    // Finish with
    return (forward);
    You need to have LoginForm.java as Model and Login.jsp as View . Action.java will be your controller.

  • 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

  • Customer error message in sales order on save

    Hi Friends,
    as per requirement i have to raise the error message and system should enable the field to change values. This should happen when condition is not met on Saving of Sales order.
    For this, i have used the user exit USEREXIT_SAVE_DOCUMENT_PREPARE. But the problem is system throwing error message and all r in display mode only. as per my requirement system should allow to change the error value field.
    i have verified many posting in this SDN, but nothing is working out.
    Please guide me, how to raise the error message and system should enable that filed.
    My doubt is where should i raise the error message in sales order (MV45AFZZ)??? if any badi to raise the error message also fine for me. I tried many ways like... message with display like..... and set / get parameters and badis....  but not able to find the correct solution.
    Thanks in Advance.
    Bala

    Hi
    You need to use check for enahcement spot, which will be help to you.
    Bcz you are throwing custom error message in the standard transaction, once the error is display, you could not able to change the values. your prob can be solved by using the enhancement sport.
    This is include name (Include:MV45AF0B_BELEG_SICHERN).
    In the above include, you need to create a enhancement spot after this spot (ENHANCEMENT 16  OI0_COMMON_SAPMV45A.)  
    write your custom code and while displaying an error message. set flag = 'x', then use below code. It will display error message once you press ENTER, you will get the sale order in change mode, you change the values.
      IF flag = 'X'.
              fcode = fcode_gleiche_seite.
              perform fcode_bearbeiten.
              ch_subrc = 4.
              exit.
            ENDIF.

  • 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

  • Custom error messages OIM11g

    Hi,
    Can anyone let me know how to throw custom error messages while creating users for custom fields / attributes in OIM 11g?
    In 9i, we can attach custom error adapter in Data Object information of Users form. But in 11g, this feature is not available.
    - Kalyan

    I didn't tried this but you can check this link
    Re: How to use custom error message definition in OIM 11g?

  • Custom error message for Back Button Error

    I am using JDeveloper 9. I have tried to create a custom error message to handle a "Back button" press.
    But the error message is usually ignored and the system's regular "Stale data" message appears. Is there a way to prevent the system's message from appearing and to raise a custom error message?

    Do the following coding in your processRequest() of the Create or udpate page.
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    // If isBackNavigationFired = false, we're here after a valid navigation
    // (the user selected the Create button) and we should proceed
    // normally and initialize a new employee.
    if (!pageContext.isBackNavigationFired(false))
    // We indicate that we are starting the create transaction (this
    // is used to ensure correct Back button behavior). Note that you
    // can assign whatever name you want to your transaction unit.
    TransactionUnitHelper.startTransactionUnit(pageContext, "empCreateTxn");
    // This test ensures that we don't try to create a new employee if
    // we had a JVM failover, or if a recycled application module
    // is activated after passivation. If these things happen, BC4J will
    // be able to find the row that you created so the user can resume
    // work.
    if (!pageContext.isFormSubmission())
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    // Call your method to handle creating the new row.
    am.invokeMethod("createEmployee", null);
    else
    if (!TransactionUnitHelper.isTransactionUnitInProgress(pageContext, "empCreateTxn", true))
    // Get the purchase order number from the request.
    String orderNumber = pageContext.getParameter("headerId");
    MessageToken[] tokens = { new MessageToken("PO_NUMBER", orderNumber)};
    OAException message = new OAException("ICX", "FWK_TBX_T_PO_UPDATE_CONFIRM", tokens,
    OAException.CONFIRMATION, null);
    // We got here through some use of the browser "Back" button, so we
    // want to display a state loss error and disallow access to the page.
    // If this were a real application, we would probably display a more
    // context-specific message telling the user they can't use the browser
    // "Back" button on the "Create" page. Instead, we wanted to illustrate
    // how to display the Applications standard NAVIGATION_ERROR message.
    OADialogPage dialogPage = new OADialogPage(message);
    pageContext.redirectToDialogPage(dialogPage);
    } // end processRequest()
    --Prasanna                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Maybe you are looking for