Skip to Content
0

RFC dialog processes

Jan 19 at 09:44 PM

262

avatar image
Former Member

WHile connecting to RFC using nco connector from .NET it is creating dialogue process. so we have 25 parallel program to run from SAP dashboard which calls 25 times .NET api and creates connection with SAP system. while calling RFC it is creating 25 dialogue user in SAP system which creates bottleneck in SAP and causing performance issue. is there a way I can call RFC from .NET using nco connector without creating a dialogue user in SAP? please provide some solution on this else we are not able to move our code to other environment.

10 |10000 characters needed characters left characters exceeded

The right term to use is "occupying a dialog workprocess", not "creating a dialogue user".

1

I've fixed the subject. Sundaram Das, please make the effort to use the correct terminology. Precision and accuracy are important in development.

2
Former Member
Matthew Billingham

Hey Matthew, I am not a SAP guy so don't know about any terminology just hearing from my colleagues while integrating SAP data transaction with .NET Application and try to replicating the same words here. I am sorry if i create any confusion here.

0
* Please Login or Register to Answer, Follow or Comment.

5 Answers

Vinita Kasliwal Jan 23 at 12:48 AM
-1

Hi Sundaram

When using .NET you are using RFC? did you try with SOAp as well does it work the same way

To understand your integration better you are trying to call the SAP systems 25 times and each time you need a different user ? Can you not use the same user when calling the system.

I am not so sure why you need so many users. When a RFC call is done from the external system it can be called multiple times with the same user do you have an issue doing that ? Read this link here; https://help.sap.com/saphelp_sm71_sp11/helpdata/en/c2/5d2ac570228941bc60c0e66580b18a/frameset.htm

Did you try the Asynchronous Methods as mentioned here; https://help.sap.com/saphelp_sm71_sp11/helpdata/en/d9/15cd02ea537a47ac150de532cc1a79/frameset.htm

Pl advise more details and review the links to check if its helpful

Regards

Vinita

Show 7 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Hi Vinita,

i find your answer more relevant. I am using the same user to call different RFC function of on each call. Is it possible to create different dialog process for same user on 25 times call. so i have 25 different .net apis and i scheduled these 25 .net apis from sap dash board everyday 2 times. so every day 25 times my .net api will trigger and it will create connection between the sap system and .net. Along with that in SAP system manually lots of user can login so our admin team is thinking if 25 times .net api calls then it will create dialogue process and also if at a a time 30 user login to sap system so it will also create dialogue process it can create bottleneck in the sap system. could you please suggest what will be the best option in that scenario.

0
Former Member

One more doubt if i call 25 time sap system from .net with same user will it create 25 dialogue process or only one dialogue process as i am using the same user to call RFC from .NET.

0

hI Sundaram

As far as I know all RFC users are treated as System users and not Dialog users ?

I dont think it would create dialog processes with a system user but better for you to check after you change the user type. Check this link

https://help.sap.com/saphelp_nw70ehp2/helpdata/en/3d/3272396ace5534e10000000a11405a/frameset.htm

Let me know if it helps!

Regards

Vinita

0
Former Member
Vinita Kasliwal

Thank you Vinita for your help let me show this to my admins and test.

0
Former Member
Vinita Kasliwal

I have tested using Communication type user but still in SAP it is creating dialogue process. i find the documentation is quite misleading here they mentioned Communication user type is meant for dialogue free external RFC call but still it creates dialogue process.

0

find the documentation is quite misleading here they mentioned Communication user type is meant for dialogue free external RFC call but still it creates dialogue process.

Not really, you are simply reading into it a meaning that isn't there. All it means a comms user type is not for logging in.

0

As far as I know all RFC users are treated as System users and not Dialog users ?

Nope. While it makes sense to do that, it in the end down to local policies.

0
Sandra Rossi Jan 19 at 10:31 PM
0

Why can't you just limit the number of calls at the same time, by your program?

Did you analyze why there is a "bottleneck" issue? (that's weird, for only 25 calls... or did I not understand?)

Otherwise, ask the system administrator if he/she can do something about your issue.

PS: You are just experiencing the DoS attacks, but you do them from the inside :)

Show 12 Share
10 |10000 characters needed characters left characters exceeded
Former Member

HI Sandra,

i have checked with my admin team and i found they set the dialogue process count as 19. SO they mentioned BODS use background worker process so we have to use BODS as this is approved by SAP. So is there a way i can call RFC from .NET without creating dialogue process. They mentioned we can't use NCO Connector to call RFC's as it creates dialogue process also RFC's are not meant for bulk data transaction.

0

No. RFC is always processed by a dialog workprocess (whatever it is synchronous, asynchronous, etc.) HTTP/SOAP work the same.

Your admins are right, RFC is not for mass processing. But we still don't know what your issue is. Could you describe the "bottleneck" in détails, and why it is an issue? (25 quick RFCs should be fine, but are they quick?)

Mass processing should be scheduled as a background job (in background workprocesses). Dialog workprocesses should be reserved to user activity or to user-like activity (quick actions and processing).

0
Former Member
Sandra Rossi

Hi Sandra,

