WSRP Error Handling through Consumer Entitlement

Hi
Is there are way to do entitlements in the Consumer side based on the Availablity of the Producer. Say If the producer is down then a particular book or page in consumer portal needs to be hidden. We can use interceptor for catching the error and displaying a error message on the screen, but how we can hide the page itself through entitlement.
Thanks
Rajesh A.r

Hello Rajesh and Emmanuel,
Emmanuel is correct that you can't usually do what you want in an interceptor- at least not a GetMarkupInterceptor. The problem is the way the portal lifecycle is run in WLP-- a tree of controls is built up, then pruned by entitlements, then the remaining controls are asked to render onto a page. The WSRP getMarkup operation is performed during the last stage of this lifecycle-- during render, when it is already too late to not have a portlet show up. Indeed, when the getMarkup operations are run, it is already too late to issue a redirect, so you wouldn't even be able to set entitlements and then redirect back to the same page.
So the first page view that recognizes that the producer is down is too late to simply not have the portlets appear on the page, but you can make the interceptor take steps so that the next person that tries to view any page with remote portlets on it from that producer just won't see them. In addition, you can make the interceptor provide the markup for the portlet that failed to be retrieved from the remote producer, or some sort of message in its place.
You may want to take a look at the producer disabling functionality built in to WLP:
http://edocs.bea.com/wlp/docs102/javadoc/com/bea/wsrp/consumer/management/producer/ProducerManager.html#disableProducer(java.lang.String,%20java.lang.String,%20javax.servlet.http.HttpServletRequest)
If you used the disableProducer() method in your interceptor when you notice that the producer is not responding, you can tell all portlets coming from a remote producer to not be rendered-- but only for future page renders; again, it is already "too late" for the page that notices the producer is down, at least if the producer being down gets noticed during getMarkup.
If you detect the producer being down during the InitCookie, BlockingInteraction or HandleEvents WSRP operations, these all occur before render, so you would be able to disable the producer, or set entitlements, or even do a page redirect at that point in time. But during the GetMarkup operation, the page is already "committed" and there is no way around the problem at that time.
Kevin

