cancel
Showing results for 
Search instead for 
Did you mean: 

JCo Destination

Former Member
0 Kudos

Hi,

We create 2 JCo Destinations(one for meta data and other for model data).

While deploying on the customer system, these JCo Destination names may be different from while developing.

So, if there is any name change to these destinations, should we change at the code level(ie change the default logical system name in the dictionary and in the model settings)?

Or is there any other way to handle this situation dynamically (apart from the url parameter)?

I wanted to know this because if the same application is used by different customers, then they will be having different names to the JCo Destinations.

Kindly help me.

Thanks in advance

RK

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi Radha Krishna,

You should not change the logical destination names. That is why they are called "logical". At every customer site you can (and will have to) link these logical names to specific system parameters. Which can be done in the WebDynpro administration UI.

Just my 2 cents

Markus

Former Member
0 Kudos

Hi ,

When u deploy a application in a server , even if the JCo name mentioned in WD proj is not available in the server ....the destination will still be created with empty values. You can go to Web Dynpro admin Console and configure this destination.

In case u do not want this , you have to use JCA APIs or JCO client APIs. In these cases we would notb havin them as models in ur component.

Regards

Bharathwaj

Message was edited by: Bharathwaj R

Former Member
0 Kudos

hi Radha

If I get your problem correctly, you have an application and that needs to be used by different customers having different JCo connections.

There can be two things done,

One that the customer who is deploying that particular application should have the same JCo destinations defined in his system.And this is the best and possible way.

Secondly you have to reimport the model classes defining the particular JCo destinations.

So the first option is the best way to go ahead.

regards

kris

Former Member
0 Kudos

Hi,

Thanks for stopping at my post.

@Abhi - did you mean to project properties in WD content administrator? In there you cannot change the name of the existing JCo destionation. If not, can you kindly detail out the steps?

@Kris - We(the developers) develop WD using JCo Destination with out worrying about the name of the customer's JCo Destinations. There are default names for these Destinations. But the customer can create some other JCo destinations. My question is what is the way if the customers' JCo Destinations are different from the default ones?

There are solutions to change these JCo Destinations with out the need of the reimport (as suggested by you):

1. To change the "Logical System Name" property in the model node under the Dictionary(This is for Meta data JCo Destination) and change the "modelInstance_defaultLogicalSystem" property for each individual model class(This is for Model data JCo Destination).

The problem with this approach is it involves code level change, which needs rebuild and redeploy. For which the customer may not feel comfortable (Even though we provide the WD object).

2. To use the following url parameter to the application URI

sap-wd-arfc-useSys=<DEFAULT_SYSTEM>:<SUFFIX_OF_MAPPED_SYSTEM>

The problem with this approach is that this has to be done for each application.

If we think of a product using WD, there will be minimum 30-50 applications integrated into EP.

And is there is any change in the JCo Destinations name then we have to do it for all these applications.

So, if there is any other better of handling JCo Destination names dynamically (with out the need for reimporting, rebuilding or redeploying), kindly let me know.

Thanks and regards

RK

Former Member
0 Kudos

Hi RK,

You can change the JCO client dynamically before your RFC/BAPI is executed.

Actually this is a work-around. What you have to do is find out the JCO destinations within your system landscape that points to your backend SAP R/3 system.

Assuming that there is only a single JCO destination for your backend system, you can get the clent from this system and set this to the model object instance before executing it.

Of course, this will not work if you have different JCO destinations on the same WAS and you are trying to switch the destinations based on the logged in user or some other criteria.

Regards,

Satyajit.

Former Member
0 Kudos

Hi,

You can change the JCO connection dynamically . You need not use to reimport.

try this

JCO.Client client= JCO.createClient(CLIENT, USERNEME, PASSWORD, LANGUAGE, SERVERIP, SYSTEM );

client.connect();

<BAPINAME> getModel = (BAPINAME)com.sap.tc.webdynpro.progmodel.model.api.WDModelFactory.getModelInstance(BAPINAME.class,WDModelScopeType.TASK_SCOPE);

getModel.setJcoClient(client);

see the thread

Kind Regards

Mukesh

Former Member
0 Kudos

Hi Radha Krishna,

Go to the Project Properties and choose webdynpro references in that right side go to JCO References tab there u find your JCO destinations specified, u can add the new JCo destinations and rebuild project... probably it work i didn't tried...it...

Regards,

Abhi