Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
TomCenens
Active Contributor

h4. Introduction

I have seen several unanswered questions on the SDN forum about putting a SLD connection in place in ABAP in transaction RZ70 towards a Java only SLD. An example of such configuration is a BW SAP system landscape where ABAP part and Java part are different SAP systems according to the recommendations of SAP.

There is documentation available but it seems people are confused when it comes to the configuration and I must say it looks a bit confusing when you look at it. Let's do something about that.

Read write?

The SLD host and gateway you place in transaction RZ70 will help determine where data is pushed to (write).I t doesn't determine where the ABAP SAP system goes to read if SLD data is to be read, reading is determined by the settings maintained in transaction SLDAPICUST.

RFC destinations SLD_UC and SLD_NUC

Most will know that there are TCP/IP RFC connections (transaction SM59 - TCP/IP) SLD_UC and SLD_NUC (UC for Unicode, NUC for Non-Unicode). These RFC connections are created when you configure the target SLD in transaction RZ70 in ABAP.

If you would delete SLD_UC and SLD_NUC from SM59, repeat the activation and execution in transaction RZ70, you would see that those RFC destinations were created again automatically.

Registered program

picture 1.1

When you open one of the RFC destinations in transaction SM59 in ABAP you will notice the Registered Server Program on the Technical Settings tab. What is this registered program about? When another application (it can even be non SAP) registers a connection on the SAP Gateway using the TCP/IP protocol, a Program ID is used. Using the Program ID the SAP system knows which RFC destination is the connection to which application.

picture 1.2

You can view the registered Program ID in transaction SMGW by clicking Goto ' Logged on Clients in the upper menu (see picture 1.2).

picture 1.3

In the overview you get there you can find the registered Program ID by checking the entries which have Registered Server as value in column Syst. Type (see picture 1.3).

picture 1.4

In the TP Name column you will see SLD_UC which is the Program ID that is registered (see picture 1.4).

Don't create a JCO destination with program ID SLD_UC or SLD_NUC

I have seen suggestions on the forum to create JCO destinations in the Visual Administrator or in the Netweaver Administrator but please don't do this. I can understand it sounds logical to do so if the SLD_UC or SLD_NUC is not registered in the SAP gateway but it's not the correct procedure and it will throw errors when you execute the configuration in transaction RZ70.

How is it done then?

SLD parameter configuration

Here comes the actual solution to such issues. If you want to connect an ABAP only SAP system to a Java only SLD you have to maintain the gateway that is to be used on the Java SLD.

Picture 1.5

Log on to the SLD through the URL http://<hostname SLD>.<domain>.<ext>:5<instance number>00/SLD using a user that has administrative rights (SLDDSUSER if sufficient rights or Administrator).

Now click on Administration (see picture 1.5).

Picture 1.6

There click on Profile (see picture 1.6)

Picture 1.7

Now in the selection drop down box choose ALL.

Picture 1.8

Now look for the GatewayHost and GatewayService parameters. These should contain the ABAP SAP system where you want to register the TCP/IP connection (remember SLD_UC, SLD_NUC). Adjust these parameters so it matches the hostname of the ABAP system and its gateway.

Picture 1.9

After changing this you will have to stop/start the SLD to apply the changes. Click on Administration in the top navigation bar of the SLD (see picture 1.9).

Picture 2.0

Now click on Stop Server to stop the SLD server (see picture 2.0).

Picture 2.1

Next click on Start Server to start the SLD server again (see picture 2.1). Once you see Status: Running again as in picture 2.0 you should find the registered program SLD_UC in the logged on client in the gateway of the ABAP SAP system.

You can check the section Registered Program which you can find above in this blog if you want to check if it's the case.

RZ70 configuration

Now we still haven't pushed any data so let's take a look at RZ70.

Picture 2.2

Now normally you fill in the SLD Host and Service in RZ70 where the SLD is actually running. If you point it towards a Solution Manager (dual stack) you would fill in the Solution Manager hostname and its gateway.

