Proxy(asynch) to JDBC(sync) to Proxy (asynch)
Hi ,
I have a scenario where i'l be triggerin proxy(12 tables data) and will be either inserting or update to JDBC 12 tables and later shud recieve an acknowledgement of all the 12 tables and pass it to the proxy (updatng the 12 ztables field as sucess ) . can any 1 provide me a solution please .. or how to go about the scenario.kindly help
Also on sender proxy, i would write a single Proxy program to gather all the data (from 12 tables).. Data of each table in a single record Qualified by its Table name or other table metadata details...
On the receiver end, I would write a Stored Proc to update all the tables & give the status of each of those as single output...
Receive them back & update the ABAP tables using proxy (metadata info of the tables is still obtained from the stored proc... which tables are success & which are failure)
-Siva Maranani
Edited by: Siva Maranani on Jul 23, 2009 11:56 AM
Similar Messages
-
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
Sanup 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. -
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.
FelipeHi 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 -
Error Handling in RFC- JDBC sync
Hi all,
We are having scenario RFC<->XI<->JDBC(Sync),and its working fine also.
Suppose exception occur in RFC->JDBC request mapping,Now is it possible to pass the error back to R/3 ?
If parsing error occurs in JDBC adapter how to catch this error in error structure of rfc ?
We observed that if any exception occurs on request side , response mapping will not get executed can anybody explain me why this is happening ?
Thanks in advance,
TuhinHi Gopesh,
U should follow the steps as below.
1.Create TCT/IP connection with t-code SM59
in R/3 and give program id (it is case sensitive also).
2.Give same program name in Sender RFc communication channel.Check that this channel is register in your R/3 system with t-code SMGW(Gate way monitor)
Only this much extra config I have done.
Thanks,
Tuhin -
Hi All,
I am doing File to JDBC sync mode. I have configured the scenario while trying to execute i am getting error in JDBC communication chennal.
I have create the stucture with help of this link
http://help.sap.com/saphelp_nw04/Helpdata/EN/2e/96fd3f2d14e869e10000000a155106/content.htm
Error while parsing or executing XML-SQL document: Error processing request in sax parser: Error when executing statement for table/stored proc. '<STATEMENT> <FND_VALUES_VLaction="SQL_QUERY"> <table>FND_VALUES_VL</table> <access>SELECT BOOKS_ID FROM FND_VALUES_VL</access><Key> <BOOKS_ID>6</BOOKS_ID><KEYFIELD>6</KEYFIELD></Key></FND_FLEX_VALUES_VL></STATEMENT> ' (structure 'STATMENT'): java.sql.SQLException: SQL statement to execute cannot be empty or null
This statement i am passing in Table and also in action attribute.
I have created the MT_JDBC_req like this:
<Statment>
<TABLENAME>
<ACTION> attribute JUST I AM PASSING like this "SQL_QUERY" not XML for this
<TABLE> i am passing the above query
<ACCESS> i am passing the same query
<FILED1>
<FILELD2>
<KEY>
<FILED1>
Thanks,
Venkat.Hi,
I have done the same thing. my response i have created like MT_JDBC_REQ_response
i can see in sxmb_moni from file to JDBC request its going jdbc response i am not getting.
Error: com.sap.aii.af.ra.ms.api.DeliveryException: XIAdapterFramework:GENERAL:com.sap.aii.af.ra.ms.api.DeliveryException
Error: com.sap.aii.af.service.util.transaction.api.TxManagerException: Unable to roll back transaction: com.sap.engine.services.ts.exceptions.BaseIllegalStateException
again now in JDBC reciever also i am getting error.
Error while parsing or executing XML-SQL document: Error processing request in sax parser: Error when executing statement for table/stored proc.
in moni response msg its showing like this
<?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</SAP:AdditionalText>
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack />
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
could you pls help me where i am doing wrong.
Thanks,
Venkat -
Http to jdbc sync scenario needed
hi all,
Can any one give me certain example of http to jdbc sync scenario
Thanks in advance.Hi,
Refer this link.
For JDBC receiver side settings
http://help.sap.com/saphelp_nw2004s/helpdata/en/cf/406642ea59c753e10000000a1550b0/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/64/ce4e886334ec4ea7c2712e11cc567c/content.htm
JDBC Receiver Adapter -- Synchronous Select Step by Step
For HTTP
http://help.sap.com/saphelp_nw2004s/helpdata/en/44/79973cc73af456e10000000a114084/content.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/b1/f29e7a56e18a439984a3c6630951d2/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/14/ef2940cbf2195de10000000a1550b0/content.htm
JDBC Receiver Adapter -- Synchronous Select Step by Step
HTTP Queue
error in HTTP to file scenario
Regards,
Sharanya.
Edited by: sharanya devaraj on Aug 5, 2008 8:09 AM -
Hello,
Could any one of you kindly guide me how to work out, Proxy(Sender) to JDBC(Receiver) - Synchronous comminication.
I would like to request for any helpful links on this.
Many thanks,
Rahul.Hi,
You have to create 2 synchronous SI's. Outbound for Proxy, Inbound for JDBC.
For JDBC refer these links:
Document format for receiver adapter
http://help.sap.com/saphelp_nw70/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
If your request JDBC structure is like:
<Statement>
</Statement>
Then create response structure like:
<Statement_response>
</Statement_response>
Refer some more link on Synchronous JDBC:
JBDC Receiver Insert Statement Response
Re: Synchronous JDBC select
receiver JDBC structure -
HTTP-JDBC sync scenario - detailed error message
Hi all,
We have a sync HTTP-JDBC (DB2) scenario.
The sender is expecting a meaningful error message.
HTTP is on ABAP and JDBC is on the Java engine.
So how can I get the error message on the JDBC adapter to be passed to the user.
Say I would like to pass the sql-codes that I find at the Communication Channel monitoring for the comm Channel.
regHi,
One suggestion is to configure alerts at adapter engine level..
to get the error messages to concerned user.
Regards,
Sreenivas. -
JDBC Sync - RFC Sync Scenario without BPM
Hi Experts,
I am using JDBC - RFC - JDBC Scnario. The concept is
JDBC is reading data from tables and send data to RFC, after updating RFC is giving response to JDBC to update its tables.
JDBC - RFC - JDBC.
Is it possible to do this scnario without using BPM?
Experts pls advise me.
Regards
BalaHello Bala,
These links are useful to you..
JDBC Sender/Receiver adapter
/people/saravanakumar.kuppusamy2/blog/2005/01/19/rdbms-system-integration-using-xi-30-jdbc-senderreceiver-adapter
https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/jdbcTOJDBC&
http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm
Thanks,
Satya -
RFC to JDBC Sync. Scenario
Hello Guys,
I'm trying to set up a RFC - XI - JDBC Scenario. Where the RFC sends some parameters and the JDBC performs a SELECT Query.
I have a RFC that already was imported with the following definition:
IMPORTING
VALUE(LOGIN) TYPE STRING
VALUE(VIGENCIA) TYPE STRING
EXPORTING
VALUE(LOGIN_RES) TYPE STRING
VALUE(ID_USUARIO) TYPE STRING
VALUE(FECHA_CREACION) TYPE STRING
VALUE(VIGENCIA_RES) TYPE STRING
VALUE(PERFIL) TYPE STRING
I already define the JDBC Request Structure as:
<Statement_Select>
<TableName Action="SELECT">
<Table>USUARIO_WEB2</Table>
<Access>
<ID_USUARIO_WEB/>
<LOGIN/>
<FECHA_CREACION/>
<VIGENCIA/>
<PERFIL/>
</Access>
<Key>
<LOGIN>value1</LOGIN>
<VIGENCIA>value2</VIGENCIA>
</Key>
</TableName>
</Statement_Select>
After testing the RFC I'm getting the following error in the CC monitor:
Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'null' (structure 'LOGIN'): java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
Can anyone please help me with this? I'm not sure where the error migth be.
Thanks!
FelipeHi Agasthuri,
Yes I'm not passing any value to <LOGIN/> because is a SELECT statement. This is the Request "SELECT" Structure that I'm using. Is there any problem there?
<Statement_Select>
<TableName Action="SELECT">
<Table>USUARIO_WEB2</Table>
<Access>
<ID_USUARIO_WEB/>
<LOGIN/>
<FECHA_CREACION/>
<VIGENCIA/>
<PERFIL/>
</Access>
<Key>
<LOGIN>value1</LOGIN>
<VIGENCIA>value2</VIGENCIA>
</Key>
</TableName>
</Statement_Select>
I'm still with the problem, please help.
Felipe -
RFC to JDBC Sync Scenario and get JDBC response
Hi All,
We need to create RFC to JDBC synchronous interface with update_insert action.
And we need to get the number of records updated or inserted as response and map the response and send it back to ECC as RFC response mesg.
I have gone through the help document on JDBC and it says :
The response document has the following format; one of the two values is always 0 because either an UPDATE or an INSERT action is always executed:
<update_count>count</update_count>
<insert_count>count</insert_count>
Now following is the question: Is this this the standard feature? Because in our case Database side they will not be sending any response back.
So with the synchronous receiver JDBC channel would we get this update and insert count as response by default?.
Please help with replies.
Thanks,
JaneHi Jane
No setting needs to be done by the Database team, it is a standard feature.
Whenever you insert or update records in DB using the JDBC Adapter, you will get the response with the count.
If insertion fails due to some reason in JDBC Adapter, then there will be no response.
Regards
Osman -
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¤t_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
RebeccaHi 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 -
Async-Sync Bridge without BPM for SOAP WS and JDBC
I heard you can now have async-sync communication outside of BPM by utilizing adapter modules?
My scenarios are:
proxy (async) -> SOAP WS (sync)
proxy (async) -> JDBC (sync)
I will like to capture the synchronous responses in XI and perform some basic error handling.
I read h[File - RFC - File without a BPM - Possible from SP 19.|File - RFC - File without a BPM - Possible from SP 19.] and the release notes for 2004s SP19 and there is no reference to JDBC or SOAP.
tiaHi Megha,
Plz do refer the below links u will get an idea:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a05b2347-01e7-2910-ceac-c45577e574e0
Sync/Async communication in Adapter without BPM (SP19)
Sync/Async communication in JMS adapter without BPM (SP19)
Async/Sync Communication using JMS adapter without BPM (SP 19)
Async/Sync Communication using JMS adapter without BPM (SP 19)
also try this
Sync/Async communication in JMS adapter without BPM (SP19)
File - RFC - File without a BPM - Possible from SP 19.
Collecting IDocs without using BPM
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5059f110-0d01-0010-7c8b-fdc983be70c0
Have a look
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5059f110-0d01-0010-7c8b-fdc983be70c0
HTTP to RFC - A Starter Kit
Sync/Async communication in JMS adapter without BPM (SP19)
https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken]
Do refer this thread:
JDBC Async-Sync bridge does not work
Reward if found useful
Regards,
Vinod. -
Complex Sync receiver JDBC scenario
Hi everyone,
Scenario - Web Service (async) -> PI -> JDBC (sync)
Request structure (not typing the standard format, but I am following that)-
<MT_req>
<Statement1> SELECT # 1
<access>
<filenumber/>
<segment1>
<field2>
</segment1>
<segment2>
<field2>
</segment2>
</Statement1>
<Statement2> SELECT # 2
<access>
<filenumber/>
<segment1>
<field2>
</segment1>
<segment2>
<field2>
</segment2>
</Statement2>
</MT_req>
Select # 1 will return FILENUMBER and SEGMENT1 (In this case, segment2 will be blank?). Select # 2 will return FILENUMBER and SEGMENT2 (In this case segment1 will be blank).
There can be multiple occurrences of segment 1 & 2. Not always segment 1 & 2 will share same FILENUMBER.
The target payload should look like -
<MT_resp>
<row>
<FILENUMBER> (if seg1 & 2 share the same FILENUMBER)
<segment1> fields with values </segment1>
<segment2> fields with values </segment2>
</row>
<row>
<FILENUMBER> (if seg1 & 2 don't share the same FILENUMBER)
<segment1> fields with values </segment1>
<segment2> fields with NO values </segment2>
</row>
</MT_resp>
Briefly it means that if FILENUMBER is same, then "merge" the 2 segments in the same message row.
Can this be handled in the message mapping? If yes, how? If no, then what can be done?
I hope I am able to explain it properly. Any help will be highly appreciated.
Thanks for your time and efforts.
AbhiScenario - Web Service (async) -> PI -> JDBC (sync)
So does it mean that you do not want to send the response back to WS? In this case you have to implement a BPM to either discard the response from JDBC or to route the response to some other receiver.
<row>
<FILENUMBER> (if seg1 & 2 share the same FILENUMBER)
<segment1> fields with values </segment1>
<segment2> fields with values </segment2>
</row>
In the source will segment1 and segment2 are present as two different nodes (i.e. in the datatype itself)?
If yes, then below logic should work for creating FileNumber in above case:
Segment1 -->
--> equalS --> if (Then --> Blank_Constant) --> row
Segment2 -->
to generate the other row node when segment1 and segment2 are not the same just put a Not function after equalS .... second row node needs to be duplicated (duplicate Subtree)
Regards,
Abhishek. -
Rfc(Syn)- BPM- JDBC connection breaks for job in 2Hrs
Hi All,
I have a scenario Rfc(Syn)->BPM->JDBC.
Problem i am facing is after 2Hr of execution of scenario. SAP & XI connectivity breaks down.
But to process full data it requires 5-6Hr connectivity because store procedures taking time(for 500 records).
Is there any solution for above problem?
Can we use ABAp Proxy instead of Rfc(i.e. ABAP Proxy->BPM->JDBC), If possible How?
Thanks & Regardshi,
>>>>I have a scenario Rfc(Syn)->BPM->JDBC.
sync??? you can/should only use sync
if the response time is around 30 seconds
so change the interface to async
>>>>Can we use ABAp Proxy instead of Rfc(i.e. ABAP Proxy->BPM->JDBC), If possible How?
yes but you still have to do it in an async way
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>
Maybe you are looking for
-
Hi all, I'm trying to run the J2EE Tutorial EJB Timer sample, but I keep getting an exception: Errors while obtaining information about the database. Got the following exception: java.sql.SQLException: Error in allocating a connection. Cause: Connect
-
Flash CS4 does not allow importing .tif files
Hello, anyone know why Flash CS4 does not allow import .tif a few days to date. I worked very well and now he tells me something of a Swift 3D importer, but have not installed or that or any other programs lately, I also have QuickTime. The truth is
-
Where is the Apps list in 12.1?
When connecting iTunes with an iPad or iPhone, the Apps page no longer lists the Apps installed on the device. It does however show all of the installed Apps in the screen facsimiles on the right hand side of the page. The Apps count top right of the
-
Hi, I bought an Ibook G4 without Bluetooth :'( I would like to know if there is a way around a big, ugly, gray nub sticking out of my USB port... Is there a way to install a module internally??? Is this a good way? Any suggestions??? http://www3.telu
-
Hello, After install Netweaver 7 by the tool Rapid Install, i Want deploy the ERP 6.0 EhP 3. During one step, the system check my configuration. (serveur Windows 2K3 I386 32 bits with db Oracle 10). I have the following error : "Prerequsit for Check