How to catch SAP application errors in BPM.
Hi,
I have a IDOC to Soap Sync Scenario where I send the message to a Webservice. I have used a BPM since we need to catch the resposne of this message and map it to a RFC. For ex if I get a success resposne I need to map success if not than I need to catch the error and map it to the RFC. Now here in some cases like if the target system (webservice) is down than XI raises a sap application error:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Inbound Message
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIAdapterFramework</SAP:Category>
<SAP:Code area="MESSAGE">GENERAL</SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText>com.sap.aii.af.ra.ms.api.DeliveryException: Connection refused (errno:239)</SAP:AdditionalText>
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack />
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
Normally XI stops the process in these cases and does not proceed to the next step but I need to catch this message and map the content in the AdditionalText to the target RFC. Can anyone let me know how to catch this SAP Application Error in BPM and map it to the RFC.
Thanks,
Bhargav
Hi Gaurav,
As I have mentioned I need to catch the application error in the BPM. If you see the discussion that is mentioned after the blog you have mentioned it is stated that the fault messages or the application error cannot be caught in BPM.
In the blog that you stated we can catch the fault message and map it to a message structure but only to that extent after that it would stop the BPM process at that step but would not proceed further as shown in the screenshot given in the blog it would fail as "application error restart not possible".
I need to proceed further and capture this error to an RFC Structure and call a proxy.
Here after the error it does not proceed to the next step.
Thanks,
Bhargav
Similar Messages
-
How can I monitor application errors?
hi,
How can i monitor and where in one place both the technical errors and application errors.
for example , if i have File -> XI -> RFC
and the RFC has errors where can i see this errors in one place?Hi Udi,
The report RSALERTPROC does not need to run to deliver RWB alerts. These alerts are pushed directly to the receiver. Only if you want escalation processes or if you want to forward CCMS alerts to the Alert Mgmt. you need to schedule RSALERTPROC.
From SP 14 on PMI-free alerting was introduced. That means before SP 14 one has to configure and activate the End-to-End Monitoring, and to schedule the report SXMSALERT_PROCESS_DATA_GET in order to extract the alerts from the PMI data. For SP 14 and higher, that's not longer necessary.
If no alerts are being delivered, please check if "Suppress multiple alerts of this rule" is checked for your rule.
For SP 14 and higher you could also have a look at the report sxmsalert_logreader. This report shows some information about alerts being created or not.
You'll find more information about trouble shooting the alerting in SAP Note 913858.
Also go thru these links:
Alerts not getting triggered from Adapter Framework
Alert Configs...
/people/michal.krawczyk2/blog/2005/03/13/alerts-with-variables-from-the-messages-payload-xi--updated
Regards,
Abhy -
How to link SAP Application to Digital Signature
Dear all,
As per the sap note 593041,594010 and 827417 we have done the config setting and executed program DSIG_BOOKING_EX
in tcode DSAL we are getting the message "Signature process was successfully completed by user" please suggest us
how to link this to any SAP application ( Ex. Check printing ,PO Printing.) we r using script for printing these application.
Regards,
NikhilHi Nikhil,
please refer to this document:
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/e0fbaa71-cd8d-2910-5982-e30626035400&overridelayout=true
Best wishes,
Jan -
How to catch CONVT_NO_NUMBER runtime error in ABAP Proxy
Hi all,
In our abap proxy program, sometimes the CONVT_NO_NUMBER will happen and cause the program dump and then stuck the whole queue. I noticed that this error cannot be caught by CX_ROOT exception class. So, how can I catch this runtime error and avoid the dump of our program?
Thanks,
YiNingHi,
While Executing the proxy,first give \h TC and then execute the proxy then it will automatically got to debugging mode.
I think ur data is worng,if it is wrong then only u will get this type of errors.
Regards,
Phani -
How to catch SMPP gateway error type ?
Hi,
How can i catch different SMPP error type return by SMSC server ?
I want to catch result like 0x45,0x01,0x0B,0x58,0x15.... in my code. I can see eventgateway.log logging the error message but how do i get error type in my code ?
ThanksHi,
There are different approaches, you can use a validate activity or you can check the validate check box in an assign activity...
Have a look on the links bellow...
http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/bp_appx_ref.htm#SOASE86011
http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/bp_manipdoc.htm#SOASE1824
http://docs.oracle.com/cd/E23943_01/dev.1111/e10224/bp_manipdoc.htm#SOASE87095
Hope this helps...
Cheers,
Vlad -
How to handle Queue blockage due to application error in BPM
Hi
In the integration process that i have created, there is a SyncSend(calling a webservice using SOAP adapter) Step.
Sometimes the response message from the receiver application may be a Fault message.
Whenever a fault message is sent back to integration process in XI, the message fails and the queue is blocked.
Bacause of this queue blockage , the next messages to be processed are getting blocked.
How to handle this?
Thanks
Ramdo you have configured the fault message mapping in the Operation Mapping? what error does the sxi_monitor display?
-
How to protect SAP Application Tables and Reports in R/3
Hi Gurus,
Any one please explain me detail how to protect tables in R/3 with different senarios.
How to protect reports in SAP R/3 without assigning SA38 transaction access
How to protect Program in SAP R/3 in R/3Hello Happyman,
<b>What do you mean by Protect Table, Program and Report?</b>
Let me ask you one base Question, On which area are you working? Are you from functional side or Technical side (Developement or Basis guy)?
This is very clear cut answer that with the restricted autorization you can protect table and programs. Do not provide the change autorization.
CATCH your BASIS guy and he will do rest of the things. Just explain him what are you want to protect.
Hope this helps.
Regards
Arif Mansuri -
How to get SAP application language only with SQL code
Hi all,
is there a way to get the current language only whith a sql query on the Database?
I know that Ican find that information from the Application object of the UI Api but in this case i can't access them.
Thanks in advance, Luca.Hello
You cannot get the Application language (GUI Language) from SQL, because it is stored on the client machine filesystem
Location is defined in
C:\Program Files\SAP\SAP Business One\Conf\b1-config-path.txt text file, which by defaulf is:
%USERPROFILE%\Local Settings\Application Data\SAP\SAP Business One\b1-current-user.xml file
Regards
J. -
Hi Experts,
i have two date picker in this if i type Wrong format automatically system show error "type the correct format", That means i will show the two error message.
But my requirement is i want to catch that error and i will give my own error message,please tell me its urgent
Regards,
Nutan
Edited by: nutan champia on Apr 23, 2008 9:20 AMcreate a Error message in Message Pool
e.g: name - INV_DATE,
Message: Invalid date {} // {} will take arguments
use this code where you want to display/check exception and rename attributes and context variables in the code
IWDNodeElement elemnt = wdContext.currentContextElement();
// your date element
IWDAttributeInfo info = wdContext.getNodeInfo().getAttribute("date1");
// date attibute
wdComponentAPI.getMessageManager().raiseInvalidContextAttributeMessage(
elemnt,info, IMessageCreatePDF.INV__DATE, new String[] {}, true);
// IMessage<YourComponentName>.<Messages>
// this will araise exception
nikhiL -
I updated my Firefox to 19.1 and since then Firefox will not respond and gives the following error message ""The instruction at 0x77a42245 referenced memory at 0x77f174e8. The memory could not be read. Clic on OK to terminate the program. When you click OK then Firefox crashes. How do I fix this please?
See:
*http://kb.mozillazine.org/Firefox_crashes
*https://support.mozilla.org/kb/Firefox+crashes
If you have submitted crash reports then please post the IDs of one or more crash reports that have this format:
*bp-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
You can find the IDs of the submitted crash reports on the <i>about:crashes</i> page.
*You can open the <b>about:crashes</b> page via the location bar, like you open a website.
See:
*http://kb.mozillazine.org/Mozilla_Crash_Reporter
*https://support.mozilla.org/kb/Mozilla+Crash+Reporter -
How to catch NaN, infinity errors?
Example lets say i want to detect a NaN error
when detected a error dialog appears
taking this as an example
String s;
float Number;
double Ans;
s=txtNumber.getText();
Number=Integer.parseInt(s);
Ans= Number*2;
s=String.valueOf(Math.toRadians(Ans));
txtProduct.setText(s);
} if ((Ans).equals("NaN"))
if(true){
JOptionPane.showMessageDialog(null,"Try Again.","Inane warning",JOptionPane.ERROR_MESSAGE);Can some1 tell me where i am wrong this works but for everything
including Nan and Infinity i only want to detect NaN or Infinity
now ive tried the second method isNaN and isInfinite
if((double).IsNaN(Ans)); II .IsInfinite(Ans)
if(true); same as above public boolean failed to detect NaN or Infinity either returns true when its not false when its not
with the dialog message keeps poping up
and
even with catch
try{
Ans=Number*2
}catch (ArtithmeticException e) method the second and third dont give errors and they dont even detect NaN nor Infinite when the dialog is to show it doesn't
ive tried this aswell
if (txtProduct.setText(s).isNaN(Ans)){
if(true){
dialog should appear
i get an error saing double or float or void cannot be differenced
im posting this here for the experts who can figure this out
try test the simple code before i could work and implement a more complex one later
your help on this one
thanks
Edited by: AK-Emm on Sep 5, 2008 7:29 PMAK-Emm wrote:
float Number;
double Ans;
Number=Integer.parseInt(s);
Ans= Number*2;
if ((Ans).equals("NaN"))
You have an integer, which you convert to a float and then a double. You then check if it is NaN. There are no integer values for which this sequence of operations will produce a NaN.
Are you coming from working in a language where 'NaN' is used to signify that parsing the string failed? In Java, the method throws NumberFormatException rather than returning NaN. This is done so that client code is simplified as the error handling is separate from the main flow, because NaN is a double not an int and Java is mostly strongly typed, and because Double.parseDouble("NaN") should return NaN without it being an error. -
CCMS for application errors in SAP R/3
Hi Experts,
I am working on File->ABAP Proxy scenario.
My client has configured CCMS in solution manager system to receive alerts from PI as well as from SAP ECC system.
One thing which is not clear to me is how to capture the application errors raised in ABAP proxy (server proxy) in CCMS. I am not clear on below points.
1. Is it required to trigger SALERT_CREATE explicitly in ABAP proxy to trigger alerts in case of application errors?
2. Where to define the alerts using ALRTCATDEF? Is it in SAP ECC or in SAP PI?
3. Do I need to create alert rule in PI RWB for alerts related to application errors occurring in SAP ECC?
I have read the blogs and referred the threads related to CCMS but I could not get much on above mentioned points. Could you please help me in this regard?
Thanks a lot.
Regards,
PrasadCCMS alerting is different than the alerting available with SAP PI. Therefore when you already have a CCMS setup, there is no need for ALRTCATDEF, PI RWB setup.
Regards,
Prateek -
Hi,
we are calling an RFC synchronously from BPM. This is a standard BAPI, that does not have any RFC exception message (BAPI_IPAK_START and BAPI_ISREQUEST_GETSTATUS). We are only able to catch system errors, since no RFC exception message is avaiable for which we could define a different exception branch.
If an error happens in the RFC, an application error is thrown, which is not catched in the exception branch defined to handle the system error. After the application error, the process simply terminates- that's it.
Why is an application error not catched as system error? Is there any way to catch an application error and let the business process continue?
Your help will be rewarded,
VolkerHi Volker,
a BAPI does not throw any exception, therefore you cannot catch any.
- You could write a wrapper RFC around the BAPI which interprets the RETURN structure and throws exception in case of an error.
- You could have a fork in the BPM depending of the entries in RETURN.
Regards
Stefan -
Maintain sap.application.global.properties in Netweaver 7.1
How to maintain sap.application.global.properties in Netweaver 7.1 ?
In 7.0 there was configuration adapter where i can maintain the properties where to find it in 7.1?If you application is flagged onlinemodifiable = true, then you can find the property sheet under, NWA -> Java System Properties -> Applications
-
How to catch the ApplicationStart event??
how to catch the application start event??
i want to do some actions (Java code) that will be run once when the application started
this like ApplicationStart event in ASP.NET
how ???Google for javax.servlet.ServletContextListener. You need to write a class that implements this interface and register it in web.xml.
Please ask questions like this in the JDeveloper or OC4J forum since they are not related to JHeadstart.
Steven Davelaar,
JHeadstart Team.
Maybe you are looking for
-
How to work with database files on an external hard drive (USB 2.0 or 3.0)
I have Oracle 11gR2 installed on my laptop. I would like to create a database instance on my laptop, but to put the datafiles on an external hard drive (USB 2.0 or 3.0). The external drive will always be attached to the laptop, whenever the database
-
Customizing acrobat toolbar in internet explorer
Hi, I am using acrobat 9 pro, and opening pdf file in the internet explorer. Now, acrobat toolbar does not show some functionalities like redactions, advanced editing and so on. Is there any way to show redaction function in the acrobat viewer toolba
-
XI_J2EE_ADAPTER_JDBC INITIALIZATION_ERROR
Hi experts, file to JDBC the follow error occurs: Status System Error Repeatable Yes Cancelable Yes Error Category XI_J2EE_ADAPTER_JDBC Error Code INITIALIZATION_ERROR Start 04.02.2009 12:16:56 End 04.02.2009 12:31:56 Send
-
What is the use of the setter dependency injection in Spring?
What is the use of the dependency setter injection ? In a database driven app, I retrieve results, use the javabeans set methods to save stuff in javabeans and then call get on it. What is the use of having something set externally from a xml already
-
Using session variables in Flex 2
I'm not sure if this is the correct place for this topic...but the Flex 2 upgrade/migration forum didn't seem too lively. So let me set up my situation and then pose the question. In Flex 1.5, I accessed the session servlet using: <mx:RemoteObject so