cancel
Showing results for 
Search instead for 
Did you mean: 

DataBase Response

Former Member
0 Kudos

Hi all,

I am working on the following scenario Jdbc to Jdbc. I am successfully sending the data to the detination.Jdbc is asynchronous application. But I want the response whether it is success or failure.

Could anybody please suggest the steps?

Thanks & Regards ,

sekhar.

Accepted Solutions (0)

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi Rajkumar,

I'm trying to poll the data from database...using jdbc adapter..but i couldn't make it...as u mail saying that you succeeded ..please tell where i done mistake..if possible please send step by step..to this id:hruthik@gmail.com

i'm unable to poll the data from database.the empty data showing in my out put file. the payload contaning only xml namespace..othewise nothing i'm getting..

<?xml version="1.0" encoding="UTF-8"?>

<ns0:File_response xmlns:ns0="urn:Final_Select"></ns0:File_response>

some system error showing in end-to-end information at message monitor and then its showing java null pointer exception in end-to-end monitoring, probably it has some installion problem...

but i dont think it is not the cause for polling the data..!

I have tested my message mapping with dummy values ,its working fine ..and select and update queries are working fine..

sender chanel communicating well ... except poll the data..

receiver channel receiving the file ... which doesn't have data...!

where do i find adapter logs in RWB? probably that help me for watch the retrived resultset data ? correct me if i'm wrong..

simple file to file workign fine..even message monitor and adapter monitor showing succesfully message received...but i didn't understand what exact problem for not getting data?

thank you..

regards

raj..

Former Member
0 Kudos

Hi shekhar,

U are rite, u will get only

<update_count></update_count>

<insert_count></insert_count>

in your response message if you use INSERT_UPDATE.

B'cos this action basically will tell you whether yoour record has been successfully inserted or updated.

If successfully updated the value inside update_count will be 1 and insert_count is set to 0. similarly if the record is inserted the value insert_count will be 1 and update_count will be set to 0.

U will get <delete_count> in response only when you map "delete " to action attribute.

Hope this helps you.

cheers,

Siva Maranani.

Former Member
0 Kudos

Hi Siva ,

Thanks for the reply.

So i have to do one more mapping for delete operation rite ?

Regards,

sekhar.

Former Member
0 Kudos

Hi sekhar,

But why do you need a delete_count when u are performing a insert/update operation. delete_count is obtained in response when you are actually mapping the action attribute -- "DELETE".

Let me know why do u need another mapping..?

cheers,

Siva Maranani.

Former Member
0 Kudos

Hi Siva,

I did not use another mapping.

In my scenario , I am creating (Creating,updating ,deleting) the sales orders.Before that i need to perform operations in Global Data Store.

So my scenario is(DataBase--Global Data Store -- SAP).

For this scenario i have to do compensation.so first i am storing the data in the temporary table. I am catching the response.I am only catching two responses (update,insert) if i put UPDATE_INSERT. I am catching one response (delete) if i put DELETE in a single map.

But I have to check the condition Before Call goes to SAP. After successful transmission,the data is moving from temporary table to Main table.

Any ideas about catching response from data base ?

Thanks,

sekhar.

Former Member
0 Kudos

Hi,

The response should be like

<messagetype_<b>response</b>>

<statement<b>_response</b>>

<row>

<XYZ<b>_count</b>>

</row>

</statement_<b>response</b>>

<messagetype_<b>response</b>>

When a request is sent to DB, the response from the DB has a different kind of message structure, like the one mentioned above. So u need to perform 2 message mappings..

1 request mapping (source-->RequestDB)

1 response mapping (Response DB-->target)

and 1 interface mapping in which you will select your request and response message mappings.

U can refer to my weblog to look at the response message in synchronous case.

/people/siva.maranani/blog/2005/05/21/jdbc-stored-procedures

If u can post you scenario in detail i can help you more.

Cheers,

Siva Maranani.

Former Member
0 Kudos

Hi Siva,

My scenario is DataBase to GlobalDataStore (DataBase). If the data is successfully entered in the GDS then I have to send the same data to SAP to create/update/delete the salesorder.

For this(DataBase to GDS ) I created request mapping and response mapping like which u have suggested. I am catching that response(Here is the issue...).And I am checking the condition before sending to the SAP in BPM.

isssue : I am catching the update_count and insert_count if i use UPDATE_INSERT action in reuest mapping by using one message type.

For delete action shall i use another message type ?

Because I am sending the status(create/update/delete) to the database in only one map.

Former Member
0 Kudos

Hi sekhar,

Yes u are rite. For Delete action, u should use another message type.

let me know if this helps. (did ur multiline problem got solved..?)

Cheers,

Siva Maranani.

Former Member
0 Kudos

Hi Siva & Sudir,

My problem was solved regarding response from the data base.Thanks for u r help.

Siva : till now i am working on these issues.Still I have to work on that multiple line items issue.

I am using parent & child relationship here.

I am taking the Id as a key in the parent & child also.So it did not accept multiple line items in child table.

k i have to take another filed as primary key in the child table right ?

After that i have to accept muliple items and split those items which is shown in ur weblog.

Can u please guide me some step by step procedure to this issue.Because I am using Graphical mapping here and i have to include those steps in BPM.

Thanks,

sekhar.

Former Member
0 Kudos

Hi,

Nice to hear that your DB Probelm is solved. )

Cheers,

Siva Maranani.

Former Member
0 Kudos

Hi Siva,

i'm tring to setup an scenario similar as you explain there

RFC (sync) -- XI -- (sync) DB

i cant get the response on my rfc function but yes it's working the insert on the DB. and when i go to the sxmb_moni i didnt see nothing.

any idea?

thanks

Former Member
0 Kudos

Hi,

As sasi suggested, you cannot use know whether the records have been successfully processed or not in an asynchronous case.

1)If your DB channel process in asynchronous mode:

Usage of Transport level acknowledgements in BPM. Refer to the blog... how to setup trasport level acknowledgements. /people/siva.maranani/blog/2005/03/01/usage-of-transport-level-acknowledgements

2) If your DB channel process in synchronous mode:

Use the response message to look if the record have been successfully processed.

<update_count>count</update_count>

<insert_count>count</insert_count>

<delete_count>count</delete_count>

Cheers,

Siva Maranani.

Former Member
0 Kudos

Hi Siva ,

Thanks for the reply.

But I am getting only <update_count>count</update_count>

<insert_count>count</insert_count> as a response. I did not get delete count. I used Update_Insert in the action.

Is there anyother option ?

Thanks & Regards,

sekhar.

Former Member
0 Kudos

Hi,

With Asynchronous call, you will not get any response. it works like 'fire and forget'. Try whether you can make it a synchronous call to jdbc. If you are using BP, then you can try to configure the application level acknowledgement also, for the SEND Step. You can get some material in help.sap.com for this.

Thanks,

Sasi

Former Member
0 Kudos

Hi Shekhar,

I think a solution for your problem is to use "Fault Message Type" .

Fault message types are designed for application-specific errors that occur on the inbound side and that are reported back to the sender or persisted in monitoring.

Regards

Divya