cancel
Showing results for 
Search instead for 
Did you mean: 

No waiting dialog processes on SAP ECC in sync HTTP to ABAP inbound proxy

Former Member
0 Kudos

Hello all,

We have this sync scenario:

Request:

external apps using HTTP --> PI --> ABAP Proxy (SAP ECC)

Response:

ABAP Proxy (SAP ECC) --> PI --> external apps using HTTP

Where external application send xml request using HTTP protocol to PI 7.0 which forward this request to ABAP Inbound proxy on SAP ECC 6.0. After request is finished (sales order created) response is sent back to external application.

ABAP proxy calls two BAPI: BAPI_SALESORDER_CREATEFROMDAT2 to post a sales order and BAPI_SALESORDER_GETSTATUS to get item details and to return posted quantity. To speed up sales order posting we are using following statement: SET UPDATE TASK LOCAL before calling BAPI_SALESORDER_CREATEFROMDAT2, and COMMIT WORK.

When we start load testing with more parallel users (using JMeter) and we are able to get test result until we reach some number of parallel users (e.g. 11 users).

Our number of dialog processes is 12:

rdisp/wp_no_dia = 12

We monitored SAP ECC test system with SM66 and we see that there is at least one dialog process busy for one user on external application side. When we reach critical number of busy dialog processes out test SAP ECC server have to be restarted which is unexaptable.

Then we try to find out how to limit a number of dialog processes that HTTP request can use and we found two parameters and set values:

rdisp/http_check = 1

rdisp/http_min_wait_dia_wp = 2

After setting these parameters we try to reproduce a problem and now we are able to start 13 parallel users but when we start 14th SAP ECC system are stalled.

After this we started to change RFC parameters:

rdisp/rfc_check = 3

rdisp/rfc_min_wait_dia_wp = 2

but these parameters didn't help.

In the same time we didn't have any problem on SAP PI 7.0 system.

How can we limit a number of dialog processes on SAP ECC system that we can use for HTTP request communication from SAP PI 7.0?

Regards,

Mladen Kovacic

Accepted Solutions (1)

Accepted Solutions (1)

Shabarish_Nair
Active Contributor
0 Kudos

Answers (3)

Answers (3)

Former Member
0 Kudos

Hello all,

after reading some OSS notes we found a solution:

1. we changed ABAP Inbound Proxy method in a sense to remove SET UPDATE TASK LOCAL before BAPI_SALESORDER_CREATEFROMDAT2 and instead COMMIT WORK we used BAPI_TRANSACTION_COMMIT with parameter wait = 'X' (sync update).

2. we set parameter rdisp/rfc_check = 2, and rdisp/rfc_min_wait_dia_wp = 7 (number fo dialog proceses is 12)

After these two action system is working properly and can take more paralell users.

Former Member
0 Kudos

One update:

when we changed a parameters:

rdisp/http_min_wait_dia_wp = 4 --> 7 (5 processes max can be used)

rdisp/rfc_min_wait_dia_wp = 4 --> 7

we figured out that for a request that needs read-only access to inbound abap proxy (other process - product catalog) it comply to the parameters.

It fill max 5 dialog processes and everything ok.

But when it must update something in SAP (create sales order) it also use 5 dialog processes, but create another 7 dialog processes which are stopped for CPIC reason on SAPMSSY1 report.

It seems that this kind of a processes does not comply to rdisp/http_min_wait_dia_wp or rdisp/rfc_min_wait_dia_wp parameters.

Mladen Kovacic

Former Member
0 Kudos

Shabarish,

thanks for the helpful link.

This document contain a lot of very useful advices.

But in a chapter 7 there is mostly talks about queues which I am not sure we are using in sync HTTP communication between PI and inbound ABAP proxy.

In the meantime we increase two parameters:

rdisp/http_min_wait_dia_wp: 2 --> 4 and

rdisp/rfc_min_wait_dia_wp: 2 --> 4

but without any benefit.

Regards,

Mladen Kovacic