However, here it's different. You fill in the ABAP SAP system itself and its gateway. This looks strange but it makes sense, previously the configuration of the SLD was changed so that the registered program SLD_UC registered to the gateway of the ABAP SAP system. The registration takes place when the SLD server is stopped/started. This means the gateway of the ABAP SAP system now knows where the TCP/IP connection is pointing to. So in RZ70 we give the location of the hostname and the gateway where the Program ID has been registered.

The program will find the registered Program ID in the ABAP gateway and it will know that it originated from the Java only SAP system (as the Java only SAP system registered it there).

Once you have the configuration in place, click on activate and execute in transaction RZ70 (see picture 2.2).

Picture 2.3

After you press execute, you will get a summary of the actions that were performed and you should see a successful RFC call (see picture 2.3) there and not an error message.

Checking if the SLD content is updated

Once the execution has taken place the SLD content is updated on the SLD server. Let's take a look where you can see this.

Picture 2.4

Go back to the SLD server and click on home.

Picture 2.5

Now under the Landscape header click on Technical Systems.

Picture 2.6

From the dropdown box Technical System Type choose Web AS ABAP. Now navigate to the ABAP system you used or use the filter option and fill in the SID there and click go.

!https://weblogs.sdn.sap.com/weblogs/images/251804053/lastupdate.jpg|height=41|alt=Last update date time stamp|width=94|src=https://weblogs.sdn.sap.com/weblogs/images/251804053/lastupdate.jpg|border=0!</body>

42 Comments
Former Member
0 Kudos
The other suggestion I have seen is to install a standalone ABAP Gateway on the same host as the Java-only SLD. The advantage here is that your SLD is self sufficient and can be sent ABAP system details from multiple ABAP systems.
TomCenens
Active Contributor
0 Kudos
Hello Michael

Thanks for the feedback.

Yes, the standalone ABAP gateway is also mentioned in SAP Note 1057720 - Missing configuration for JCO/RFC destinations of the SLD along with other. The SAP Note gives some hints on issues occuring concerning SLD communication.

It all depends on what architecture is in place and how the SAP systems are connected. I did notice on the forums the questions for a similar configuration to the blog content are raised but I didn't see that many good answers.

We configure a local SLD on each Java instance we install. We also have a large number of Java instances that use ABAP as UME source so you can say those are closely connected and then the configuration described in the blog is sufficient to have proper ABAP updates in the SLD of the connected Java SAP system.

For those interested in SLD Architecture, you can find the recommendations on following path: System Landscape Directory (SLD)

Kind regards

Tom
Former Member
0 Kudos
I'm curious as to why you configure a local SLD on each Java instance?

We decided to use the topology that was (later) described in these two blogs:
wolf.hengevoss/blog/2010/01/28/sld-topology-how-to-gather-and-distribute-sld-data-in-your-it-landscape
wolf.hengevoss/blog/2010/02/09/how-to-handle-data-in-the-sap-netweaver-system-landscape-directory

Instead of configuring SLD on every Java instances, there is one production SLD where everything sends technical system data. It in turn syncs back to DEV and QA instances, and Solution Manager.

That reduces the number of SLDs to be setup and maintained: the CIM (Common Information Model) and CR (Component Repository) need to be updated periodically, and you need to manually delete the data for decommissioned systems since deletions are not included in the data sync.

Regards,
Sean
TomCenens
Active Contributor
0 Kudos
Hello Sean

The reason is high availability, avoiding single points of failure as much as possible.

There are many good architectures and their are pros and cons for each of them.

We have roadmaps in place when a system is decommisioned.

The updating brings the most additional work compared to a central SLD but it's not that big of a deal either when you take it into account when SPS are done.

Kind regards

Tom
Former Member
0 Kudos
Hi Tom,

We will consider Central Standalone Java SLD when you want to connect PI SOlution manager all application linking to this SLD.

suppose if you  consider PI Java application SLD as Central SLD then when you want to do some system down of PI then  all other systems will affect

Normally SAP also prefers to have one Central SLD for DEV and Quality environment and One central SLD for Production(two SLD s are standalone jAVA SYSTEMS with additional gateways)

Gateway to balance load if the no of system upating SLD if large

