Showing posts with label source system. Show all posts
Showing posts with label source system. Show all posts

Thursday, September 12, 2019

Dummy Source System in BW

Concept of dummy for an SAP BW system is sometimes required in case of large BW installations. The case is that there is not only connected one actual source system but there are connected several source systems that are not all completely homogeneous.

In case there are several target system for one source system it is possible to leverage option “7.0” in screen of “Conversion of source system names after the transport (view V_RSLOGSYSMAP)”. That option is only valid for BW 7.x objects like RSDS, TRFN and DTPA etc. It means that 7.x objects are imported several times (to several targets) even though they were exported only once. However in case target are not the same (not homogeneous) it may become tricky because those system may have different settings applied like different filters on DTPs, different schedules etc.

These kind of issues are addressed by introducing a source system type of dummy source system. This type of source system can only be created in development systems. It is not real source system just an alias to real one. Metadata of all depended objects are referenced this alias. During the transport remote function calls which for example are doing replication of DataSources or actually activate and run the metadata objects are re-directed to the real source system.

More information:

Friday, July 5, 2019

Tips on troubleshooting UD Connect type based source systems connection to SAP BW

There can be multiple issues popping up while connecting SAP BW to UD Connect based source systems like MSSQL. Within this blog post, I list few of them I recently faced.

1. Message No. RSSDK300:
S:RSSDK:300 Cannot convert a value of 'Local' from type java.l ang.String to INT at field CURRENCYTYPE
or
S:RSSDK:300 Cannot convert a value of 'LOCAL' from type java.lang.String to FLOAT at field CURRENCY
Normally error no RSSDK300 can be solved by reactivating corresponding DataSource, then following errors may pop up:
S:RSSDK:300 Field ENTITY is not a member of /BIC/CAZRXD_V_0001 70000001
Message No. RSSDK300
or
S:RSSDK:300 Column: Entity not found    Message No. RSSDK300
To solve this look for SAP Note: 1009063 - UDConnect displays erratic behaviour in loading data and blog. Or as per Note 1040572 – “UDC: Error "Column XXX not found" happens randomly”, use use parameters "fixedSchema" and "fixedCatalog" because the MSSQL system may be using different DB schemas and you may use the table/view that has same name in different schemas.

2 Message No. RSM340
Errors in source system       Message No. RSM340

3 Message No. RSDS_ACCESS036
Error while extracting field list of UD Connect object: UDC ADAPT ERROR::RSSDK|100|while trying to invoke th

4 Message No. RSSDK100
UDC adapter problem: connection area     Message No. RSSDK100

Things that may help to solve above mentioned errors:

JDBC test page
There is JDBC test page available on NetWeaver JAVA stack with following URL:
http://server:port/TestJDBC_Web/TestJDBCPage.jsp
Here one can test connection to particular UD Connect based system. Moreover you can even extract the columns of table or view extraction is retrieving data from. This extremely needed check. It can reveal many issues. For example, in case BW’s datasource is expecting column called ABC but in source system there is completely different column name available like XYZ.

Meta data cache
As UD Connect, based systems are using JAVA NetWeaver server in middle there can be an issues at JAVA server. Mostly these are related to meta data cache. Because metadata description may already be present metadata cache of JAVA server. After the changes done insource system (column name change, column data type/length change, etc.) these changes must be replicated to the JAVA server. As those changes will not automatically be removed from the metadata cache on the JAVA. Normally these can be easily solved by restarting JAVA server when the cache is cleared. However, in production environments it may not be easy to get a time slot to perform the restart. Luckily as of NW version 7.2 the clear cache can be done w/o restart. Procedure is described in SAP Note 1479970 - Changes in RFC modules are not reflected in Java Server. In NetWeaver Admin tool choose tab "Availability and Performance" then select "Resource Monitoring" then "JCo Monitoring", there choose tab "Meta Data Cache". It is also possible to made the cache clear programmatically.

