Proxy to JDBC

Hi,
We have a scenario PROXY(ABAP)->XI->JDBC.
The source structure is Partners(occurance n),Line items(occurence n). The target structure is Details(Occurance n).
For "n" number of Partners and "m" number of Line items in source we need m*n(i.e, m multiplied by n) number of records.
How do we realize this in graphical mapping.
Target structure is
Message Type
Details

Hi,
You will have same number of records yes but if you change the context you will have m*n. Right click the source node you will see the Context menu there select the root node that is the message type.
It is like this
Message Type
--Partner
  --LineItem
if you look from Partner/LineItem then it will be only 4 as per ur example. In this case the context is partner.
If you look from MessageType like //LineItem then you will have 2*4. In this case the context is from the root.
Thanks,
Prakash

Similar Messages

  • Performance issues in Proxy-XI-Jdbc scenario

    Hello,
    I have developed a proxy to JDBC synchronous scenario.
    My scenario works like this.
    *i run an abap program which calls a client proxy,
    the proxy fetches the data from database table and returns the data in the ABAP program.(select query)
    there are serious performance issues when we are running the report
    it is taking around 2-5 minutes and at times multiple users are logged in , it takes around 5-20 minutes.
    it seems that most of the time is consumed in the data fetching.
    please help me to find some solution so that we can fine tune the performance on the PI side.
    Are there any options on JDBC CC which can help  us in making the queries faster
    thanks
    kannu.

    Kanu16 ,
    Issue seems to be at r/3 end..
    1. Make sur ethat report program is using select query in proper fashion .
    2. avoid using nested loops.
    3.  Hope not much validations are being done on selected data .
    Abaper can help you optimizing this .
    By debugging you can find out the exact reason behind.
    Regards ,

  • Sender ABAP Synchronous proxy -- PI -- JDBC sync scenario pls!!

    Hi Guys,
    Can any one help to find one sample scenario like ABAP Proxy --> PI --> JDBC Sync call ? Sync ABAP proxy sample code any 2 or more filelds going from ABAP proxy and maps on JDBC sync request, up date target side SQL server database tables, in case if any error happens error/success message must go back to SAP one Z table with response.
    Any help would be really great!!
    Many thanks in advance
    San

    up date target side SQL server database tables, in case if any error happens error/success message must go back to SAP
    one Z table with response.
    When you do an update you can get back the number of rows updated in the JDBC response....you can find this in the help page showing JDBC structure. If you are looking for any other response then probably the message needs to be genarated by PI itself after checking the response from JDBC.
    Regards,
    Abhishek.

  • ABAP Mapping for Error handling in Proxy to JDBC

    Hi All,
    I am working on a proxy to jdbc scenario in which we have to throw validation errors to NWPM(Net Weaver Process Monitor Tool)
    I am following the below steps,
    step 1 - In message mapping a UDF is created to catch errors and store them in a variable using  dynamic configuration
    step 2 - writing abap mapping for handling this thrown exception and im reading the dynamic configuration in the abap class and raising exception. The exception format expected is
    SAP:Error SOAP:mustUnderstand="" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_ASYNC</SAP:Code>
      <SAP:P1>ZPI_THROW_EXCEPTION</SAP:P1>
      <SAP:P2>001</SAP:P2/>
      <SAP:P3>Mandatory field is missing[BUKRS] </SAP:P3>
       <SAP:AdditionalText />
      <SAP:Stack>No receiver could be determined</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    I have written the following ABAP code to achieve this:
    method IF_MAPPING~EXECUTE.
      DATA l_record type mpp_dynamic.
    DATA error type String.
    getting dynamic configuration value
    filled in by any previous mapping
    CALL METHOD DYNAMIC_CONFIGURATION->GET_RECORD
      EXPORTING
        NAMESPACE = 'http://sap.com/xi/XI/System/ERROR'
        NAME      = 'ERROR'
      RECEIVING
        RECORD    = l_record.
    error = l_record-value.
    *raising exception with our message
    RAISE EXCEPTION TYPE CX_MAPPING_FAULT
      EXPORTING
       TEXTID =
       PREVIOUS =
        ERROR_CODE = '001'
        ERROR_TEXT = error .
    RAISE EXCEPTION TYPE CX_MAPPING_FAULT
      EXPORTING
       TEXTID =
       PREVIOUS =
        ERROR_CODE = '003'
        ERROR_TEXT = error .
    endmethod.
    I am gettign the following message for our code:
    SAP:Error SOAP:mustUnderstand="" xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
      <SAP:Category>XIServer</SAP:Category>
      <SAP:Code area="RCVR_DETERMINATION">NO_RECEIVER_CASE_ASYNC</SAP:Code>
      <SAP:P1 />
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:Stack>No receiver could be determined</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Could you please help in finding the solution for getting currect error message from ABAP class?
    Edited by: SwethaC on Jan 21, 2011 8:18 AM

    The error is due to RFC Call fail from PI system to your ECC Application System.
    Check your RFC Destination for ECC System type 3 in PI System.
    When you are receiving data from ECC System using Proxies & again you are going to ECC System for Validation.
    Why you are not doing this validation on ECC System only in your proxy code ?
    In your proxy code, it will be much better for performance to check your data there on same system.

  • No response message in Proxy to JDBC synchronous scenario

    Dear Team,
    I am working on synchronous scenario Sender ABAP proxy <===> SAP PI 7.31 <===> Oracle Database.All the necessary proxy configuration has been successfully tested.
    Business Scenario:
    ABAP proxy will send a single Vendor Id to Oracle DB as request and in return , it has to retrieve all the columns related to Vendor as response.Oracle Database stores all the Vendor information.There are 11 columns including the vendor Id in the view for the Vendor records.
    Design :
    For Request structure:
    a-->Created MT for Sender ABAP Proxy with only 1 field for Vendor Id.
    b-->Created MT for Receiver JDBC  with Action as SELECT , Table with "View Name" , Access with Constant Blank for all 11 column and Key as Vendor Id.
    I have been following  the link and Bhavesh Kantilal document.
    http://help.sap.com/saphelp_nw73/helpdata/en/44/7b7171fde93673e10000000a114a6b/content.htm?frameset=/en/44/7b7855fde93673e10000000a114a6b/f
    rameset.htm&current_toc=/en/ca/b977f1c7814201954f20bb87ad7aab/plain.htm&node_id=71
    For Response structure:
    Created MT for Receiver JDBC with All the column names.
    Created MT for target ABAP ECC with the same 11 column name of JDBC response.
    Note :
    1.Database team shared a excel file as a sample payload which has all the column names of a vendor and I created my DT with the same naming conventions as they are maintaining in their database i.e. Column names are in CAPs, in the same order and even the special characters in the column name.
    2. The PING test connection for Cc works fine to database.
    Please read out my queries as the I am not receiving any response from Oracle DB and gives error as timeout exception:
    1.Since I am trying to retrieve all the column of the view , am I doing the correct procedure of putting all the column name in the JDBC request structure and making a Select statement. Can I add < * > to fetch all the column name and if so where can I add it.
    2. Whats the difference between SELECT and SQL_QUERY and on what circumstances I can add it?
    3. How can I test ICO in ID?
    4. Can I use any SOAP tool to test the messages? Is there any functionality in NWA to test the messages directly to JDBC .
    Hope all your inputs can improve my design part.
    Regards
    Rebecca

    Hi Rebecca,
    Did you go through all of these links below?
    PROXY to JDBC- SYNC
    Proxy to JDBC Sync, with Idoc Receiver
    JDBC to PROXY Sync Scenario | SCN
    JBDC Receiver Insert Statement Response
    Re: Synchronous JDBC select
    receiver JDBC structure
    Regards,
    Jannus Botha

  • An error Handling in Asynchronous Proxy to JDBC Scenario?

    Hey,
    In my scenario, we'll send data from erp to third-party database.
    If it occurred an error while saving the data to database, I want to manage that error in ERP.
    Is it possible to make this scenario with asynchronous proxy to JDBC?
    If it was possible, how should do I?
    Thank you,

    Also
    go thru the following thread (Similar problem discussed)
    Re: RFC to JDBC response
    regards
    krishna

  • Proxy to JDBC- Array mapping

    Hi,
    In my scenario Proxy to JDBC - synchronous call.
    In the receiver side using JDBC adapter a stored procedure is invoked and that returns some values say... IndentNumber,EmployeeNumber and ResumeNumbers (Which is array type.), Status(which is again array) -- ResumeNumbers may have multiple resume numbers and status has status flag corresponding to each resume.
    How do I go about this in XI mapping.
    Please guide me on this.
    Regards,
    chem
    Edited by: Chemmanz on Mar 15, 2008 3:39 PM

    Hi,
    For this you need to make the occurance of the proxy structure as 1...unbounded.
    If the fields have to mapped then make the Unbouded occurance and map it as it is.
    OR for mulitple records....
    For e.g.
    Your JDBC side structure will be as
    <root>
    <StatementName5>
    <storedProcedureName action=” EXECUTE”>
        <table>realStoredProcedureeName</table>
    <param1 [isInput=”true”] [isOutput=true] type=SQLDatatype>IndentNumber</param1>
    </storedProcedureName > 
      </StatementName5>
    </root>
    Here make the occurance of IndentNumber as Unbounded so you will get whole array.
    Now On Proxy side make the related structure and try to map the any one internal field i.e. array to root node
    i.e. if proxy structure is
    <root>
    <IndentNumber></IndentNumber>
    </root>
    Then map JDBC response field IndentNumber -
    > Root
    This will create the multiple records for proxy.
    Then all fields map as one to one mapping
    IndentNumber (JDBC)->splitByValue>IndentNumber (Proxy)
    Thnaks
    Swarup

  • ABAP Proxy to JDBC syncronous method

    Hi Experts,
    I am very new to ABAP Proxy to JDBC syncronous method.
    I have used 4 DT, 4 MT, 2 MI, 2 MM and 1 IM.
    I have used reference from
    SYNCHRONOUS SOAP TO JDBC - END TO END WALKTHROUGH
    http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/3928. [original link is broken] [original link is broken]
    My question is in Integration Directory how many sender agrement, receiver agrement, receiver determination and interface determination should i use?
    Is my above DT , MT , MI , MM and IM is correct?
    I am not using any BPM.
    Thank you in advanced.
    regards,
    S.Saravannan

    mrsaravannan wrote:
    > My question is in Integration Directory how many sender agrement, receiver agrement, receiver determination and interface determination should i use?
    for a Sync sceanrio, you will create
    1 RD
    1 ID
    1 SA (since its a ABAP proxy call this is optional)
    1 RA
    >
    > Is my above DT , MT , MI , MM and IM is correct?
    Yes

  • BPM flow Proxy to File and then Acknowledgement back to Proxy or JDBC.

    hi All,
    I have to create an BPM scnario to get acknowledgement from receiver file adapter.
    Steps created in BPM are:
    receive -> send (Transport Acknowledgement is selected) as per blog /people/michal.krawczyk2/blog/2006/06/22/xi-playing-with-the-file-adapters-acknowledgments
    Now what i want to do is whenever any type of acknowledgement is obtained i need to send success or failure message to proxy or JDBC(have alreay seen how to request for acknowledgements through client proxy).
    What i need to do in order to achieve this scenario?
    Thanks,
    Mayank

    hi,
    If we are getting exception for some reason and error text as visible in moni  for example is:
    <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.engine.interfaces.messaging.api.exception.MessagingException: An error occurred while retrieving an FTP connection from the connection pool: com.sap.aii.af.lib.util.concurrent.ResourcePoolException: Unable to create new pooled resource: ConnectException: Connection timed out: connect</SAP:AdditionalText>
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
    Is it possible to capture Additional Text somewhere in BPM, so that in case if deadline limit is exceeded we can send exception text back to the sender?
    thanks.

  • Proxy to JDBC Synchronus with ccBPM

    Hi  Experts,
    my scenario is : Proxy to JDBC Synchronus with ccBPM
    we are fetting data from ECC to PI and same data inserting into DataBase Table Name : ABC  via JDBC
    after 2 mins i need to get same data from DataBase Table Name : ABC  and sending back to ECC with ccBPM.
    what are BPM steps required for this requirement and i need to handle the exception handling with control step also.
    Table name is same Table Name : ABC in DataBase for request data and response data.
    Please anybody help me on this requirement, i am new to BPM scenarios.
    Thanks,
    Aadi

    Hi,
    Have you checked the JDBC XML request?, you need to check that the XML has all the company codes in the SELECT.
    Regards.

  • PROXY TO JDBC scenario

    Hi All,
    I am working on PROXY to JDBC scenario upto yesterday its working fine.
    Today I, am getting "Time limit exceeded" error in QRFC monitoring  and message showing with GREEN COLOUR FLAG (RECORDE) in PI SXMB_MONI.
    Please help me to salvoes this error.
    Thanks and Regards,
    MFH

    Hi All,
    First of all thanks for all your early replays....
    "TIME LIMIT EXCEEDED" QRFC Problem is indicates that when we processing large volume of messages to external or internal systems in this case specified time limit in SM59 is not enough to process the message so that please increase TIMEOUTS...TIME LIMIT EXCEEDED error will be solved.
    With Regards,
    MFH

  • Using of Integration Scenario in a Abap Proxy to JDBC receiver synchronous

    Hi ,
    Can any one help me out  how to go about for creating Integraion scenario in ESR as i'm new to the use of Integration scenario..
    its an Abap proxy to Jdbc synchronous scenario... kindly help in this regards.

    Hi Indudhar,
    Right click on the namespace where you want to create the IS and say new, Select process integration scenario option, give a suitable name and say OK.
    In the Component View section right click on the first grey column and Insert a sender Application component. Enter ur product and the software component version. Like wise in the next grey column enter the target Application component.
    Now go to the top level menu and click on view and select grid.
    Now right click on each App. component and insert the created actions. If the scenario is sync then the actions will be side by side otherwise the target one will be in the next grid of the target app. component.
    After entering the actions click on the source action then press shift and click on the target action, right click and choose create connection between the two actions.
    Fill in the info and then save.
    Regards,
    Anshul

  • Proxy to JDBC Sync, with Idoc Receiver

    Hello all,
    I have to set up following synchronous scenario.
    PROXY -> PI -> JDBC   |   JDBC -> PI -> PROXY
                                           JDBC -> PI -> IDOC
    In other words, I need that the response from the JDBC Receiver adapter is sent back to R3 to an IDOC and the originating PROXY.
    How can I achive this? I mean how can I send the synchronuos response back to the originating PROXY, and in the other hand send an asynchronous message to the IDOC.
    This is a message with a large quantity of info, so I'm not sure what to use or how to use it.
    Thanks for your help.
    Felipe

    Hi Felipe
    PROXY -> PI -> JDBC | JDBC -> PI -> PROXY
    JDBC -> PI -> IDOC
    The message to the IDOC need to be sent from response ?
    Is your proxy SYNC?
    Use a BPM for this
    1. receive the message from Proxy.(SYNC)
    2. Send it to JDBC (SYNC)
    3. Map the proxy request to JDBC request and JDBC response to Proxy response.
    4. Send the JDBC response to IDOC
    Thanks
    Gaurav

  • Proxy to JDBC a small issue

    Hi friends,
    I had a scnario where i am using proxy to JDBC this is sync scnario. when i am triggring the proxy with help of a report.
    If the data is present every thing is working fine.. in one case if data is not there in the sender side . mean payloade is blank then the interface is throughing error. the error is..
    <?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</SAP:AdditionalText>
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack />
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Regards
    Viajy

    Hi Vijay,
    1. Your target message to JDBC adapter should look like-
      <StatementName2>
          <dbTableName action=u201DINSERTu201D>
             <table>realDbTableName</table>
             <access>
                <col1>val1</col1>
                <col2>val2</col2>
             </access>
          </dbTableName> 
      </StatementName2>
    So change the mapping/data type as requried.
    2. Go to the runtime workbench and check the JDBC communication channel error messages. It will give you enough information as to what causes the error.
    Regards.

  • Two Receiver DB in Synchronous Proxy to JDBC Scenario?

    Hey,
    Is it possible to develop a synchronous proxy to JDBC Scenario that have two different DBs as Receiver?
    The response Datas are insert_count and update_count.
    Thank.

    Park,
    You can't have more than one receivers in Sychronous case. If you designed the scenario , then u will get the error as "TOO_MANY_RECEIVER CASE_BE".
    -raj.

  • Synchronous proxy to jdbc

    hi all.
    i got one doubt like.
    here iam doing sap proxy to jdbc.
    xi is going to process tht proxy in order to pick some fields form 3rd party database and after picking these fileds one coloumn in that table is enabled to make sure that those fileds which r enabled r (read) and after that xi is processing the same fields to sap r/3 back .
    wat my doubt is if sap r/3 is down in this situation of whie recieving the fields from  3rd party then wat will be the remaing stuff i.e i mean to say whether xi ix going back and undo all the things in 3 rdparty database table r it just restart the same message after r/3  is ready.
    waiting for your response.
    bye.
    regards.
    seeta ram.

    Hi,
    Xi by default does not provide this option. However if R/3 is down, XI tries for x times in x intervals. Then it throws a system error and puts it in a queue. In case R/3 is up, it then sends the data to R/3. however you can achieve your requirement by using BPM. You can specifically handle what you want to do in situations like this.
    reward if helpful,
    Sarath.

Maybe you are looking for