Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 52 Next »

License

If you want a license for the Data Lineage Metadata API we need the SID of your BW(/4HANA) or ERP, S/4HANA system. Or the 3-digit HANA DB ID of your HANA database.

Requirements

Two possibilities to connect

There are two ways how the Metadata API can connect to your system.

  1. Connection via RFC to BW or ECC systems

  2. Connection via HANA through SQL API to BW, ERP, or HANA System

You can decide how you want to connect. For the RFC approach you need to install a Function Module in your development system and transport it through your landscape (more is described here).
(warning) No Function Module needed since version v1.4.0 of the Metadata API and with SAP BASIS releases >=

  • 7.40 SP27

  • 7.50 SP23

  • 7.51 SP13

  • 7.52 SP09

  • 7.53 SP07

  • 7.54 SP05

  • 7.55 SP03

  • 7.56 SP01

The Data Lineage Metadata API can be started from any machine (Windows or Unix) with access to your SAP System or the underlying SAP HANA database.

Depending on the approach you have chosen, you will need a HANA, a BW, or an ERP user. Which rights are needed is described in the system-specific pages:

Installation

Windows

Download the latest version of the Data Lineage Metadata API and unzip it. Open the terminal or command line to work with the tool.

Unix

Download the zip and start the following command

mkdir DataLineage; tar -xvf <DataLineageFileName>.tar.gz -C DataLineage; chmod +x DataLineage/DataLineage.sh; chmod +x DataLineage/Core/DataLineage

Insert License

Two possible ways to insert a license for Data Lineage API exist.
We sent you a license file or a license hash. What to do with them is described in the subchapters below.

Insert hash

Windows

DataLineage.cmd insert-license -l <license hash>

Unix

./DataLineage.sh insert-license -l <license hash>

Using license file

Add the file license.lic into the Core folder.

Maintain Connection Data

Normal Connection properties

To maintain the connection data you have to change the appsettings.json file.
Per default the appsettings.json file is empty, but the two connection possibilities are shown (see below).

{
  "BwErpSystemConfigurations": [
    {
      "BwErpSid": "",
      "Languages": [ "", "" ],
      "Server": "",
      "SystemNumber": "",
      "Client": "",
      "User": "",
      "Prefix": ""
    }
  ],
 
  "HanaSystemConfigurations": [
    {
      "BwErpSid": "",
      "HanaSchema": "",
      "SchemaBlacklist": [ "", "" ],
      "Languages": [ "", "" ],
      "Server": "",
      "Database": "",
      "SqlPort": "0",
      "UseSsl": "false",
      "User": "",
      "ConnectionString": ""
    }
  ],
  
  "SacSystemConfigurations": [
    {     
      "Url": "",
      "TokenUrl": "",
      "ClientId": "",
      "ExcludePrivateObjects": false
    }
  ]
}

If you decided on the RFC connection you use the properties below BwSystemConfiguations. If you decided on the HANA SQL connection you use the properties below HanaSystemConfiguations.


It can contain multiple systems depending on what is maintained in our license (see below what it might look like).

Explaining the properties:

Property

Meaning

Connection

Example

BwSid

The System ID of your BW system

RFC & HANA

BI2, A4H, …

Server

The host or IP address of your HANA database

RFC & HANA

hdb.mycompany.de

SystemNumber

The system number of the BW system

RFC

00, 03, …

Client

The client of the BW system

RFC

001, 800, …

Prefix

The prefix of the function module for the RFC connection

since v1.4.0 you can run the Metadata API without installing a function module. In that case you do not have to set it in appsettings file (more infos here).

RFC

Z_, /MYCOMP/Z_, …

Database

The database on your HANA tenant where the BW application is located

HANA

HN2, HDB, SYSTEMDB, …

HanaSchema

The schema where the BW application is located

HANA

SAPBI, SAPA4H, SAPHANADB, …

HanaSchemaBlacklist

Schemas which should not be analyzed during the process of getting metadata from HANA. It totally make sense to restrict it via the list at least for some technical SAP schemas.

HANA

["_SYS_AFL", "_SYS_AUDIT", "_SYS_BI", "_SYS_BIC"]

