SAPlink is a project that aims to make it easier to share ABAP developments between programmers. It provides the ability to easily distribute and package custom objects.
Project Links
- SAPlink.org - project home page
- SAPlink discussion group
Check out also the SAPlink alternative ABAPgit which is very activly developed
Download Links
- Open the link Download Current Version and navigate to trunk > build
- Download Plugins
Documentation
Project Contributors
Current Projects using SAPlink
SDN SAPlink Blogs
- The Enterprise and the Bazaar by ewH
- The Power, Agility, and Speed of a Community by ewH
- SAPlink One Week, One New Version - UPDATE by dan
- SAPLink and my first real community project by Thomas Jung
- Open source and SDN community development take-off during SAPTechEd'06 ... by Leonardo De Araujo
- Show me your .slnk and I will show you mine (1of2) by quack
- Show me your .slnk and I will show you mine (2of2) by quack
- Welcome Zake by dan
- SAPlink Hits 1K Download Markby Rich Heilman
- All SAPlink blogs
SAPlink Audiocasts
- Demo Jam '06 Winners: Ed Herrmann Dan McWeeney by Craig Cmehil
49 Comments
Unknown User (k169nue)
the sap link have some problem to deal with asian language or other non-ascii language.
we can add codepage = '4102' in the gui_download gui_upload export parameters
Unknown User (fuc6rom)
First of all, congrats for making this very very useful tool. I'm sure all developers will celebrate this creation.
I have found an error in the application though, and I'd like to comment it to you and let you know about it.
I implement the SAPLINK program in a SAP system with ECC 6.0 version and If you try to add the technical settings of a table into the nugget file, this action rise an runtime error (CALL_FUNCTION_PARM_UNKNOWN) with the exception CX_SY_DYN_CALL_PARAM_NOT_FOUND.
This plugin builds the class ZSAPLINK_TABLE_TECHNICAL_SETTINGS and this class contains a method (CREATEIXMLDOCFROMOBJECT) witch calls function 'DDIF_TABT_GET' with 2 inbound parameters: NAME and LANGU.
In ECC 6.0 version the second parameter is STATE (opcional), not LANGU. So this function must be called only with the first inbound parameter (NAME). I make the change and it works perfectly.
Best regards,
Jose.
Former Member
Hello, and firstly, congratulation for this great tool. I'm working on a simple "nugg viewer", that is a little application made in Flex and using the AIR runtime... More information here: http://pierregodart.blogspot.com/.
Former Member
Seems that this tool is no longer available.
I have created another SAPLink Viewer tool (requires .NET framework 4.5).
Can be downloaded and freely be used:
http://invoice-solutions.ch/download-saplink-viewer.html
Unknown User (k6d4dri)
Hi,
tried to instal SapLink on customer system - installed the zsaplink_installer, uploaded the basic .nugg plugin, tried to activate all of Saplink parts - and got error that method CHECKEXISTS is not implemented. Any suggestions?
Unknown User (100y3axbh)
Hi, SapLink developers!
Firstly thanks for such good tool!)
Working with it, i have found a bug:
When we moving a table from ixml to object(system) the table maintenance dialog is also moved.
This dialog is a simple function group(like standard 'svim') BUT with standard includes. So every time the tool askes a key to change the standard. If we press cancel button we will see dump report. Entering the key is also not a good idea because in different systems we have different includes(because of the packs e.t.c.), so in many cases we will crash our system.
Out solution is to perform additional check before moving these includes. We implement it in the method 'CREATE_INCLUDES' of class ZSAPLINK_FUNCTIONGROUP.
Here is the code:
method CREATE_INCLUDES.
*/---------------------------------------------------------------------\
*| This file is part of SAPlink. |
*| |
*| SAPlink is free software; you can redistribute it and/or modify |
*| it under the terms of the GNU General Public License as published |
*| by the Free Software Foundation; either version 2 of the License, |
*| or (at your option) any later version. |
*| |
*| SAPlink is distributed in the hope that it will be useful, |
*| but WITHOUT ANY WARRANTY; without even the implied warranty of |
*| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
*| GNU General Public License for more details. |
*| |
*| You should have received a copy of the GNU General Public License |
*| along with SAPlink; if not, write to the |
*| Free Software Foundation, Inc., |
*| 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA |
*---------------------------------------------------------------------/
types: begin of tinclude,
name(40),
end of tinclude.
data iinclude type table of tinclude.
data xinclude type tinclude.
data inc_node type ref to if_ixml_element.
data inc_filter type ref to if_ixml_node_filter.
data inc_iterator type ref to if_ixml_node_iterator.
data progattribs type trdir.
data includes_node type ref to if_ixml_element.
data includesourcenode type ref to if_ixml_element.
data source type string.
data sourcetable type table_of_strings.
includes_node = incl_node.
check includes_node is not initial.
free: inc_filter, inc_iterator, inc_node.
inc_filter = includes_node->create_filter_name( 'include' ).
inc_iterator = includes_node->create_iterator_filtered( inc_filter ).
inc_node ?= inc_iterator->get_next( ).
while inc_node is not initial.
getstructurefromattributes(
exporting
node = inc_node
changing
structure = progattribs ).
**********************************************************************
**********************************************************************
DATA lv_text(2).
lv_text = progattribs-NAME(2).
TRANSLATE lv_text TO UPPER CASE.
IF lv_text = 'LZ'.
**********************************************************************
includesourcenode = inc_node->find_from_name( 'include_source' ).
source = includesourcenode->get_value( ).
sourcetable = buildtablefromstring( source ).
objname = progattribs-name. " Include Program Name is the object
enqueue_abap( ).
transport_copy( author = progattribs-cnam
devclass = devclass ).
create_source( source = sourcetable
attribs = progattribs ).
dequeue_abap( ).
**********************************************************************
ENDIF.
**********************************************************************
inc_node ?= inc_iterator->get_next( ).
endwhile.
endmethod.
If You have any other solutions, please let me know.
Best Regards,
Andrei Tarasov
Former Member
Hello.
There is a new Plugin available at sub project saplink-bw (http://code.google.com/p/saplink-bw/downloads/list). It enables you to
extract BI hierarchies from a system and import it back again to
either the same or another system. (i.e. for backups or
synchronization of systems).
Feel free to download it and give it a try.
--MIKE
Unknown User (dvh6r4n)
SAPLINK WARNING:
Hello all,
Please be aware that if you are not on the latest SAP VersionRelease/Support Packs/Enhancements that some of the SAPLINK projects will not compile in your system!! We learned this "the hard way" by downloading the JSON ABAP Class project and found that the latest Nugget did not compile because the syntax used in defining the Class was not recognized by our version of SAP. The problem is that we needed this newest version of the Nugget (theProject states "download the newest version (the older version have serious bugs!!)).. So we were stuck... We could not download the older version because it had serious bugs, and we could not download the newest version since it does not compile in our system!
I thought I would share this with everyone just to be aware...
Thanks, Chris
Gregor Wolf
Dear Chris,
as SAPlink is Open Source Project I would like to encourage you to help fixing this issues. Please provide a detailed bug report including the exact BASIS and ABA release levels of the Sytem you're using in the SAPlink Project Issue tracking. All the work on SAPlink is done voluntarily. If SAPlink was successfully activated on your system and you had problems with the ZJSON nugget, then please use the Issue tracking of that project.
I hope that you can help us to solve the issues and be a happy SAPlink user again.
Best regards
Gregor Wolf
Former Member
Hello Ed, Daniel, Gregor,
New for me. Looks really great. Is this for sharing only the custom objects? Does it also consider SAP delivered standard objects?
Is this still live, in terms of development?
Regards,
Manoj
Gregor Wolf
Hello Manoj,
yes, SAPlink is still an active project. As you have no intellectual property on SAP delivered standard objects you should not use SAPlink to extract this. But SAPlink doesn't stop you doing that. It is a sharp knife. We're always open for new developers who want to help and improve SAPlink. Please check out the issues list and help fixing them.
Best regards
Gregor
Former Member
I installed saplink and loaded the latest NUGG_SAPLINK.nugg (Build 388). The tool works greate for ABAP-classes and apparently reports are supported as well. For all other development objects I get in the tranport requests selection screen the indication that no plugin is installed. If I check the plugin list on www.saplink.org all other plugins are deprecated. Especially a plugin for BSPs would be very helpful for me.
Thank and kind regards,
Uwe
Gregor Wolf
Dear Uwe,
to have a little bit of a firewall the SAPlink project is divided into the Core SAPlink component providing the Nugget, Class and Program plugins and the other Plugins. When you read the Page https://www.assembla.com/spaces/saplink/wiki/SAPlink_plugin_list you will find a link to http://plugins.saplink.org/ where you can download all plugins hosted there (including the BSP) plugin and install that using SAPlink.
Feel free to join the project and help me to improve the user guidance.
Best regards
Gregor
Former Member
I am trying to find a plug-in for putting the ALV layouts into a nugget. When I execute the ZSAPLINK program, I am getting a message saying "No Plug-in Available". I have downloaded the latest plug-ins from the link (mentioned in this site – SAPLink Wiki) https://www.assembla.com/code/saplink/subversion/nodes. Am I missing anything?
The transport contains the following customizing table contents: R3TR / TDAT / LT_VARIANT
What would be the best way to get this done? Is there a plug-in available?
Best Regards.. Balaji
Gregor Wolf
Hi Balaji,
a simple Google search for "saplink TDAT" would have brought you to http://sourceforge.net/projects/saplinkplugins/.
Best regards
Gregor
Vince Tebano
I am trying to install the ZSAPLINK and it will not activate. I am getting the error "The abstract method "CHECKEXISTS" can only be implemented after its redefinition (METHODS CHECKEXISTS REDEFINITION)". I have tried activating the classes individually and it still does not work. I am on an ECC 6.0 box with SAP_BASIS 740 Patch 9.
Do you have any idea why this is not working?
Carolyn Caster
I'm having the same issue as Vince is having in the comment just above this one. Could somebody please assist, or Vince, if you've figured this out by now could you let me know what you did? I had to activate all the classes manually, and in a random sort of order, but this last one just will not activate (class is ZSAPLINK_CLASS).
Thanks!
Vince Tebano
I figured it out.
Check out the SAP Community Network Link that I attached.
https://scn.sap.com/thread/3806381
Paul Hardy
Mr.Gregor,
Is the SAPLINK project still going? There do not seem to have been any commits for many months. Is the "assembla" still the correct place to look or has it moved to GITHUB or some such?
I ask because I found a bug whereby you cannot move a custom class if it has an event with parameters which comes from an implemented interface. Anyway, I fixed this problem in my local copy of SAPLINK and wish to share this fix with the rest of the universe.
I followed that "project issue tracking" link above and saw a list of issue but not a button to add a new one. I wondered if it was because I did not have an avengers assembla account so pressed the "try assembla" button and its started asking for money so I backed out just as fast as I could!
How do you suggest I proceed?
Cheersy Cheers
Paul
Luis Esteban Moreno Ruiz
Hi, congratulations on creating SAPlink, it is a very useful tool!
I would like to know which folder contains the lastest version of SAPlink.
Hope somebody helps me, i am confused.
Thanks!
Gregor Wolf
Hi Luis,
please check out the link to the main project and read the wiki page there.
Best regards
Gregor
Luis Esteban Moreno Ruiz
Gregor, thanks for your quick response!
I can see that you recently have updated the section Projects Links with: "Check out also the SAPlink alternative ABAPgit which is very activly developed".
My question is: What is the diference between assembla and gitHub? Are the source codes identical?
Kind regards,
Luis Esteban
Gregor Wolf
ABAPgit is a completely new project. Of course it must also serialise and de-serialise the ABAP development artifacts. But it has built in connectivity to GITHUB which makes it very convenient.
Xavier Ferrer
Hi,
I'm trying to download a plugin from https://www.assembla.com/spaces/saplink/wiki/SAPlink_plugin_list, but it seems that the host is unavaliable.
Is it possible to download it?
I want to create a nugget for Function Groups.
Thks
Gregor Wolf
I was redirected to https://www.assembla.com/spaces/saplink-plugins/wiki without any problems.
Xavier Ferrer
Ok,
in https://www.assembla.com/spaces/saplink-plugins/subversion/source
folder "branches"
thks.
Gregor Wolf
You can take the nugget from the build folder. It contains all plugins which are part of this project.
Gregor Wolf
but I hope you're also aware of https://github.com/larshp/abapGit
Luis Esteban Moreno Ruiz
Hi Gregor, i would like to know if SAPlink works in a minisap (SAP EHP 2 for SAP NetWeaver 7.0). Im trying to activate all the objects but it is not possible. I hope you can guide me. Thanks a lot!
Gregor Wolf
Dear Luis,
yes, SAPlink should work on the Minisap. If you encounter any issues please file a detailed bug report.
Best regards
Gregor
Michael Calekta
Hi,
Is SAPLink still used and supported? Because here are still some object types missing that have no plugin yet, and I don't see much develiopment in the plugins and sources.
I still miss support for example:
Is there any chance that there will be plugins for those available in SAPLink?
Michael Calekta
... also missing are:
Gregor Wolf
Dear Michael,
have you checked the link to abapGit? Also if you want additional plugins you can write them yourself and contribute to the project.
Best regards
Gregor
Michael Calekta
Dear Gregor
I don't understand how abapGit fits to SAPLink. To me these are completely different things. And there seem to be no Nuggets or Slinkees to download there - so how can I possibly find the missing Object-Types there??
I was hoping that the plugins have been written already by some users with the same problem, as espacially SHI3, NROB and TOBJ seem to me so obiviously missing. Therefore my question in the first place, if SAPLink is still in use, because there are no updates lately, and the "daily-build"-plugins are the same since 1,5 years.
All the best
Michael
Gregor Wolf
Dear Michael,
if you don't find the object types by searching Google for SAPlink and the object name I would guess they don't exist. Yes, SAPlink is still maintained, but at least I don not invest a lot of time into it as I would call abapGit the better successor. If someone would pay me for working on SAPlink I would of course invest more
.
Best regards
Gregor
Michael Calekta
Hi Gregor,
So finally I made a view slnk-Files to enhance SAPLink-functionality. abapGit doesn't work for me, as I cannot connect to the place from my SAP-installation at work, even with the certificates installed as suggested. A pity, because abapGit got more Object-Types added, and is much more modern ABAP-like, but as connecting is impossible I have to stick to SAPLink. If you're interested you can download the files from here http://ul.to/41bwf0pl. It contains additions for the Object-types: NROB, SHI3, SOTR, SOTS, SSST and TOBJ. (SOTR already existed, but I reworked it a bit.) The code is mainly based on the abapGit-versions.
Please note, that original language of these Classes is German, but you can change these easily, if you want to include the files to the official plugins.
Anyways, they work for me, and thanks for adressing me to abapGit, as there's much good coding there to be found.
All the best
Michael
Gregor Wolf
Dear Michael,
to track who has contributed what I would like to ask you to get an account at Assembla where the SAPlink Plugins are hosted. And then check in the code there.
Regarding abapGit I think you should be able to use "New offline repo".
Best regards
Gregor
Michael Calekta
Sorry Gregor, but the check-out/check-in procedure doesn't work for me. SVN always gives in after a view minutes, as it cannot establish a connection. Must be our firewalls or network or whatever. If you want the slnk files included, please feel free to do so, else never mind.
I'll give the offline repo a try later - thanks.
Gregor Wolf
Hi Michael,
seems the Download you've provided isn't available anymore. Can you provide it again or just send it to me via E-Mail so I can check if I can include your corrections?
Best regards
Gregor
Michael Calekta
Hi,
Here's a fresh link for the enhancements: http://ul.to/pxcznaxi
Best regards
Michael
Alexander Geppart
Thank you Michael
Alexander Geppart
Hello Michael,
could be so kind and offer another download link to your enhancements?
The link mentioned above doesnt work anymore.
Kind regards
Michael Calekta
Hi,
Here's a fresh link for the enhancements: http://ul.to/pxcznaxi
Best regards
Michael
Former Member
Gregor,
Not sure if I should place this here but the project website seems to be malfunctioning. I'm being forwarded from saplink.org to assembla, but I can't find any source code or plugins. Is the site abandoned?
Cheers and thanks for all the hard work on initiatives like these!
Gregor Wolf
Hi Wilco,
thank you for the heads up. It's a bug on the Assembla site. They are working on it. In the meantime I would suggest that you checkout abapgit.org.
CU
Gregor
Former Member
OK, think it will be solved in a few days or weeks? I've alreayd checked out abapgit and looking forward to using it! However: my source system is on 701, which is not supported. I've tried tinkering with the install script for a few minutes before I gave up
Gregor Wolf
Hi Wilco,
the bug on the Assembla site is fixed. You can access the Wiki now and navigate to the sourcecode.
Best regards
Gregor
Christian Kniesel
Really nice work!
As there is always a need to implement basically the same coding for SAPlink Plugins and abapGit in order to support object types why would you not team up?
Whats really missing in abapGit is a decent eclipse support.
Basically replacing the SAPLink calls in the SAPLink Eclipse Plug in with calls to abapGit on the backend.
Then I would only need to find out how to get syntax coloring for abap on offline files in eclipse like in notepad++ or jEdit.
Finally why I tried abapGit was because the installation of SAPLink via Eclipse failed on the SAP system where I tried it. I then tried to manually fix it by importing the most recent .nugg files in SAP GUI but I ended up having a working SAPLink within the SAP GUI but an Eclipse Plugin telling me that SAPLink is not installed and when trying to reinstall via Eclipse it tells me that the ZSAPLINK_INSTALLER is already there. Deleting it is also no solution. Might be due to the VPN so I have to try it in the local network again.
Although I hate endless reports, abapGit is way easier to set up
Former Member
Hello Experts,
I found ZSAPLINK_INSTALLER program.
I used SAPlink_Daily.nugg to install the plugins
But this file has no class ZSAPLINK which is a super class for all the plugin classes and hence the installation results in dump.
So I need code for Class ZSAPLINK class and also executable Program ZSAPLINK which can be used to import or export the objects.
I am not able to find in https://app.assembla.com/spaces/saplink/subversion/source/HEAD or any related sites.
Please if anyone can provide the code for above class and program .
Thanks in advance.
Avinash