Investigate JAVA logs
Look for following logs to dig out more details about the error:
·        \usr\sap\\\j2ee\cluster\server?\BI_SDK_Trace.log. (there's one log per server node)
·        \usr\sap\\\j2ee\cluster\server?\log\defaultTrace.?.trc (send us the latest default?.trc file from all the server nodes)
·        \usr\sap\\\j2ee\cluster\server0\log\applications\BI\UDI.?.log

Debug on ABAP Stack
Set a breakpoint in FM RSSDK_DATA_UPLOAD_ALL on the line where function RSSDK_DATA_UPLOAD_ALL is called. Also see t-code RSSDK - DB Connect and ABAP program RSSDK_START.

More information:
1722695 - JRA: Object not found in lookup of CallbackConnectionFactory
2000681 - JRA: NullPointerException in CallbackConnectionFactory
1004194 - UDC: How to create log files for problem analysis
512739 - BW external DB Connect for MS SQLServer
1396552 - Remote connection delivers wrong character data

Thursday, December 31, 2015

SAP BW 74: few new features

The SAP BW 74 is available for some time already and I already posted few blogs about it. In this post I introduce two more functions introduced in this release.

1) New with SAP BW 7.4 SP8: XXL - Attributes
It provides a possibility to load and store different files types (so called Multipurpose Internet Mail Extensions (MIME) Types) or long string (data type STRING or XSTRING) as XXL attribute into BW. The MIME file format can be e.g. PDF, XML, office files, image, video or audio files. The XXL attributes are basically characteristics values lower or equal to 255 and long texts up to 1333 characters.
While specifying an InfoObject to store such a XXL attribute it must be set a new flag called “Supports XXL Attributes” which is available on Master Data/Texts tab of the IO maintenance screen. Afterwards on tab called “XXL Attributes” it is possible to specify which XXL attributes the IO should have.
See more information in online documentation.


2) History function – Within RSA1 t-code under Modeling section, there is a new view. It displays history of actions performed on BW objects. All actions with relation to workbench navigation on objects (e.g. display, change, manage etc.) are displayed there. Notice that all actions are grabbed as per same session of user. Actions which are captured there can be re-performed. It is useful function which helps within the navigation across the different objects in RSA1.


3) Source/target extraction possibilities on DTP – there are few new object types introduced from which a DTP can extract the data. These are Advanced DSO (aDSO), and InfoObject: XXL Attributes.

Similarly with regards of target object type of the DTP there are again these two new into which the DTP can store the data to.


4) New source system types – bellow are new types of source system introduced. These are mostly related to Operational Data Provisioning (ODP) source systems. See online documentation here.
ODP - BW
ODP - SAP (Extractors)
ODP - SAP HANA Information Views
ODP - SLT Queue
ODP - SAP Business ByDesign
ODP - Other Contexts


More posts about SAP BW 74:

BW Modeling Tools (for SAP HANA BW)

Changes to query properties in BW 73 vs 74

BW 74: Monitoring of process chain for mobile devices

BW 74: Master data maintenance: web based environment

"Field-based" modeling in BW

Saturday, August 8, 2015

Failed transport contains objects related to new source system

Recently I faced one strange transport issue. I developed a new data flow related to newly created source system. That source system had complete setup from basis point of view in target BW system as well. It correctly appeared under Source Systems area in Modeling of TA RSA1.  Even Check connection functionality (available at right click on source system name) worked for the new source system in the target system. However my transport with had the flow using the source system (so called “source system dependent objects”) failed with following errors:

Transformation 0G2M3XTZUMRNTOQTV4EH6PK6VGDNVHLD inactive; action cannot be executed      Message No. RSBK260
Saving Objects with Type Data Transfer Process
Saving Data Transfer Process DTP_00O2SPBAQDZQZ6KPQH9N4U2NT
Transformation 0G2M3XTZUMRNTOQTV4EH6PK6VGDNVHLD inactive; action cannot be executed
Error while saving Data Transfer Process DTP_00O2SPBAQDZQZ6KPQH9N4U2NT
End of after import methode RS_DTPA_AFTER_IMPORT (Activation mode) - runtime: 00:00:00

As per error I checked TRFN and DTP but they both were fine. I also reactivated the TRFN via report RSDG_TRFN_ACTIVATE but error was still there. I even checked corresponding entries in table RSTRAN and active version was there.

