Install

Initial

Download the latest version of the SAPlink installer zip file from the SAPlink Project page which contains the following files:

SAPlink_installer.txt - hopefully the last program you will ever have to copy and paste

NUGG_SAPLINK.nugg - nugget containing necessary objects to install

Extract contents of the SAPlink installer zip file

Copy, paste, save, and activate the contents of the SAPlink_installer.txt file into a new program ZSAPLINK_INSTALLER onto the target SAP system

Execute newly activated program ZSAPLINK_INSTALLER

Use the extracted file NUGG_SAPLINK_INSTALL.nugg for the selection parameter "Installation Nugget" WARNING: Using checkbox "Overwrite Originals", will overwrite any existing version of the SAPlink objects that were previously installed onto the system. Only use when reinstalling or installing a major release where a brand new install is required. Otherwise, follow the normal procedures for upgrade below.

Execute

To avoid an error that the implementation of an abstract class does not exist please run the installation a second time.

Newly installed objects need to be activated manually, as all objects are installed as local and inactive

Run transaction code SE38

On initial screen of SE38, enter program name ZSAPLINK into selection parameter "Program" and hit activate command to show worklist

On worklist screen, select "Whole Worklist" button on bottom to show all inactive objects in your worklist IMPORTANT NOTE: You must click the button labeled "Whole Worklist" to show and select all SAPlink related objects. There are multiple objects that are imported during the initial install and must all be activated for SAPlink to run properly

Once activation for all objects is complete, SAPlink can be executed via program ZSAPLINK

Plugins

To see a list of installed plugins, use the F4 value help in the selection parameter field for "Object Type" from ZSAPLINK->Object Tab->Export Object->Object Type. Additional plugins can be downloaded from the SAPlink Plugins Project page and imported/installed using SAPlink. A plugin can be delivered via a Slinkee or a Nugget. Follow normal usage instructions below for the plugin file accordingly.

If no plugin is available for the object type needed, we need your help. If you are a gracious soul and willing to give back to the community as a plugin developer, go to the SAPlink Plugins Project and let us know. Developer documentation is available on the SAPlink documentation page.

Upgrade

Unless otherwise stated, you can use your existing version of SAPlink to upgrade itself or any of its plugins. Use the downloaded slinkee or nugget file according to the normal usage instructions below

Usage

To execute SAPlink, use program ZSAPLINK. If you do not know which SAP transaction to use to run this program from, you don't need to be running SAPlink anyway. Please go find and bribe a developer to help you before proceeding.

There are two types of files that can be imported or exported using SAPlink, either a Slinkee file (.slnk) or a Nugget file (.nugg). Both filetypes contain XML representation of the objects to be installed. They can be read using any XML reader, a text editor, or some compatible browsers (confirmed using Firefox).

Slinkee

A Slinkee file(.slnk) is used for single objects to be imported or exported. Slinkees are very quick and easy to use and recommended for single object collaboration. They can be imported and exported from the "Object" tab

Import

Select radio button "Import Object"

Use the Slinkee file containing the object to be imported in the selection parameter "SAPlink File Name"

WARNING: Using checkbox "Overwrite Originals", will overwrite any existing object with the same type and name on the target system. Be sure you know

Execute

Newly installed objects need to be activated manually, as all objects are installed as local and inactive

Export

Select radio button "Export Object"

Enter the name of the object to be exported for the selection parameter "Object Name". Your object name should be somewhat unique. Remember that you will be sharing your objects with other developers and they probably already have a program called ZFoo, ZMyTest, or ZINeedARaise. An object that is not unique for that object type, will have to be overwritten in order to be installed on the target system

In the "Object Type" selection parameter, use the F4 value help selection to

See a list of installed plugins and their compatible object types

Enter the R3TR type of the object to be exported for the selection parameter "Object Type"

Execute and save file to local machine when prompted. To meet standards for object collaboration, it is recommended, yet not technically required to use the suggested default file name

Nugget

SAPlink nuggets is the SAPlink packaging system that enables multiple objects to be imported/exported in one handy dandy file(.nugg). Nuggets can be imported, created, and displayed from the "Nugget" tab

Import

Select radio button "Import Nugget"

Use the Nugget file containing the objects to be imported in the selection parameter "Nugget File Name"

WARNING: Using checkbox "Overwrite Originals", will overwrite any existing object with the same type and name on the target system. Be sure you know

Execute

Newly installed objects need to be activated manually, as all objects are installed as local and inactive

To see a list of all objects in a nugget, use the option to "Display Objects in Nugget"

Create New Nugget

Select radio button "Create Empty Nugget"

