Based on fault message ABAP coding required.

Dear Experts,
         I design a scenario with Proxy to JDBC Synchronous interface, in that i kept fault message to catch the technical errors which are throwing by Oracle system like " unique constaint violated,  can't insert value into a particular field ". This type of error messages we can able to get in sxmb_moni of PI system as below shown, but we need the same message in SAP system. For that what we have to do in ABAP as well as PI sides.    Below highlighted error message wants in SAP Screen.
Error SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
  <SAP:Category>XIAdapterFramework</SAP:Category>
  <SAP:Code area="MESSAGE">GENERAL</SAP:Code>
  <SAP:P1 />
  <SAP:P2 />
  <SAP:P3 />
  <SAP:P4 />
  <SAP:AdditionalText>com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'PDI_PIPE' (structure 'Statement'): com.microsoft.sqlserver.jdbc.SQLServerException: Violation of PRIMARY KEY constraint 'PK_PDI_PIPE'. Cannot insert duplicate key in object 'dbo.PDI_PIPE'.</SAP:AdditionalText>
  <SAP:Stack />
  <SAP:Retry>M</SAP:Retry>
  </SAP:Error>
Kindly suggest me..
Thanks & Regards,
Srihari.

Hi,
We can easily implement fault message coding in ABAP server proxies, but in case of JDBC not sure you can implement this.
one sulution is write a stored procedure in receiver side and you can have a flexibility to send error message as a response(in vaid exml format).
using standard insert statement/anyother data base operation without stored procedure not posible to capture these kind of errors in to falut messages and sending back to ECC may be not possible.
regards,
Raj