Then I finally got an idea to check table RSLOGSYSMAP. This table contains mapping entries of logical systems. It is used while import phase of transport takes in place. If there is a BW object related to source sys (e.g. datasource) in the transport the table is used to map source system in source BW system to target source system in target BW system. If the source mapping is not maintained then the transport fails as in my case. The problem is that from the error which is shown in the transport log it is not possible to find out this root cause. Notice that the table RSLOGSYSMAP must have the entries for the system conversion in target BW system(s) of the transport.


-      Update 2019/06/14 –
Just want to add precise error message related to this as it appears in transport log:

No mapping in RSLOGSYSMAP for source system XXX
Message No. RSDS401

See official SAP docs here.

Tuesday, August 4, 2015

Converting Oracle DB format of date to SAP date format

There are many data flows picking up the data from "external database" based source systems in BW. One of most used DB system is Oracle. To connect BW system to Oracle DB a technology called DB Connect is very often used. As Oracle and SAP are different systems designed by two different companies there are many differences in there while comparing each other. The differences are there as well as from date and time related fields representation.

Therefore there are challenges while integrating data from Oracle DBs into SAP BW. Especially when converting date and time fields in Oracle and into format compatible with SAP BW. Let's take an Oracle date format for example. It has a format as DD-MMM-YY means it has 7 characters (e.g. today's date is represented by: 03-AUG-15). Whereas SAP format is 8 characters long in format YYYYMMDD (see Data Element SYDATUM; Domain SYDATS or Data Type DATS). If we just simply assign Oracle date field to SAP one it won't get proper data because the fields are not compatible.

Now; how to solve this? On SCN there are many discussions (e.g. here or here) on this. Most of it suggest parsing value as they come from Oracle and concatenate it at the end to field in SAP format of date. However this is not proper approach. The way how Oracle produce the format of the data field depends on national language settings (NLS) used with the database connection. Therefore the date field can come in many different flavors as per many configuration settings. What actually needs to be done is to force Oracle to produce the date field in desired format. This can be achieved by adding function TO_CHAR into e.g. SELECT statement while we extracting the data. E.g. a separate view can be created in Oracle to add TO_CHAR function. Such a SELECT statement would look like:

select  to_char(,'YYYYMMDD') as dat from where ;


For more information see:

518241 - DB Connect in BW for an external Oracle database

Thursday, May 7, 2015

What systems are connected to my BW?

Recently for purposes of one SAP BW upgrade project I needed to find out what systems are connected into particular BW. Easy way is to run t-code RSA1 and loot at Modeling -> Source systems. Of source I needed to have more technical information about the sources. Also I wanted to have a central source of this information so I dig into the system to find out what table stores this information. It is RSBASIDOC – Assignment of source systems to BIW systems incl. IDoc type. The table as all about source system connections, status of particular connection, what kind of IDOC Basic type is used for the connection, prefix used for particular source system, etc.

Let’s have a closer look at all its fields:

SLOGSYS      log.name of system connected to the particular BW system

RLOGSYS      log. name of receiver; identifies BW system into which SLOGSYS is connected to

OBJSTAT      Object Status; wheatear connection is active (ACT) or inactive (INA)

BIDOCTYP    IDoc Basic type used for the connection

TSIDOC3X    Transfer structure 3.x number state for a source system; not used in BW 7.x

TSPREFIX     Transfer structure prefix for a source system; 2 chars used in field BIDOCTYP; it identifies the source system connection for source system dependent objects

SRCTYPE      Type of the source system: 3 = SAP R/3 from version 3.0D onwards; B= External system, data staging done by BAPI; M = used for connection of BW itself (myBW); D = SAP BW system; F = External system based on File; G = DB Connect type of source system; S = UD Connect type of source system; I = Web Service type of source system

SAPREL        Release of SAP System (version of SAP Basis component)

TSTPNM       User who changed it last

TIMESTMP    Time Stamp of the last change (in format YYYYMMDDhhmmss)

SBWBCRL     Release of SAP Sending System

RBWBCRL     Release of SAP Receiver System


So to answer my question from the title of this blog spot: go to the RSBASIDOC table and look at values of SLOGSYS field.