thank you for the information. Can I consume SAP web Service from .NET? Does it create dialogue process? What I am planning is i will write select query in my RFC and the RFC i will call inside the web service. This SAP web service i will consume from the .NET application rather than calling SAP RFC directly from .NET as it creates dialogue process.

0

Hi. RFC is done via dialog workprocess because it's intended for short operations. It's the same for web services.

Big processing should be done via background workprocesses. The admins didn't tell you?

0
Former Member
Sandra Rossi

Hi Sandra,

i found in one article that Communication User type is specifically for External RFC Calls. So if i use the same user type to call RFC or Web Service still it will create dialogue process.

https://help.sap.com/saphelp_nw70ehp2/helpdata/en/3d/3272396ace5534e10000000a11405a/frameset.htm

this is the link

0

For RFC and HTTP, it's always a dialog workprocess. Whatever user type you choose.

0
Show more comments
Former Member

Yea I got your point so here the challange for me we have 25 different SAP jobs scheduled in SAP dashboard in different times. Now each SAP job calls .NET Api internally. .NET API internally calls SAP RFC to read huge data from SAP and post the data to some other database. to connect SAP RFC from .NET we use nco connector and while doing that it creates dialogue process. So now what Admins are thinking because we have 25 jobs scheduled from SAP in time diff of 10 mins also users will login to the SAP system frequently. So our admins are thinking if some job take lots of time to process huge data so SAP will block the dialogue process for certain time and as we have 25 jobs running so there may be sometime where all it may create more than 25 dialogue process as we are using nco connector to call RFC. which may cause performance issue or bottleneck in SAP system. so there is no other option from .NET without create dialogue process i can all RFC.

0
Horst Keller
Jan 20 at 09:53 AM
0
Show 1 Share
10 |10000 characters needed characters left characters exceeded
Former Member

HI Horst,

i have checked with my admin team and i found they set the dialogue process count as 19. SO they mentioned BODS use background worker process so we have to use BODS as this is approved by SAP. So is there a way i can call RFC from .NET without creating dialogue process. They mentioned we can't use NCO Connector to call RFC's as it creates dialogue process also RFC's are not meant for bulk data transaction.

0
Mike Pokraka Jan 31 at 11:19 AM
0

I think you need to look beyond just RFC and BODS. The scenario you describe is a piece of cake. Right now I'm sitting on a development system with 80 dialog processes available. I've worked on systems processing 1000's of RFCs per second.

Firstly, an RFC call should be short and simple. Otherwise look at asynchronous designs, batching whatever you're doing into one call, or maybe it's a bottleneck in your code.

It seems strange to me that SAP calls something external that does an RFC call back to the same system, something smells fishy and it has nothing to do with RFC.

Show 5 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Hi Mike,

Let me explain you the arch. we have SAP system and external system now in external system we don't have access to push data directly from SAP. So what we thought we will introduce .NET API and that API will get the data from RFC and through API it will push the data to external system. so we have like 25 APIs in place whcih does the same. so when we can RFC from .NET API it creates dialogue process. So our admins are thinking if 25 API's get triggered at same time then it will create 25 dialogue process and there are lots of users who can login to the same SAP system which can exceed the dialogue process limit set by the admin team (19) due to this it will create performance issue or bottleneck in SAP system. the RFC's are simple which read the data from SAP table and send to .NET API but the data volume is huge like 50K.

0

Then Mike is right. This is fishy. Normally an external application having effectively direct access to SAP tables is a no-no. For a start, it completely ignores any authorisation concept. Potentially everyone has access to everything - unless you replicate the SAP security in the .net application.

btw - you've explained your scenario several times. No need to do it again.

0

Please look into one of the many interface mechanisms available. If fetching data is all that's needed, this should be a simple webservice call, no need to faff about with APIs and RFCs.

0
Former Member
Mike Pokraka

Does qRFC create dialogue process? actually we have checked with MuelSoft technical person and i read this is the only SAP certified ESB they mentioned if we call QRFC from Muel it will not create dialogue process. but some where in google i read all RFC call create dialogue process. Am I missing any point here or what Muel technical person is telling it is wrong.

0

I think you should get an expert in. Seriously.

Not a third party software expert who should by the sounds of it stick to what he knows, but someone with the SAP technical know how. This is not something that should be solved over the internet, so please look either within your company or else get an outside consultant in for a day or two. It will be cheaper in the long run.

1
Matthew Billingham
Jan 31 at 02:00 PM
0

As I understand this question, there's a .net app that has 25 possible calls into SAP. Each interface does something difference. The admin team are worried that if all 25 are called at once, there will be a performance issue.

Frankly, unless each process is doing a huge amount of work, it's unlikely to cause a performance hit at all. 25 users logging on at once? There are systems without thousands of dialog processes which have thousands of users logged in at a time.

Show 2 Share
10 |10000 characters needed characters left characters exceeded
Former Member

Does qRFC create dialogue process? actually we have checked with MuelSoft technical person and i read this is the only SAP certified ESB they mentioned if we call QRFC from Muel it will not create dialogue process. but some where in google i read all RFC call create dialogue process. Am I missing any point here or what Muel technical person is telling it is wrong.

0

Please give the references to what you mention.

All kind of RFC execute ABAP in dialog workprocesses.

0