Split inbound payload for synchronous outbound DB Adapter

Hi,
I am trying to find out if there is a way to split the output payload which we get as part of a select query on DB adapter ?
Say, i use DB adapter to query on a condition and expect it to return 10,000 rows.
Instead of db adapter returning me a single xml payload with 10,000 records, i want it to split into 10 xmlpayload of 1000 each. I plan to use ESB for this. There is some provision to set maxrows n max trans size for polling but couldn't find nething for selects and even these were for internal DB operations. I am targetting to reduce middleware xml load.
Would appreciate if somebody could guide me on this.
Thanks in advance

AFAIK there's no default setting for this. However, you can create your own custom SQL query in the DB adapter wizard. Within this query you could limit the result set.
HTH,
Bas

Similar Messages

  • Creation of Inbound Idoc for the Outbound Idoc in same client

    Hi,
    My requirement:
    Whenver an PO is created an Outbound IDOC is generated in system ABC with client 100.I want to pass this IDOC data to create an Inbound Idoc for Sales Order(SO) in the same client.
    It would be helpful if anyone can answer on how to Transfer the Outbound Idoc after it crosses the port.
    I found there is a field for function module in WE21,can this be used to get the requirement done.
    Please suggest.
    Regards,
    Amar

    Example of a program that create and post an inbound idoc....maybe that will help you:
    report  zzinbound_idoc.
    data: g_idoc_control_record like edi_dc40 occurs 0 with header line.
    data: g_edidd like edi_dd40 occurs 0 with header line.
    data: g_e1bpache09 like e1bpache09.
    parameter: mode type c default 'A'.
    refresh: g_idoc_control_record, g_edidd.
    clear:   g_idoc_control_record, g_edidd.
    *-Build Control Record -*
    g_idoc_control_record-mestyp  = 'ACC_DOCUMENT'.   "Message type
    g_idoc_control_record-idoctyp = 'ACC_DOCUMENT03'. "IDOC type
    g_idoc_control_record-direct  = '2'.              "Direction
    * Receiver
    case sy-sysid.
      when 'DE2'.
        g_idoc_control_record-rcvpor = 'SAPDE2'.     "Port
        g_idoc_control_record-rcvprn = 'IDOCLEGACY'. "Partner number
    endcase.
    g_idoc_control_record-rcvprt = 'LS'.             "Partner type
    g_idoc_control_record-rcvpfc = ''.               "Partner function
    * Sender
    g_idoc_control_record-sndpor = 'A000000002'.      "tRFC Port
    case sy-sysid.
      when 'DE2'.
        g_idoc_control_record-sndprn = 'IDOCLEGACY'. "Partner number
    endcase.
    g_idoc_control_record-sndprt = 'LS'.             "Partner type
    g_idoc_control_record-sndpfc = ''.               "Partner function
    g_idoc_control_record-refmes = 'Customer clearing'.
    append g_idoc_control_record.
    *-Build Idoc Segments -*
    *---E1KOMG
    clear g_edidd.
    clear g_e1bpache09.
    g_edidd-segnam               = 'E1BPACHE09'.
    g_edidd-segnum               = 1.
    move g_e1bpache09 to g_edidd-sdata.
    append g_edidd.
    *-Create idoc -*
    *-Syncronous
    if mode = 'S'.
      call function 'IDOC_INBOUND_SINGLE'
        exporting
          pi_idoc_control_rec_40              = g_idoc_control_record
    *     PI_DO_COMMIT                        = 'X'
    *   IMPORTING
    *     PE_IDOC_NUMBER                      =
    *     PE_ERROR_PRIOR_TO_APPLICATION       =
        tables
          pt_idoc_data_records_40             = g_edidd
        exceptions
          idoc_not_saved                      = 1
          others                              = 2.
      if sy-subrc <> 0.
        message id sy-msgid type sy-msgty number sy-msgno
                with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      endif.
    *-Asynchronus
    else.
      call function 'IDOC_INBOUND_ASYNCHRONOUS'
        in background task as separate unit
        tables
          idoc_control_rec_40 = g_idoc_control_record
          idoc_data_rec_40    = g_edidd.
      commit work.
    endif.
    write: / 'Well done!'.

  • Track inbound ALEAUDs for the outbound DESADVs

    hi all,
    I am send an outbound DESADV by triggereing an output type on the delivery.
    I can track the outbound idoc for the delivery uisng NAST entries.
    Now i get the inbound ALEAUD( an acknowledgemnet for the outbound DESADV). The inbound idoc contains the delivery no that was sent.
    Programatically searching an inbound idoc with the delivery no takes more time as delivery no is not any key field in the idoc, it is avialble as sdata.
    My question is , programatically is there any way of tracking the ALEAUD and DESADV for a particluar delivery?
    Regards,
    Chandan

    Hello Chandan
    If I remember correctly then the ALEAUD IDoc sets a specific status record in the DESADV IDoc (cannot remember which one).
    Thus, if you want to select for outbound deliveries that have not yet been confirmed search for DESADV IDocs where this status is missing (or the other way around for confirmed DESADV where this status record is there).
    Regards
      Uwe

  • Enabling to see the Source payload for synchronous Interface

    Hi Experts,
    Am working on a SOAP <-> RFC synchronous interface and PI version is 7.4 dual stack. Am unable to see the source payload when a
    message is triggered from the Source Webservice. I can only see the receiver payload in RWB for request msg i.e the RFC payload.
    Even for Response, I can only see the receiver payload which is sent to webservice and not the source payload from ECC on the RFC.
    I have built the interface using ICO. I have made the changes in NWA, by setting the RemoveBody field to false.
    Please let me know if any other settings are required. I have checked all other threads related to this issue and could not find the solution
    to my issue where only the source payload in the synchronous interface is missing. In case of Asynchronous interface, the source payload
    is visible.
    Please assist me how can I enable this.
    Regards,
    Vish...

    Hi Vishwanath,
    Please check the below blog
    Message Staging and Logging Options in Advanced Adapter Engine of PI 7.3x
    regards,
    Harish

  • JDBC  Receiver Structure for Synchronous scenario

    Hi,
    I have synchronous scenairo of jdbc where we are executing the stored procedure, up to response message  mapping it is working fine and getting value from stored procedure but the problem is that response result not able to send to response target. where response is sending output ot jdbc receiver in response target.
    In SXMB_Moni we get response id like this
      <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:MT_SP_RESPONSE_TARGET xmlns:ns0="http://ns_jdbctest">
    - <TESTSP>
    - <row action="INSERT">
      <table>TESTSP</table>
      </row>
      </TESTSP>
      </ns0:MT_SP_RESPONSE_TARGET>
    Where access element is missing but in response mapping it is properly structured like this
    MT_SP_RESPONSE_TARGET     Element     DT_SP_RESPONSE_TARGET               null               
    TESTSP     Element          1               
    row     Element          1..unbounded               
    action     Attribute     xsd:string     required                    
    table     Element     xsd:string     1               
    access     Element          0..unbounded                    
    Result     Element     xsd:integer     0..1          
    Please Suggest.
    Regards
    Laxmi Bhushan

    Its All Done the same way.
    XSMB_MONI and CC Monitoring have not any problem , Message Is sucessfully DLVD.
    But in SXMB_MONI response  struecture is like this
    <?xml version="1.0" encoding="UTF-8" ?>
    - <ns0:MT_SP_RESPONSE_TARGET xmlns:ns0="http://ns_jdbctest">
    - <TESTSP>
    - <row action="INSERT">
      <table>TESTSP</table>
      </row>
      </TESTSP>
      </ns0:MT_SP_RESPONSE_TARGET>
    And INBOUND Payload for source response is like this
    <?xml version="1.0" encoding="utf-8" ?>
    - <ns0:MT_SP_JDBC_response xmlns:ns0="http://ns_jdbctest">
    - <GetNextSiteNumberTEST_response>
      <Result>113</Result>
      </GetNextSiteNumberTEST_response>
      </ns0:MT_SP_JDBC_response>
    Result key is not in the access element.
    Pls correct me.
    Regards
    Laxmi Bhushan

  • Issue with Receiver SOAP adapter for synchronous scenario

    Hello All,
    We are facing a strange issue with the SOAP adapter in the interface we have setup. This is the 1st time we are using SOAP adapter in our system (PI 7.11 SP7). We are making a synchronous HTTP call to the web service exposed by another system in our landscape. The payload is send with SOAP envelope and there are no credentials to be maintained in PI settings.
    The issue is that we are always getting timeout exception in PI audit logs after sending the request (3 minutes - standard timeout value, no additional config for this). But target system has confirmed that they are sending the response back. We tested from our server OS level and have received the response back in the same screen (to verify there is no firewall/port issue in between the systems). But when tried from RWB, it is always giving the timeout exception and we are not able to see any other log.
    We have tried checking in the NWA logs as well after increasing the logging level to ALL for com.sap.aii.adapter.soap. But surprisingly, we didn't get any logs at all for the outgoing SOAP call or incoming response and hence we are unable to trace the issue.
    We have setup another synchronous inbound SOAP interface (PI exposing the webservice) and it is working fine. We are also able to trace the logs in both audit log and NWA logs.
    Is there anywhere else we can check for the logs? Audit logs is showing timeout error and we are not able to see anything in NWA logs.
    Does the target system need to maintain PI credentials in the header when they send the synchronous response back?
    Are there any specific settings which should be checked to enable the sync communication? (this should not be the case since the inbound interface is working fine)
    Please help.
    Thanks
    Justin

    Hi Amit,
    Thanks for the reply.
    Yes we had tested successfully via SOAP UI as well (forgot to mention that). We are getting back the expected response in SOAP UI without using any credentials. We got the same response when we tested it through OS commands from PI server.
    The WS is hosted by the target system and they haven't maintained any credentials at their end. So when PI is trying to access, we don't need to provide any credentials. My question is, whether the target system should keep any credentials to send the synchronous response back to PI (java stack). We have tried that as well but since there aren't any logs, we are unable to verify whether the credentials are coming correctly.
    The service interfaces are correct and PI configuration are OK. I will try the XPI inspector for logs as you have suggested.
    Thanks
    Justin

  • ESB: inbound file and outbound ftp adapter with multiple directories

    Basically I want to scan directories and write new files ftp directories. I could figure out how to do that for one directory. However I need to scan multiple directories and ftp upload files contained in those directories to corresponding ftp directories. Number of directories and their names are only known at run time. All directories are under one parent directory, both locally and the remote ftp site. We can assume all ftp directories exist.
    I could not figure out how to this. Is this possible at all? Directory names seem to be only specified at design time, for both inbound file adapters and outbound ftp adapters.
    Pranab

    Chris, I am not really sure this is the right place to ask this question. But hopefully you might have something in your armour to help me out.
    My requirement is to configure an inbound File/FTP adapter to read from a Directory which can be known only at runtime. A webservice call returns the file name and network path of the file to be read, but that happens only during the run time. I guess one way possible is, you configure a File/FTP Adapter with a logical name for directory and set the physical directory path using the endpoint property. But in that case, I should know the Physical directory @ deployment time.
    I would like to know whether it is possible to manipulate the Endpoint property of an ESB Service (SOAP Service/Routing Service/Adapter Service) during runtime.
    So is there any way to get the enpoint property configured during runtime??? Otherwise dO you recommend some other solution for this use case???
    Any help would be appreciated.
    -Sudheer

  • Read Inbound payload at mapping execution of the outbound interface

    Hi,
    The sap system is sending us a field, that is not avaible on the web service we are consuming.
    The problem is that the sap system requires this field at the responce.
    How can I read the inbound payload, when I'm mapping the outbound responce?
    Thanks in advance,
    A

    Hi!
    Thanks for your responce.
    Well, I will ignore solutions 1 and 3. The project has an a "must" not tu use BPM and is not possible to modify the web service due it's a closed system (legal issues).
    And regarding the second point, are you proposing to create an RFC on the sap system?, The problem is that is not possible to reconstruct the relationship between the responce and the sended message. That is why I need to read the outbound payload.
    Is there any walkaround to "export" this field at the outbound mapping (Context objects?) and then import it at the inbound mapping? Where are the messages stored?... I was thinking that maybe i'll be able to read the sended message using ABAP mapping,  using the msgid to read an ABAP table (dont know which one). Can this be done?
    Thanks again,
    A

  • How does B2B Adapter for Inbound operation for SOA Composite works

    Hai,
    I am new to B2B. can any one share samples or links or doc's on B2B Adapter for inbound operation (receive)?
    Can any one share B2B inbound channel configuration ?

    1. How does the above can be achieved using JMS protocol?Where would you like to pitch-in JMS? You want to receive inbound message at B2B over JMS or between SOA and B2B, you want to use JMS?
    For receiving inbound message at B2B over JMS, please create a non-internal listening channel at B2B. Make sure to set JMS headers -
    http://docs.oracle.com/cd/E23943_01/user.1111/e10229/app_interface.htm#CACDFEAE
    For using JMS between, SOA and B2B, create a JMS channel in Host TP profile and add it in the inbound agreement (for inbound scenario). For outbound scenario, create an internal listening channel and make sure that from back-end, headers mentioned on above link, are being set.
    2. Will SOA Composite having B2B Adapter receive operation has first operation can get triggered automatically or not as soon as EDI----->XML message is found?Yes, it can be triggered. Provided the steps in your another thread.
    3. will B2B Adapter receive operation in SOA Composite will take EDI--------> xml msg as opaque?No, if while modelling B2B adapter, you selected a doc-def otherwise yes.
    Regards,
    Anuj

  • Receiving error msg in user's mailbox for both Outbound and Inbound IDocs

    Hi,
    Whenever specific IDoc (Inbound/Outbound) gets failed then the user/org unit assigned in its partner profile should get those error messages in their inbox.
    To achieve this for Inbound Idoc I have performed following set of steps:-
    1. Created an object and attached it under IDOCAPPL using 'SWO1' and I have set that object type as 'To imported'.
    2. I have assigned that object type to event 'ERRORINPUTOCCURRED' and standard tasks '00008068' (Inbound processing error), '00008074'
    (Inbound Syntax error), '20000051' (IDoc Application Inbound error), '300000207' (Error during Inbound processing of SYSTAT01) using transaction 'SWETYPV'.
    3. I have created an organisation unit with two positions and different jobs where each job has been assigned to specific tasks. User has also been assigned to specific jobs.
    4. At the end of this I have assigned this org. unit to IDoc's partner profile.
    But this process does not seem to be working we are not receiving any mail in agent's inbox. If someone has done similar kind of thing in past, please let me know the correct step for both Outbound and Inboud IDoc.
    Thanks in advance.
    Supriya

    Hi,
    Try this for inbound IDOC
    Go to transaction WE42
    Give the process code that you gave in the partner profile (WE20)
    Select that row and press the details button (F2).
    Next to the "Identification"  field there will be push button which has the tool tip "ALE table"
    Press that button
    In the resulting screen..
    In the IDOC section..
    Give the following..
    object type -  "new business object that you created"
    Start event - INPUTERROROCCURRED
    End event - INPUTFINISHED
    Hope this works..
    Thanks,
    Naren

  • IDoc type "DELVRY03" for INBOUND delivery confirmation and Outbound Deliver

    Hi ,
    We have a requirement where we have to send Inbound delivery confirmation as well as outbound delivery notification to our same customer. (3PL case)
    We have a EDI partner who is receiving our messages and transforming them before sending it to customer.
    Now my problem is , since I am using same idoc type (DELVRY03) for both cases therefore wondering how my EDI partner will differentiate whether received message is a INBOUND delivery confirmation or OUTBound delivery notification.
    regards
    Shrey

    Thx for your reply ...
    Wondering about the impacts , if I create a new message type like ZDESADV and attach it to DELVRY03.
    In this i could have two message types DESADV and ZDESADV.
    Will it impact anywhere ?
    Regards
    Shrey

  • Http adapter at sender side for synchronous interface

    Hi SapAll.
    here for one synchronous interface we using http adapter at sender side.
    i just want to know on how i can get the sender ip adress or url through which they sending the data.
    will be waiting for best asnwer.
    regards.
    Varma

    Http adapter at sender side for synchronous interface
    i cont see any messages in xi producction.
    Is LOGGING_SYNC enabled for your production box....also is the problem just about the visibility of the messages or is your scenario itself not getting executed?
    At least the sender application might have received some error response if posting message to XI was a failure....also if possible check the message monitoring in RWB if you feel an error has occured.
    Regards,
    Abhishek.

  • SAP PI conceptual best practice for synchronous scenarios

    Hi,
    <br /><br />Apologies for the length of this post but I'm sure this is an area most of you have thought about in your journey with SAP PI.
    <br /><br />We have recently upgraded our SAP PI system from 7.0 to 7.1 and I'd like to document  best practice guidelines for our internal development team to follow.
    I'd be grateful for any feedback related to my thoughts below which may help to consolidate my knowledge to date.
    <br /><br />Prior to the upgrade we have implemented a number of synchronous and asynchronous scenarios using SAP PI as the hub at runtime using the Integration Directory configuration.
    No interfaces to date are exposes directly from our backend systems using transaction SOAMANAGER.
    <br /><br />Our asynchronous scenarios operate through the SAP PI hub at runtime which builds in resilience and harnesses the benefits of the queue-based approach.
    <br /><br />My queries relate to the implementation of synchronous scenarios where there is no mapping or routing requirement.  Perhaps it's best that I outline my experience/thoughts on the 3 options and summarise my queries/concerns that people may be able to advise upon afterwards.
    <br /><br />1) Use SAP PI Integration Directory.  I appreciate going through SAP PI at runtime is not necessary and adds latency to the process but the monitoring capability in transaction SXMB_MONI provide full access for audit purposes and we have implemented alerting running hourly so all process errors are raised and we handle accordingly.  In our SAP PI Production system we have a full record of sync messages recorded while these don't show in the backend system as we don't have propogation turned on.  When we first looked at this, the reduction in speed seemed to be outweighed by the quality of the monitoring/alerting given none of the processes are particularly intensive and don't require instant responses.  We have some inbound interfaces called by two sender systems so we have the overhead of maintaing the Integration Repository/Directory design/configuration twice for these systems but the nice thing is SXMB_MONI shows which system sent the message.  Extra work but seemingly for improved visibility of the process.  I'm not suggesting this is the correct long term approach but states where we are currently.
    <br /><br />2) Use the Advanced Adapter Engine.  I've heard mixed reviews about this functionaslity, there areh obvious improvements in speed by avoiding the ABAP stack on the SAP PI server at runtime, but some people have complained about the lack of SXMB_MONI support.  I don't know if this is still the case as we're at SAP PI 7.1 EHP1 but I plan to test and evaluate once Basis have set up the pre-requisite RFC etc. 
    <br /><br />3) Use the backend system's SOAP runtime and SOAMANAGER.  Using this option I can still model inbound interfaces in SAP PI but expose these using transaction SOAMANAGER in the backend ABAP system.  [I would have tested out the direct P2P connection option but our backend systems are still at Netweaver 7.0 and this option is not supported until 7.1 so that's out for now.]  The clear benefits of exposing the service directly from the backend system is obviously performance which in some of our planned processes would be desirable.  My understanding is that the logging/tracing options in SOAMANAGER have to be switched on while you investigate so there is no automatic recording of interface detail for retrospective review. 
    <br /><br />Queries:
    <br /><br />I have the feeling that there is no clear cut answer to which of the options you select from above but the decision should be based upon the requirements.
    <br /><br />I'm curious to understand SAPs intention with these options  -
    <br /><br />- For synchronous scenarios is it assumed that the client should always handle errors therefore the lack of monitoring should be less of a concern and option 3 desirable when no mapping/routing is required? 
    <br /><br />- Not only does option 3 offer the best performance, but the generated WSDL is ready once built for any further system to implement thereby offering the maximum benefit of SOA, therefore should we always use option 3 whenever possible?
    <br /><br />- Is it intended that the AAE runtime should be used when available but only for asynchronous scenarios or those requiring SAP PI functionality like mapping/routing otherwise customers should use option 3?  I accept there are some areas of functionality not yet supported with the AAE so that would be another factor.
    <br /><br />Thanks for any advice, it is much appreciated.
    <br /><br />Alan
    Edited by: Alan Cecchini on Aug 19, 2010 11:48 AM
    Edited by: Alan Cecchini on Aug 19, 2010 11:50 AM
    Edited by: Alan Cecchini on Aug 20, 2010 12:11 PM

    Hi Aaron,
    I was hoping for a better more concrete answer to my questions.
    I've had discussion with a number of experienced SAP developers and read many articles.
    There is no definitive paper that sets out the best approach here but I have gleaned the following key points:
    - Make interfaces asynchronous whenever possible to reduce system dependencies and improve the user experience (e.g. by eliminating wait times when they are not essential, such as by sending them an email with confirmation details rather than waiting for the server to respond)
    - It is the responsibility of the client to handle errors in synchronous scenarios hence monitoring lost through P-P services compared to the details information in transaction SXMB_MONI for PI services is not such a big issue.  You can always turn on monitoring in SOAMANAGER to trace errors if need be.
    - Choice of integration technique varies considerably by release level (for PI and Netweaver) so system landscape will be a significant factor.  For example, we have some systems on Netweaver 7.0 and other on 7.1.  As you need 7.1 for direction connection PI services we'd rather wait until all systems are at the higher level than have mixed usage in our landscape - it is already complex enough.
    - We've not tried the AAE option in a Production scenarios yet but this is only really important for high volume interfaces, something that is not a concern at the moment.  Obviously cumulative performance may be an issue in time so we plan to start looking at AAE soon.
    Hope these comments may be useful.
    Alan

  • OutBound File Adapter Issue

    Hi,
    I need some help in configuring file adapters:
    Process: I have a inbound adapter where i am feeding 4000 - 5000 rows of data from a flat file. I use these records to query a database and get response. I have a outbound file adapter where I write database response to a file.
    Problem: I have set the, write new file to 100 records. But if there are 3950 records going to outbound file adapter, It is only writing 3900 records in the output file directory.
    I need to write all records to the file. Please help me achieve this.
    Thank You
    Anil

    Hi,
    the batching criteria (100) is not met.
    You could improve the bahaviour by setting "Elapsed Time Exceeds" parameter, but still, there are some probs because critaria is only evaluated on invocation (anyone has an answer to that?!):
    from Doc:
    Elapsed Time Exceeds: Specify a time which, when exceeded, causes a new outgoing file to be created.
    Note:
    The Elapsed Time Exceeds batching criteria is evaluated and a new outgoing file is created, only when an invocation happens.
    For example, if you specify that elapsed time exceeds 15 seconds, then the first message that is received is not written out, even after 15 seconds, as batching conditions are not valid. If a second message is received, then batching conditions become valid for the first one, and an output file is created when the elapsed time exceeds 15 seconds.

  • Error when Splitting the Message in Synchronous Sender -BPM

    Hi ALL,
    I has the following Integration Process:
    Receiver-----Synchronous Sender--
    Sender(async)
    When iam trying to Split the Message in Synchronous Sender
    where the receiver for Synchronous send message is a HTTP adapter iam getting the following Error in SXMB_MONI
    "Messages in multi message format can be sent to one adapter engine only ".
    Is there any solution for this?Its urgent
    Is there any solution that can split and send the messages individually to the HTTP  so that i can Split the message inside a BPM and use the BPM to send each individual message seperately.
    Please Help me in this Issue its Urgent
    Thanks
    YeswanthRaj

    Use a transformation step to split the message then use a Block with par for each option and have the sync send in side it. Then send this asynchronously to the system you want to send it to.
    VJ