Best Regards,
Sreekantha reddy
TomCenens
Active Contributor
0 Kudos
Hello Sreekantha Reddy

Like I mentioned earlier there are many possibilities. Using a central SLD ensures you have less maintenance effort but it also means you then have a single point of failure.

Concerning seperate SLD's for DEV/QUALIT and PRODUCTION in some cases you need all that data. For example in a Solution in Solution Manager it is better to have all the systems included of a system landscape, for some scenarios it is even required  (CHARM for example) in order to use those systems.

This would mean you would have to push certain data into the same SLD to ensure certain scenarios to work or to push the SLD data from your two central SLD's into certain local SLD's.

I should write another blog on the system landscape directory really as I have noticied some points that could definitely be improved.

Kind regards

Tom
Former Member
0 Kudos
I was lost about this until I found your blog. Excellent material, since SDN forums mentions plenty of different solutions that where causing me lot of errors.

Thanks!
TomCenens
Active Contributor
0 Kudos
Hello Ivan

Thanks for your feedback, always nice to read that the blog was useful and actually helped someone out. Feedback like this is what keeps me going and makes me want to create more content.

I noticed how there were many questions on this topic on the forum and how there were also many incorrect answers or suggestions so I decided to write this blog.

Kind regards

Tom
Former Member
0 Kudos
Hi Tom,
Thanks for the wonderful document.
I just have one query which is bothering me.
I am trying to configure my BI 7.1 system to existing standalone SLD 6.40 as sap java system.
The gateway host in SLD is same as local SLD host. Now if I go by your document and try to change the gateway host value to match with my BI ABAP system host name, then the other systems that are connected to this SLD might get affected as they will be using that value. Can you please highlight the changes and advise?

TomCenens
Active Contributor
0 Kudos
Hello

With the method described in this blog you can only have a one on one connections. The scenario is mainly used in scenarios with separate SID's that belong together, for example an ABAP only BI SAP system to a Java only BI system. To connect multiple SAP systems you can install a standalone gateway for your Java only SLD which then serves as the target for your settings.

Kind regards

Tom
Former Member
0 Kudos

Hi Tom,

 

Thank you for this blog, it is very helpful.  The challenge we are facing is still elusive. Since we installed NW 7.3 Java only for our SLD system, it already has the gateway in the SCS instance and I can see it up and running.  Based on above and notes 1172161 and 11057720, I do not believe we need to install a separate stand-alone gateway for the ABAP systems.  However, it is just the ABAP systems that are having errors connecting.

 

Am I missing something? Does anything come to mind immediately that might be a common issue? 

 

Also, can you help on your comment above, you said "to connect multiple SAP systems you can install a standalone gateway for your Java only SLD..." would that be different from the gateway that is included as part of NW 7.3 in the SCS instance?

 

I am still troubleshooting.  Any thoughts or suggestions are appreciated.

Deb

TomCenens
Active Contributor
0 Kudos

Hi Deb

 

