cancel
Showing results for 
Search instead for 
Did you mean: 

SAP MII data buffer queue : Issues

Former Member
0 Kudos

Hi Experts,

We have been using default data buffer functionality available with JCo connector.

The option selected is "Asynchronous Data Processing on Error"

As per documentation, We understand that SAP MII will put data in buffer queue if there is an communication error.

COnsider a scenario, where SAP connectivity is down and 3 records have been pushed into data buffer queue.

After some time when SAP goes up , 1 record was processed successfully.

2nd record was having some wrong input which caused failure and that record wen in Error.

Now in this scenario what would be done with 3rd record. Will it be processed? or SAP MII will keep on processing 2nd record and stop there only waiting for that record to be cleared?

ALso what will happen if more entries came when ther are already records in queue ( in errror). ? SHall those entries be processed?

Pleas help

Accepted Solutions (1)

Accepted Solutions (1)

0 Kudos

The third entry won't be processed if the second one ends with error. MII will try to execute the second entry until it reaches the MaxRetryCount and then it will put the second and all other entrues in that job into failed status.

Here you can find information about the Data Buffer http://scn.sap.com/docs/DOC-1778

former_member211944
Active Participant
0 Kudos

Hi Krasi,

I created a transaction with a JCO call to ERP system and gave the wrong details in the connections and ran the transaction 3 times.

This created 3 entries in the data buffer screen.

And when I refresh the entries in the data buffer screen all 3 entries retry count increase thus indicating that all 3 jobs were rerun.

Am I missing something?

Regards,

Rohit Negi.

0 Kudos

That is possibel if the status is "Completed with errors" but not if it is "Error". These are two very different statuses - error means that there was communication error and completed with errors means that the action was executed but there has been some errors but these errors are not communication errors. In that case the next data buffer entry can be executed.

Answers (2)

Answers (2)

Former Member
0 Kudos

Thank you Krasimira and Rohit for your thoughts.

This has cleared my confusion.

Regards,

Ajinkya

former_member211944
Active Participant
0 Kudos

Hi Ajinkya,

In the example mentioned by you, the third entry would also be resubmitted or run by the buffer.

What MII does is that it would try to run all the entries in the data buffer table in FIFO(first in first out) manner.

In your case, MII would first run the first entry and this would process successfully.Thus this entry would be removed from the data buffer screen.

Then MII would run second entry which would fail again(as it is having some wrong input) and thus its status would be error.

Then MII would run the third entry.

This order would be iterated(but since the first entry is removed thus the queue would have only 2 entries now).

If some more entries comes into the data buffer screen or queue, they would also run but again in FIFO manner.

So to conclude, the data buffer service would pick all the entries in the data buffer queue which are ready to run(based on next run time) and run them all in FIFO order.

Regards,

Rohit Negi.