Type the Name of your Nugget in, this should be as unique as possible as upcoming releases may include versioning. ''If you do not give your Nugget a unique name you will have problems later. Avoid things like TEST, FOO, or BAR as these are probably not unique. By the same token don't name it 9283kasdfasdbfasdfksfdf9823498jfsaa as this is useless and makes no sense.''

Press Execute, SAPlink will ask you where to put the Nugget file

You should now see your empty Nugget file in the target directory

You can now start adding Objects to your Nugget

Exporting/Adding Objects to Existing Nugget

Select radio button "Add Object to Nugget"

Type the Object Name

Pick Object Type from the value help of installed plugins

Pick the Nugget File you wish to add this object to

Press Execute

If everthing goes well you will see a confirmation message of the amount of bytes saved on your local machine

Display Objects in Nugget

Use this while building or before installing a Nugget to see what you've got in there, simply point it at the File Name of a Nugget on your local machine to see the list

Program Plugin (ZSAPLINK_PROGRAM)

74 Comments

Former Member

ZSAPLINK terminates saying that The following syntax error occurred in program
"ZSAPLINK_CLASS================CP " in include
"ZSAPLINK_CLASS================CM002 " in
line 22:
"The type "SEOX_BOOLEAN" is unknown."

I've activated all the objects created by the ZSAPLINK_INSTALLER. Can you please help me in this regard.

Guest

I've been reviewing SAPLink for a project that I'm working. And I'm wondering what action SAPLink would take if I imported an object that had the same name as an existing object and I didn't want to overwrite the existing object. Would it create a new version perhaps or just force me to name the imported object something else?

Guest

Di I need special permission to edit this page? Some additional comments in the Upgrade section could be helpful. Upgrading from a Daily Build. Which classes to delete. Necessity of installer if those classes have been deleted. etc.

thank you for the heads-up that it's not so easy to find the most current SAPlink Version. I've updated now the startpage of http://saplink.org to give better directions. Please let me know if that helps.

I tried extracting file SAPlink_Daily.nugg.zip from /trunk/buid, but it said the file is invalid. Then, I tried using the file SAPlink_Daily.nugg in the saplink installer program, it gave no response, ZSAPLINK program is not created.

I installed, activated everything on both SAP systems. I want to unload ABAP objects from one SAP system. Then to load ABAP objects into other SAP system. How to make it by means of the program ZSAPLINK. Is there instruction?

the above documentation talks about Export and Import. I think that is exactly what you need. Don't use the SAPLINK_WITH_DOCUMENTATION.ZIP file which is from 2008. Please be shure to only export objects where you have the copyright.

If this plugins don't come with the SAPlink plugins then the initial creators haven't contributed their plug-in to the SAPlink-plugins project and run their own project. Two years ago I've contacted most of the plugin creators to convince them to move over their code to the SAPlink plugins project. But not everyone did. So if you need that plugins check out the SAPlink Plugin List.

Former Member

We are trying to import the SAPLink Files however we are unable to run the program ZSAPLINK. We run the program ZSAPLINK_INSTALLER and imported the nugget file. We selected all the objects in the worklist to activate. We get the message that following things were installed

Former Member

Former Member

Hello Gregor,

I downloaded the Installer and ZSAPLINK today and imported into our DEV system. Trying to download the 'NUGG_20140617_ZEV_TP_CHECKTOOL' nugget file but keep getting the error 'Plugin for object type 'TRAN' is missing'. How can i download that plugin?

I've just tried the SAPlink_Daily.nugg.zip and was able to extract the SAPlink_Daily.nugg out of it. Unfortunately the ZSAPLINK_INSTALLER is missing in the zip right now but you are able to get it also from the build folder. Do you have any more detailed error messages? If yes, the please open an a Ticket at https://www.assembla.com/spaces/saplink/tickets.

I used Google Chrome to download the ZIP-file by using the 'Save file as...'-right mouse menu item.

You'll then get the webpage underneath the link as a download. Chrome will use the name of the link, so the downloaded file will get the extension ZIP. But it's actually a HTM-file. I you click on the ZIP-file, you'll get the webpage underneath and the message that it's a binary file which can't be viewed. However at the right side of the page there's a download item. When using that particular download item you'll get a real ZIP-file.

SAPlink has been installed. Thanks for maintaining this work all these years...

Former Member

Former Member

When trying to load a nugg using SAPLink I get a dump. I am trying to install the JSON Adapter for ABAP Function Modules written by Cesar Martin.

I have tried using an older version of SAPLink with no luck.

SAP ERROR below:

An exception has occurred which is explained in more detail below. Theexception is assigned to class 'CX_SY_REF_IS_INITIAL' and was not caug procedure"GETSTRUCTUREFROMATTRIBUTES" "(METHOD)", nor was it propagated by a RA clause.

