on 08-08-2005 7:28 AM
Hi folks
I have a requirement to use connection pooling in RFC adapter.I understand we can use JCO.Client class parameters in the advanced tab of RFC adapter..Does that mean I can use <b>JCO.addClientPool()</b> function.??? (I guess not,as it is not a method of Client class!!)
In the documentation, I dont find any specific parameters(variables defined in <b>JCO.Client</b> class, all that i find are only <b>getProperty, setProperty</b> methods without any information on possible Keys/Values which can be used)..
Is there anyway i can extend the functionality of RFC adapter to pool the connections from XI.This is most urgent and need ur help...
Regards
Sriram V.
Hi Sriram,
The RFC Adapter uses connection pooling by default. You just need to set the Maximum Connections parameter in your RFC Receiver Communication Channel. That will set the maximum pool size and connection pooling will be used for the RFC communication between XI and R/3.
Once you've set this, you can check the settings in the Adapter Monitor for your RFC Communication Channel. It will show an entry like the following:
Client data: {jco.client.lang=EN, jco.client.snc_mode=0, jco.client.client=220, jco.client.passwd=******, jco.webas.ignore_jdsr_error=1, jco.client.user=ABCDE, jco.client.sysnr=20, jco.client.ashost=host123}
Repository data: {jco.client.lang=EN, jco.client.snc_mode=0, jco.client.client=220, jco.client.passwd=******, jco.webas.ignore_jdsr_error=1, jco.client.user=abcde, jco.client.sysnr=20, jco.client.ashost=host123}
Current pool size: 0, max pool size : 5
Note: I've set the maximum connections to 5 in my communication channel so notice the max pool size gets set to 5.
You can set jco.client parameters in the advanced tab but I don't think that's what you want to do. If you need to, just include the parameter name and the value in the advanced tab. Here are the available parameters from the JCO documentation:
jco.client.client SAP client
jco.client.user Logon user
jco.client.alias_user Alias user name
jco.client.passwd Logon password
jco.client.lang Logon language
jco.client.sysnr SAP system number
jco.client.ashost SAP application server
jco.client.mshost SAP message server
jco.client.gwhost Gateway host
jco.client.gwserv Gateway service
jco.client.r3name R/3 name
jco.client.group Group of SAP application servers
jco.client.tpname Program ID of external server program
jco.client.tphost Host of external server program
jco.client.type Type of remote host 2 = R/2, 3 = R/3, E = External
jco.client.trace Enable/disable RFC trace (0 or 1)
jco.client.codepage Initial codepage in SAP notation
jco.client.abap_debug Enable ABAP debugging 0 or 1
jco.client.use_sapgui Use remote SAP graphical user interface (0/1/2)
jco.client.getsso2 Get/Don't get a SSO ticket after logon (1 or 0)
jco.client.mysapsso2 Use the specified SAP Cookie Version 2 as logon ticket
jco.client.x509cert Use the specified X509 certificate as logon ticket
jco.client.lcheck Enable/Disable logon check at open time, 1 (enable) or 0 (disable)
jco.client.grt_data Additional data for GUI
jco.client.use_guihost Host to which to redirect the remote GUI
jco.client.use_guiserv Service to which to redirect of the remote GUI
jco.client.use_guiprogid Program ID of the server which starts the remote GUI
jco.client.snc_mode Secure network connection (SNC) mode, 0 (off) or 1 (on)
jco.client.snc_partnername SNC partner, e.g. p:CN=R3, O=XYZ-INC, C=EN
jco.client.snc_qop SNC level of security, 1 to 9
jco.client.snc_myname SNC name. Overrides default SNC partner
jco.client.snc_lib Path to library which provides SNC service
jco.client.dest R/2 destination
jco.client.saplogon_id String defined for SAPLOGON on 32-bit Windows
jco.client.extiddata Data for external authentication (PAS)
jco.client.extidtype Type of external authentication (PAS)
jco.client.idle_timeout Idle timeout (in seconds) for the connection after which it will be closed by R/3.
jco.client.dsr Enable/Disable dsr support (0 or 1)
Thanks,
Jesse
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sriram,
Within the RFC Adapter there is the possiblity to specify the max connections in the area "RFC Client Parameters" of the adapter configuration. I guess specifying 5 here, results in JCO Client Pool of size 5 being opened. So it would be possible to process 5 messages in parallel. Please be aware that the documentation does not list it, so it is only my personal conclusion.
To get information on possible properties for JCO.Client class, get yourself the JavaDoc on JCO. The parameters for a client are described in the documentation of method JCO.getClient.
Best regards
Christine
Best regards
Christine
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Christina
SAP help says that RFC adapter connections are stateless..and one per LUW, so I guess there is no way to set the connection pool externally as an adapter setting.
How the adapter handles the connections internally is probably something we would need the developer to state in the forum which I doubt we would get to have..
Anyways thanks for the information..
Siriom,
what do you mean with "set the connection pool externally"? Did you want to specificly set the pool e.g. with the name etc? I think that allowing only to configure the size of the pool (and i'm sure internally RFC adapter works with a pool) is correct. You should not "mess" with the internals of the adapter, e.g. don't reuse a pool in other programs etc. If you need a connection to R/3 and don't want to put credentials in let's say a java programm on your J2EE Engine, you can use a service of the J2EE Engine to get a connection. So just out of curiosity, why would you like to interfere directly with the connection pool of the RFC adapter?
Best regards
Christine
Hi Sriram,
See if this can help you. Snnipet from RFC FAQ's.
A RfcAdapter sender channel registers itself with this Program ID as a RFC-Server at the SAP Gateway. The sending system uses the same Program ID to identify the RFC-Server at the SAP Gateway. If the sending system is a SAP system, this Program ID has to be maintained in the RFC destination (transaction SM59).
During the sending system sends some RFC calls, the SAP Gateway will search its registration list for the Program ID supplied by the sending system. If there are more than one RFC-Server registered with the same Program ID, it will automaticaly schedule the RFC calles to each of the RFC-Servers using the round robin approach. This is done to distribute the load over all RFC-Servers equally.
To identify a XI RfcAdapter sender channel within the SAP Gateway it is important that its Program ID is unique within this Gateway. So try to avoid using common phrases as Program ID like 'rfcadapter' or 'rfcToXmb'.
To check which Program IDs are registered at the SAP Gateway the gateway-monitor can be used via transaction SMGW. Select Goto -> Logged on Clients. Registered RFC-Servers have a System-Type of 'REGISTER_TP'. The Program ID of the registered RFC-Servrer can be found in column 'TP name'. Unfortunately the list within SMGW only shows the truncated version of the Program ID (column 'TP name'). To get the full name, the details of an entry have to be selected. As an alternative the report RSGETALL_REG_SERVERS can be executed in transaction SE38. The output of this report will show the full names of the Program ID in column 'Registered PROGID'. This functionality is also available in the function module GWY_READ_CONNECTED_SYSTEMS which can be executed in transaction SE37.
Note that if the RFC sender channel is configured to use more than one connection to the SAP Gateway, there will be one registration at the SAP Gateway for each connection. If the RfcAdapter runs on a J2EE cluster with more than one server node, the number of registrations at the SAP Gateway is the number of connections configured in the RFC sender channel multiplied by the number of cluster nodes on which the RfcAdapter runs.
Regards,
Satish
User | Count |
---|---|
86 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.