Similar Messages

  • ABAP coding required in order to send Output via External Send (5)

    Hi
    I require some coding to an ABAP program in order for my SD output to be succesfully sent by 'external send'
    I have a shipping output type.
    assigned Partner functions and applicable mediums - 1, 2 and 5
    however when trying to produce output via comm method 5, external send, i am gettting red error messages/ traffic ligh
    processing log is as follows:-
    "processing log for program xxxxxxxx routine ENTRY
    Please enter an address number
    communication type      cannot be used"
    all outputs for medium types 2 Fax and 1 print are all OK for all Partner functions involved
    I have changed to another output which works fine,:- altho as this was written specifically for another outut,and form, so there is a lot of data missing on the form with this program.
    we have tried to deciper the coding on the program that does work, but to no avail
    Many thanks for your help on this matter
    Tony

    You need to maintain/fill ADDR_KEY structure in the print program....

  • Error handling using fault message type in outbound synchronous ABAP proxy

    Hi,
    We've a scenario, outbound synchronous ABAP proxy to synchronous SOAP receiver. The requirement is to send multiple records in a single rquest and get response for all the records sent (in the same response message).
    Say if I send 10 records from ECC, I should get 10 records as response from SOAP to ECC. But the problem here is, there could be some invalid requests, for which an invalid error status code should be sent as part of response.
    Source Structure
    Req_Proxy
        req (0..unbounded, string)
    Response Structure
    Resp_SOAP
      Resp (0..Unbounded)
           respString (0..1, String) (carries the actaul response message)
          status code (0..1, String) (carries the status of the response, for ex, 001 (successful), 002 (error))
    And now we are planning to make use of Fault Message Type, to track the errors from SOAP (status code 002). But, we are not sure on how to track this for all the requested records. Is it possible to track the errors for all the requested records in a singe call using fault message type? For eg if 8 records are successful and 2 are invalid, then we should get 10 records in response 8 for valid and 2 for invalid accordingly.
    Please calrify.
    Thanks.
    Rohit

    For eg if 8 records are successful and 2 are invalid, then we should get 10 records in response 8
    for valid and 2 for invalid accordingly.
    Check if you can modify the WSDL structure to include an error node that would get populated incase of invalid entries....this would mean that you get the success and failure details in the single message....also at the proxy-end make the necessary change in your DT.....may be then you do not need to use the fault message...
    Regards,
    Abhishek.

  • ABAP Web Services Exception Valorization in SOAP Fault Message

    Hi,
    I created a Custom Function Module in ABAP with a custom exception ( "Exception1) in exception list (including a short text description of the exception ("This is the first exception!!!")).
    I exposed it as web services by means of 'Web service ABAP creation wizard".
    I hard coded the raising of the exception in order to see the valorization of SOAP Fault Message.
    The problem is that the field "Text" in SOAP fault message is empty instead of "This is the first exception!!!".
    Can you help me?
    Thanks in advance
    Giuseppe
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
         <soap-env:Body>
              <soap-env:Fault>
                   <faultcode>soap-env:Client</faultcode>
                   <faultstring xml:lang="it">Exception1</faultstring>
                   <detail>
                        <n0:Zprova.Exception xmlns:n0="urn:sap-com:document:sap:soap:functions:mc-style">
                             <Name>Exception1</Name>
                             <Text/>
                        </n0:Zprova.Exception>
                   </detail>
              </soap-env:Fault>
         </soap-env:Body>
    </soap-env:Envelope>

    Hi,
    in case you want some specific text,you can raise the exception  like this in your function module.
    MESSAGE I001(ZPLATINO)  RAISING EXCEPT1.
    message class: ZPLATINO
    exception        : EXCEPT1
    message no 001,
    message text : CHECK ERROR PUSHKAR1
    and your response will be like.:
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
         <soap-env:Body>
              <soap-env:Fault>
                   <faultcode>soap-env:Client</faultcode>
                   <faultstring xml:lang="en">EXCEPT1</faultstring>
                   <detail>
                        <n0:Zpl.Exception xmlns:n0="urn:sap-com:document:sap:soap:functions:mc-style">
                             <Name>EXCEPT1</Name>
                             <Text>CHECK ERROR PUSHKAR1</Text>
                             <Message>
                                  <ID>ZPLATINO</ID>
                                  <Number>001</Number>
                             </Message>
                        </n0:Zpl.Exception>
                   </detail>
              </soap-env:Fault>
         </soap-env:Body>
    </soap-env:Envelope>
    I think this solves your problem.
    points..points..:)
    Message was edited by:
            pushkar anand

  • Application ERROR - Fault message Error in Inbound ABAP Proxy !!

    Hi Folks,
    I have got application error while doing in Inbound proxy scenario. This inbound message is ProductActivityNotification, this message has got fault message. This message is triggering for faults. How to control this fault message or how to divert this error as an alert to RWB. Please give me your ideas step by step. Error as follows:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    - <!-- Call Inbound Proxy
    -->
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
    <SAP:Category>Application</SAP:Category>
    <SAP:Code area="ABAP">APPLICATION_ERROR</SAP:Code>
    <SAP:P1 />
    <SAP:P2 />
    <SAP:P3 />
    <SAP:P4 />
    <SAP:AdditionalText />
    <SAP:ApplicationFaultMessage namespace="http://sap.com/xi/SAPGlobal20/Global">ProductActivityNotificationFault</SAP:ApplicationFaultMessage>
    <SAP:Stack>Application has thrown an exception</SAP:Stack>
    <SAP:Retry>M</SAP:Retry>
    </SAP:Error>
    Please find the fault message has got following values
    <?xml version="1.0" encoding="utf-8" ?>
    - <n0:ProductActivityNotificationFault xmlns:n0="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:RAS:/1SAI/TAS653D9A9CCD9A8EF3AF9B:701:2009/02/10">
    - <standard>
    <faultText>Proxy Class (Generated)</faultText>
    - <faultDetail>
    <severity>information</severity>
    <text>Start of inbound processing: ProductActivityNotification (ID )</text>
    <id>000(/SCA/BIF_PROACT)</id>
    </faultDetail>
    - <faultDetail>
    <severity>error</severity>
    <text>Message ID is missing</text>
    <id>032(/SCA/BIF_MI)</id>
    </faultDetail>
    </standard>
    </n0:ProductActivityNotificationFault>
    Will you please focus bit light on this error message please?
    Regards
    San

    Hi,
    Check your Source data is correct or not..beofr executing your scenario execute your inboud Proxy with valid data ,
    check below blog...
    /people/stefan.grube/blog/2006/07/28/xi-debug-your-inbound-abap-proxy-implementation
    Regards,
    Raj

  • Difference in Fault message types & exceptions for Webservice in ABAP

    Hello all,
    I am relatively new to the web service framework in SAP. My problem scenario is as follows.
    I have a WSDL file of a webservice from 3rd party non-SAP s/w  and I want to replicate the same webservice into SAP by creating FM in SE37 with same imp/exp parameters and functionality.
    So I first created a consumer proxy using the external WSDL file of non-SAP webservice. This generated imp/exp DDIC structures in SAP. Now I created a RFC FM in SE37 with similar Imp/exp parameters and relesed this FM as a webservice.  I then created another consumer proxy using WSDL of this newly created webservice in SAP.
    In the old consumer proxy I see a structure as SOAPFault as a Fault message type which has 3 fields ERRORCODE, TEXT, DETAILS but in the newly created consumer proxy I don't see Fault message types but i see exceptions which i mentioned in exception tabs while creating the FM. The imp/exp parameters are identical.
    So my question is while creating a web service in SAP using a FM in SE37, what needs to be done in order to get the Fault message types getting created automatically when we create a consumer proxy for this webserivice?
    Also based on the WSDL of 3rd party system , can i replicate the same web service in SAP ?
    Appreciate your expert advice on this.
    BR
    Nilesh Puranik

    Hi Krishna,
    I've read the SAP description about Fault Message Types but I'm still struggling on how to use them correctly.
    Why do we need them if I can't do nothing with it on the BPM side? After the mapping of the FMT, I'd like to acess it so that I can send a description back to the original system...The thing is, in BPM you can't acess the FMT, you can only create a new BRANCH (on a block step) for it...
    I've tried to acess the description text on trace which comes with the message, but it seems that the trace only serves for posting info, and not for getting any...
    The Mapping Runtime Constants have some information where you can read some descriptions, but nothing related to the errors....You can read the Receiver service, sender, interface_namespace, but nothing from the ERROR tag...
    Is there a way to get the description? Or anything related to the error tag?
    Thanks in advance

  • Fault message in asynchronous ABAP Proxy

    Hi,
    I have a question about fault messages in asynchronous ABAP proxy server.
    The configured scenario is SOAP – XI – ABAP Proxy. Between XI and the ABAP Proxy I have configured an inbound asynchronous interface with a fault message, and then I have generated all the classes and implemented some code for exception handling in the ABAP Proxy side successfully.
    When I tested negative cases, the exception raises and it is visible in the SXMB_MONI transaction in the R/3 side, but this exception is not displayed in the SXMB_MONI of XI it just displays a successful delivery to the ABAP Proxy message.
    According the XI documentation it says “<i>In the asynchronous case, you can see a fault message in the monitoring of the Exchange Infrastructure.</i>” But this is not working.
    Am I missing something?

    Hi,
    This parameters are form group RUNTIME.
    Please check it:
    http://help.sap.com/saphelp_nw04/helpdata/en/d6/49543b1e49bc1fe10000000a114084/content.htm
    Regards,
    Wojciech

  • Fault Message generated in ABAP Inboud Async Proxy not visible XI Moni

    Hi
        I developed a ABAP Inbound AsyncProxy, which raises an exception using a fault message type. The SMB_MONI in the Business System is displaying the message as Application Error. But the XI Monitor is showing it as sucesfully processed.
        How do I monitor application errors from XI Monitor when I am sending Asynchronous Messages using ABAP Proxies?
        The business system in context is R/3 Enterprise System which is has got the APINT patch on it.
    Thanks in advance...
    Regards
    KP

    I'm developing a Java Proxy and I'm experiencing the same problem. The exception is raised by my Java Proxy and it can be checked in RWB Message Monitoring of my central adapter engine. It can alse be checked in the MessagingSystem.
    Unfortunately, no message is returned to SAP XI, at least, I cannot see anything in SXI_MONITOR (SXMB_MONI).
    The point is: does ir make sense to generate a fault message in xml just to be checked in an html monitor? The xml tags don't appear correctly in html format and I had to debug my application in order to find out that the exception was correctly returned.
    If anyone here have advanced in this issue, please let me know.
    Best regards,
    Ricardo Bochner.

  • Fault message handling in abap client proxy

    Hi experts,
    i have scenario like this SAPECC---XI---WEBservice
    i was decided to using the ABAP CLIENT proxy in sender side and soap adapter communication in receiver side
    i will be get the wsdl file form client
    problem is i am in bit of confusion like  am i need to create fault message for this asychronous scenario?
      how can i create the fault message for this scenario(that WSDL) and how the abaperwill  handle those error
    thanks in advance

    Hi.
    You can use fault message but it won´t return a error to your ABAP Proxy because your interface is ASSYNC. The fault message generated will stop in Adapter Engine.
    If you need a return of the error, you have to change your interface to Sync mode.
    To get more information, follow the link below:
    Fault Message Type
    http://help.sap.com/saphelp_nwpi711/helpdata/en/dd/b7623c6369f454e10000000a114084/frameset.htm
    Best Regards.
    Bruno

  • Propagate fault message from ABAP server proxy to XI

    Hello
    My scenario is asynch HTTP -> async ABAP server proxy.
    I have searched a forum but I didn't find the ansver on my question:
    Is it possible to propagate a fault message from SAP system to XI in case of asyncronous ABAP Proxy in order to see in SXMB_MONI of XI?
    I see errors only on SAP side but this solution doesn't satisfied me I want to see all errors in one place.

    Hi,
    Have u used commit work at the end of the code.
    Can you please tell me what all configuration u have done.
    U have referred the ABAP Proxy configuration:
    /people/vijaya.kumari2/blog/2006/01/26/how-do-you-activate-abap-proxies
    Refer the below log for Client Proxy -
    /people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy
    Chirag

  • Fault Message for inbound asynch ABAP proxy

    Hi All,
    I've got scenario File -> XI -> ABAP proxy all asynchronous.
    Inside a proxy I'm throwing an exception using fault message.
    I don't see application error in SXMB_MONI on XI, I can see that only in SXMB_MONI on receiving system.
    Is it possible to have flag Application Error on XI monitor as well ?
    Best Regards,
    Tomasz

    Jai,
    I've checked that many times.
    I'll describe my scenario in more details.
    1. From the file I'm receiving a lot of items and trying to process as much as possible in one proxy call.
    2. Those ones which are causing errors are sent out to XI (outbound proxy) one by one. XI sends them to the same interface which is used in 1. step where I have condition which checks for single item and when it's wrong then exception is thrown.
    One SCM box is sender and receiver which my cause that problem.
    Tomasz

  • Synchronous SOAP: Get fault message on ABAP side

    Hi,
    I've a synchronous ABAP Proxy => PI 7.11 => SOAP scenario.
    The SOAP receiver is a third party application using AXIS 1.4.
    When I call the SOAP receiver with bad input via SOAP UI I receive an error message like that:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <soapenv:Body>
          <soapenv:Fault>
             <faultcode>soapenv:Server.userException</faultcode>
             <faultstring>com.ZZZ.exception.ZZZException: Employee not found: 9999911111</faultstring>
             <detail>
                <com.ZZZ.exception.ZZZException xsi:type="ns1:ZZZException" xmlns:ns1="http://exception.ZZZ.com"/>
                <ns2:hostname xmlns:ns2="http://xml.apache.org/axis/">server.YYY.com</ns2:hostname>
             </detail>
          </soapenv:Fault>
       </soapenv:Body>
    </soapenv:Envelope>
    When I call the SOAP receiver through my ABAP proxy, I just get this exception message in SXI_MONI:
    <?xml version="1.0" encoding="UTF-8"?>
    <com.ZZZ.exception.ZZZException xmlns:ns1="http://exception.ZZZ.com"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns1:ZZZException"/>
    Nevertheless I see the error in SXI_MONI:
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <!-- XML Validation Inbound Channel Response -->
    <SAP:Error SOAP:mustUnderstand="1" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
        <SAP:Category>Application</SAP:Category>
        <SAP:Code area="SOAP">FAULT</SAP:Code>
        <SAP:P1>http://schemas.xmlsoap.org/soap/envelope/</SAP:P1>
        <SAP:P2>Server.userException</SAP:P2>
        <SAP:P3/>
        <SAP:P4/>
        <SAP:AdditionalText>com.ZZZ.exception.ZZZException: Employee not found: 9999911111</SAP:AdditionalText>
        <SAP:ApplicationFaultMessage namespace="">com.ZZZ.exception.ZZZException</SAP:ApplicationFaultMessage>
        <SAP:Stack/>
        <SAP:Retry>M</SAP:Retry>
    </SAP:Error>
    In the WSDL of the SOAP receiver there's just the ZZZException without fields faultcode or faultstring:
    <complexType name="ZZZException">
      <sequence/>
    </complexType>
    Do I have to add the fields faultcode or faultstring to the WSDL myself?
    I tried the following, but it didn't work:
    <complexType name="ZZZException" abstract="true">
        <xsd:sequence>
            <xsd:element name="faultstring" type="soapenc:string">
        </xsd:sequence>
    </complexType>
    Thanks in advance!

    Hi Eddie -
    Do I have to add the fields faultcode or faultstring to the WSDL by myself?
    >>> No. Even though you add - it doesn't work as it's the webservice which returns the message.
    For sending the fault messages, Have a look at the below blog -
    Handling Web Service SOAP Fault Responses in SAP NetWeaver XI

  • ABAP provider proxy error using Fault Message Type

    Hello experts,
    I'm using a provider ABAP proxy with a fault message type in the inbound service interface.
    In the ABAP code on the backend system, I need to fill a database table.
    in case the record exist --> fault + message back to SAP PI to be alerted.
    I do this with a RAISE EXCEPTION TYPE.
    I generated all necessary proxies.
    The error I got on the backend system (SXMB_MONI) is this:
    Application Error - Call Inbound Proxy
    SAP:Category>Application</SAP:Category>
      <SAP:Code area="ABAP">APPLICATION_ERROR</SAP:Code>
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="xxxxx">FMT_xxxxxx</SAP:ApplicationFaultMessage>
      <SAP:Stack>The application triggered an exception</SAP:Stack>
      <SAP:Retry>N</SAP:Retry>
    Can it be that I need to use something else instead of the RAISE EXCEPTION TYPE. to get something back to SAP PI?
    Now the error is logged in SXMB_MONI on the backend system.
    Please advice.
    Thanks a lot
    Dimitri

    Hi Dimitri,
    Check out these links -
    1. /people/shabarish.vijayakumar/blog/2006/11/02/fault-message-types--a-demo-part-1
    2. http://help.sap.com/saphelp_nw04/helpdata/en/5d/a45c3cff8ca92be10000000a114084/frameset.htm
    Regards,
    Sunil Chandra

  • For proxy any coding required

    i have never done any proxies so is there any coding required in ABAP part, i  am using ABAP proxies
    thanking you
    sridhar

    Hi
    Here is the sample code
    Report <report name>.
    data prxy type ref to <Interfacename>.
    create object prxy.
    data it type  <Message type>.
    try.
        it-mt_file_input_proxy-detail-name = 'Sravya'.
        it-mt_file_input_proxy-detail-lname = 'text'.
        it-mt_file_input_proxy-detail-address = 'NetWeaver'.
        call method prxy->execute_asynchronous
          exporting
            output = it.
         commit work
    **TRY.
        call method <Interfacename>=>execute_asynchronous
          exporting
       CONTROLLER         =
            output             = it
    CATCH CX_AI_SYSTEM_FAULT .
    *ENDTRY.
      catch cx_ai_system_fault .
        data fault type ref to cx_ai_system_fault .
        create object fault.
        write :/ fault->errortext.
        write:/'error occured'.
    endtry.
    Try this it may help u...
    Regards
    Yuga

  • SOAP Adapter - Using Fault Message

    Hi all,
    I have developed a Synchronous Integration Scenario which receives a SOAP request to the SOAP adapter, calls an ABAP proxy in SAP ECC to post some information and return a response or a fault to the sender.
    This all works fine, I am using a fault message in the ABAP proxy to record errors and return them to the SOAP adapter using the fault mapping. Again this all works fine. However when an application error is identified and a fault message returned to thre SOAP adapter, I had expected that the error details in the fault message to be packaged up in a standard SOAP fault and returned to the sender. Instead the fault message details are sent as the payload in the SOAP body of the response.
    Can anyone provide information on if it is possible to return the fault message as a standard SOAP fault instead of in the SOAP body of the response.
    Thanks
    Gary

    Dont think this is possible in standard.
    As an alternate, maybe you can select option Do not use SOAP Enevlope int he sender SOAP Adapter and thereby the entire SOAP Message will enter the mapping and you would need to use a XSL or Java  mapping to strip the SOAP Envlope in the mapping for the request and like wise in the response mapping you would need to add the SOAP Enevlope to the response.
    For the fault message mapping you need not add the SOAP Envelope.
    Not a standard solution, but can be tried if the requirement is really worth it. Otherwise I think the Fault Message will continue to be sent as the payload in the the SOAP Enevlope as this is how the SOAP adapter works.
    Regards
    Bhavesh

