cancel
Showing results for 
Search instead for 
Did you mean: 

Stoping JDBC adapter when no record found

Former Member
0 Kudos

Hello,

Is there a possibility to stop JDBC adapter for predetermined time when no data is found in the table from which we are pooling?

We have a scenario DB Oracle >XI>R/3.

And we are pooling from DB in intervals of 200ms, and that is occupying the whole processor for no need. We are not using BPM so we can't pool everything and then split it (not using cause of the performance).

On JDBC adapter we have one select and one update statement that is selecting and updating one row at time every 200ms.

For example Oracle has DBMS.SLEEP function but that only works inside procedure that is unacceptable for us cause we need one row at time.

If somebody has some solution I'd be grateful.

GETRO XI

Danko Rupcic

drupcic@getro.hr

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member184154
Active Contributor
0 Kudos

Hi Danko,

> Is there a possibility to stop JDBC adapter for

> predetermined time when no data is found in the table

> from which we are pooling?

Don't think so.

> We have a scenario DB Oracle >XI>R/3.

> And we are pooling from DB in intervals of 200ms, and

> that is occupying the whole processor for no need.

Can't you increase this time to some seconds?

> For example Oracle has DBMS.SLEEP function but that

> only works inside procedure that is unacceptable for

> us cause we need one row at time.

Why do you need one row? How are you going to R/3? If you use IDoc you can hack the single IDoc structure quite easily (so that n rows can go to n IDocs in a single mapping): take a look at note 814393.

Alex

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

can you elaborate on your scenario?

why are you selecting one record???

do you have to send it to many systems?

based on some conditions?

BTW

since sp14 you can split large message into many

without BPM - if you can only send small messages

to receive system for example

are you sure your problem is 200ms and not the

integration scenario design?

Regards,

michal

Former Member
0 Kudos

> Hi,

> why are you selecting one record???

Cause we don't want to use message split (BPM).

>

> do you have to send it to many systems?

> based on some conditions?

Well yes we are sending it to 2 systems at the moment.That is why we select each message.

> BTW

> since sp14 you can split large message into many

> without BPM - if you can only send small messages

> to receive system for example

This sounds interesting. But can you send me some links to see how. THX.

> are you sure your problem is 200ms and not the

> integration scenario design?

It's not the problem on XI box but on the DB server. Our select and update statement is to powerful

We actually need it once per day to post financial data to R/3 from legacy. So that would be around 5000 docs(now at the beginning even more). And if we don't pull it in such short periods it would take forever.

Regards,

GETRO XI

Danko Rupcic

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

>>>This sounds interesting. But can you send me some links to see how. THX.

http://help.sap.com/saphelp_nw04/helpdata/en/42/f3b31d48fb1bc8e10000000a11466f/content.htm

>>>>It's not the problem on XI box but on the DB server. Our select and update statement is to powerful

maybe that's why you should retrive more rows ?

if you have only 2 systems then you can do 2 select statements that will take for example 100 rows at a time

for just one system and do a message split and send it

if it's your database problem then you have to

change your integration scenario

(retrieve much more rows... )

if you create 2 jdbc sender channles

each for one of the two systems

and use message based split (WITHOUT BMP)

then you'll be able to change the select statement

for sure

Regards,

michal

Former Member
0 Kudos

Hi,

We solved it with message split and select statement that fetches 500 rows at a time. It showed that there weren't any problems with performance that we afraid of.

So for now on it's ok.

But it should be great if there is an option to suspend JDBC adapter for some period of time if there are no ROWS to fetch from DB.

Thank you all,

GETRO XI

Danko Rupcic