Question regarding JDBC - XI -RFC

Hi all,
I have a scenario which XI will get data from database (using jdbc adpater) then send data to execute in RFC. This is an asynchronous call. My question is that.
1. If XI can get many records from database in 1 select, will it send many records to RFC at once? Is there any way i could tell XI to split input data into many message (1 message for each record) without using BPM? or Is it possible or better to set import parameter of RFC into table to get many record from XI at once?
2. If i manage to make 1 message for each record, Could i use queue for sending data to RFC? I want the first record to be completed before sending second record. Since this is an asynchronous call, I'm not sure that XI could be able to know when to send the second record or Do I have to make it synchronous call to get return response from RFC after RFC finish execution and use BPM to get return response before sending next data to RFC.
Any suggestion from expert?
Thanks,
Pavin

Hi
1. If XI can get many records from database in 1 select, will it send many records to RFC at once? Is there any way i could tell XI to split input data into many message (1 message for each record) without using BPM? or Is it possible or better to set import parameter of RFC into table to get many record from XI at once?
Yes you can do multi mapping 1:N without BPM
Message Splitting Using the Graphical Mapping Tool
/people/jin.shin/blog/2006/02/07/multi-mapping-without-bpm--yes-it146s-possible
2. If i manage to make 1 message for each record, Could i use queue for sending data to RFC? I want the first record to be completed before sending second record. Since this is an asynchronous call, I'm not sure that XI could be able to know when to send the second record or Do I have to make it synchronous call to get return response from RFC after RFC finish execution and use BPM to get return response before sending next data to RFC.
You can queue to process one by one. Response can be obtained with or without BPM
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/file-rfc-file(Without%2bBPM)
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/jdbcTOJDBC
JDBC to RFC Mapping Problem.
Thanks
Gaurav