Maybe you are looking for

  • Report 3.0 -- Problem !!!! (Very Urgent)

    I have a report on Report 3.0 using Group above style, my SQL QUERY is SELECT Bank_CD,MFGR_TRAN_CD, ACC_NO, BALANCE FROM BANK_MSTR I have used grouping on Bank_CD ** MFGR_TRAN_CD --> Manufacturer or Transporter Code I created 2 PlaceHolders field 1)

  • BAPI monitoring

    HI experts In file business req I developed scenario like JDBC--XI--R/3(RFC). In my scenario data is send to R/3 using BAPI(RFC) from XI using receiver RFC adapter. So How Can I check whether data is saved or not in R/3 Database. How we can see the B

  • Web Services Manager Control, SOA Suite, Retrieving Roles from OID

    I am a bit confused about mapping of groups and privileges when it comes to the LDAP (in my case oracle internet directory, OID) and groups defined by Web Services Manager Control. I am using Web Services Manager Control->Manage Policies to define a

  • ADOBE form going to dump without trigering interface

    Hi, I have a strange issue that one of my ADOBE form going to dump withou trigeering the form interface. The error says ' KOMVD' is used unknown. But I have not used KOMVD directly in my form binding and interface code also. Please help to fix this i

  • Seduced to the Dark Side ....

    Hi all, I've been a die hard PC fan all my adult life and the thought of using a Mac would send me into a panic. However over the past 18 months or so, I've slowly been seduced to the dark side ;o). It was slow at first not even perceivable (is that