Maybe you are looking for

  • Some able to save data in my pdf, some are not...

    I have created a pdf for company use - it's a purchase order form - and about half the company can open it, edit it, save their data, and email it back: perfect. The other half are unable to save to the document. They can open it and fill it out, but

  • My Ipad2 crushes everytime I try to enter to the email settings, Someone knows why and can help me?

    My Ipad2 crushes everytime I try to enter to the email settings, Someone knows why and can help me? I need to change the email password! I restored the ipad, but still not working.

  • [solved] How to install Linux on the Fujitsu Scaleo Home Server 2205

    Hello! I am currently thinking about buying a Fujitsu Scaleo Home Server 2205. The according datasheet can be found here. The default installation includes Windows Home Server, which is why I have to find a way to install Linux on it (still thinking

  • Oracle RAC and SGA size

    Hello, I read somewhere that for Oracle RAC environments, it is necessary to size the SGA 10% - 15% bigger than it would be for a normal, single-instance environment. This would be necessary because of the Cache Fusion feature, which creates a global

  • Trying to reinstall my backed up iphoto libary

    What I did. 1) backed up my library to an external hard drive. It was approx 100 gb and if I recall around 20000 photos, maybe a few more 2) took my MacBook to an apple store and had it totally reset When I went to reinstall I dragged my library from