Similar Messages

  • Help on RFC to JDBC and JDBC to RFC

    Help on RFC to JDBC and JDBC to RFC
    Hi Gurus
    I have the scenario where an RFC will be triggered in SAP , to write to a DB2 database and insert new records in a table
    and vice versa the JDBC has to read som data from a table based on a primary key, mark them as read for not be read next time and send the data to an RFC where a table in SAP will be updated.
    I have never worked with JDBC before , pls advice.
    is there any new issue to consider in PI 7.0 regarding JDBC
    Thanks.

    The requirement looks standard,
    SEARCH IN SDN FOR JDBC scenarios,you will find many docs for sender as well as Receiver.
    >
    > is there any new issue to consider in PI 7.0 regarding JDBC
    >
    no issue with PI7.0.
    Regards,
    Raj

  • JDBC- XI- RFC(V.V.Urgent)

    Hi ,
    JDBC->XI->RFC
    I am Integrating Oracle database with SAP(RFC).
    How should adapter knows some thing updated in Oracle.
    How Should the Triggers in Oracle.How we have to write Query in XI..
    Points Will be awarded for the Solution..
    Regards,
    Jayasimha

    Hi
    Refer the below links ...
    check the below blogs
    /people/sap.user72/blog/2005/06/01/file-to-jdbc-adapter-using-sap-xi-30
    /people/siva.maranani/blog/2005/05/21/jdbc-stored-procedures
    /people/saravanakumar.kuppusamy2/blog/2005/01/19/rdbms-system-integration-using-xi-30-jdbc-senderreceiver-adapter
    See the below links also ..
    /people/siva.maranani/blog/2005/09/16/xi-how-to-on-jdbc-receiver-response - XI: How-to on JDBC receiver response
    JDBC Response /people/swaroopa.vishwanath/blog/2006/12/28/send-rfc-to-sap-xi-150-asynchronous
    Receiver JDBC scenario - /people/sameer.shadab/blog/2005/10/24/connecting-to-ms-access-using-receiver-jdbc-adapter-without-dsn
    /people/ajay.kumar/blog/2005/03/24/writing-bsp-for-sap-r3-version-46
    /people/sravya.talanki2/blog/2006/12/27/aspirant-to-learn-sap-xiyou-won-the-jackpot-if-you-read-this-part-iii
    /people/prasad.illapani/blog/2006/10/25/how-to-check-jdbc-sql-query-syntax-and-verify-the-query-results-inside-a-user-defined-function-of-the-lookup-api
    /people/saravanakumar.kuppusamy2/blog/2005/01/19/rdbms-system-integration-using-xi-30-jdbc-senderreceiver-adapter
    /people/swaroopa.vishwanath/blog/2007/01/22/ale-configuration-for-pushing-idocs-from-sap-to-xi
    /people/udo.martens/blog/2005/09/30/one-logical-system-name-for-serveral-bpm-acknowledgements
    /people/community.user/blog/2006/09/21/xi-rfcadapter-reconnect-issue
    /people/sap.user72/blog/2005/12/22/new-to-xi
    Rewards point if useful

  • JDBC to RFC with BPM

    Hi,
    Please find details of my scenario.
    Oracle(VIEW)
    Sender JDBC--> PI--
    > RFC request
    and RFC response I need to update some other table in Oracle  using storeprocedure.
    and have one more storeprocesdure to update the View so that I will not get duplicate entry.
    I am not using UPDATE statement in JDBC sender communication channel, insted of that to update VIEW I am using storeprocedure.
    Please let me know how I can achive it with BPM.
    Thanks,
    Bhupesh

    Hi,
    1) If the structure send by JDBC is not acceptable by the BPM then you need one Mapping in JDBC ---> BPM flow.
    2) If the structure send by JDBC is same as the receiving structure of BPM then no need of Mapping.
    3) You will need one Mapping to map JDBC req message to the RFC req message; one mapping program to convert RFC response to the JDBC stored-procedure message....
    So your scenario with mappings will be:
    JDBC --> Interface Determination (Mapping Optional as per pt.1) -
    > BPM
    BPM <-> Interface Determination (Request-Response Mapping) <--> RFC
    In the above mapping program your ABS MI of BPM should have below MTs
    Req Message -
    > Original Message Received from JDBC
    Response Message ---> Message which needs to be send to the JDBC stored-procedure.
    Now your IN SYNC MI at the RFC end should have below MTs
    Req Message ---> RFC request message
    Resp Message ---> RFC response massage.
    Then in the Interface Detremination of BPM <----> RFC flow develop a IM with below mapping programs:
    Request Mapping between ---> MessageFromJDBC_to_RFCRequest
    ResponseMapping between ---> RFCResponse_to_JDBCStoredProcedure
    BPM -
    > JDBCStoredProcedure
    For this flow there is no need of Mapping program...
    using the above mappings programs you can ensure that there is no Transformation step in your BPM...this is to help you in achieving a good performance out of your BPM...
    You need a Syns ABS and Sync IN message Interface for BPM <---> RFC communication.
    Regards,
    Abhishek.

  • JDBC to RFC Sync Error

    Dear All,
    I'm creating JDBC to RFC Sync scenario.
    Configured according to below link,
    http://scn.sap.com/community/pi-and-soa-middleware/blog/2013/12/04/jdbc-to-jdbc-synchronous-scenario-with-rr-beans-and-without-bpm-and-rfc-lookup
    Sender JDBC structure is
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_JDBC_To_RFC_Source xmlns:ns0="http://FiletoFile.com">
       <row>
          <A>12</A>
          <B>34</B>
       </row>
    </ns0:MT_JDBC_To_RFC_Source>
    But in Test tab of MM_REQ is showing Red.
    Why its showing red?
    PFA the attached Screenshot.
    Thanks,
    Arthita

    Hi Arthitha
    You cannot create structure of some kind and use completely different kind of input payload.
    If your expected payload is of format
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:MT_JDBC_To_RFC_Source xmlns:ns0="http://FiletoFile.com">
       <row>
          <A>12</A>
          <B>34</B>
       </row>
    </ns0:MT_JDBC_To_RFC_Source>
    Then your Data type should be created as below
    Regards
    Osman

  • JDBC to RFC synch RFC call not executing.

    Hi,
    I am working on the synchronous JDBC to RFC without BPM. After completing design and config when I test the complete scenario the data from databse is not getting updated in R/3. And I do not see any errors in MONI. But when compared the moni logs I observed the following between the working scenario and not working scenario.
    <u>Working scenario log in MONI:</u>
    <SAP:Receiver>
      <SAP:Party agency="" scheme="" />
      <SAP:Service>ECS300</SAP:Service>
      <SAP:Interface namespace="<b>http://sap.com/xi/XI/System</b>">InterfaceCollection</SAP:Interface>
    - <SAP:Mapping notRequired="S">
      <SAP:ObjectId>YYgNVKC9PTCW4JlMapfxZQ==</SAP:ObjectId>
      <SAP:SWCV>IrmTYNPLEdqKItGjlusuXw==</SAP:SWCV>
    <u>Not working log from the MONI:</u>
    ++++++++++++++++++++++++
    <SAP:Receiver>
      <SAP:Party agency="" scheme="" />
      <SAP:Service>ECS300</SAP:Service>
      <SAP:Interface namespace="<b>http://my_Own_namespace</b>">JDBC_Rfc_Synch_MI</SAP:Interface>
    - <SAP:Mapping notRequired="M">
      <SAP:ObjectId>28ZZbGggOw6UcnigDXMD7A==</SAP:ObjectId>
      <SAP:SWCV>IrmTYNPLEdqKItGjlusuXw==</SAP:SWCV>
      <SAP:SP>-1</SAP:SP>
      </SAP:Mapping>
    Could some body point me where I am doing wrong ?
    Thaks
    Steve.

    Hi Steve,
    I think the error is because your database table is expecting some kind of input and the input you are passing has some error in it.Just cross check the table using DESCRIBE <tablename> with the data you are trying to enter.
    Also Just look at Query SQL Statement part ubnder this link,
    http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm
    Regards,
    abhy

  • Question regarding the "mcxquery" and "dscl -mcxread" commands:

    Question regarding the mcxquery and dscl -mcxread commands:
    Does anyone know why the mcxquery and the dscl . -mcxread commands don't show any info about MCX managed login items & printers? The System Profiler's "Managed Client" section does. Id like to see info regarding managed printers and managed login items using the mcx tools. I have Mac users running 10.5.2 with both login items and printers that are pushed out to them via MCX. The System Profiler app shows all of their policies, but the dscl . -mcxread and mcxquery tools dont. Why not?
    -D
    Message was edited by: Daniel Stranathan
    null

    How do you "call procedures/functions" without sql code? You need at least the call statement like
    {call myProc(?,?,?)}that you wrap into a CallableStatement.
    Other than that: when you switch off autocommit, you need to call commit/rollback at the end. Usually, if you don't commit/rollback a non-autocommitted connection, the transaction get's committed/rollbacked when you close the connection - that depends on the JDBC driver. But it's never a good idea to ommit the commit/rollback calls on a non-autocommit connection. Usually you enclose your code in a try/catch block like this:
    con.setAutocommit(false);
    try {
       con.commit();
    } catch (Exception e) {
       con.rollback();
    } finally {
        con.setAutocommit(true); //or:
        con.close();
    }

  • JDBC to RFC synchronous scenario (Urgent).

    Dear forum,
    My requirement is data is populated in oracle data base.we are fecthing the data from database through XI and sending it to R/3. RFC is sending the response (suceess/failure) to XI. And XI is updating the status message into database.
    For this,I have done the JDBC - RFC - JDBC syncronous scenario using BPM. .I got the successfull message under message monitering.Problem is I cannot able to find the data for RFC and JDBC reciever.
    Please find the following Configuration steps for the above scenario
    3 data types
    JDBC request, JDBC response one dummy structure to capture RFC response messages.
    3 message types for the above data types
    5 message interfaces.
    OB request,
    OB ABS request,
    IB Asyn for dummy,
    Syn ABS (JDBC req and dummy structure),
    IB JDBC response.
    4 message mappings.
    Mapping between JDBC request to JDBC request dummy.
    Mapping between JDBC request dummy to RFC request.
    Mapping between RFC response to JDBC response dummy.
    Mapping between JDBC response dummy to JDBC response.
    3 Interface Mappings.
    JDBC request to JDBC request dummy.
    JDBC request dummy to RFC request and RFC response to JDBC dummy response(Synchronous request and responce) .
    JDBC dummy response to JDBC response.
    Integration Process.
    Used following steps.
    Recieve step asynchronous -> Send synchronous -> Send asynchronous
    I can able to see the payload for sender under communication channel.But the data is not reached to RFC.can any one help me to come out of this problem.
    Points will be awarded for helpfull answers.
    Thanks & Regards,
    Naresh.K

    Hi Seshagiri,
    We are trying the same scenario with out using BPM.
    Following steps has been done in design(IR).
    2 data types for JDBC request & JDBC response.
    2 message types for the above data types.
    1 outbound synchronous message Interface.
    2 message mappings (JDBC request -> RFC request) and (RFC response -> JDBC  response)
    1 Interface Mapping.
    Could you please let me know how to maintain the collaborative profiles & and agreement details in Configuration(ID).
    Your valuable assistence is required to complete the interface.
    Thanks in advance.
    Kind Regards,
    Naresh.K

  • Jdbc to rfc to jdbc scenario is not working

    Hi...
    We have done the JDBC to RFC to JDBC scenario using BPM, it was working fine in the last month. now we started testing the same scenario, that is not working. In SXMB_MONI it is showing only sender data is successful, it is not showing any RFC Receiver data & Jdbc Receiver data. in the CCM also Jdbc Sender CC is showing successfull and it is showing the successful messages also, but in RFC Receiver CC
    & JDBC Receiver CC it is not showing any thing.
    please help on this...
    Regards,
    Pasi.

    Hi
    Check u r RFC response (put external break point)
    and check wether it has data
    rgds
    srini

  • Question regarding XI/PI and Idoc processing.

    Hi,
    I'm learning XI/PI and I have a question regarding Idoc processing in PI.
    We need to configure communication between our BW system and our PI system using Idocs.
    The Idocs are sent from BW to our PI systems and are then sent back to the BW system, there are no third system involved. The idocs are only between PI and BW.
    Our BW system is already connected with many other R3 systems by using WE20 / WE21 and RFC's and everything works perfectly.
    While I configure this communication between BW and PI it seems that PI is passing the Idoc to the Idoc adapter, converts it to xml and tries to find a receiver for the particular Idoc. I see the error "NO_RECEIVER_CASE_ASYNC" in SXMB_MONI.
    Is this a normal behaviour in PI ? Why is PI thinking that the Idoc needs to be sent to another system when it is infact for itself ??
    Thanks and regards
    Remi

    Hi
    for error "NO_RECEIVER_CASE_ASYNC" in SXMB_MONI.
    This problem may occur due to one of following reasons, so check
    1 service is active in message? transaction SICF and activate service sap/xi/engine (right click, activate)
    2 Is the port 8001 defined in the services on the smicm under services?
    3 Check the roles assign PIDIRUSER
    http://help.sap.com/saphelp_nw04/helpdata/en/56/361041ebf0f06fe10000000a1550b0/content.htm
    role: SAP_XI_ID_SERV_USER attached to it
    Also Check Whether PIDIRUSER has following role
    SAP_SLD_CONFIGURATOR
    SAP_XI_RWB_SERV_USER
    SAP_XI_RWB_SERV_USER_MAIN
    Regards
    Abhishek

  • Can you explain steps in the Async and Sync scenarios JDBC to RFC.

    Hi,
    Can you explain some basic steps in the Async and Sync scenarios for sending data from JDBC to RFC.
    Like,
    The data is picked up from the  database table through JDBC adapter.
    It is passed on to SAP  by calling the RFC. RFC gets executed         
    successfully. The status is returned by the RFC. The status needs to be
    updated back into the SQL database table.
    Is this a sync case or async case.
    What si the diffrences in the sync and async scenarios in the above JDBC to RFC scenarios.
    Soorya

    hi check the below link
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/5474f19e-0701-0010-4eaa-97c4f78dbf9b
    JDBC Synchronous call using BPM  
    Data Types -
    1) File Input
    2) JDBC Req
    3) JDBC Response
    4) File Response of similar type of JDBC Response.. ( This you can avoid also..let it be for first time)
    Message Types
    4 for each data type
    Message Interfaces
    1) Async, Outbound, Interface, to receieve the file
    2) Async, Inbound , Interface to send the file from XI
    3) Async, Absract , Interface of type File message type to recieve the message in the BPM
    4) Sync, Abstract Interface with Req message type as File Request, and Response Message type as a file Response
    5) Sync , Inbound interface for JDBC with Input message type as a JDBC Request and Output Message type as a JDBC Response
    Message Mapping:
    1)Mapping between File Req to the JDBC req
    2) JDBC Response to File Response
    Interface mapping:
    1) Sender Interface as a Sync,Abstract Interface created for the file type and target interface as Synchrnous JDBC interface.
    Use corresponding mapping for Req and Resp..
    note:reward points if solution found helpfull.....
    regards
    chandrakanth.k

  • Questions regarding creating the database

    Hi there,
    From the previous posting, http://forum.java.sun.com/thread.jspa?threadID=640415&tstart=15 someone gave me the "formula" of connecting to the database:
    java.sql.Connection  conn   =  java.sql.DriverManager.getConnection("jdbc:mysql://localhost/name_of_DB","user","password") Now just couple of questions regarding the formula :
    1) Obviously, if I want the name of my DB, then I will have to create my DB. Can somebody please tell me the protocol of creating the DB? And where do I create this DB (i.e can I create it anywhere in my application)? Or is it that I have to create a new database using MySQL itself?
    2) After creating a database, I would like to create multiple tables containing different datas. Is it possible to place the code creating these tables anywher in the application I want?
    Your ideas or advice would be much appreciated. Thank you in advance.
    Regards,
    Young

    1) Yes, you'll have to create the database using MySQL.
    2) You sure can once you have the database created with the proper rights assigned to your user. You can put the code anywhere you want but you may want to put it somewhere where it only ran once like on install if you're doing a standalone app.

  • Question Regarding MIDI and Sample Accuracy

    Hi,
    I have 2 questions regarding MIDI.
    1. MIDI is moved by ticks. In the arrange window however, you can move a region by samples. When doing this, you can move within values of the ticks (which you can see on your position box that pops up) Now, will this MIDI note actually be played back at that specific sample point, or will it round the event to the closest tick? (example, if I have a MIDI note directly on 1.1.1.1, and I move the REGION in the arrange... will that MIDI note now fall on the sample that I have moved the region to, or will it be rounded to the closest tick?)
    2. When making a midi template from an audio region, will the MIDI information land exactly on the sample of the transient, or will it be rounded to the closest tick?
    I've looked through the manual, and couldn't find any specific answer to these questions.
    Thanks!
    Message was edited by: Matthew Usnick

    Ok, I've done some experimenting, and here are my results.
    I believe those numbers ARE samples. I came to this conclusion by counting (for some reason it starts on 11) and cutting a region to be 33 samples long (so, minus 11, is 22 actual samples). I then went to the Audio Bin window, and chose to view region length as samples. And there it said it: 22 samples. So, you can in fact move MIDI regions by samples!
    Second, I wanted to see if the MIDI notes in the region itself would be quantized to the nearest tick. I cut a piece of audio, so it had a 1 sample attack (zoomed in asa far as I could in the sample editor, selected the smallest portion, and faded in, and made the start point, the region start position). I saved the region as a new audio file, and loaded it up in the exs sampler.
    I then made a MIDI region, with and triggered the sample on beat 1 (quantized, on the money). I then went into the arrange window, made a fixed cycle length, and bounced the audio. I then moved the MIDI region by one sample to the right. I did this 22 times (which is the number of samples in a tick, at 120, apparently). After bouncing all of these (cycle position remained fixed, only the MIDI region was moving) I imported all the audio into the arrange on new tracks, and YES!!! The sample start was cascaded by a sample each time!
    SO.
    Not only can you move MIDI regions by sample, but the positions are NOT quantized to Logics ticks!
    This is very good news, and glad I worked this out!
    (if anyone thinks this sounds wrong, please correct me, but I'm pretty sure I proved it, in my test)
    Message was edited by: Matthew Usnick

  • Question regarding homehub and Open reach router -...

    Hi all,
      I had infinity installed earlier this month and am happy with it so far. I do have a few questions regarding the service and hardware though.
      I run both my BT openreach router and BT Home hub from the same power socket. The problem is, if I turn the plug on so both the Homehub and Openreach Router start up at the same time, the home hub will never get an Internet connection from the router. To solve this I have to turn the BT home hub on first and leave it for a minute, then start the router up and it all works fine. I'm just curious if this is the norm or do I have some faulty hardware?
      Secondly, I appreciate the estimated speed BT quote isn't always accurate, I was quoted 49mbits down but received 38mbits down - Which I was happy with. Recently though it has dropped to 30. I am worried this might continue to drop over time. and as of present I am 20mbits down on the estimate . For the record 30mbits is actually fine and probably more than I would ever need. If I could boost it some how though I would be interested to hear from you.
    Thanks, .

    Just a clarification: the two boxes are the HomeHub (router, black) and the modem (white).  The HomeHub has its own power switch, the modem doesn't.
    There is something wrong if the HomeHub needs to be turned on before the modem.  As others have said, in general best to leave the modem on all the time.  You should be able to connect them up in any order, or together.  (For example, I recently tripped the mains cutout, and when I restored power the modem and HomeHub went on together and everything was ok).
    Check if the router can connect/disconnect from the broadband using the web interface.  Leaving the modem and HomeHub on all the time, go to http://192.168.1.254/ on a browser on a connected computer, and see whether the Connect/Disconnect button works.

  • Question regarding IWDTree and context Value Node naming

    Hi,
    I have a question regarding the IWDTree / IWDTreeNodeType components.
    I have a context looking like this:
    Context
      + ResponseNode
        + PersonNode (1..1)
          + PersonAddressNode                    (empty node, placeholder)
          | + AdresNode (0..n)
          + PersonChildNode                      (empty node, placeholder)
          | + PersonNode (0..n)
          |   + PersonAddressNode                (empty node, placeholder)
          |     + AddressNode (0..n)
          + PersonParentsNode                    (empty node, placeholder)
            + PersonNode (0..n)
              + PersonAddressNode                (empty node, placeholder)
                + AddressNode (0..n)
    The context represents a person, a person's address, and a person's children and parents with their respective addresses.
    As a result, on different branches, a PersonNode and AddressNode can appear.
    And for some strange reason, all PersonNodes and AddressNodes link to the same ResponseNode.PersonNode.PersonParentsNode.PersonNode and ResponseNode.PersonNode.PersonParentsNode.PersonNode.PersonAddressNode.AddressNode respectively, irregardless of their branch...
    Is it illegal to have multiple PersonNode and AddressNode node names, and should they be named uniquely?

    Generally, node names need to be unique inside the context, attributes in different nodes can have same names. I wonder if the context structure you described will result in code without compile errors.
    The WD Tree can only be used with recursive context nodes or with a hierarchy of non-singleton child nodes.
    Can you give an example how your tree should look like at runtime?

Maybe you are looking for