Integration Process - Exception Handling

Hi,
I have developed an integration process, which call web-service, and catch it's exception. The problem is that the WS returns generic exception (SYSTEM) for all exceptions, but with different text for each one.
Is there any way to get the exception text (the text itself and not the type), analyze it and handle the process correspondingly?

Hi Shai,
When you are calling the web-service method in BPM, put it in a block.....in the exception branch of the block, the control will go when the web-service will give exception.........so then put a switch in the exception branch - put the exception message as a condition for switching - do switching on basis of message text - and in the switch branches, do what you want to do for those exceptions.
Hope it solves your query.
Thanks,
Rajeev Gupta

Similar Messages

  • Integration Process exception handling & alerts, Java

    Hello,
    I would like to enhance my basic scenarios fool proof and with as much Java as possible.
    I have set up several asynchronous and synchronous File to SOAP transfers between systems A and B
    using PI70 including my own Java mapping classes and PI's AF_Modules beans. They work just fine.
    I have not designed my own Integration Processes yet, so execution is based on channel settings and availability timing.
    I have learned this aproach may be exposed to general faults resulting manual monitoring and repairing.
    For example server problems at receiver side can result data losses as sender channel just keeps removing source
    files like normally, as the process would be better to just stop right there and alert or something.
    My question is, is the "Enterprise services Builders" Integration Process & Graphical definition screen the one and only tool to 
    customize whole process exception handling and alerts in PI, and Java is not an option?
    Appreciate your advice on this.
    Kind regards m

    Hi m,
    Strange Name
    >>I have learned this aproach may be exposed to general faults resulting manual monitoring and repairing. For example server problems at receiver side can result data losses as sender channel just keeps removing source  files like normally, as the process would be better to just stop right there and alert or something.
    If you are looking to handle this particular scenario, then we have the alert mechanism and CCMS monitoring. There you will come to know whether the end system down or not.
    Also in addition to this you can write your own java (in message mapping, as modules, java mapping) /abap code (as abap mapping, user exit in standard functions etc) for providing more details in error scenarios. But you need to validate whether the maintenance/development cost for the code is justified in your scenarios
    Regards
    Suraj

  • BPM Process - Exception handling or timeout issues?

    Hi Guys,
    I have a BPM process as below.
    1. Receive step: Receive the file with multiple transactions.
    2. Transformation step: Split the file into individual transactions
    3  Block step which includes  -- par for each mode
    1. Send Step (Synchronus): Each individual transaction needs to contact the 3rd party system and get the response. --  Do i need to handle any exceptions here  ?
    2. Container : Collect all the responses 
    Block ends
    4. Transformation: combine all the responses in to a single file
    5. Send Step: synchronus -- send the above single file and get the response back
    6. Transformation : Transform the above response into the target structure.
    7.  Send: send the message asynchronusly to the target system
    I need suggestion regarding the exceptional handling or any time out issues, i need to take care of.
    any suggestions would be really appreciated
    Thanks,
    Raj
    Edited by: raj reddy on Feb 12, 2009 10:12 PM

    Hi,
    I) For the Block holding the Sync Send, create an Exception Block. (right click on Sync Send -> Insert   -> Exception Branch)
    II) Name the Exception block (ex: exceptionHandler).
    III) in the Sync Send step ->Properties -> Exceptions -> in System Error - add exceptionHandler.
    IV) Now within the Exception handler block you can create containers to hold values from payload, throw exception as email etc).
    This will cover your sync send step incase there is an error while sending the request of a timeout during receiving the response.
    You can also do the same for the Step 7) Asycn send - if required.
    Another suggestion in your question Step 6) can be done outside the bpm, when you do the interface determination for that Asycn Send you can add the Interface mapping that will map the responses to the target structure.
    Doing this will reduce one step in your BPM. For further information in how more you can fine tune your bpm, read this blog - https://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/5113. [original link is broken] [original link is broken] [original link is broken]
    All the best.
    Regards,
    Balaji.M

  • Integration Processes within Integration Scenario

    The process I need to model is as follows:
    SRM XML PO => OAG XML PO => Embeded OAG XML PO in another message.
    I have looked at trying to use an integration process to handle the first conversion and then a regular interface mapping for the 2nd. However despite creating the Integration process in the same software component as the Integration Scenario I get nothing in the drop down list when searching for the Integration process in the Application Component definition. Even if I try to create a new integration process from within the Application component I get an error saying that the SCV of the integration process and the SCV of the Application component are not the same
    Does any one have any suggestions

    Hi Rajasekar,
           Hope u do fine.
       Ur not mentioned any of ur requirement.
       In BPM scenarios only we can create the INTEGRATION PROCESS.
       In REPOISTERY--> we can design the INTEGRATION PROCESS.
       In DIRECTORY--> Service can installed the Directory.
    Regards,
    sateesh N.

  • Exception handling in integration processes

    Hi,
    I have a very simple question but I can't find an answer. I have designed an integration process that upon several other things send synchroneously a message to an ABAP proxy. Sometime the ABAP proxy generates exception. In my integration process these exceptionx are catched in a specific branch.
    My question is: how to access the data contained in the catched exception (message, text....)?
    Regards,
    Yann Le Blevec

    Hello Yann,
    There is no solution for your problem, I guess. I didn’t try it on my own, but in my own research on sdn I found two experts positions to that issue:
    "you cannot catch the exception's value in the XI "
    (see posting from Michal Krawczyk, Jun 12, 2006, in thread catch the exception)
    "The content of a fault message are not accessible inside a BPM."
    (see posting from Bhavesh Kantilal, Oct 3, 2007, in thread Notify user about Exception in BPM)
    Regards,
    Dennis

  • Handling fault messages in an Integration Process (bpm)

    I have a bpm in PI 7.11 which performs a synch call to an external webservice. In addition to the request/response, that webservice can also generate two faults: ObjectNotFoundFault and generalfault.  I am having trouble handling these faults - when a fault occurs my handler is not being invoked and thus the bpm process stops/errors. When I look at the underlying process (via txn swi1), I see the exact error text:
    "No exception defined for fault message ObjectNotFoundFault http://www.companyb.com/services/olsa_v1_0/"
    From what I understand within the bpm synch call step to the webservice I need to do the following to handle the exception/fault:
    - put the synch call (to the webservice) into a block
    - add an exception branch to that block named let's say A & set the exception handler of that block to be A
    - in the exception setting of that synch step, select A
    In my case, I don't care about the fault details other than to ensure it does not stop the whole Integration Process, so in my exception branch I don't do anything. I did try adding a control step within it too (as per SAP Press text book).
    Is there anything else I need to do here?  I am not mapping the returned fault - does the fault need to be mapped (not sure how I would do this given that the synch step uses an abstract interface and therefore to my knowledge no fault mapping can be done)? 
    There are 2 Notes that describe my issue exactly:
    https://service.sap.com/sap/support/notes/1484903
    https://service.sap.com/sap/support/notes/1158699 <-- this one refers more to me, but we already have in 7.11
    Can anyone let me know exactly the steps I would perform to handle these faults - does the exception name / handler A above need to be named the actual exception / fault ObjectNotFoundFault?
    Any help appreciated.
    Thanks,
    Keith)?
    Any help appreciated.
    Thanks,
    Keith

    Thanks - my scenario I guess is #2 of that blog. But is your take that even if I don't care what is in the fault message, i.e. I don't care about the contents of it but rather I just want to continue on from it, that I still need to perform this java coding?  It's not clear to me from what he says - it seems to me he does the java coding to actually capture the contents of the message.  I am in fact using the soap axis adapter too, as he is. The screen shot showing the exception branch is basically what I have.
    Regards,
    Keith

  • Exception in Integration Process?

    Hi,
    How can I create an exception in the integration process?
    Thanks for yiur help.
    Regards.
    Stefan

    hi Stefan,
      While designing ur Integration Process , u have a step called "BLOCK" . In which u have to types of branches <b>'Exception Handler'</b> and a <b>'Dead line Branch'</b>.
    U can design ur Exception handling steps in the <b>'Exception handler'</b> branch and move the control to that branch in case if some Exception Occurs.
    For Further Information
    http://help.sap.com/saphelp_erp2004/helpdata/en/33/4a773f12f14a18e10000000a114084/frameset.htm
    Regards
    Shailesh

  • Exception Handling of Screenflows inside Processes

    Greetings,
    We are currently encountering a problem where some unhandled Exceptions are not being caught in our BPM application.
    Whenever an exception occurs inside a process, BPM has provided a way of handling those exceptions by using the “Process Exception” activity (this looks like a small lightning bolt). All errors that are not caught but are of the compatible type would fall into this activity and get processed.
    The problem arises when your process has a Global Activity Interactive Screenflow. Whenever this screenflow encounters an error inside its flow, it does not get caught by the “Process Exception” activity even though this process was the one that invoked it.
    We can try to make some exception handling per automatic activity inside the Screenflow itself but this usually results in large try-catch statements and multiple connections to custom defined exception activities. This may not be the optimal solution to this.
    Would anyone be able to shed some light on this or offer some best practices on how to resolve these issues?
    Thank you very much!
    Oracle BPM Suite 10.3.2

    Wish I had a better answer for you. Telling you something that you already know, but if you've defined the Global's property with "Has instance access" then you can catch the exceptions in the process.
    Undoubtedly though, you've got a standalone Global or you would not be asking the question. The exception from a Global that does not have instance access can't get caught in the process because there was never an instance created for it inside the process.

  • JVMDG215: Dump Handler has Processed Exception Signal 11.

    <html> <body>i am getting following exception on runtime in WSAD5.1.2 on WINDOWS XP OS , when using user defined method in place of stop() method of Thread class , that defined method contains interrupt() method .Anybody please let me know how to solve it <br>
    JVMDG217: Dump Handler is Processing a Signal - Please Wait.
    JVMDG303: JVM Requesting Java core file
    JVMDG304: Java core file written to C:\Program Files\IBM\WebSphere Studio\Application Developer\v5.1.2\javacore.20070128.103223.412.txt
    JVMDG215: Dump Handler has Processed Exception Signal 11.
    </body></html>~

    Try to upgrade the JDK/VM

  • Exception handling in stored process, loop IF..ELSE

    Hello Guys,
    we want to put in exception handling in the loop but get the following error:
    Error(43,3): PLS-00103: Encountered the symbol "EXCEPTION" when expecting one of the following: begin case declare end exit for goto if loop mod null pragma raise return select update while with <an identifier> <a double-quoted delimited-identifier> <a bind variable> << close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge pipe
    create or replace
    PROCEDURE xxxx
    FOR MESSSY IN
    select I.*
    FROM x I
    LOOP
    IF upper(CODE)='N' THEN
    INSERT INTO T_MESS(MP)
    select I.MP_ID
    FROM T_ME
    ELSIF upper(MESSSY.k2)='L' THEN
    DELETE T_MESS WHERE T_MESS.MP = MESSSY.MP;
    END IF;
    EXCEPTION
    WHEN DUP_VAL_ON_INDEX THEN
    A program attempted to insert duplicate values in a column that is constrained by a unique index.
    DBMS_OUTPUT.PUT_LINE ('A program attempted to insert duplicate values in a column that is constrained by a unique index.')
    --No Rollback
    END;
    COMMIT;
    END LOOP;
    END xxxx;
    does someone know why?

    BluShadow wrote:
    Well, your code is missing all sorts of bits and we don't have your data or your exact logic to know what it's supposed to be achieving.
    That is right, you dont have my data and that is why I was suprised by your comment.
    Since the input table might contain a few thousand rows and each of those might need to
    be considered N , D, or C and each case has a different handling I can not imagine how this
    can be all done with a merge statement.
    MERGE
    T_METRICPOINT_META with T_METRICSSYSTEM_LOAD where T_METRICSSYSTEM_LOAD .LOAD_DATE=to_char(sysdate)
    WHEN MATCHED THEN --we know those are the metric points that have to be loaded today, but we still need to do a IF..ELSE to handle them
    WHEN NOT MATCHED THEN -- not considered in todays load
    ----original code-----
    create or replace
    PROCEDURE myprocedure AS
    BEGIN
    --Extracting the records from T_METRICSSYSTEM_LOAD which have todays load date. Corresponding to these MP_System, we extract the MP_IDs from the T_METRICPOINT_META table.
    --Comapring these MP_IDs with the MP_IDs from the source(T_METRICPOINT_IMPORT) and extracting only those Metric points which need to be loaded today.
    FOR METRICSSYSTEM IN
    select I.*
    FROM T_METRICPOINT_IMPORT I
    where I.LOADDATE = TO_CHAR(SYSDATE) AND I.MP_ID IN
    (select a.MP_ID
    from T_METRICPOINT_META a INNER JOIN T_METRICSSYSTEM_LOAD b on a.MP_SYSTEM = b.MP_SYSTEM where b.LOAD_DATE=to_char(sysdate))
    LOOP
    --If mutation code in the source/import data is "N", the record is inserted as it is in the "T_METRICPOINTS" table.
    IF upper(METRICSSYSTEM.MUTATIONCODE)='N' THEN --new
    INSERT INTO T_METRICPOINTS(MP_ID, ......)
    SELECT DISTINCT I.MP_ID,.....
    FROM T_METRICPOINT_IMPORT I WHERE I.MP_ID = METRICSSYSTEM.MP_ID
    ELSIF upper(METRICSSYSTEM.MUTATIONCODE)='D' THEN --delete
    DELETE T_METRICPOINTS WHERE T_METRICPOINTS.MP_ID = METRICSSYSTEM.MP_ID AND T_METRICPOINTS.KEY = METRICSSYSTEM.KEY;
    ELSIF upper(METRICSSYSTEM.MUTATIONCODE)='C' THEN --correction
    UPDATE T_HISTORYMETRICPOINTS H
    SET CHANGE_DATE = to_char(sysdate)
    WHERE H.MP_ID=METRICSSYSTEM.MP_ID AND H.KEY = METRICSSYSTEM.KEY;
    INSERT INTO T_HISTORYMETRICPOINTS(MP_ID, KEY, .....)
    --The distinct here is used, to handle 2 identical records in the input table with correction value "C". This would insert into 1 record in the T_HISTORYMETRICPOINTS table without
    --violating the primary key constraint.
    select DISTINCT I.MP_ID,I.KEY, ....
    FROM T_METRICPOINT_IMPORT I WHERE I.MP_ID = METRICSSYSTEM.MP_ID
    --END IF;
    END IF;
    COMMIT;
    END LOOP;
    END myprocedure;

  • Error handling  in the integration process

    hello  all,
    here  i have a situation in which ,  i have  to  do  some work in the  integration process step of the integration repository, i am given a txt  file which  has a 100  records  each  is  a employee detail, the last  record  has  the summary  total ,  that  is last row  contains  the sum  of  a particular  column.
    now  i am  supposed  to do  somthing  in  integration  process, so  that my  program  should  add all the  values  of  the  specific field , of  all employees and  check it  with given  sum, if  it  tallies, we  have  to  go ahead,  or else  send  back a mail saying  there  is  error  input, 
    any  help  will be  greatly  appreciated.
    thank you

    Hi kutumba,
    in the container of the BPM you crate a element of type integer.
    As I told you in your other thread you need a multine-container element taht is looped in a BLOCK.
    In this BLOCK increment your counter-element. After the Block define a condition for sending/not sending.
    Also refer to you SAP-BASIS SWV! There are helpful samples!
    Regards Mario

  • Alerts in Integration Process (BPM)?

    We are just beginning to use Alerts in PI 7.1.  If an error occurs in an integration process (BPM), will it trigger an alert if the Alert Rule is defined wide open?  Or do you actually have to trigger the alert in the integration process with an additionl step to trigger the alert?

    The Alert has to be defined in ALRTCATDEF.....no matter where the alert comes from (IE, AE, BPE)
    If an error occurs in BPM and you have not mainatined proper exception handling for it then....and if the processing shows in red in SXMB_MONI then the alert will be raised as IE alert
    However if you have implemented exception handling for a step and then in that exception branch you raise an alert then your BPM will raise alert....the subject of your alert email will be Process <ProcessID>
    BPM related alert can be either with static text (using Alert Container Variables) or Dynamic text (using some value from payload)
    Please note that to raise an alert from BPM it is not compulsory to only raise it as a Dynamic Alert......static alert can also be raised.
    The documents which are available for lower releases are still applicable in alert creation.....so existing blogs/ docs should work
    Regards,
    Abhishek.

  • Exception Handling for Multi Mapping in bpm

    Hello,
    does anybody know a way of catching an error occured in a multi-mapping used in an integration process.
    It seems to me, that when i am using a multi-mapping in an integration process and an error occurs, the message cannot get back to the integration process. In smq2 I can see, that there is the following error:
    CX_MERGE_SPLIT
    Regards
    Günther

    The transformation-step is in an block with an exception branch and it is well configured.
    When I use a 1 to 1 mapping and an error in the mapping occurs, all is correct. The integration process jumps in to the exception branch and finishes  correct. But when use a multi mapping (1 to n; n to 1; n to m) and an error in the mapping occurs, then there is always an error in the bpe inbound queue.
    There must be some problem with the split-and-merge program. I think that the split-and-merge program handles the merging of n messages into 1. You can see this when you test a mapping in the integration builder designer. In a multi-mapping there you can see a xml-structure that envelopes the application messages, f. ex.:
    <ns0:Messages xmlns:ns0="http://sap.com/xi/XI/SplitAndMerge">
       <ns0:Message1>
          <myMessage1>data</myMessage1>
       </ns0:Message1>
       <ns0:Message2>
          <myMessage2>data2</myMessage2>
       </ns0:Message2>
    </ns0:Messages>

  • Transformation step in Integration Process

    Hello Everybody,
    I have used a transformation step in Integration process to transform source structure to target structure. In the same block i have used control step to cancel the process if there is any error found in transformation. I am handling this by raising exception.
    Now my problem is, i found my message got failed in PE and it is showing that there is error in mapping, i took the copy of corresponding message from SXM_MONITOR and tested the mapping program, It executed successfully but the Integration process is showing that there is an error in mapaping.
    Please let me know your thoughts, urgent.
    Edited by: vijay thirumareddi on May 9, 2008 2:28 PM

    hi
    same mapping behaving differently !!
    make sure that in bpm u r using exactly the same message mapping.
    could be due to cache refresh problem. activate the message mapping again. also check the cache notifications.
    if it still do not works then do a full cache refresh.
    rgds
    arun

  • How to catch the error occurred in Integration Process, and then save it?

    1. how to catch the error occurred in Integration Process, and then save the detailed error message to the file?
    2. there are fault message type for inbound message interface, how to use the fault message type in IR?
    Thanks,
    Michael
    Message was edited by: Spring Tang
    inital
    Message was edited by: Spring Tang
    detailed message output
    Message was edited by: Spring Tang
    fault message type

    Hi Spring,
    If u give an exception step along with your Transformation Step, whenever some error occurs in your message mapping, this exception block wil be triggered.
    You can configure your exception block to do all exception processing that you want. This exception handling is like any other java Exceptio n Handler. You can do anything that you want in your exception handler block on the basis of your requirements.
    <i>If an exception is triggered at runtime, the system first searches for the relevant exception handler in surrounding blocks. If it does not find the correct exception handler, it continues the search in the next block in the block hierarchy.
    When the system finds the correct system handler, it stops all active steps in the block in which the exception handler is defined and then continues processing in the exception handler branch. Once the exception handler has finished processing, the process is continued after the block.
    If the system fails to find an exception handler, it terminates the integration process with an error.</i>
    Regards,
    Bhavesh

Maybe you are looking for

  • MBP working very slow, rarely displays working wheel

    Hi guys, My MBP is working very slow. I have taken off AVG, and in my user account I've stopped Soundflower from launching automatically. This seemed to help for a few days, then it's back to dragging. I used Etre; but don't know the items mean... Th

  • Records are not displaying as expected.

    Hi, Records are not displaying as expected. i designed an query as SELECT '1. Emp Detail ' Details from dual UNION ALL SELECT empno||ename details dfrom emp UNION ALL SELECT '1. Dept Detail ' Details from dual UNION ALL SELECT deptno||dname details f

  • How to transfer a video which was already on sd ca...

    How do i transfer videos which were already on my sd card into my photo album? I can only get them through the

  • Send and receive SMS

    Hello! Please, can anyone tell me how can I create an application which send and receive SMS at the same time. I�ve got an GSM modem. This application must run under Linux. I did it with Windows 98 and it ran fine, but when I try run it under linux I

  • AirPort Utility hangs on "Reading the AirPort Extreme configuration"

    Our main router is our AirPort Extreme. We have two other AirPort expresses on the WDS. Everything was working fine till tonight. All the computers can connect with the router and with each other, but the AirPort Extreme doesn't want to connect to th