Error Handling in Oracpe form 9.4.0

Hi,
Have you got good documentaion about error handling in Oracle form 9.0.4? If yes, Could you let me know?
Many thanks
Michael

Michael,
Although, link I'm listing here is for Forms 4.5, the concepts of Error Handling still apply as Forms Error Handling has not changed significantly.
[Oracle Forms Developer and Forms Server Documentation|http://www.oracle.com/technology/documentation/forms.html]
Select the "A32506_2      PDF           Forms 4.5 Advanced Techniques" option.
You can also try the [Oracle9iDS Forms Developer Reference Guide|http://www.oracle.com/technology/documentation/forms/902docs/9iRefGuide.zip] from the [Link to Oracle Forms 10g (10.1.2), Oracle Forms 10g (9.0.4), and Oracle9i Forms (9.0.2) Documentation|http://www.oracle.com/technology/documentation/9i_forms.html]. This is a .zip file which contains the "Forms 9i Reference Guide" pdf file.
Hope this helps.
Craig...

Similar Messages

  • Error handling on Tabular form

    Hi -
    I need to perform some validation on insert and update. Just simple ones: not null.
    (HTMLDB Version 2).
    Please, do not think that I have not done my research on this issue. I went
    through all forums and documentation; I followed with all how-to’s. I created a
    validation on the page level, but it does not work. For some reason MRU it just
    skips this validation and performs update with nulls even I have a validation NOT NULL created.
    I ended up with validation through db trigger. But here is another problem:
    it shows the whole error stack as I would like to see only my own error message.
    Error in mru internal routine: ORA-20001: Error in MRU: row= 1, ORA-20100: PROJECT TASK must have some value. ORA-06512: at "JENNY.VALIDATE_UPDATE", line 10 ORA-04088: error during execution of trigger 'JENNY.VALIDATE_UPDATE', update "JENNY"."STATUS_PROJECT_TRACKING" set "RECNO" = :b1, "EMPNO" = :b2, "PROJECT_ID" = :b3, "YEAR" = :b4, "WEEK_NUMBER" = :b5, "PROJECT_NAME" = :b6, "PROJECT_TASK" = :b7, "ORIGINAL_DUE_DATE" = :b8, "CURRENT_DUE_DATE" = :b9, "PROGRESS_ISSUES_RISKS" = :b10, "ACTIVITY_RISK_MITIGATION" = :b11, "WEEKLY_MONTHLY" =
    I would like to see only my message in bold.
    I was doing this last 3 days and I think I exhausted my resources. Please,
    help me to set up proper validations.
    Thanks,
    Jenny

    Vikas -
    It works! But ... Sorry, for this.
    I have actually 3 fields which must not be null. Can I incorporate same logic?
    I did:
    function:
    <script>
    function foo()
    var th_comm=html_GetElement('PROJECT_TASK');
    var t=html_CascadeUpTill(th_comm,'TABLE');
    var l_index=th_comm.cellIndex;
    var th_progr=html_GetElement('PROGRESS_ISSUES_RISKS');
    var t1=html_CascadeUpTill(th_progr,'TABLE');
    var l1_index=th_progr.cellIndex;
    for (var j=1;j<t.rows.length;j++) {
    var l_row=t.rows[j];
    var l_comm=l_row.cells[l_index].getElementsByTagName('input')[0].value;
    if (l_comm=="") {
    alert('PROJECT TASK must be entered');
    return false;
    exit; --- IS IT VALID in JAVA?
    for (var j=1;j<t1.rows.length;j++) {
    var l_row=t1.rows[j];
    var l_comm=l_row.cells[l1_index].getElementsByTagName('input')[0].value;
    if (l_comm=="") {
    alert('PROGRESS ISSUES RISKS must be entered');
    return false;
    exit; --- IS IT VALID in JAVA?
    return true;
    </script>
    2. In SUBMIT:
    javascript:if (foo()) doSubmit('SUBMIT');
    For the 1 validation (your script)- it works perfectly.
    function with 2 loops - does not executes at all. Something is wrong with the syntax.
    Thank you very much,
    Jenny.

  • Error handling in Portal standard forms

    I have a customer who needs to validate input on a Form Based on a Table (standard component). They have tried code, as shown below, as a PLSQL handler on a Save button. This example can obviously be solved with JavaScript validation on the client, but they have similar requirements for validation on DB level.
    If procedure call 1) in the if statement is used, nothing happens. If procedure call 2) is used, it is executed in a new page as a standard error Oracle Portal error message.
    declare
    v_sender VARCHAR2(1000);
    v_sender_id NUMBER;
    begin
    v_sender := p_session.get_value_as_VARCHAR2(
    p_block_name => 'DEFAULT',
    p_attribute_name => 'A_SENDER');
    v_sender_id := p_session.get_value_as_NUMBER(
    p_block_name => 'DEFAULT',
    p_attribute_name => 'A_SENDER_ID');
    insert into hd (number, text) values (hd_seq.nextval,
    'step 3 v_sender = ' || v_sender ||
    ' v_sender_id = ' || v_sender_id);
    if v_sender_id >= 100 then
    1) Custom error handling, does not display:
    show_error('Error message');
    2) Error handling is displayed, but as a standard error:
    raise_application_error(-20000, 'SenderID must be smaller than 100.');
    else
    doInsert;
    end if;
    end;
    The customer has two questions:
    Why does the custom procedure in 1) "show_error" not execute, and if it does, why does it not display? show_error works and the if statement is entered.
    Is it possible to take control of Portals error handling on standard components (forms etc.), to show custom error messages with the style used on the component/page instead of the standard Error: ORA- ....etc. as Portal displays it?
    Customer needs reply asap. Please reply directly. Any help will be much appreciated!
    Kind regards
    Jakob Lund

    Jacob,
    Try following:
    declare
    v_sender VARCHAR2(1000);
    v_sender_id NUMBER;
    begin
    v_sender := p_session.get_value_as_VARCHAR2(
    p_block_name => 'DEFAULT',
    p_attribute_name => 'A_SENDER');
    v_sender_id := p_session.get_value_as_NUMBER(
    p_block_name => 'DEFAULT',
    p_attribute_name => 'A_SENDER_ID');
    insert into hd (number, text) values (hd_seq.nextval,
    'step 3 v_sender = ' || v_sender ||
    ' v_sender_id = ' || v_sender_id);
    if v_sender_id >= 100 then
    p_session.set_value(
    p_block_name => "_block",
    p_attribute_name => '_STATUS',
    p_value => 'Sender ID must be less than 100!');
    -- return to your form with status message set
    -- and all fields filled with recent values
    return;
    end if;
    end;
    -- This point is reached only if validation is OK
    doInsert;
    Regards,
    Henn

  • Error Handling in Forms

    Dear all,
    we are using oracle developer suite 10g r2 with oracle database 10g r2 against windows server 2003.
    Error handling is a very big issue.
    i try to do the following, just correct me, or make the trigger more efficient.
    i face unexpected messages, like a message two time displayed, sometime important message never displayed.
    i just set the :system.message_level =20 in the when-new-form-instance trigger.
    and create on-error trigger like below
    declare
    errcode number:=error_code;dbmserrcode number;dbmserrtext varchar2(200);
    formtxt varchar2(200);
    errtype varchar2(3);
    begin
    --------- user defined database exceptions errors raised by --RAISE_APPLICATION_ERROR
    IF DBMS_ERROR_CODE in (-20738,.......) then
    raise form_trigger_failure;
    end if;
    if error_code=50017 then
    message('duration must be between 0 and 23');message(' ',no_acknowledge);
    raise form_trigger_fialure;
    elsif
    error_code=40202 then
    clear_message;
    message('please provide the required fields.');message(' ',no_acknowledge);
    raise form_trigger_fialure;
    elsif error_code=50022 then
    clear_message;
    message('time must be in the correct format.');message(' ',no_acknowledge);
    raise form_trigger_fialure;
    end if;
    if error_code in (40509,40508) then
    dbmserrcode:=dbms_error_code; dbmserrtext:=dbms_error_text;
    if dbmserrcode=-1438 then
    clear_message;
    message('your number is too large.try again.');message(' ',no_acknowledge);
    raise form_trigger_fialure;
    elsif dbmserrcode=-1400 then
    clear_message;
    message('your forgot to provide a value.try again.');message(' ',no_acknowledge);
    raise form_trigger_fialure;
    elsif dbmserrcode=-2291 then
    clear_message;
    message('header is not found for this insertion.');message(' ',no_acknowledge);
    raise form_trigger_fialure;
    elsif dbmserrcode=-1 then
    clear_message;
    message('record already exists');message(' ',no_acknowledge);
    raise form_trigger_fialure;
    else
    clear_message;
    message(error_code||' : '||error_text);message(' ',no_acknowledge);
    raise form_trigger_fialure;
    end if;
    else
    clear_message;
    message(error_code||' : '||error_text);message(' ',no_acknowledge);
    raise form_trigger_fialure;
    end if;
    exception
    when others then
    if dbms_error_code=-20738 then
    clear_message;
    message('Error: absent or later record errror from the database trigger.);
    raise form_trigger_failure;
    elsif .....
    esle
    clear_message;
    message(error_code||' : '||error_text);message(' ',no_acknowledge);
    raise form_trigger_fialure;
    end if;
    end;any suggession?
    Regards

    i must come with a plsql code which handle every error and suppress unnecessary messages.Good luck with that. No matter how well thought out or planned, you're not going to be able to take all scenarios into account. The design of an exception handler takes time to address all possible scenarios you want handled and even then, you're not likely to handle every situation in the beginning.
    could we implement the oracle ebusiness error handling procedures here in our application?if yes, then where could we find that procedure?>
    I've dug through that code and it is not a thorough as you think it is. It handles specific situations and then defaults the rest. It is a good model for your own exception handler, however. That is what I used it for. :) I don't recall which library it is in, but I'll look around and if I find it, I'll post it.
    I agree with Andreas's comment...
    Simply remove your ON-ERROR-trigger, then you have a default. That's nothing better or worse than what apex has.I'm not too familiar with Apex; I've worked with it, but it's been a little while. Even with Apex, you're going to have to develop a customized Exception Handler so more intuitive or application specific messages are displayed in response to an exception.
    As to Andreas's comment...
    For your own error-handling... The "simplest" way in my eyes is create your own error-table where you have appropiate columns for the error-code and the error-type (FRM,ORA,Whatever), then in your ON-ERROR-trigger read the appropiate record from that table and show the error. You could also have a flag in your table which decides what to do with a specific error (Show as Message, Show as Alert, Don't show at all) and react accordingly.This is exactly what we implemented in our application. We created a set of tables that contain all of the Oracle Runtime errors and their attributes (Error Type, Severity Level, etc). Then we wrote a standard On-Error trigger that is subclassed to all of our forms that calls a Library "On_Error" package. This package evaluates the exception raised, compares it to the database entry for the error and then displays an appropriate message depending on the Severity Level, Error Type (ORA or FRM) and Message Type (Informational, Error, Caution) and we display the message in either the Status Bar, Note Alert, Caution Alert or Stop Alert or it is supressed. If an error is not found in the table, then it is displayed in a Stop Alert as an "Unhandled Exception." The second table I mentioned contains all of the messages used by our application and is cross referenced with the table that contains the Oracle messages. By simply assigned one of our messages to an Oracle message - our package will display our message instead of the default Oracle Message. Yes, this took sometime to build and test and once implemented, we spent another couple of months perfecting it, but now it is pretty solid and we haven't had to modify it in over a year.
    While this level of complexity may be overkill for your application, it does offer the greatest flexibility in the long-run. Also, if your application must support multiple languages, having all of your messages in a table make internationalization extremely easy. :)
    The point of all this, is that no matter which system you use (Forms, Apex, or Java) you will still need to invest some time into designing an Excpeiton Handling method for your application and then implement it accross the application. This is not something you can develop in a short period of time and it will not be perfect in the beginning. However, in the long-run, you will be happy you spent the time up-front to build a flexible and robust Exception Handling system.
    Craig...

  • Error handling in master detail form

    Hi Guys,
    Apex 4.2.1
    I use the custum error handling of apex to customize the errror message.
    I add a row in the detail form with a dupicate key which is handled by the error function
    after submiiting the master record the error message is correct displayed but the row which generates the error is gone from the details.
    How to keep the record in the details visible?
    Thanks

    Hello 942793 -- Do you have a name / nickname? -- We still don't know how to address you,
    Say, could you tell us -- because sometimes different versions have different capabilities:
    Full APEX version number,
    Full database version number,
    APEX web browser architecture (EPG, OHS, or APEX listener)
    Browser(s) and version(s) used,
    Operating System with version number and architecture (32/64 bit),
    [If you mentioned these before we don't have access to that info in this thread.]
    Also, are you using ARP (Automatic Row Processing) for this Master-Detail or have you programmed your own updates?
    Did you use an APEX wizard to create the Master-Detail or have you written you own code for the Master-Detail?
    To the problem:  In short, APEX is ensuring update consistency by preventing an update of a record/row that has changed since the code retrieved it.  So, one needs to figure out where/why it changed and what to do about it.
    ?  Is this Master-Detail part of you application fairly simple?  Could you put just that part out on apex.oracle.com for folks to look at?  That can speed resolution of these, sometimes difficult, update problems.
    Regards,
    Howard

  • Xml forms - Error handling HTTP request

    Hello,
    We have installed portal 6.0
    I've made some forms with the xml form builder, imported them into IViews (KM navigation IView) and assigned the IViews to a role
    The Iview shows the RenderListItem form
    Every Iview (RenderListItem form) has a "new item" button
    Every record of the iview has a edit-delete action
    When I press the "new item" button or the edit button (or save button) I get the following error:
    Error handling HTTP request. Check the log file for more information.
    java.lang.RuntimeException: Context is unavailable!
         at com.sap.pct.plm.dmsrmconnectorforkm.DMSRMConnection.(DMSRMConnection.java:83)
         at com.sap.pct.plm.dmsrmconnectorforkm.DMSRMR3FunctionCalls.getGenericValueList(DMSRMR3FunctionCalls.java:6532)
         at com.sap.pct.plm.dmsrmconnectorforkm.DMSRMR3FunctionCalls.getLaboratoryList(DMSRMR3FunctionCalls.java:6360)
         at com.sap.pct.plm.dmsrmconnectorforkm.DMSRMLaboratoryValueProvider.getAllowedValues(DMSRMLaboratoryValueProvider.java:79)
         at com.sapportals.wcm.service.propertyconfig.config.MetaName.getAllowedValues(MetaName.java:781)
         at com.sapportals.wcm.service.propertyconfig.config.MetaName.allowedValueIterator(MetaName.java:472)
         at com.sapportals.wcm.service.xmlforms.ResourceProperties.appendAllowedValues(ResourceProperties.java:713)
         at com.sapportals.wcm.service.xmlforms.ResourceProperties.mergeProperty(ResourceProperties.java:682)
         at com.sapportals.wcm.service.xmlforms.ResourceProperties.mergePropertiesIntoDom(ResourceProperties.java:611)
         at com.sapportals.wcm.service.xmlforms.transformation.HtmlGenerator.getHtmlStream(HtmlGenerator.java:116)
         at com.sapportals.wcm.service.xmlforms.transformation.Transformation.render(Transformation.java:391)
         at com.sapportals.wcm.service.xmlforms.transformation.Transformation.render(Transformation.java:336)
         at com.sapportals.wcm.service.xmlforms.transformation.Transformation.render(Transformation.java:188)
         at com.sapportals.wcm.app.xmlforms.EditServlet.doGetAction(EditServlet.java:165)
         at com.sapportals.wcm.app.xmlforms.XFBaseServlet.doGet(XFBaseServlet.java:241)
         at com.sapportals.wcm.app.xmlforms.XFBaseServlet.doPost(XFBaseServlet.java:261)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sapportals.wcm.app.xmlforms.XFBaseServlet.service(XFBaseServlet.java:134)
         at com.sapportals.wcm.portal.proxy.PCProxyServlet.service(PCProxyServlet.java:331)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sapportals.portal.prt.core.broker.ServletComponentItem$ServletWrapperComponent.doContent(ServletComponentItem.java:110)
         at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
         at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
         at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
         at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
         at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:646)
         at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
         at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
         at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
         at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:545)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
         at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
         at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
         at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
         at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
         at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
         at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
         at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
         at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
    This error doesn't always appear, there are times that the portal works correct and when I can add items, edit them and save my changes
    Does anyone have an idea where the error comes from? In what direction I have to search? How I can solve this problem?
    Thanks in advance, points will be distributed for helpfull answers

    Hi,
    I didn't place a save button on the RenderListItem but on the Edit form so this couldn't be the issue...
    I solved the error I got when I wanted to save my form
    The edit and delete buttons also work correct...
    I only get the error mentioned above when I press the "new form" button, I created that button with the CreateXMLForms action group that I added in my Collection Grid renderer settings (option collection command group)
    Then I changed my form availibility (System administration ->system configuration ->KM->CM->form based publishing->form availibility->folder settings)
    I created the following folder settings:
    foldername//priority//path//forms to exclude//forms to include
    library//10 //documents/testlibrary//Smarties, QnA,SAP_APP_News//library
    News //10 //documents/News//smarties, library, QnA// SAP_APP_News
    QnA //10 //documents/testQuestionAnswer// SAP_APP_News, smarties, library //QnA
    Smarties //10 /documents/testSmarties
    Did I do something wrong here? What can cause this error? In what direction should I search?

  • Error Handling on procedure based forms

    Hi all,
    I have seen examples of error handling on table based forms like
    the following:
    begin
    doInsert;
    exception
    when others then
    --redirect to some error page
    I have tried the same with a procedure based form by wrapping
    the doSubmit procedure, but when the procedure returns an
    exception, it doesn't execute my exception handling code.
    Any ideas on why this is happening or at least how I can catch
    these exceptions with my own exception handler?
    Thanks,
    Curt

    Chetan, Antonio,
    I opened a TAR on this issue with Oravle and they got the same
    results. Thay suggested a work around of creating an error table
    that gets written to and then dispaly and new page to retrieve
    the error from the table.
    What I ended up doing is creating a dummy procedure that does
    nothing (NULL). The form based on the dummy procedure allows me
    to get the values I need from the user.
    The procedure always returns succesful since it doesn't do
    anything. So in the form success code area I call the real
    procedure, check the return value, and now I can redirect back
    to the orignal form on error, or direct to another paqe on
    success.
    Not the most elegant solution, but it is working for now.
    Curt

  • How to catch/read mal-formed xml at Error Handler.

    I have added Error Handler at starting node of Message Flow in a Proxy Service and its(Proxy Service) listenning to a JMS queue.
    So when i am putting a mal-formed XML into the JMS queue, getting "Failure while unmarshalling message: Failed to parse XML text" error at ALSB server log.
    But i am not able to capture the mal-formed xml inside Error Handler node.
    Can any one help me how to capture input mal-formed xml in Message Folw.
    Thanks in Advance.
    Regards.
    Deba

    Re: How to catch malformed xml using error handling mechanism in from a proxy? Had a solution for similar issue. It appears that in-case of malformed XML, $body will not be populated with faulty xml snippet. One way out of this solution is, design your service as Text service and create another service isXML as explained in my above reply.
    Thanks
    Manoj

  • An error occurred creating the form (task 2346, form 0). (ALC-WKS-007-040) error

    Hi all,
    I am a newbie to adobe livecycle process. I am trying to prepopulate the data like the users info when the form is originated in the workspace.
    I did use the samples example for form render service but added to variables called first and lastname as i want these fields to be populated.I am also using an xmlvariable which stores the xml data-(first name and last name) from the form (i got the xml data from the jDBC service usingquery multiple rows by quering edcpricnipal entity). I have followed the steps from http://www.roland-lopez.com/blog/index.cfm?event=showEntry&entryId=ECB034DA-3048-5304-BA9 BB7B0DEDC725A.
    Now I am trying to use the sevice in my application. hennce I created a input variable called app_info of type xfa form and in advanced settings I called the render service which is created before. I am using a PDF file in resources.
    When I try to open the form in workspace I get the error
    An error occurred creating the form (task 2348, form 0). (ALC-WKS-007-040)
    In the erroe log I get the the following error -
    message = ALC-WKS-005-028: A problem occurred in the Render Service. Please review the render orchestration for this process.
    details = null
    rootCause = ALC-DSC-003-000: com.adobe.idp.dsc.DSCInvocationException: Invocation error.
    body = null
    extendedData = {message=ALC-WKS-005-028, cause=com.adobe.idp.taskmanager.dsc.client.task.TaskManagerException}
    2008-11-23 18:55:11,138 INFO [STDOUT] [Flex] Error handling message: flex.messaging.MessageException: ALC-WKS-005-028: A problem occurred in the Render Service. Please review the render orchestration for this process.
    incomingMessage: Flex Message (flex.messaging.messages.RemotingMessage)
    operation = render
    clientId = BE816575-BA0E-55AB-43D6-53511DE9544A
    destination = task-actions
    messageId = 995C15F0-9EE8-20A7-7378-CBC737C22D1A
    timestamp = 1227484510810
    timeToLive = 1227484510810
    body = null
    hdr(DSEndpoint) = workspace-polling-amf
    hdr(DSId) = BE810559-3C1E-B9CC-BB02-DAD2017E1CB6
    errorReply: Flex Message (flex.messaging.messages.ErrorMessage)
    clientId = BE816575-BA0E-55AB-43D6-53511DE9544A
    correlationId = 995C15F0-9EE8-20A7-7378-CBC737C22D1A
    destination = task-actions
    messageId = BE816896-820E-9C32-0CC9-22149F2E7879
    timestamp = 1227484511138
    timeToLive = 0
    body = null
    code = Server.Processing
    Can someone please help me with this.
    Thanks a tonn in advance.

    Hi Jasmin,
    Thanks for your reply. I have changed the variable type in the main application from xfa to document type as suggested. But when I try to open the file in workspace I get the sameerror. but in the error log the error is as follows
    INFO [STDOUT] [Flex] Error handling message: flex.messaging.MessageException: com.thoughtworks.xstream.mapper.CannotResolveClassException : com.adobe.idp.taskmanager.form.impl.xfa.XFARepositoryFormInstance : No ClassLoaders found for: com.adobe.idp.taskmanager.form.impl.xfa.XFARepositoryFormInstance
    incomingMessage: Flex Message (flex.messaging.messages.RemotingMessage)
    operation = render
    clientId = C750393C-201C-717C-FCD5-6C61E56457A8
    destination = task-actions
    messageId = 8F8A2B82-2778-A08E-6D8A-CF62CE975DD3
    timestamp = 1227545038368
    timeToLive = 1227545038368
    body = null
    hdr(DSEndpoint) = workspace-polling-amf
    hdr(DSId) = C74FE532-741B-7AD1-6240-601872F82B0D
    errorReply: Flex Message (flex.messaging.messages.ErrorMessage)
    clientId = C750393C-201C-717C-FCD5-6C61E56457A8
    correlationId = 8F8A2B82-2778-A08E-6D8A-CF62CE975DD3
    destination = task-actions
    messageId = C7503B9E-7A0B-28E0-59DC-ACD49B49B722
    timestamp = 1227545038618
    timeToLive = 0
    body = null
    code = Server.Processing
    message = com.thoughtworks.xstream.mapper.CannotResolveClassException : com.adobe.idp.taskmanager.form.impl.xfa.XFARepositoryFormInstance : No ClassLoaders found for: com.adobe.idp.taskmanager.form.impl.xfa.XFARepositoryFormInstance
    details = null
    rootCause = com.thoughtworks.xstream.mapper.CannotResolveClassException: com.adobe.idp.taskmanager.form.impl.xfa.XFARepositoryFormInstance : No ClassLoaders found for: com.adobe.idp.taskmanager.form.impl.xfa.XFARepositoryFormInstance
    body = null
    extendedData = null
    2008-11-24 11:44:01,321 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl retrieveEvent
    INFO: retrieving active event for 6052
    2008-11-24 11:44:01,321 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl retrieveEvent
    INFO: retrieved active event for 6052
    2008-11-24 11:44:01,337 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl sendNotifications
    INFO: Total subscriptions retrieved = 2 for event id6052
    2008-11-24 11:44:01,353 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl createNotifications
    INFO: Now creating notifications.
    2008-11-24 11:44:01,353 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl createNotifications
    INFO: Created 2 notifications.
    2008-11-24 11:44:01,353 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl retrieveEvent
    INFO: retrieving active event for 6052
    2008-11-24 11:44:01,353 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl retrieveEvent
    INFO: retrieved active event for 6052
    2008-11-24 11:44:01,431 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl deliverNotificationToService
    INFO: Now delivering notification to service RemoteEvents
    2008-11-24 11:44:01,431 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl deliverNotificationToService
    INFO: Now delivering notification to service operation onEvent
    2008-11-24 11:44:01,431 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl deliverNotificationToService
    INFO: Now delivering notification to service operation parameters {eventType=TaskCreated}
    2008-11-24 11:44:01,431 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl deliverNotificationToService
    INFO: Now delivering notification to service OrchestrationEventHandler
    2008-11-24 11:44:01,446 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl deliverNotificationToService
    INFO: Now delivering notification to service operation onEvent
    2008-11-24 11:44:01,446 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl deliverNotificationToService
    INFO: Now delivering notification to service operation parameters {eventTemplateId=STRT_ER1172599333679, serviceName=Task Assignment, eventTemplateType=eventReceiveAsStartTemplate, eventTypeName=TaskCreated}
    2008-11-24 11:44:01,446 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl deliverNotificationToService
    INFO: Notifications delivered
    2008-11-24 11:44:01,446 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl disableNotification
    INFO: Attempting to disable the notification after delivery.
    2008-11-24 11:44:01,446 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.workflow.dsc.service.OrchestrationEventListenerService onAsynchronousEvent
    INFO: ProcessManagerSerice:onAsynchronousEvent()
    2008-11-24 11:44:01,446 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl disableNotification
    INFO: Attempting to disable the notification after delivery.
    2008-11-24 11:44:01,462 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.util.EventDBHelper getActiveEventByPrimaryKey
    INFO: Event with id 6052 is already disabled, EventService will not deliver notification.
    2008-11-24 11:44:01,462 INFO [com.adobe.workflow.AWS] Invoking action synchronously
    2008-11-24 11:44:01,462 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.livecycle.notification.TaskNotificationServiceImpl taskAssignment
    INFO: TaskNotificationService called taskAssignment: 2350
    2008-11-24 11:44:01,462 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.livecycle.notification.TaskNotificationServiceImpl handleNotificationEvent
    INFO: TaskNotificationService called handleAssignmentOrReminderEvent: 2350
    Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl updateEventStatus
    INFO: Event with id 6052 is already inactive.Event instance with id 6052 is inactive for TaskCreated
    2008-11-24 11:44:01,478 INFO [com.adobe.livecycle.remoteevents.client.RemoteEventClient] message received type: event
    2008-11-24 11:44:01,478 INFO [com.adobe.livecycle.remoteevents.client.RemoteEventClient] message received part 1: {data=[B@1d766ce, event=TaskCreated}
    2008-11-24 11:44:01,556 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl deliverNotificationToService
    INFO: Notifications delivered
    2008-11-24 11:44:01,556 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl disableNotification
    INFO: Attempting to disable the notification after delivery.
    2008-11-24 11:44:01,556 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl disableNotification
    INFO: Attempting to disable the notification after delivery.
    2008-11-24 11:44:01,556 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.util.EventDBHelper getActiveEventByPrimaryKey
    INFO: Event with id 6052 is already disabled, EventService will not deliver notification.
    2008-11-24 11:44:01,556 INFO [STDOUT] Nov 24, 2008 11:44:01 AM com.adobe.idp.event.notification.NotificationManagerImpl updateEventStatus
    INFO: Event with id 6052 is already inactive.Event instance with id 6052 is inactive for TaskCreated
    Thanks for your reply!

  • InfoPath form, rich text fields, "There was a form postback error" InvalidOperationException, There has been an error while processing the form

    Using InfoPath 2013 browser enabled form.
    I am getting the above error on ALL Infopath Designed Rich Text fields, where the "Cannot be blank" attribute is set.
    To reproduce it, I create a custom list and custom list form with InfoPath 2013. I add 2 Rich Text fields and enable "cannot be blank". To raise the error, I put some data in the RT field. Skip to another field (so focus is changed and a postback
    occurs), then back to original field to delete the contents (to raise the validation).
    I originally thought it was associated with the HTMLCHKR.DLL not being registered (and I have re-registered it just in case), but the exception I get from the ULS logs reads (it is from a list AFTER I have re-registered the DLL):
    There was a form postback error. (User: 0#.w|myDomain\jc, Form Name: Template, IP: , Request: h t t p ://MyWebApp/MySite/Lists/rtAfterHtmlCHkrReg/Item/newifs.aspx?List=2212ff41-77b4-445b-931b-d7e538c9da91&Source=h t t p://MyWebApp/MySite/Lists/rtAfterHtmlCHkrReg/AllItems.aspx&RootFolder=&Web=3db49106-bdca-47bb-b4cd-a549d2d86aa7,
    Form ID: urn:schemas-microsoft-com:office:infopath:list:-AutoGen-2015-01-16T21:51:48:853Z, Type: InvalidOperationException, Exception Message: No content generated as the result of the operation.) 8cc5e09c-3665-903b-575a-faaac506c40a
    I noticed that errors associated with the HTMLCHKR.DLL not being registered would have some sort of COM exception (example: TYPE_E_LIBNOTREGISTERED or REGDB_E_CLASSNOTREG)
    I also should mention that this problem started happening about 3 weeks ago. We have extended the web application to handle HTTPS on the intranet zone (we had a reverse proxy project that did not eventuate) - would that cause something? How can I do further
    checking?

    Hi,
    I have done a test in my SharePoint, and I met the same issue with you.
    I created a custom list and custom list form with InfoPath 2013. I added 2 Rich Text fields and enabled "cannot be blank".  I put some content in the RT field, then delete the contents, I got the error message:"there has been an
    error while processing the form."
    Here is a similar post said that executing the command: regsvr32 "C:\Program Files\Common Files\Microsoft Shared\
    OFFICE14\htmlchkr.dll" will solve the issue.
    https://social.msdn.microsoft.com/Forums/en-US/eb2e0f6e-c8e4-4e92-ac5e-a09d72759eda/rich-text-field-error-in-webform?forum=sharepointcustomizationprevious
    But I just disabled "cannot be blank", and it solved the issue.
    Best Regards,
    Lisa Chen
    Lisa Chen
    TechNet Community Support

  • How to handle Exception in Forms??

    Hi,
    We have a customer facing application...self-service kinda things actually with self registration, forgot password/ username and edit profile. We are using SIM forms for all of these. Now as per requirement we need to call some web services as backend validation in the forms. we want that if any exception is generated while calling these web services or general exceptions that SIM thrown (like xpress exception etc..) ....the user should redirected to other page containg some custom message because actual exception message is completely useless for user. i tried to use try/catch in jsp and other fundas of exception handling in java but nothing works. If anyone has any suggestion or any prior experience please share. Any pointer will be helpful.
    We are using SIM-SPE 7.1 . if someone has experience about exception handling in SPE it will be great otherwise SIM forms exception handling will also work. we can corellate the things in SPE!!!
    Thanks in advance!

    Bhavna,
    create a when-custom-item-event handler on the Forms Bean Container
    example:
    DECLARE
         eventName varchar2(30) := :system.custom_item_event;
         eventValues ParamList;
         eventValueType number;
         tempString varchar2(100);
    BEGIN
    IF (eventName=BEAN_ERROR_EVENT') THEN eventValues := get_parameter_list(:system.custom_item_event_parameters);
                   get_parameter_attr(eventValues,'ERROR_MESSAGE',eventValueType, tempString);          MsgBox.Show(MsgBox.STOP_ALERT,tempString);
    END IF;
    END;
    This looks for an event named BEAN_ERROR_EVENT and there for a message ERROR_MESSAGE.
    In the Bean add the following code:
    public static final ID pErrorMessage = ID.registerProperty("ERROR_MESSAGE");
    public static final ID eErrorEvent = ID.registerProperty("BEAN_ERROR_EVENT");
    private void dispatchErrors(String message)
    log(message);
    try{
    CustomEvent ce = new CustomEvent(m_handler, eErrorEvent);
    m_handler.setProperty(pRwAuthMessage,pErrorMessage);
    dispatchCustomEvent(ce);
    catch (Exception e)
    e.printStackTrace();
    To handle Bean errors:
    try{
    catch (Exception e){
    dispatchErrors(e.getMessage());
    finally {
    This know publishes the error message to Forms where you can handle it the way you want.
    Fran

  • How to perform Error Handling in this Bdc Code

    Hi,
    I had created this BDC for the tcode MB1B and i want to know how to perform the ERROR HANDLING in it ..
    Plzz provide me guidelines for doing it . here's d code:-
    report ZBDC_MB1B
           no standard page heading line-size 255.
    include bdcrecx1.
    data: begin of record OCCURS 0,
          WERKS_001(004),     "Plant
          MATNR_002(018),     "ItemId
          ERFMG_003(013),     "Quantity in Unit of Entry
          ERFME_004(003),     "Unit of Entry
          LGORT_005(004),     "Storage Location
          CHARG_006(010),     "BatchId
          KDAUF_007(010),     "Sales Order Number
          KDPOS_008(006),     "Item Number in Sales Order
          end of record.
    PARAMETERS : P_FILNAM LIKE RLGRAP-FILENAME.
      initialization.
      CTUMODE = 'A'.
      CUPDATE = 'A'.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILNAM.
      CALL FUNCTION 'WS_FILENAME_GET'
       EXPORTING
         MASK                   = ',. '
         MODE                   = 'O'
         IMPORTING
         FILENAME                 = P_FILNAM
       EXCEPTIONS
         INV_WINSYS             = 1
         NO_BATCH               = 2
         SELECTION_CANCEL       = 3
         SELECTION_ERROR        = 4
         OTHERS                 = 5
      IF SY-SUBRC <> 0.
            MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    start-of-selection.
    CALL FUNCTION 'WS_UPLOAD'
       EXPORTING
         FILENAME                      = P_FILNAM
         FILETYPE                      = 'DAT'
        TABLES
          DATA_TAB                     = RECORD
       EXCEPTIONS
         CONVERSION_ERROR              = 1
         FILE_OPEN_ERROR               = 2
         FILE_READ_ERROR               = 3
         INVALID_TYPE                  = 4
         NO_BATCH                      = 5
         UNKNOWN_ERROR                 = 6
         INVALID_TABLE_WIDTH           = 7
         GUI_REFUSE_FILETRANSFER       = 8
         CUSTOMER_ERROR                = 9
         NO_AUTHORITY                  = 10
         OTHERS                        = 11
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    LOOP AT RECORD.
      BEGIN OF SCREEN 1
    perform bdc_dynpro      using 'SAPMM07M' '0400'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RM07M-SOBKZ'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    *perform bdc_field       using 'MKPF-BLDAT'
                                 '22.12.2008'.
    *perform bdc_field       using 'MKPF-BUDAT'
                                 '22.12.2008'.
    perform bdc_field       using 'RM07M-BWARTWA'
                                  '411'.
    perform bdc_field       using 'RM07M-SOBKZ'
                                  'E'.
    perform bdc_field       using 'RM07M-WERKS'
                                  RECORD-WERKS_001.             "Plant
    perform bdc_field       using 'XFULL'
                                  'X'.
    perform bdc_field       using 'RM07M-WVERS2'
                                  'X'.
      BEGIN OF SCREEN 2
    perform bdc_dynpro      using 'SAPMM07M' '0421'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MSEG-CHARG(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'MSEG-MATNR(01)'
                                  RECORD-MATNR_002.             "ITEMID
    perform bdc_field       using 'MSEG-ERFMG(01)'
                                  RECORD-ERFMG_003.             "QTY.
    perform bdc_field       using 'MSEG-ERFME(01)'
                                  RECORD-ERFME_004.             "UOM
    perform bdc_field       using 'MSEG-LGORT(01)'
                                  RECORD-LGORT_005.             "ST.LOC
    perform bdc_field       using 'MSEG-CHARG(01)'
                                  RECORD-CHARG_006.             "BATCHID
    perform bdc_field       using 'MSEGK-MAT_KDAUF'
                                  RECORD-KDAUF_007.             "S.O.
    perform bdc_field       using 'MSEGK-MAT_KDPOS'
                                  RECORD-KDPOS_008.             "S.O.LINE ITEM
    perform bdc_field       using 'DKACB-FMORE'
                                  'X'.
      BEGIN OF SCREEN 3
    perform bdc_dynpro      using 'SAPLKACB' '0002'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTE'.
    perform bdc_field       using 'DKACB-FMORE'
                                  'X'.
    perform bdc_dynpro      using 'SAPLKACB' '0002'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=ENTE'.
    perform bdc_dynpro      using 'SAPMM07M' '0421'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'MSEG-ERFMG(01)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=BU'.
    perform bdc_field       using 'DKACB-FMORE'
                                  'X'.
      BEGIN OF SCREEN 4
    perform bdc_dynpro      using   'SAPLKACB' '0002'.
    perform bdc_field       using      'BDC_OKCODE'
                                                '=ENTE'.
    perform bdc_transaction using 'MB1B'.
    ENDLOOP.

    hi,
    check this code in bold letters.
    INCLUDE BDCRECX1.
    TABLES : MARC.
    TYPES : BEGIN OF TY_UPLOAD,
            MATNR TYPE MARA-MATNR,
            WERKS TYPE MARC-WERKS,
            STEUC TYPE MARC-STEUC,
            END OF TY_UPLOAD.
    TYPES : BEGIN OF TY_MARC,
            MATNR TYPE MARA-MATNR,
            WERKS TYPE MARC-WERKS,
            END OF TY_MARC.
    TYPES : BEGIN OF TY_MTART,
            MATNR TYPE MARA-MATNR,
            MTART TYPE MARA-MTART,
            END OF TY_MTART.
    DATA : T_MARC TYPE STANDARD TABLE OF TY_MARC,
         : T_UPLOAD TYPE STANDARD TABLE OF TY_UPLOAD,
         : T_BASIC TYPE STANDARD TABLE OF TY_UPLOAD,
         : T_SALES TYPE STANDARD TABLE OF TY_UPLOAD,
         : T_ERROR TYPE STANDARD TABLE OF TY_UPLOAD.
    DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
           IT_BDCDATA_VIEW LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
           IT_DATA(3200) OCCURS 0 WITH HEADER LINE,
           IT_FIELD(3200) OCCURS 0 WITH HEADER LINE,
           IT_BDCMSG TYPE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
    DATA GI_MSG LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
    DATA : CHAR1(500),
          CHAR2(500),
          CHAR3 TYPE STRING,
          V_SELECTION TYPE STRING.  " For View Selection
    DATA : W_MARC TYPE TY_MARC,
           WA_UPLOAD TYPE TY_UPLOAD,
           WA_BASIC TYPE TY_UPLOAD,
           WA_SALES TYPE TY_UPLOAD,
           WA_ERROR TYPE TY_UPLOAD,
           WA_MTART TYPE TY_MTART.
    DATA : VAR TYPE N,
           VAR1 TYPE STRING.
    SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.   "SELECTION SCREEN
    PARAMETERS: P_FNAM LIKE RLGRAP-FILENAME.
    PARAMETERS: P_BAS LIKE RLGRAP-FILENAME.
    PARAMETERS: P_SAL LIKE RLGRAP-FILENAME.
    PARAMETERS: P_ERR LIKE RLGRAP-FILENAME.
    SELECTION-SCREEN : END OF BLOCK B1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FNAM.
      PERFORM SEARCH USING P_FNAM.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_BAS.
      PERFORM SEARCH USING P_BAS.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_SAL.
      PERFORM SEARCH USING P_SAL.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_ERR.
      PERFORM SEARCH USING P_ERR.
    *&      Form  SEARCH
          text
         -->PFNAME     text
    FORM SEARCH USING PFNAME.
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          STATIC    = 'X'
        CHANGING
          FILE_NAME = PFNAME.
    ENDFORM.                    "SEARCH
    START-OF-SELECTION.
      PERFORM UPLOAD_PROCESS USING P_FNAM.
      PERFORM OPEN_GROUP.
      PERFORM PROCESS.
      PERFORM CLOSE_GROUP.
      IF NOT T_BASIC[] IS INITIAL.
        PERFORM DOWNLOAD TABLES T_BASIC[] USING P_BAS .
      ENDIF.
      IF NOT T_SALES[] IS INITIAL.
        PERFORM DOWNLOAD TABLES T_SALES[] USING P_SAL .
      ENDIF.
      IF NOT T_ERROR[] IS INITIAL.
        PERFORM DOWNLOAD TABLES T_ERROR[] USING P_ERR.
      ENDIF.
    *&      Form  PROCESS
          text
    FORM PROCESS.
      LOOP AT T_UPLOAD INTO WA_UPLOAD.
        PERFORM CONV_ROUTINE  USING WA_UPLOAD-MATNR
                            CHANGING WA_UPLOAD-MATNR.
        SELECT COUNT(*) FROM MARA WHERE MATNR = WA_UPLOAD-MATNR.
        IF SY-SUBRC NE 0.
          MOVE-CORRESPONDING  WA_UPLOAD TO WA_BASIC.
          APPEND WA_BASIC TO T_BASIC.
          CLEAR WA_BASIC.
          CONTINUE.
        ENDIF.
        SELECT COUNT(*) FROM MARC WHERE MATNR = WA_UPLOAD-MATNR
                                        AND WERKS = WA_UPLOAD-WERKS
                                        AND PSTAT LIKE '%V%'.
        IF SY-SUBRC NE 0.
          MOVE-CORRESPONDING  WA_UPLOAD TO WA_SALES.
          APPEND WA_SALES TO T_SALES.
          CLEAR WA_SALES.
          CONTINUE.
        ENDIF.
        CLEAR : WA_MTART.
        SELECT SINGLE MATNR MTART FROM MARA INTO WA_MTART WHERE MATNR = WA_UPLOAD-MATNR.
        PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '0060'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'RMMG1-MATNR'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=AUSW'.
        PERFORM BDC_FIELD       USING 'RMMG1-MATNR'
                                      WA_UPLOAD-MATNR.
        CALL FUNCTION 'MATERIAL_BTCI_SELECTION_NEW'     " Function module
        EXPORTING
          MATERIAL                  = WA_UPLOAD-MATNR  " Material number
          MATERIALART               = WA_MTART-MTART          " Material Type
          SELECTION                 = 'V'              "
          TCODE                     = 'MM02'           " Tcode where view's are called.
        TABLES
          BTCI_D0070                = IT_BDCDATA_VIEW
        EXCEPTIONS
          MATERIAL_NOT_FOUND        = 1
          MATERIAL_NUMBER_MISSING   = 2
          MATERIAL_TYPE_MISSING     = 3
          MATERIAL_TYPE_NOT_FOUND   = 4
          NO_ACTIVE_DYNPRO_SELECTED = 5
          NO_AUTHORITY              = 6
          OTHERS                    = 7.
        READ TABLE IT_BDCDATA_VIEW WITH KEY FVAL  = 'X'.
        IF SY-SUBRC = 0.
          V_SELECTION = IT_BDCDATA_VIEW-FNAM.
        ELSE.
          CONTINUE.
        ENDIF.
        VAR = IT_BDCDATA_VIEW-FNAM+17(2).
        VAR = VAR + 3.
        CONCATENATE 'MSICHTAUSW-KZSEL(' '0' VAR ')' INTO VAR1.
        PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '0070'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'MSICHTAUSW-DYTXT(06)'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=ENTR'.
        PERFORM BDC_FIELD       USING VAR1
                                       'X'.
        CLEAR VAR.
        CLEAR VAR1.
       PERFORM BDC_FIELD       USING 'MSICHTAUSW-KZSEL(06)'
                                     'X'.
        PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '0080'.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'RMMG1-VKORG'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=ENTR'.
        PERFORM BDC_FIELD       USING 'RMMG1-WERKS'
                                      WA_UPLOAD-WERKS.
        PERFORM BDC_DYNPRO      USING 'SAPLMGMM' '4004'.
        PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                      '=BU'.
       PERFORM BDC_FIELD       USING 'MAKT-MAKTX'
                                     'MTI_ESE_HALB_01'.
        PERFORM BDC_FIELD       USING 'MARC-STEUC'
                                      WA_UPLOAD-STEUC.
        PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                      'MARC-HERKR'.
        PERFORM BDC_FIELD       USING 'MARC-HERKL'
                                      'IN'.
        PERFORM BDC_FIELD       USING 'MARC-HERKR'
                                      'MAH'.
        PERFORM BDC_TRANSACTION USING 'MM02'.
    move the error record into seperate internal table nad down load it ****
        IF MESSTAB-MSGTYP = 'E'.
          MOVE-CORRESPONDING WA_UPLOAD TO WA_ERROR.
          APPEND WA_ERROR TO T_ERROR.
          CLEAR WA_ERROR.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    "PROCESS
    *&      Form  UPLOAD_PROCESS
          text
         -->PFNAME     text
    FORM UPLOAD_PROCESS USING PFNAME.
      DATA : PFNAME1 TYPE STRING.
      PFNAME1 = PFNAME.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          FILENAME            = PFNAME1
          FILETYPE            = 'ASC'
          HAS_FIELD_SEPARATOR = 'X'
        TABLES
          DATA_TAB            = T_UPLOAD[].
      IF SY-SUBRC <> 0.
      ENDIF.
    ENDFORM.                    "UPLOAD_PROCESS
    *&      Form  CONV_ROUTINE
          text
         -->P_INPUT    text
         -->P_OUTPUT   text
    FORM CONV_ROUTINE   USING    P_INPUT
                     CHANGING P_OUTPUT.
      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
        EXPORTING
          INPUT  = P_INPUT
        IMPORTING
          OUTPUT = P_OUTPUT.
    ENDFORM.                    "CONV_ROUTINE
    *&      Form  DOWNLOAD
          text
         -->GI_FINAL   text
         -->PFNAME     text
    FORM DOWNLOAD TABLES
                  GI_FINAL
                         USING  PFNAME .
      DATA : FNAME TYPE STRING.
      FNAME = PFNAME.
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
          FILENAME                        = FNAME
          FILETYPE                        = 'DAT'
         WRITE_FIELD_SEPARATOR           = 'x'
            HEADER                          = '00'
          IMPORTING
            FILELENGTH                      =
        TABLES
          DATA_TAB                        =  GI_FINAL[]
          FIELDNAMES                      = GI_FIELDNAMES[]
      IF SY-SUBRC = 0.
        MESSAGE 'FILE DOWNLOADED SUCCESSFULLY' TYPE 'I'.
      ENDIF.
    ENDFORM.                    " DOWNLOAD
    Regards
    Siva Prasad

  • Error Handling in Jdeveloper?

    I set a servlet as the ErrorHandler for the Application by modifying the web.xml file with th following code:
    <error-page>
    <error_code>404</error_code>
    <location>/Srv_ErrorHandler</location>
    </error-page>
    and it worked.
    then I deleted all the code and every thing related to that in other servlets, and set a jsp file as my Error Handler, using isErrorPage="true" in <%@page %>
    and other proper changes, but it didn,t worked.
    every time the error arises the server goes after the former servlet as the ErrorHandler (the path of the servlet appear in the addree bar?).
    It seems that some changes have been applied on some variables in the application scope that won't be removed automatically?
    Thank you for you answer my friend.
    Best Regards,
    Pourang

    Are you making sure to point the pages to your error page?

  • Error handling in overridden methods in AbstractPageBean

    Hi,
    I'm writing a small app in JSF. One of the pages populates a bunch of text fields from an XML file whose name is passed into the app as an initialization parameter. The purpose of the page is to allow editing of the fields.
    It seemed that the prerender() method was the right place to initialize the fields in the form. I have an application-scoped bean trying to open the XML file. I don't want the app to barf on initialization if the file doesn't exist, because the application contains the logic to create the file. So it just sets the appropriate forward target ("file does not exist" page, or maybe XML parse error) and lets the pages that use those bean properties decide when and if they need to display the initialization error page.
    I would like to throw an exception from the prerender() method in my page, and have the error handling specified in web.xml. The problem, of course, is that I can't throw my own exception from prerender().
    So, have I got the wrong place to initialize my form, or do I have to throw a javax.faces.FacesException, or have I got this whole error-handling thing wrong?
    Any advice would be gratefully received.
    Many thanks.
    Regards,
    Mike
    public void prerender(){
            // Get ApplicationBean1 to forward the request if we fail to
            // initialize properly.
            ApplicationBean1 ab1 = getApplicationBean1();
            HttpServletRequest req = (HttpServletRequest) this.getFacesContext().
                    getExternalContext().
                    getRequest();
            HttpServletResponse res = (HttpServletResponse) this.getFacesContext().
                    getExternalContext().
                    getResponse();
            if(!ab1.isInitialized()){
                //The initialization code for ApplicationBean1() sets the
                //target when it detects an error and then forwards the
                //request to that target upon invocation of the forwardRequest
                //method
                ab1.forwardRequest(req,res);
            // These are the input components
            tfClonebase.setValue(ab1.getClonebase());
            tfDhcpdconf.setValue(ab1.getDhcpdconf());
            tfNamedrev.setValue(ab1.getNamedrev());
            tfNamedzone.setValue(ab1.getNamedzone());
            tfPxelinux.setValue(ab1.getPxelinux());
            tfXmldir.setValue(ab1.getXmlDir());
        }

    Well, I'm certainly no expert, but prerender() is called, as you might expect, just before rendering takes place (but only if the page will actually be rendered). This means it won't be called for a page that handled a postback but then navigated to a different page. Good place to handle initializations that happen before rendering.
    So my thinking was that I could initialize stuff before there's anything in the response, making it easier to bail out if something goes bad.
    But I really can't work out the right way to bail out: I can't throw my own exception because the prerender() is overridden from AbstractPageBean. So I suppose I could create a MikesBadInitException e and throw it inside a new javax.faces.FacesException(e). But I'd like to specify an error-page in my web.xml for MikesBadInitException, and don't want to handle all javax.faces.FacesExceptions, if you get my drift.

  • Error Handling in WebUtil CLIENT_OLE2.get_obj_property

    Hello,
    we have a problem with the error handling in WebUtil's CLIENT_OLE2.get_obj_property function. The WebUtil version is 1.0.2 and the problem can be reproduced on the 9iAS, 9iDS and 10gAS as well.
    Problem description:
    The get_obj_property function does not throw a PL/SQL exception when it is given an invalid object as first argument (i.e. an object handle to an application that has intermittently been closed by the user). Instead, the function returns a NULL value and the control flow of our application code continues as if the function had succeeded. So the problem is that the get_obj_property function neither throws an exception nor can the failure be caught by calling WEBUTIL_CORE.IsError as this returns that no error occurred.
    Example:
    PACKAGE BODY word IS
    OBJ_HND CLIENT_OLE2.OBJ_TYPE := NULL;
    mydocs CLIENT_ole2.obj_type;
    -- Start Word97
    PROCEDURE wordopen is                         
    BEGIN
    obj_hnd := null;
    obj_hnd := CLIENT_OLE2.create_obj ('Word.Application');
    CLIENT_OLE2.Set_property(obj_hnd,'Visible',1);
    END;
    PROCEDURE test is
    BEGIN
    IF obj_hnd IS NULL THEN
    wordopen;
    END IF;
    BEGIN
    mydocs := CLIENT_OLE2.get_obj_property(obj_hnd,'Documents');
    EXCEPTION WHEN OTHERS THEN
    -- Word has probably been closed by the user
    -- so just start it again and retry...
    wordopen;
    mydocs := CLIENT_OLE2.get_obj_property(obj_hnd,'Documents');
    END;
    END;
    END;
    If the procedure test is called once then the Word application is started and the procedure performs some work. The procedure could be called several times on the same Word instance but fails in case the user closes the Word application because the procedure does not get an exception or error from WebUtil's get_obj_property function. Only a JACOB Java exception is logged in the Java console of the user's computer - the PL/SQL code has no way of knowing that an error has occurred.
    Possible solution / patch for webutil.pll:
    The webutil.pll can be patched to throw an exception if it is given an invalid object handle. In webutil.pll version 1.0.2 in get_object_property, line 1205, just add the condition "(v_javaHandle IS NULL) or " at the beginning of the if-statement in that line so that an OLE_ERROR will be raised if v_javaHandle is NULL:
    if (v_javaHandle IS NULL) or (v_javaHandle = 0) or (v_javaHandle='') or (v_javaHandle=-1) then     
    raise OLE_ERROR;      
    end if;     
    Can you confirm the error and re-release a patched webutil.pll at a later time?
    Regards,
    Andreas Leidner
    infoteam GmbH Berlin

    Hi
    It is mentioned in webutil doc that, you must regenerate webutil.pll before using it; otherwise you’ll encounter error ORA-06508 when running a form with the attached library.
    Hope this helps...
    Regards,
    Amatu Allah

Maybe you are looking for

  • How to see the Open PO Qty in Mass

    Dear Experts,                     How to see the Open Qty in PO in mass, is there any report available..Please help  Regards karthik

  • HT1420 Where is the "store menu" in iTunes?

    I'm trying to authorize my computer. When in iTunes, I don't see a "store menu." I am in the "home" section of the iTunes store. As a side note I just want to say that I hate the new version of iTunes as it is difficult to find anything.

  • Subcontracting- Good Receipt Problem

    Dear All,      In Subcontracting, when Posting Good Receipt, the systemshowing error msg " The G/L Account 891000 does not exist in company code. so i tried Tcode FS00, but it asking G/L Account, how can i create it, can any one help me. Thanks

  • How can I concatenate a currency field (eg: 12.25) with numeric values

    Hi, I ma working in ECC6.0. How can I concatenate a currency field (eg: 12.25) with numeric and character values into a variable. I want to concatenate 12.25  with  "+"  and  "0". Regard, Divya

  • Target attribut for h:form tag : does it work ?

    Hi, I work with 2 HTML frames (top and bottom). I display a table with link in each row in the top frame. When I click on a link, target attribut says "display the result content of the submit action in the specified frame". The specified target is t