Friday, July 22, 2016

UD Connect

UD Connect 

Universal Data Connect

UD connect in layman terms
- UD Connect is the 'interface' which connects to different source systems i.e different servers and various databases inside them.
For eg : we want a table from MS SQL server, SQL server has various databases and each database can have number of tables inside them.
We create a source system in BW , under UD Connect and give the table name.
UD Connect is a different system, namely DEV1 etc. where the configuration is done. Inside the system, it uses JDBC connector to extract data.

---> We trigger the infopackage in BW (DEV1)
---> The request goes to UD Connect (DX1)
---> This system has different drivers configures inside it. ( ODBC drivers, JDBC[Java Data Base Connectivity] Drivers ). It uses the source server/source database/login details/driver information stored here and enters the source system
---> Fetches data and returns to BW. ( more detail in MS SQL to BW link below)


- Java is the programming language.
- It is always FULL load from UD Connect.
- UD connect transfers data as a flat file. The multi-dimensional data is also converted to flat file using this.

MS SQL to BW using UDConnect

When data needs to be read from 3rd party systems ( mostly MS SQL server ), UD Connect is used to fetch the data.BW developer needs to be provided with information of the server from which data needs to be extracted.
Sample information as follows.

Connection string:
ODBC;DRIVER=<sql server> ; SERVER=<server name>;UID=<information>;APP=2007 Microsoft Office system;DATABASE=<database name>;UID=<user_id>;Pwd=<password>

Along with the connection string, ID and password for the server should also be provided. These details are used to login to the server.

In general, along with the connection string, the list of tables from which data needs to be provided is also given from which data has to be extracted.



Basis team, in general would validate and create the connection to the server system ( Application Server J2EE Connectivity).They would also give the name of the Source system created , which will be used in BW for creating the source connection in BW.

The connection should be created in the system being used ( Dev, Q, Sandbox, Prod etc)
The below screen shot is from DX1 system. This system is the connection system between Dev1 and SQL server from where the data is to be extracted.
The DX1 system has all the drivers installed in them for the connectivity. UD Connect mostly connected to Microsoft SQL server and based in the version of source SQL server, different ODBC java drivers are to be used.

The DX1 system needs to be restarted once the change is done.



BW Side changes
Creating Source System in BW
Once the connection is created by Basis,

RFC Destination : UDCONNET
Logical System Name : Name you want to assign in BW
Type of Connector : JDBC
Name of the Connector : Logical name given by Basis when creating the connection / source ( DX1)

Source System Name :  not sure, I give same as Logical system name and it works
Source System Type and Release : not sure and can be left blank.

Once the source is created, check and activate the system. Options can be found when right-clicking on the source.

Once the connection is created successfully, an entry is added in table RSLOGSYSUDC with the Logical system name and the UDC connection name.


Create Datasources under the source system
  • Individual datasources are created for each and every table on the server in the 3rd party system from which we wanted to extract data.(I think)
  • Along with the connection information, the names of the tables in the database from which data is to be extracted are also given.
  • The table name is given in datasource 'Extraction' tab - UDC Source Object.



Common Errors / Notes

Any time a new source system is added, entry must be added to table RSLOGSYSMAP, in the target system which provides the mapping of the source system to the target system where the transport is being moved.


Some Errors


  • UD Connect connection data is not correct RSAR 397 ( BI Java connector 'TEST_UD ' is entered for source system TEST_UD . This is not correct. Enter the correct BI Java connector in table RSLOGSYSUDC )
    • This might be because the udconnect was not created properly in the system. These connections should be created separately in all the systems ( dev, q, and prod ) where the data needs to be extracted. Ask basis to check the connection.
  • S:RSSDK:300 Field PLANT01 is not a member of /BIC/CAZTEST _DS000010000001
    • This happens when the datasource is defined initally with certain fields and new fields are added later.
    • Delete the PSA before changing the datasource.
    • I stopped using the datasource and created a new datasource with all the fields. There should be a better way to do this, but this is how I did. Should mention that I didnot delete the PSA before changing.
  • STRING/XTRING types used Not supported by currently selected access method UDCGEN; cannot use this method . Currently used adapter UDCGEN is invalid. Reason: STRING/XTRING types used.
    • Some of the fields might have RSTR type  and this is not supported throught UDCONNECT. The alternative is to ask the type of the field changed in the source.


Other Information
ODBC and JDBC
ODBC is an open interface which can be used by any application to communicate with any database system, while JDBC is an interface that can be used by Java applications to access databases. Therefore, unlike JDBC, ODBC is language independent. But by using JDBC-to-ODBC bridge Java applications can also talk to any ODBC compliant database.

No comments:

Post a Comment