Similar Messages

  • Outbound Idoc error handling through workflow

    Hi,
    I am trying to set up the workflow for outbound error handling. I found that there is a task TS00007989 which need to set up.
    How this task can be triggered when outbound idoc error occurs in the system?
    Kr,
    Vithalprasad
    Edited by: Vittalprasad on Jun 9, 2010 11:52 AM

    Hi,
          Have a look
    Outbound IDoc Error Handling via Workflow
    Outbound idoc error handling through workflow

  • OWB Error handling through error tables

    I have a mapping, which i want to implement error handling through error table, the table is created (error) and i have supplied it in the error table propertis in the target table. But i have tried testing if this is working by changing the data type of one column in my target database, but the whole mapping is failing to run with no error rerded in the error table. And i tried testing the this through sql and suprisingly the errors are being captured. How do i get the whole mapping to run and record the errors if any in the error table without it failing.

    When you say 'the whole mapping is failing to run' what do you mean? Can you deploy the mapping? If not what is the error? When you run the mapping what happens?
    If you look at the DML statement (the INSERT, MERGE or whatever) generated by OWB does it include the LOG ERRORS INTO statement in it?
    There is a blog post below for OWB 11gR2;
    http://blogs.oracle.com/warehousebuilder/entry/owb_11gr2_dml_error_logging
    And an older one here which was based on OWB 10gR2
    http://blogs.oracle.com/warehousebuilder/entry/set_based_errors_dml_error_log
    Cheers
    David

  • Idoc Error Handling through workflow

    Hi all,
      I want to send the Error Notification for a particular person for whom the task orders is assigned in the organization chart.
    What all the things I need to do.
      I have created the org chart and I have assigned the task to a user under a position.
      I have linked the Idoc error event in Tcode SWETYPV .
      What  all the things I am supposed to do.
    Regards
    Kumar

    Please go to transction WE20, pick the Partner / Idoc that you would like to assign the Org. chart to.
    Then you should configure "post processing :permitted agent" Tab with the Organizational unit.
    Then double click the process code associated with the Idoc Type and click the button next to the Function Module associated with this process code.
    Check  IDoc Tab and see if Stanard Event INPUTERROROCCURRED is present in the field called start event.

  • ALE: Error handling through workflow

    Hi All,
    My requirement is to trigger a workflow to send a mail when ever there is an error in posting an IDOC.
    I have created a FM, Business object, Process code and assigned FM & BO to it. created a workflow object and assigned BO object to it. I am getting mails too.
    But the problem here is I am getting mails to SAP inbox even the IDOC is posted successfully.
    I am setting the value WORKFLOW_RESULT = 99999 when IDOC posting fails.
    My requirement is to trigger workflow only when there is an error in posting IDOC.
    Please suggest.
    Thanks in advance,
    Prathap

    I think there are standard workflow for your requirement. Please check WE46 transaction code for the task.
    Thanks
    Arghadip

  • Order Entry Interface table error handling through Form after Orderimport

    Hi Gurus,
    We are on Oracle Apps 11.0.3.
    I'm just curious to know that is there any form available to correct error records in SO_HEADERS_INTERFACE, SO_LINES_INTERFACE, SO_LINE_DETAILS_INTERFACE, SO_PRICE_ADJUSTMENTS_INTERFACE, SO_SALES_CREDITS_INTERFACE, SO_SERVICE_DETAILS_INTERFACE, SO_LINE_ATTRIBUTES_INTERFACE, SO_HEADER_ATTRIBUTES_INTERFACE tables after running orderimport.
    Most thread says that set REQUEST_ID, ERROR_FLAG and INTERFACE_STATUS columns to NULL in each interface tables. Is there any oracle standard form available to accomplish this in Oracle Apps 11.0.3 or 11i?
    Thanks
    -Manish

    Hi Srinu,
    it looks like you got the error message Schedule line &1 &2 is missing in table YVBEP while deleting the sales order.
    It seems, that there are no SAP notes regarding this issue. Do you have this issue with all orders or with a single order?
    If only a single order causes this issue, maybe something was wrong during an update.
    If you get this error for many orders, then custom code (modification, enhancement, user exit in MV45AFZZ, ...) may be the reason for it.
    If you have no custom code in module pool SAPMV45A, then contact SAP for this issue.
    Regards,
    Klaus

  • About ale error handling in workflow?

    Hi,
    can any one explian in detail ale error handling through workflow,its urgent for me.
    Regards,
    phani

    Hi Srikanth,
    follw the steps it will helpful u,
    Pre-requisites. 
    It is assumed that the reader of this article has some knowledge in SAP workflow BOR objects and ALE Idoc process like process code, Partner Profile etc. 
    Description 
    Here, we will be discussing in details the Error handling of an Inbound Idoc through triggering an event, which in turn will be triggering a workflow attached to the workflow. 
    Steps:-
    1.     Create custom BOR object with the events, Start and Stop event
    2.     Create a workflow for the error handling, like generating a notification whenever an error occurred in the Inbound Idoc.
    3.     Creation of Function Module and attachment with the Process Code
    4.     Create the settings for the Inbound Process of the Idoc through the Process Code.
    Creation of BOR objects. Go to the[http://www.****************/Tutorials/ALE/ErrorHandling/page3.htm] transaction SWO1. 
    Enter a name for the Object type and click ‘CREATE’ button for creating the custom BOR object. 
    Enter the details required for creating the BOR objects... 
    Create the Key fields and events of the BOR object.
    For creating the Key fields place the cursor on the Key fields and Click on the Create Button
    Create events for triggering the workflow and stopping the workflow.
    For creating the event place the cursor on the EVENTS and Click the create button like Key fields.
    Create two events.
    Enter the event name description etc and proceed further to create it. 
    Similarly create another event for ending the Workflow in the similar manner like that created earlier. 
    Now, Generate the BOR object through the generate button
    Release the EVENTS and subsequently release the BOR object. 
    After the creation of BOR object
    Create a workflow for the generation of notification whenever an error is reached in the Inbound Idoc.
    Execute the transaction SWDD. 
    Click on the CREATE button for creating the workflow for error handling. 
    Choose the Step type to be inserted for the notification like here we are using Send Mail option for sending a mail to the user whenever any error occurred.
    Activate the Workflow and test it whether it is working as per the requirement.
    After the successful completion it is required to attach the workflow with the event.
    Go to the Header section (Denoted by CAP).
    Go to the Start Events TAB.        
    Enter the details of the event with which the workflow should be linked like the category, BOR object type and the event with which that should be linked.
    Enter here the BOR object that has been created and give the name of event created for starting the workflow.
    Click on the Binding Button for generating the binding between the event and the workflow.
    Click on the Binding Button for generating the binding between the event and the workflow.
    Generate the binding and click OK button to save the binding.
    Click on Activate / deactivate button for activating the linkage.
    After the successful linkage the following sign will appear on the workflow..... 
    This shows that the workflow has been linked to the event and it will be triggered whenever that particular event will be triggered. 
    After the creation and successful linkage of workflow with the event it is required it is required to generate a function module and attached it to the process code. 
    Go to SE37 transaction and copy a standard process code function module to a custom one. Do no delete any parameters from the function module as the SAP standard program itself is calling this. 
    In that function module do the required validation and whenever the validation fails set a standard parameter ‘WORKFLOW_RESULT’ to 9999 from within the function module, otherwise normally proceed to set the status to 53.
    After the creation of function module it is required to attach it to the process code and corresponding attached to the message type at the Partner Profile stage.
    The process code is being created through the transaction WE42
    Go to the change mode and click the New Entries button for creating new process code. 
    Enter the Process Code Name, description and choose the processing type as Processing by function module. Click on the extension button of Identification.
    The details for the of the Process Code after clicking the identification button will be  
    Whenever idoc arrives into the Destination system then the standard SAP triggers the Process code attached to the Message type in the partner profile. The partner profile is being maintained in the transaction WE20. 
    Since, it is and inbound scenario so the message type and the corresponding process code will be maintained for the Inbound Parameters. 
    Click on Create Inbound Parameters button for creating new Inbound Message type and the corresponding message type. 
    Enter the process code for the corresponding message type. 
    Click SAVE button for saving the changes. 
    Whenever the IDOC arrives into the target system, it checks the partner profile and finds the corresponding process code. The process code is being linked with the function module through which the IDOC is required to be processed.
    Regards,
    Phani.

  • WSRP SP4 Error Handling

    Hi,
    I have read the Best Practices for WSRP at http://e-docs.bea.com/wlp/docs81/wsrp/bestprac.html. Does anyone have a running sample of doing the Flexible Error Handling that is described at the end of this?
    Is there any way that this Error handling could be done thru the Admin Portal GUI at Runtime?
    Thanks,
    Eric

    Hi,
    I have read the Best Practices for WSRP at http://e-docs.bea.com/wlp/docs81/wsrp/bestprac.html. Does anyone have a running sample of doing the Flexible Error Handling that is described at the end of this?
    Is there any way that this Error handling could be done thru the Admin Portal GUI at Runtime?
    Thanks,
    Eric

  • Asynchronous Call Back Fault Handling through Mediator with Resequencer at Component Level

    Hello,
    As a part of an existing code extension we are introducing set of changes to the code to support new scenarios. The following are the composites involved in the end to end flow:
    1- Consumer_Mediator: A mediator composite with Resequencer enabled at the component level (With fault policy as human intervention in case of failure).
    2- BusinessServiceRouter_Mediator: A mediator composite - typical EBS in AIA - which routes messages to the provider components in BPEL and receive response in Synchronous pattern.
    3- BusinessServiceProvider_BPEL: A BPEL Process that is responsible for interacting with external Application and Provide return success response or throw failures to the EBS.
    Synchronous Interaction
    Typical Request Scenario is as follows:
    [Resequencer] ------------Consume------> [Consumer_Mediator] ----------Sync------> [BusinessServiceRouter_Mediator] -------------Sync---------->[BusinessServiceProvider_BPEL]
    1- First Message in the resequencer group is picked up.
    2- Mediator route the message to BusinessServiceRouter Route message and waits for the response.
    3- BusinessServiceRouter routes the message to the BusinessServiceProvider_BPEL Process and wait for response.
    4- BusinessServiceProvider_BPEL process makes successeful call to the External Application Service and is prepared to return Successful response.
    Typeical Response:
    Through a Synchronous flow, all instances are waiting for the response to commit the transaction, once the response comes back and routed back to the Consumer_Mediator one of two cases happen:
    1- Success: instance is Complete, and the next message in the resequencer group is processed.
    2- Failure: instance is marked as recovery needed and the next messages in the resequencer group are held off till the first message is recovered or aborted.
    New Requirement - Asynchronous Interaction
    A new Application Service is introduced and it can take up to 6/8 hours to process the request. Which means we need to change the interaction to Asynchronous request and Callback with the Provider long running BPEL Process that will interact with the BPEL process.
    Request in the new Code:
    [Resequencer] ------------Consume------> [Consumer_Mediator] ----------Sync------> [BusinessServiceRouter_Mediator] -------------Async--------->[BusinessServiceProvider_BPEL]
    Response in the new Code:
    1- Success: There is absolutely no issue here, it works fine and all instances are marked as complete.
    2- Failure in BusinessServiceProvider_BPEL. This is mainly the issue. When there is a failure that this BPEL process wants to throw. The following happens:
              -  BusinessServiceProvider_BPEL instance is marked as failure.
              - BusinessServiceRouter_Mediator instance is marked as failure.
              - Consumer_Mediator instance is marked as complete and the next message in the resequencer group gets processed - which is the main issue.
    Any Help or suggestion is much appreciated. Thanks.

    1. You can update the message payload when 'recovering' the faulted mediator instance for msg2 in EM console. So if it's a data issue, fix/update the data at the source, and do not trigger the service; instead, update the payload in the recovery page in EM console as needed and retry. This will be a manual activity only. I don't think there is any other easy approach/option/configuration available for this.
    2. Not sure if there is a direct option to automatically process suspended messages in a timed-out group once the missing message arrives. It needs a manual intervention where you 'Skip' to unlock the group from time-out and process further message. I think there are Resequencer APIs available that probably can be used to automate such error handling/recovery.

  • Error Handling in File Adapter

    I have been working on a requirement where the file adapter picks up the file and gives to the BPEL for processing the data.
    So, in order to do Error Handling for file adapter, i have been reading the Oracle documentation for technology adapters. In that, some of the
    points which i felt valuable for my error handling when using file adapter are the uniqueMessageSeparator property, fault-policies for rejected messages,
    and one of the action for rejected messages could be writing the payload to a file or invoking any other webservice.
    In my composite, i have configured the file adapter as a service for reading files, and i defined the xsd using the native format builder....If i put some data like 'aaaa' in the attribute of type integer , the .csv file is being picked up and its being passed to the BPEL without any error ? I believe there should be a translation error...right...
    But i am not getting the error, please tell me if anything is wrong in my xsd....
    Here is my xsd...
    <?xml version="1.0" encoding="UTF-8" ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
    xmlns:tns="http://TargetNamespace.com/InboundService"
    targetNamespace="http://TargetNamespace.com/InboundService"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    nxsd:version="NXSD"
    nxsd:stream="chars"
    nxsd:encoding="US-ASCII"
    nxsd:hasHeader="true"
    nxsd:headerLines="1"
    nxsd:headerLinesTerminatedBy="${eol}"
    >
    <xsd:element name="names">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="name" minOccurs="1" maxOccurs="unbounded">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="FirstName" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="LastName" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," />
    <xsd:element name="Number" type="xsd:integer" nxsd:style="terminated" nxsd:terminatedBy="${eol}" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    And for DB Adapter, there is a property called SchemaValidation, i think that is not there for File adapter, by default it will take care of validation i guess....In another composite, my file adapter is picking up the .xml file and if i put any wrong data over there, that is working fine, i am getting the translation error, but only here in the case of csv file, i am not getting the error. Experts, please help me in this regard...I am using SOA 11G
    Thanks,
    Naresh

    Hi Yatan,
    Thanks for the reply. I did the same way, where my composite is picking up an XML file and translation error is coming. Even the fault policies are working fine, like writing to a file and even invoking other web service. Its really good that you have achieved the same thing in csv files. But the same thing i am unable to achieve when my file adapter is picking up the csv file. I really cant understand where i am doing wrong.
    here is my XSD which i defined through my native builder format...
    <?xml version="1.0" encoding="UTF-8" ?>
    <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
    xmlns:tns="http://TargetNamespace.com/FileRecv"
    targetNamespace="http://TargetNamespace.com/FileRecv"
    elementFormDefault="qualified"
    attributeFormDefault="unqualified"
    nxsd:version="NXSD"
    nxsd:stream="chars"
    nxsd:encoding="US-ASCII"
    nxsd:hasHeader="true"
    nxsd:headerLines="1"
    nxsd:headerLinesTerminatedBy="${eol}"
    >
    <xsd:element name="Roots">
    <xsd:complexType>
    <xsd:sequence>
    <xsd:element name="FirstName" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," nxsd:quotedBy="&quot;" />
    <xsd:element name="LastName" type="xsd:string" nxsd:style="terminated" nxsd:terminatedBy="," nxsd:quotedBy="&quot;" />
    <xsd:element name="Number" type="xsd:integer" nxsd:style="terminated" nxsd:terminatedBy="${eol}" nxsd:quotedBy="&quot;" />
    </xsd:sequence>
    </xsd:complexType>
    </xsd:element>
    </xsd:schema>
    the jca file ..
    <adapter-config name="FileRecv" adapter="File Adapter" wsdlLocation="FileRecv.wsdl" xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
    <connection-factory location="eis/FileAdapter" UIincludeWildcard="n*.csv"/>
    <endpoint-activation portType="Read_ptt" operation="Read">
    <activation-spec className="oracle.tip.adapter.file.inbound.FileActivationSpec">
    <property name="DeleteFile" value="true"/>
    <property name="MinimumAge" value="0"/>
    <property name="PhysicalDirectory" value="C:\files"/>
    <property name="Recursive" value="false"/>
    <property name="PollingFrequency" value="5"/>
    <property name="IncludeFiles" value="n.*\.csv"/>
    <property name="UseHeaders" value="false"/>
    </activation-spec>
    </endpoint-activation>
    </adapter-config>
    I told that the file will contain only 1 record while defining xsd and i kept a record whose values are John , Peter and akjdkjdskj.
    Now if the data is like above, the file is still getting picked up without any translation error and the BPEL is getting completed successfully...
    Is it possible for you to send your sample project and the csv file from which you have defined the xsd to me if you dont mind ?
    Thanks,
    Naresh

  • BPM for error handling and acknowledgements

    Hi,
    Can any one tell me how to handle BPM for error handling and acknowledgements in one scenario.
    Please send me the link if you have other wise give me the solution on the same.
    Thanks,
    Nagesh

    Hi !
    Just check out these links This might help you.
    Usually Application Level Acknowledgement is considered during Sync communication. If you are using RFC, you can make use of Sync communication. So you can handle it without bpm, provided your both sender and receiver are sync interfaces.
    To know about Ack-
    http://help.sap.com/saphelp_nw2004s/helpdata/en/f4/8620c6b58c422c960c53f3ed71b432/content.htm
    you can not dirrectly access the content of the ACK, however the BPM shows different behaviours based on the ACK status. E.g. if the ACK contains a success message the BPM will continue in its normal process, if the ACK contains a permanent error, it will either stop or go through an exception branch (provided such a branch has been defined). Have a look at the documentation: http://help.sap.com/saphelp_nw04/helpdata/en/43/65ce41ae343e2be10000000a1553f6/content.htm It doesnt"t state the above mentioned behaviour in detail but says that you need to define an exception branch.
    The trickiest part is always to find out, when you will get a transient vs. as permanent error ack. If you are using ACKs with Proxies refer also to this link http://help.sap.com/saphelp_nw04/helpdata/en/29/345d3b7c32a527e10000000a114084/content.htm and this http://help.sap.com/saphelp_nw04/helpdata/en/f4/8620c6b58c422c960c53f3ed71b432/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/29/345d3b7c32a527e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/7b/94553b4d53273de10000000a114084/content.htm
    <b>The following link has entire configuration of Receiver XI Adapter (including acknowledgements)</b>
    http://help.sap.com/saphelp_nw04/helpdata/en/f4/0a1640a991c742e10000000a1550b0/content.htm
           <b>   eror handling in BPM.  
    </b>
    1. CCMS monitoring
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/42fb24ff-0a01-0010-d48d-ed27a70205a8
    2. BPM Monitoring
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e7bc3a5a-0501-0010-1095-eb47159e169c
    3. Monitoring XML Messages http://help.sap.com/saphelp_nw04/helpdata/en/41/b715045ffc11d5b3ea0050da403d6a/frameset.htm
    /people/sap.user72/blog/2005/11/29/xi-how-to-re-process-failed-xi-messages-automatically
    monitoring BPm https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/e7bc3a5a-0501-0010-1095-eb47159e169c
    Reconciliation of Messages in BPM - /people/krishna.moorthyp/blog/2006/04/08/reconciliation-of-messages-in-bpm
    Also see the below BPM related links
    check list for BPM https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/3bf550d4-0201-0010-b2ae-8569d193124e
    /people/shabarish.vijayakumar/blog/2005/08/03/xpath-to-show-the-path-multiple-receivers
    http://help.sap.com/saphelp_nw04/helpdata/en/3c/831620a4f1044dba38b370f77835cc/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/62/dcef46dae42142911c8f14ca7a7c39/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/de/766840bf0cbf49e10000000a1550b0/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/cb/15163ff8519a06e10000000a114084/content.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/08/16163ff8519a06e10000000a114084/content.htm
    Many other examples can be found under the following link at help.sap.com
    http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm
    And some weblogs
    https://weblogs.sdn.sap.com/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken]
    /people/siva.maranani/blog/2005/05/22/schedule-your-bpm *****
    /people/krishna.moorthyp/blog/2005/06/09/walkthrough-with-bpm
    /people/michal.krawczyk2/blog/2005/06/11/xi-how-to-retrieve-messageid-from-a-bpm
    /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    /people/sravya.talanki2/blog/2005/08/24/do-you-like-to-understand-147correlation148-in-xi
    /people/michal.krawczyk2/blog/2005/09/04/xi-do-you-realy-enjoy-clicking-and-waiting-while-tracing-bpm-steps *****
    /people/udo.martens/blog/2005/09/30/one-logical-system-name-for-serveral-bpm-acknowledgements *****
    /people/sudharshan.aravamudan/blog/2005/12/01/illustration-of-multi-mapping-and-message-split-using-bpm-in-sap-exchange-infrastructure
    /people/kannan.kailas/blog/2005/12/07/posting-multiple-idocs-with-acknowledgement
    Also have a look at these seminars,
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/daea5871-0701-0010-12aa-c3a0c6d54e02
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/media/uuid/e8515171-0701-0010-be98-e37bec4706cc
    Thanks !!!
    Regards
    Abhishek Agrahari
    Questions are welcome here!!
    <b>Also mark helpful answers by rewarding points</b>

  • Error Handling

    hi,
    I have an IDOC -> XI ->SOAP scenario.
    How do we handle error handling in the below scenarios i described:
    1. If i have an error in transmitting the xml to the receiver SOAP. How can i send an error email notification?
    2. A retry or resend has to occur for 8 hours i.e., we keep trying for 8 hours and if it fails then we need to notify through email. How can we do this?
    3. At the first failure transmission an email has to be notified and failure after 8 hours another email notification has to be sent so 2 emails will be sent for a failure transmission? Is this possible through XI?
    How can we achieve the above?
    Thanks,
    Tirumal

    Hi Tirumal,
    Configure 2 alerts.
    One to be triggered when there is the error in tramsmitting the SOAP XML.
    Next to be triggered after the retry for 8 hours. If you are using the BPM with wait, then you can associate the Alert with the Exception block of your BPM and trigger the same.
    Also, from SP14, Alerts can be triggered for errros in both integratioon engine and adapter engine.
    To create alerts , this blog can help you out,
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step
    From SP14 onwards, activation of end to end monitoring is not needed for Alerting. Refer to this note 870232 for this info.
    If you are on Sp14, implement the note 913858.
    If you are below SP14, then also check this blog,
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--troubleshooting-guide
    Regards,
    Bhavesh

  • Error handling in XI

    Hi All,
    I am implementing several scenarios in XI. They are mainly dealing with RFC, JDBC adapter, file.
    The main communication is between SAP R/3 and Oracle via XI, both to and fro.
    Pls tell me what are the standard error handling mechanisms in XI.
    The main focus areas are as follows:
    1. If the sender XML format in XI has error, how to inform the sender system.
    2. If receiver Oracle system finds some error in the received msg, how to inform the sender system.
    This is urgent, pls help asap.
    Regards
    Neetu

    Hi Neetu,
    You can use Alerts for the same..... Please go through the information below to know more...
    For alerts take a look at this blog,
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step
    For CCMS monitoring, this document,
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/42fb24ff-0a01-0010-d48d-ed27a70205a8
    From SP14 onwards, activation of end to end monitoring is not needed for Alerting. Refer to this note 870232 for this info.
    If you are blow SP14, then also check this blog,
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--troubleshooting-guide
    To send an EMAIL, assign an EMAIL ID to the corresponding user in the transaction SU01 and then set up SCOT and you can send emails when the ALERT is triggered.
    Once you have configure Alerts, you will get the Alerts into ALERT INBOX in RWB of the user. To also get the email, the following needs to be done,
    1. In SU01 -- Assign the Email ID for the Recipient of the ALERT.
    2. In , RWB>ALERT INBOX> PERSONALIZATION--> Time Independent Delivery and Email are selected.
    3. Finally, SCOT needs to be set up to send Emails. Check this for the same. You can ask your BASIS team to do this step.
    http://help.sap.com/saphelp_nw04/helpdata/en/23/1edf098ea211d2b47300609419ed29/frameset.htm
    Also, to test your Alerts, execute the report RSALERTTEST in SE38.
    Regards,
    Abhy

  • What is Considered Best Practice for Error Handling in Components?

    What would be the best approach to handling errors in custom (possibly composite) components?
    I see three different possibilities:
    Having the error handling funciton within the component. The problem is that this is not adaptable to the consumers error handling setup (i.e. logging to database, redirecting to a pretty error screen, etc.).
    Passing in an error function as a parameter. The problem here is how to have the externally defined error function interact with external elements that are not defined within the component, i.e. passing the error or fault object to a logging class, or something similar, of which the component knows nothing about.
    Referencing the external error handling methods directly from within the component. (Of course that's shabby programming, just listing as a technical option.)
    How do you solve this?
    My goal is to have a versatile custom component that can utilize any given consumer's error handler.
    Thanks,
    Mike

    or define a customized event and dispatch it when error occur, then you can just listen to it outside

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

Maybe you are looking for

  • Standby Logical DB ORA-00600: internal error code, arguments: [ksmovrflow],

    hi please help me how fix this problem? I have primary oracle database version 9.2.0.1.0 I had configured standby Logical database on separate computer & everything was going good but today I noticed the archived log havent applied & I have ORA-16111

  • WEB Proxy issue after Mountain Lion Update

    I had MAC OS X 10.6.8 on  my Mac mini before I updated it with MAC OS X 10.8. To connect to Internet we have some proxy setting in our company for which secure web proxy server is mentioned for web proxy and secure web proxy options in advanced setti

  • Qosmio F755-3d150 - Win 7 - no High definition on external display

    hello after instaling windows 7 and the nvidia driver, the external screen dosent display in HD like before, I tried to configer setting but no resolt, What driver do i need to install?

  • LineChart category axis labelFunction / dataProvider problem

    Hi, I am trying to plot a line chart using actionscript. What I am trying to achive is plot the chart with entire dataset, but show only limited number of points in x and y axis's. Problem:      When I give dataProvider to category axis with some lim

  • Javascript: select all text, break link to style

    Hi I'd like to select all text in a Document (in different independent textboxes) and then break the link to it's style (in the program in the Flyout-menu of the paragraph styles) Is this function scriptable (javascript)? How do I select all the text