Where in the code in SAP LINK

method GETSTRUCTUREFROMATTRIBUTES.

****

attributeList = node->GET_ATTRIBUTES( ). "error is occurring on this line

Former Member

Hi Gregor,

Thanks for creating this useful application, but I am not able to use this due to missing plugin. I need to install plugins for object types DOMA, DTEL,ACID,DOMA,TABLE,TTYP, INTF and MASG. Unfortunately these plugins exist only as .slnk files.

The subroutine check_intcode checks if the code for some of attributes are internally generated (numeric, 6).

Therefore in the NUGG file i changed the values of the attributes CODE of the XML tags pfstatus_men, pfstatus_act and pfstatus_pfk from pure numeric (e.g., 000001) to alphanumeric (e.g., Z00001). I could then process the program and it looks good to me

BR,

Suhas

PS - This is just a workaround, the original developers must however look into this issue

Former Member

I just resolved this same issue "GTS_VERSION_INFO" at a client where SAPLINK was previously installed by another user. SAPLINK_INSTALLER was originally not created as a local object. Hence= some of the SAPLINK classes were scattered across multiple packages. I was able to fix the issue by moving all SAPLINK objects into the same package, modifying the description of each class then activating them all together.

SAPLINK_INSTALLER will not overwrite classes that are assigned a transportable package. Hopefully your issue had the same root cause.

What happened? Exception 'ZCX_SAPLINK' was raised, but it was not caught anywhere along the call hierarchy.

Since exceptions represent error situations, and this error was not adequately responded to, ABAP program 'ZSAPLINK_INSTALLER' had to be terminated.

Error analysis An exception has occurred which is explained in more detail below. The exception is assigned to class 'ZCX_SAPLINK' and was not caught in procedure "CREATE_PFSTATUS" "(METHOD)", nor was it propagated by a RAISING clause. Since the caller of the procedure could not have anticipated this exception, the current program was terminated. The reason for the exception is: No text available for this exception

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?

Former Member

Therefore in the NUGG file i changed the values of the attributes CODE of the XML tags pfstatus_men, pfstatus_act and pfstatus_pfk from pure numeric (e.g., 000001) to alphanumeric (e.g., Z00001). I could then process the program and it looks good to me

AND you have to patch the class ZSAPLINK_FUNCTIONGROUP, method CREATE_PFSTATUS to get this PF-Status imported (line 228):

Former Member

Hi Gregor,

I am facing a strange issue while importing classes into one system. It creates methods which has unmatched METHOD - ENDMETHOD statements(One METHOD and two ENDMETHOD statements), and I receive an error for each of the methods "You can not use the statement "ENDMETHOD" in current environment. However you could use similar statement "METHOD"".

Strangely enough, it does not happen when I import the nugget file into another system nugget file being exactly the same. Could you please let me know if anyone has faced similar issues.

I fail to install the SAPLINK thingy, mainly because the trunks/build folder does not include the files it should include according to the above instructions.

I have successfully created the ZSAPLINK_INSTALLER report, but the "NUGG_SAPLINK_INSTALL.nugg" file the above instructions talk about does not exist in trunks/build, nor is there a zip file that contains it. All I can find there is a "SAPlink_Daily.nugg". I downloaded it and entered it in the ZSAPLINK_INSTALLER report, but when I execute, nothing happens. The report starts, but seemingly does nothing.

Program ZSAPLINK 1,512 WarningThe exception ZCX_SAPLINK is neither caught nor is it declared in the RAISING clause of "NUGGET_ADD_OBJECT". Program ZSAPLINK 1,554 WarningThe exception ZCX_SAPLINK is neither caught nor is it declared in the RAISING clause of "NUGGET_IMPORT". Program ZSAPLINK 1,547 WarningThe exception ZCX_SAPLINK is neither caught nor is it declared in the RAISING clause of "NUGGET_IMPORT". Program ZSAPLINK 1,673 WarningThe exception ZCX_SAPLINK is neither caught nor is it declared in the RAISING clause of "NUGGET_DISPLAY".

I could correct the method by specifying the type manually but wanted a proper fix. Since table DD43V does not exist in 7.01 perhaps it would be better if the code reflected this.

Former Member

Thank you for the Info. I found some nugget solution that I need, therefore I tried to install SAPLink. Using abapGit I wasn't unable to find a way, how to use nugget file. So I am leaving this and try to find anythinge else.

Do you have a pointer to the project that provides the nugget? Maybe its worth asking if they switch to abapGit. But please also check the updated project links and file the issue on the new Github repo.