You should see the gateway of your AS Java running (In unix the process looks like gw.sap<SID>_SCS<instance number SCS> pf=<profile> -no_abap

 

Then you change the data supplier settings in your SLD. Point the GatewayHost to your AS Java 7.3 and the GatewayService to sapgw<instance number SCS>. Next save and go back to Administration. There hit stop SLD and once stopped, hit start SLD. This will register the RFC connections on the Java based gateway.

 

Then you go to your ABAP based SAP system and you point RZ70 to the host of your AS Java based SAP system and the gateway to the gateway of the SCS so sapgw<SCS instance number>.

 

Hit execute to push the data and check that the data push is succesful. Once done, check in your SLD and your ABAP system should have an up to date time stamp when you check it under Technical Systems.

 

A standalone gateway is no longer useful once you have AS Java with it's own SCS gateway running. On a NW 7.3 As Java  based SAP system you should not have to maintain anything special or additionally, the gateway should be running after the installation of your Netweaver (referring to the discussion thread questions).

 

Best regards

 

Tom

Former Member
0 Kudos

Hi Tom,

 

Thank you! The light bulb went on because of your response.  It was a simple error,   when I updated the data supplier I did not update the gateway service to use the SCS instance number. 

 

We are golden now. Thanks again!

-Deb

TomCenens
Active Contributor
0 Kudos

Hi Deb,

 

Glad you got it to work! I'll post a blog on how to do it for others for future reference.

 

Best regards

 

Tom

TomCenens
Active Contributor
0 Kudos

Hi Deb,

 

Glad you got it to work! I'll post a blog on how to do it for others for future reference.

 

Best regards

 

Tom

Former Member
0 Kudos

Hi Tom,

thanks a lot for the very good explanation.

 

I have spent quite some time on a similar issue, before I found your post.

 

Works as expected!

 

Erwin

former_member209962
Participant
0 Kudos

Dear Tom,

 

First of all a big thank you for sharing this information!! with the help of your blog i am able to push application server ABAP sld  in solman as my central sld is solman and its showing in solman SMSY, however i have one question in your blog you have mention to go http://<hostname SLD>.<domain>.<ext>:5<instance number>00/SLD and then in parameters then ALL then mention the application server abap gateway details and then in aplication server abap run rz70 and push the sld thats what  i did and it was successfull, now i have one more application server abap for which  i have to push sld in to solman so i have to go again in
http://<hostname SLD>.<domain>.<ext>:5<instance number>00/SLD and paramter and menetion abap system gate way details  but there already another abap system gateway information is present  is there any option to mention more than one abap gateway details?

 

Thanks

Tabrayz

TomCenens
Active Contributor
0 Kudos

Hi Tabrayz

 

No, that is not possible.

 

Best regards

 

Tom

former_member209962
Participant
0 Kudos

Thanks Tom

 

That means every time i want add a new system in sld i need to remove old system details and put new system details?

 

Thanks

Tabrayz

TomCenens
Active Contributor
0 Kudos

Hi Erwin

 

Thanks for your comment, always nice to know a blog post helps people out.

 

Best regards

 

Tom

TomCenens
Active Contributor
0 Kudos

Hi Tabrayz

 

No that should not be the purpose.

 

I'm away to an event so I cannot verify it right now but I would expect you would need to fill in the same ABAP host + gateway in another ABAP system in order to make it register to the same Java only SLD that was used.

 

So try to maintain another system as in picture 2.2 and let me know the result. I would expect it to work. Of course the new system would need to be able to connect to that ABAP system + gateway (make sure firewalls or alikes or not in the way).

 

Best regards

 

Tom

Former Member
0 Kudos

Excellent!

Former Member
0 Kudos

Hi Tom,

 

We have used an ABAP stand-alone gateway instance on the SLD server of AS Java 7.01. But I came across note 1172161, which says from release 7.1 an RFC gateway comes along in the AS Java  SCS instance which is automatically recognized in SLD. I guess there wont be anymore confusions in updating RZ70 in the ABAP system using this new feature.

Excellent blog post, by the way.

 

Regards,

Yashith

TomCenens
Active Contributor
0 Kudos

Hi Yashith

 

Thx for the comment & additional info for others!

Glad you like the post.

 

Best regards

 

Tom

Former Member
0 Kudos

Hi Tom,

 

After reading your blog I had easily pushed data from Development ABAP system which was installed on a standalone host to the SLD which was again on a standalone host.

 

But during the production system, you wont believe I had to work for 3 continuous days, that too during vacations at my place.

 

I have AS ABAP, installed on a high availability system clustered mode.

AS JAVA is also installed in HA clustered mode.

 

To rescue other, here is a solution. Add the following parameter to start profile for SCS instance ( this is coz there is no gateway service in a Java system, thanks to this link " http://scn.sap.com/thread/1599267 ":

#--------------------------------------------------

#Start SAP gateway service (Dont forget the initial underscore)

#--------------------------------------------------

_GW = gw.sap$(SAPSYSTEMNAME)_$(INSTANCE_NAME)

Execute_05 = local rm -f $(_GW)

Execute_06 = local ln -s -f $(DIR_EXECUTABLE)/gwrd$(FT_EXE) $(_GW)

Restart_Program_02 = local $(_GW) pf=$(_PF)

 

I had to add these parameter as I couldn't see any service for SAPGW on the host on which SLD/ AS JAVA was installed.

 

As correctly mentioned by you in reply to deb.donohoe2 queries on 08-Jul-12, I then changed, the data supplier host to " Host for SLD" and gateway to " sapgw<nn>" where nn was instance number for SCS instance, in the SLD configuration and then restarted the same.

 

Then I went to RZ70 in ABAP system and entered hostname of Java system and sapgw<nn> where nn is instance number of SCS instance.

 

You are a saviour Tom. Thank you from depth of my heart. Special thanks to Deb Donohoe. His queries and your reply to the same helped me in understanding the concept for the same.

 

Regards,

Hrishav

TomCenens
Active Contributor
0 Kudos

Hi Hrishav

 

Glad the blog post brought added value to you and thanks for adding more value to it.

 

Yes, you can start a gateway service on a AS Java which version is not yet high enough to have it running by default but is already high enough in terms of it's version to get it running.

 

Best regards

 

Tom

neha_jain7
Explorer
0 Kudos

Hello Tom,

 

As per your picture 1.2 we can view the registered Program ID in transaction SMGW

But in my system SLD_UC is not getting registered.


I have added abap system details in the java only SLD as mentioned in the picture 1.5, 1.6 and 1.7, but still SLD_UC

in rz70 transaction there is only option to give gateway host and port as ABAP system

 

But rz70 is failing with the error

 

"

0: vhcalabaci_ABA_00                         : Execute program: _SLD_RCC

0: vhcalabaci_ABA_00                         : Execute program: _SLD_RFC

0: vhcalabaci_ABA_00                         : Collection of SLD data finished

0: vhcalabaci_ABA_00                         : Data collected successfully

0: vhcalabaci_ABA_00                         : RFC data prepared

0: vhcalabaci_ABA_00                         : Used RFC destination: SLD_UC

0: vhcalabaci_ABA_00                         : RFC call failed: Error when opening an RFC connection (CPIC-CALL: 'ThSAPOCMINIT' : cmRc=2 thRc=67

0: vhcalabaci_ABA_00                         : Batch job not scheduled

"

Do you have any suggestion how to solve this issue.

I have tried to register manually at OS level SLD_UC but that disnt help

 

Regards,

Neha

TomCenens
Active Contributor
0 Kudos

Hi Neha

 

The registration happens after picture 1.8 is configured properly + SLD is restarted.

If the program doesn't register to gateway, you might want to check your Gateway Access Control Lists - Security and Identity Management - SCN Wiki

 

Best regards

 

Tom

neha_jain7
Explorer
0 Kudos

Hello Tom,

 

Thanks, I have done settings as mentioned in the picture 1.8 and restarted SLD.

acl list also set properly.

 

When I am trying to connect ABAP system with other SLD it is working fine.

But I am facing issue with my current standalone JAVA PI system. Any other suggestion ?

 

Regards,

Neha

TomCenens
Active Contributor
0 Kudos

Hi Neha

 

I can try to help you further but then I need more details. Can you mail me a word doc or something with the steps you perform(ed)?

 

You can find my priv mail in my SCN profile.

 

Best regards

 

Tom

neha_jain7
Explorer
0 Kudos

Hello Tom, Thanks a lot for providing solution Solution: Add this line in your reginfo file P TP=SLD_UC HOST=10.97.17.164 CANCEL=10.97.17.164 ACCESS=* Activate the configuration files secinfo and reginfo by choosing Goto → Expert Functions → External Security → Read Again in transaction SMGW. Refer : https://help.sap.com/saphelp_nw04/helpdata/en/0a/64861a386e481c90400401e6f20bba/content.htm Thanks & Regards, Neha

TomCenens
Active Contributor
0 Kudos

Hi Neha

 

Your welcome. So just to share some details to the community on what was done (troubleshooting steps)

 

In the SLD - Administration - Details the JCO RFC were stated as [DOWN]. Normally, after changing the parameters to point to the ABAP data supplier (sapgw) and stop/starting the SLD? those JCO RFC server threads should be running. In this case, they didn't so to check what was wrong, we first manually created a JCO RFC destination in the /nwa pointing to the ABAP system.

 

This JCO RFC destination would state "running" only very briefly after you would start it, if you refresh ,it would be stopped already again. This made me believe, the destination ABAP system is either not reached or the connection is denied due to security ruling.

 

So I upped the SMGW trace level, triggered the JCO RFC again and then I got the message that "reginfo" blocks SLD_UC (we named the manual JCO RFC SLD_UC). So then the line was added to reginfo to allow the SLD_UC to register. As mentioned, you need to reread reginfo after adjusting through SMGW. Once this was done, the JCO RFC registered fine. So we removed the manually created JCO RFC, stop / started the SLD (in /SLD) and we saw now SLD_UC registering automatically on the ABAP gateway. As from this point, RZ70 worked fine as well.

 

Best regards


Tom

Former Member
0 Kudos

Hey Tom, I am facing

 

CPIC Return Code 679 - Transaction Program not Registered

E

srinivasan_vinayagam
Active Contributor
0 Kudos

Hi Tomas,

 

You can run RZ70 with ABAP system credentials, the SLD_UC and SLD_NUC created with ABAP system hostname and gateway host.

 

Then How ABAP system data collected by JAVA SLD system?

 

How? Where ABAP system and JAVA's SLD system communicate?

 

Regards,

V Srinivasan

rahul_yedapally
Active Participant
0 Kudos

Hi Srinivas,

 

correct me if I am wrong, when we Run RZ70 in backend (ECC)system , data will be pushed to system landscape directory

 

SLD will write the data to LMDB and LMDB will writes data to SMSY

 

How ABAP system data collected by JAVA SLD system?


Help of LMDB jobs


Thanks,


Rahul Yedapally

srinivasan_vinayagam
Active Contributor
0 Kudos

Hi Rahul,

 

Here SLD system is Portal system Version 7.01

ABAP system is ECC system.

 

JAVA system is configured as SLD system.

Now wanted to register SAP ECC ABAP system to SLD system(JAVA).

 

here no LMDB concept.

 

 

 

JAVA System Side:

 

JCo RFC Provider

SLD Data Provider

Destination

 

ABAP System side:

 

RZ70

SM59

SLDAPICUST

SLDCHECK

 

Please any one explain this scenario

 

Regards,

V Srinivasan

former_member209962
Participant
0 Kudos

Hi Srinivasan,

 

What I understood is  you want to register ECC ABAP system to java SLD not SOLMAN?

 

Go to ECC ABAP RZ70 give the hostname and gateway service SAPGW00  00 Is instance no then excute and you will see the abap system in java system sld http://hostname:50000/sld

 

Now you have a portal system which is as java based and you want to register SLD to another java system then login to NWA and go to SLD Data supplier and give the link of target java system sld like http://hostname:50000/sld and excute you will get the confirmation then and there .

 

Please let me know if i am making  any sense?

 

Thanks

Tabrayz

john_studdert
Participant
0 Kudos

Hi Tom, excellent blog post and thanks for taking the time to write it up. I realise this is an old blog post now but it still appears high in the search rankings and as such it'd be great if you could add an update to the blog post itself regarding AS Java systems >=7.1 now having the gateway process by default.


It took me a while to dig far enough down the comments to find this

Former Member
0 Kudos

Hello Tom ,

 

You above post is too good . I am also in a similar situation but a little different scenerio and if you can just have look on my issue it will a great help

 

Configuration for Central SLD in HA

 

Please check and suggest .

 

Regards,

Umesh

manumohandas82
Active Contributor

Nice Doc . Thanks a lot for sharing

Former Member
0 Kudos

Hi All,

 

Nice document.

 

For those interested in connecting multiple ABAP data suppliers to the same Java stack e.g SAP PO (or SAP PI AEX), you may refer these blogs:

Creation of an SLD connection from ABAP backend to AEX SLD

 

  PI7.4  SLD_UC failed to connect,RZ70 failed problem

 

Thanks,

 

Bakau Onafuwa

0 Kudos
hi
Labels in this area