SqlPort

The SQL Port of your HANA DB.
Normally the SQL Port is 3<instance number>13.
To figure out the SQL Port use this guide or visit the SAP help for more information.

HANA

30213

UseSsl

If you have set up and want to use an SSL connection to your HANA database.

HANA

true, false

Languages

List of Languages you want to export

RFC & HANA

[ "E", "D" ], [ "E" ], ["D", "C", "F"]

User

User for the BW Data Lineage API. The user needs full select rights on the HANA schema of the BW system.

RFC & HANA

EncryptedPassword

No manual input. The password must be set via command line (see here). In that case a property EncryptedPassword is stored in the appsettings.json file. If you need to use a clear password, please use the connection string.

RFC & HANA

Url

URL of the SAC instance

SAC

https://mysacinstance.eu10.hcs.cloud.sap

TokenUrl

Token URL of the SAC instance

SAC

https://mysacinstance.authentication.eu10.hana.ondemand.com/oauth/token

ClientId

Client ID for the OAuth Authentication in SAC

SAC

EncryptedSecret

No manual input. The secret must be set with the first start of the API for SAC.

SAC

true, false

ExcludePrivateObjects

Handle if the private SAC entities should be included or excluded

SAC

SplitFilesChunckSize

Chunck size to split the Details, Buildups, and BuildupDescriptions file to multiple files by a number of entities.

0 - default. Output 1 file

RFC & HANA

0, 10000, 1000000

Complex connection properties (HANA connection only)

Instead of using the delivered content of the appsettings.json file, you can use a connection string if you need to set more properties for your HANA database. That is important if you use e.g. proxy servers and users.

For more detailed information you can visit the SAP guide.

Example of ConnectionString:

If you do not insert a password in the connection string you can also set an encrypted password via command line (see here).

Connection properties for upload

If you want to upload the file directly to a platform you need to maintain the parameters to upload your metadata.

Set Password

The following command in the command line sets an encrypted password into the appsettings.json file.

In the following examples, the set password is done for BW-/ERP-systems with an RFC connection. Here the parameter -s <SID> is used. If you have a HANA connection you have to set the password with parameter
-b <HANA HDB>.

Windows

DataLineage.cmd set-password -s <SID> -p <password>

Command for versions < 1.2.5

DataLineage.cmd set-password -s <SID> -h <HANA Schema> -p <password>

Unix

./DataLineage.sh set-password -s <SID> -p <password>

Command for versions < 1.2.5

./DataLineage.cmd set-password -s <SID> -h <HANA Schema> -p <password>

Run Application

The BW Data Lineage API can be started for one system.
To find all parameters you can use, try --help to get more information.
The following command is for examples only. The complete command list can be found here.

Windows

Run the application with the following command

DataLineage.cmd extract-all -s <SID>

Command for versions < 1.2.5

DataLineage.cmd extract-all -s <SID> -h <HANA Schema>

Unix

Run the application from the terminal

./DataLineage.sh extract-all -s <SID>

Command for versions < 1.2.5

./DataLineage.cmd extract-all -s <SID> -h <HANA Schema>

Plan a regular job

In most scenarios, it makes sense to pull the metadata of a system regularly. A recurring job should be created for this purpose. This chapter describes how to do it in Windows and Unix environments.

Note that this only works from versions > 1.4.0.

Windows

  1. Open the Task Scheduler in Windows

  2. Right Click > Create a task

  3. In the general tab, you can give the task a name and should choose the second option “Execute independently of the user login”. You can also change the user here

  4. In the tab Trigger, you have to set the interval in which the task should be scheduled

  5. In the tab Actions, you have to insert the command which should be run.

Unix

  1. Make sure DataLineage.sh has execution rights (chmod +x)

  2. Edit the crontab file (crontab -e), adding the line for job

    1. Example for a job every 5 minutes:        */5 * * * * /<path>/DataLineage.sh extract-all -s <SID>

  3. Make sure the job is in the jobs list after saving the file (crontab -l)

  4. If the job doesn't run as expected, check the logs (grep "DataLineage" /var/log/syslog)

  • No labels