JDBC Sender in Synchronous
Hello Experts,
Can anyone tell me that is it possible to use JDBC Sender adapter in Synchronous scenario?
My requirement is
Database request -> RFC Request
RFC Response -> Database.
Please tell me if it is possible then how?
Thanks in advance.
Regards,
Hetal
hi shah,
yes it is possible pls do chl this link
http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/frameset.htm
http://help.sap.com/saphelp_nw04s/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/1d/756b3c0d592c7fe10000000a11405a/frameset.htm
http://help.sap.com/saphelp_nw04s/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/frameset.htm
if found worth pls do the req
Thanx
Sampath
Similar Messages
-
JDBC Sender Response Message as an XML SQL
Hi All,
I have a scenario as follows :
JDBC Sender <-> XI (synchronous) <-> ABAP Proxy.
I'm hoping that I can use XML SQL form at the JDBC Sender Response message, so I can update some fields at the database using the response message's data. But actually it's not working. Please advise whether it's applicable or not ? If it's not, is there any other way to do that ?
Thanks in advance,
Andy SAndy,
Adding to the discussion here, JDBC sender adapter does not support Synchronous Processing .It supports only Asynch procesing and so, you would need a BPM inorder to update the database again with the ABAP Proxy response.
You would have a sender jdbc adapter polling over the db and getting the data, --> a receiev step in the BPM receives the data.
Next a send Synch Step makes the call to the ABAP Proxy and get the response.
You map this response to a JDBC receiver adapters data format on the basis of the action you need and then use a send step with a receierv JDBC adapter to update the DB.
Regards,
Bhavesh -
Jdbc sender adapter in synchronous mode
Dear Experts,
I am on PI 7.0 SP 14. I would like to know whether it is possible to use jdbc sender adapter in
synchrounous mode. The scenario is jdbc to web service . The response from webservice should be inserted into the database. If we use the insert statement in the response mapping will it work ?
Thanks
AjuHi
JDBC sync is possible but only at Receiver, look this blog
SYNCHRONOUS SOAP TO JDBC - END TO END WALKTHROUGH
JDBC Stored Procedures
JDBC Receiver Adapter -- Synchronous Select Step by Step -
Hi All,
Is there a way to submit SQL statement with dynamic parametr to the JDBC sender?
I need to get the current date of the PI machine and use it in the "where" cluase of the "Query SQL Statement" dynamically in the "Proccessing" tab of the JDBC sender
Thanks,
RannyWhat I can do is , Suggest you a way for your reqt.
Create a Synchronous Scenario ....
Sender -> XI -> Receiver(JDBC) will Give Response on the basis of your query
On Receiver (JDBC) Side , create `your query like your reqt with Date parameter in mapping Tranformation.
Regards
Prabhat Sharma -
JDBC Sender Adapter Configuration
Hi All,
i want to know if we can configure JDBC sender adapter to run only when we ask it to.
Normally what happens is tht the JDBC Sender Adapter polls the database at specified intervals, i dont want that. I only want it to poll the database when i get a file from RFC.
Regards,
SumitHi,
Thank you.I had posted a similar questions a few dayz back and someone said that if we make the jdbc adapter synchronous it would solve our purpose, but it wont.
Bhavesh i went thru ur blog in the mornin b4 postin d question..btw itz a nice blog
Domenico : this is not what im looking for.
Cheers,
Sumit
Message was edited by: Sumit Khetawat -
Hi,
am I right in saying that the JDBC Sender Adapter can't request XI system level acknowledgements. Due to this it is necessary to establish an integrations process fed with the data from the sender adapter, sending it to the target system and receiving an acknowledgement?
Kind regards,
HeikoHi heiko,
a JDBC sender adapter cannot be configured Synchronously and so, what you are stating sounds perfect
If you want an update back to the database after execution , BPM is one way .
But, if you are looking to update some info immediately after sender adapter finishes its exectuion, then UPDATE statment can be used.
Regards,
Bhavesh -
BPM Question: JDBC Sender to RFC to JDBC Receiver
I have the following requirement:
JDBC Sender Adapter (by nature Asynchronous) SELECT multiple rows from a table
To
RFC Receiver Adapter (Synchronous)
To
JDBC Receiver Adapter (Synchronous) UPDATE multiple rows in a table
Then
IF <SAP:Error> XML is returned from the JDBC Receiver Adapter, I want to either issue a CCMS alert, or utilize the XI Email Adapter for error notification.
ELSE, if <root_response> XML is returned from the JDBC Receiver Adapter, do nothing.
This obviously requires a BPM. If I use the JDBC Receiver Adapter Asynchronously (with no error handling) this is a piece of cake. But after trying to use it synchronously along with error handling logic, I am stuck.
This issue that I am facing is how to logically handle the JDBC Receiver Adapter Response XML in the BPM. I would like to know what I need to do in the BPM in order to issue a CCMS alert (and/or send a message through the XI Email Adapter) ONLY if the <SAP:Error> XML is returned.
Below are examples of the 2 types of response messages that I would receive back from the JDBC Receiver:
Error:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!-- Call Adapter -->
<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: Error processing request in sax parser: Error when executing statement for table/stored proc. 'SAP_OrderImport' (structure 'StatementName2'): java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Violation of PRIMARY KEY constraint 'PK_SAP_OrderImport'. Cannot insert duplicate key in object 'SAP_OrderImport'.</SAP:AdditionalText>
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack />
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
Success:
<?xml version="1.0" encoding="utf-8" ?>
<root_response>
<StatementName1_response>
<update_count>1</update_count>
</StatementName1_response>
</root_response>
I have searched SDN for a while but did not find anything that specifically addressed this. I would appreciate any helpHi,
In ur BPM wrap the jdbc send step with a exception block. in the exception block define a control step to throw an alert.
so when the jdbc step fails, the exception is caught and an alert is generated by the control step.
cheers,
naveen -
Hello,
please help me to solve a problem.
I need you to check my XI design and configuration. I confused at all.
I have a task to send an information from MSSQL DB to SAP.This information is based on query to the DB. At first we must be sure the information is present in DB and therefore we do a small query to be sure. If it is true we do the extended query. After that we transform the received information and send it to SAP.
I use BPM. I've realized the classic scheme as described in some blogs.
But I simplified my scheme to debug it and removed any correlation and switch steps.
My scheme is:
Receive Step -> Synchronous Send Step -> Transformation -> Send Step.
What i have done:
<u>Receive Step</u>
1) I've created DT, MT for outbound interface(simple query)
Then I've created a couple of the MI one real and one abstract for Receive step.
<u>Synchronous Send Step</u>
2) I've created a couple of DT, MT for request and response messages accordingly. (Note:The DT of request message used a construction like that - access=SQL_QUERY).
3) Then I've created two couple MI two real MI and two abstract MI for Synchronous Send Step.
The request MI is inbound. The response MI outbound.
Also Ive created abstract synchronous MI and included in it two MTs (request and response MTs).
4) Then Ive created MM and IM to transform outbound MT into request MT of sync interface. In IM I used real(not abstract) outbound MI as source and real request MI as target. It is dummy mapping <b>to initiate</b> extended query only in Synchronous Send Step.
<u>Send Step</u>
5) Then Ive created MM and IM for transformation step in BPM. I use abs MI of response interface as source and IDOC as target.
In Abs interface list in BPM I have one abs inbound interface(RS), two outbound interfaces(Synchronous and ABS for IDOC). Abs Req and Res interfaces are neither inbound nor outbound in BPM.
It is the BPM design.
<u>Configuration Stage</u>
5) At the Configuration Ive created JDBC sender channel for outbound interface (Receive Step), JDBC receive channel (for Sync Step request) and IDOC receiver channel.
6) At Receive Determination I used as sender DB service and as receiver abs MI of Receive Step of BPM.
7) Then I used as sender BPM with OB synchronous interface of BPM and as receiver MSSQL DB service with Request interface as its inbound interface becouse I used JDBC receiver interface. <b>(I doubt here!)</b>
8) At last I used as sender BPM with response interface of BPM and as receiver SAP system with receiver IDOC interface of SAP system.
In SXMB_MONI(PE) I see only first message which incomes in BPM and error status for Synchronous Send Step - <b>Send Message Synchronously Error</b> ! Nothing else!
I feel I've made some mistakes but I don't know where they are!
Please help me!
Thanks!check in the column PE to see the graphical workflow log. This would help to debug the issue.
and is ur scenario fo this kind:
you send a request message to a DB and in turn recive a respnse. Based on the response u carry out the transformation and send to the target i.e. r3?
chek the below log of handleing sync jdbc call. this shud help u out.
/people/bhavesh.kantilal/blog/2006/07/03/jdbc-receiver-adapter--synchronous-select-150-step-by-step -
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.KHi 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 -
Hi All,
i am doing a synchronous scenario from Webservices to JDBC. I try to get Data from the SQL-Database (SQL-Server). But my problem is, that i have more than one SQL-Statement .
I am writing a program which call the Webservice. The Webservice is defined by XI and represents the Interface for the program to get Data from the SQL-Database. So I need a JDBC-Sender. This Sender allows only one SQL-Statement.
What I want is, that my program get different Data from Database by (for example) using different methods of the Webservice. Or have I to define Webservices just as many as SQL-Statements ?
Or do I have an error in reasoning?
Thanks for help,
Jens.Hi Krishna,
thank you for your fast reply.
Yes my scenario gets the data from XI-Webservice. And the XI-Webservice gets the data from the Database then again.
I want to write a program in the .Net runtime environment. This is also a Webservice. This .Net-Webservice communicate with the XI by using the XI-Webservice which represents the interface for getting Data from Database by using JDBC-Adapter. But I don't think that you are right - using Sender XI-Webservice and Reciever-JDBC because the help says:
"You need to configure the sender JDBC adapter to be able to send content from databases to the Integration Server"
This is what I want: Using XI-Webservice in .Net-Webservice as a Webservice-Reference, to call methods (with sending parameters) of the XI-Webservice, which give me the result of the SQL-Statement from the JDBC-Sender.
And at this point, there are more than one SQL-Statement necessary. This was my question: How using one XI-Webservice(-Interface) to call different SQL-Statements.
Sorry, XI is really tricky.
Many thanks in advance,
Jens. -
Can I configure JDBC Sender to process the RFC response message?
Dear All,
We're working on an integration scenario of synchronous messaging from database to RFC. Is there any way to update or insert the record(s) onto the source database according to the BAPI response?
Any inputs are welcome. Many thanks for your time and support.
Regards,
MatthewHi Chun,
As far as I know you will not be able update the database back based on RFC response in a synchronous way though you have option of selecting BE in sender JDBC adapter.
This is sentence from SAP training material...
"In the case of a JDBC sender, the database table is queried via a SELECT statement. The message is by definition asynchronous hence the QoS should be set as EO or EOIO. "
The only option i can think of is JDBC Sender(async)->BPM->RFC(synch)->response mapping to JDBC receiver structure->JDBC receiver to update the table.
Also check these threads...
JDBC source in a Synchronous BAPI call.
Re: JDBC Sender Synchronously?
Anand
Message was edited by: Anand Torgal -
How to cofigure the JDBC Sender adaptor
how to cofigure the JDBC Sender adaptor,
i want to do the scenario JDBC>XI>SAP
Thanks & Regards,
priya reddyHI
Database (JDBC) Adapter
The JDBC Adapter allows access to any DB that allows a JDBC driver to access the DB. This driver is not supplied with the adapter but must come from the DB provider or a 3rd party. The adapter converts database content to XML and vice versa.
Database content can be read with any SQL statement using a special XML format. This format enables SQL INSERT, UPDATE, SELECT, DELETE or even stored procedures. A message is always processed in one database transaction.
Refer the following links for further assistance
JDBC ADAPTER:
http://help.sap.com/saphelp_nw2004s/helpdata/en/1d/756b3c0d592c7fe10000000a11405a/frameset.htm
http://help.sap.com/saphelp_nw04s/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/frameset.htm
Use thes step by step guidese
https://wiki.sdn.sap.com/wiki/display/XI/JDBCTOJDBC
https://wiki.sdn.sap.com/wiki/display/XI/XMLFile2XMLFile
tutorial /people/yining.mao/blog/2006/09/13/tips-and-tutorial-for-sender-jdbc-adapter
http://help.sap.com/saphelp_nw2004s/helpdata/en/1d/756b3c0d592c7fe10000000a11405a/frameset.htm for sender side JDBC configuration.
Follow this link
/people/luis.melgar/blog/2008/05/13/synchronous-soap-to-jdbc--end-to-end-walkthrough
cheers
reward points if found useful -
using JDBC sender adapter can we update the database of the receiver system ? If so pls provide me the blogs with suitable explanation
anilHi Anil,
We can do this absolutely by JDBC sender adapter
In the sender side choose JDBC adapter and give the select query in that corresponding field and write update statement in the corresponding update field.
http://help.sap.com/saphelp_nw2004s/helpdata/en/1d/756b3c0d592c7fe10000000a11405a/frameset.htm for sender side JDBC configuration.
Follow this link
SYNCHRONOUS SOAP TO JDBC - END TO END WALKTHROUGH
At the receiver side you may use the IDoc/BAPI/RFC to connect the SAP
Configuring the Sender JDBC Adapter
http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/1d/756b3c0d592c7fe10000000a11405a/content.htm
these links ll help u
JDBC source in a Synchronous BAPI call.
Re: Can I configure JDBC Sender to process the RFC response message?
Re: JDBC Sender Synchronously? -
How to update two tables in a single call using JDBC Sender adapter
Hello All,
The scenario is, database entries have to be selected from two tables and at the same time those tables have to be udpated with the flag.
We are using JDBC sender adapter and in Select Query, we are fetching the data by joinin the two tables.
Update Statemtent: We can only update one table using this statement.
Is it possible to update two tables using the Update Statement without using Stored Procedures.
Let me know.
Regards,
Sreenivas.Hi Sreenivas,
> Is it possible to update two tables using the Update Statement without using Stored Procedures.
Yes its possible through join statement
Check this links
Update in JDBC Sender adapter for more than one table
data from 2 tables for jdbc sender adapter
Regards
Ramesh -
JDBC Sender Adapter - Records sent one at a time
Hello everyone,
Here's a summary of my scenario JDBC > XI > RFC.
My select statement (JDBC) looks like this:
SELECT * FROM BATCH WHERE STATUS='Y'
The problem is, whenever it returns multiple rows, the RFC can only accept one record at a time (1...1), so I need to pick up the records from the DB and send them one at a time.
Currently, this is how the output XML looks like:
<?xml version="1.0" encoding="utf-8" ?>
<ns:SQL_RESP_MT xmlns:ns="http://www.pharmaindustries.com">
<row>
<number>200000000472</number>
<status>Y</status>
</row>
<row>
<number>200000000473</number>
<status>Y</status>
</row>
<row>
<number>200000000474</number>
<status>Y</status>
</row>
</ns:SQL_RESP_MT>
Instead, I need each row to be picked up and sent one at a time.
<?xml version="1.0" encoding="utf-8" ?>
<ns:SQL_RESP_MT xmlns:ns="http://www.pharmaindustries.com">
<row>
<number>200000000472</number>
<status>Y</status>
</ns:SQL_RESP_MT>
<?xml version="1.0" encoding="utf-8" ?>
<ns:SQL_RESP_MT xmlns:ns="http://www.pharmaindustries.com">
<number>200000000473</number>
<status>Y</status>
</row>
</ns:SQL_RESP_MT>
<?xml version="1.0" encoding="utf-8" ?>
<ns:SQL_RESP_MT xmlns:ns="http://www.pharmaindustries.com">
<number>200000000474</number>
<status>Y</status>
</row>
</ns:SQL_RESP_MT>
Does anyone know the changes I need to make in my current SELECT statement or the JDBC Sender Adapter to make this possible.
Thanks in advance!
GlennThank you all for your replies. I'll check out your link in a bit, Phani. Thanks!
A SpliByValue won't work since the BAPI Header is (1...1).
Luckily, during testing, I found out that the BAPI (BAPI_PRODORDCONF_CREATE_TT) handles multiple lines in one of the subelements of the header so that was where I mapped the Rows.
I might need to trigger multiple BAPIs in the future, so I'll take a good look at your suggestions, but for now, I'm marking this question answered.
Warm regards,
Glenn
Maybe you are looking for
-
On my old PC with windows XP I was working with photoshop elements 10 ( NL version). Now I bought a new faster PC (windows 8.1) and installed photshop elements 10 (L version on that new PC. The problem is that I can't find my license key. The old PC
-
How to How to restore a damaged itunes base (Windows XP)
An micro powercut during the connection of my iphone returned the following message "itunes base corrupted. New base created". The new base was of course empty. That means I had therefore lost my vocal notes, musics, videos, etc. The Applestore Assis
-
How do i delete all my text messages to speed up my phone
How do I delete all my text messages at one time on my s4?
-
Down Payment Offsetting Problem
Hi SAP gurus, My company has create a down payment, and then create 2 invoice. 1 invoice is use for the VAT. Somehow, the down payment is put into the VAT, not the invoice. The VAT value is less than the down payment. So if we post the payment with a
-
Wacom Intuous4 in Lightroom configuration/settings
I bought a Wacom Intous4 about a month ago, and am loving it so far. I'm still in the process of deciding how I want to set up my ExpressKeys, Touch Ring, and Radial Menu, so I thought I'd check in here and see what other folks are doing. How have yo