Showing posts with label DataSource. Show all posts
Showing posts with label DataSource. Show all posts

Sunday, June 18, 2023

Consuming data from BW or BW/4 in BW based on ODP

In Classic BW systems the scenarios when BW serves a data to other BW systems involves creation of so called export DataSource (DS). That DS is created in source system and it has a naming convention 8*. In other BW system where the DS to be is consumed the export DS is replicated and means afterwards it is visible in the target system. From there on a data flow can be built on topo of that replicated DS.

In case of BW/4 system as target system the export DS are obsolete. There is no need to create the export data source anymore. While leveraging the ODP technology objects from source BW are available in the target DS. There is a large variety of supported objects like aDSO, Composite Providers, former BW Classic objects (infocubes, MultiProviders, Semantically partitioned objects, InfoSets, Query as InfoProviders) and finally InfoObjects as well. In case of the InfoObjects and its attributes, texts and hierarchy are supported within ODP-BW context.

Now how get the data from source BW target one? In the target BW just replicate the ODP-BW context node available BW. That activity is to be done in SAP HANA Studio. While doing it a list of available objects from source BW appears in popup window. From there you just choose the object(s) its data is needed to be loaded to target. Afterwards a newly created DS(s) will appear in the target BW. Their names are the same as the object in the sources just there is a postfix character describing the nature of data for the object:

*$F    - Transaction Data/Facts

*$P    - Master Data/Attributes

*$Q    - Time-Dependent Master Data/Attributes

*$T    - Texts

*$H    - Hierarchies

 

Just to add few more remarks on working with the ODP. Technically when the replication is triggered from target to source BW system there are following Function Modules that are called:

RODPS_REPL_ODP_GET_DETAIL

RODPS_REPL_MODEL_GET_LIST

RODPS_REPL_CONTEXT_GET_LIST

 

There is so called ODP extractor checker that can be used to test the extraction in source system. It is kind of a new RSA3 t-code that checked the extractors in case of classic S-API plug-in based extractor. In ODP based extraction it is an ABAP Program RODPS_REPL_TEST (ODP Replication Test) which serves the same purpose.

In addition, notice that ODP has gone some development are it is recommended to use the latest one, which is ODP Data Replication API 2.0. Version 2.0 is available as of:

SAP_BW 750 SP 0 (incl. former PI_BASIS packages)

DW4CORE 200 SP 0 (incl. former PI_BASIS packages)

 

More information:

Operational Data Provisioning (ODP)

Online docu - Transferring Data from SAP BW or SAP BW/4HANA Systems via ODP (InfoProviders, Export DataSources)

2483299 - BW4SL & BWbridgeSL - Export DataSources (SAP BW/4HANA or SAP Datasphere, BW bridge as Source)

Friday, December 17, 2021

t-code RSDS_PROPOSE - Find InfoObjects for DataSource

While BW developer is creating a new DataSource soon there a question what are an InfoObjects that are supposed to be used to map the DataSource’s fields. In most cases, there are the InfoObjects present in BW system and no new InfoObjects need to be created. However, how to find those IOs in relatively reasonable time manner?  

Since BW version 7.3 (for comprehensive list of 7.3 t-codes see here) there is a t-code called RSDS_PROPOSE – which does what is says = Finds InfoObjects for DataSource. What needs to be entered on its selection screen is a particular DS name and corresponding source system. Furthermore, there is a bunch of checkboxes available that represents criteria for proposed IOs. The proposal can be based on e.g. existing IOs assignments in TRFNs, field names in 3.x datasource mappings, 3.x Content datasource, template IOs as specified in DataSource, assigned IOs to DDIC data elements, suitable name and/or description, etc.

The logic behind the t-code is analyzing existing IOs based on selection screen’s parameters. Proposed IOs are presented with % probability of match. There are top three choices. Also all possible matches can be reviewed too – by hitting button “Display All Suggestions”.



Technically the t-code runs ABAP program RSD_MAPPING_FOR_DS_FIND and it is delivered in development package RSD_MAPPING (Mapping Service for InfoObjects).

The t-code discussed is a great help to BW developers as it saves a time while trying to search for existing IO to be leveraged in new BW flows being created.

 

More information:

New transaction codes in BW 73

BW 7.3





 



Friday, September 29, 2017

Pattern Selection for DTP with source as DataSource (PSA)

It is not very known fact. At least it was in my case. I was a bit surprised when I realized that my DTP created on top DataSource which was extracting data from it via PSA didn’t pull any data. My case was that I had a filter on DTP where pattern selection was used.

Precisely speaking I had a wildcard used for selection like *something*. Once I ran it no data came. I tried to put precise value instead of the wildcards and it worked. I turned to SAP Support portal and I found a SAP Notes explain this behavior.

Actually this feature is not available in some of BW system. Depending on version of the BW it is only available in higher SP packages. TO be able to use this feature BW needs to be upgraded to these specific versions of the SP – see below.


There is one setting available in DataSource that is influencing behavior of particular field within the DataSource. It is called “Selection Options” and is present on tab Fields of DS maintenance screen. It basically drives what selection options can be processed for the DataSource field. Its values are stored in table RSDSSEGFD-SELOPTS (table has an info on DataSource - Segment Fields). There can be following values for the field set:

0        Undefined Selection Options
1        Selection EQ Permitted
2        Selection BT Permitted
3        Selection EQ, BT Permitted
7        Selection EQ, BT, CP Permitted


More information:
- For BW 7.00 and 7.01 see Note: 2509844 –SP37: Pattern Selection not possible for DTP with source as DataSource (PSA)

- For BW 7.30 and 7.40 see Note: 2150323 - 730SP14: Pattern Selection not possible for DTP with source as DataSource (PSA)

Thursday, July 6, 2017

Hierarchy data export - job terminated in source system error

I encounter below issue while exporting hierarchy data from InfoObject to other systems. I had enabled my IO with settings “Characteristics is Export DS” available on Master Data/Texts tab of the IO maintenance screen. This means that characteristic is used as export data source. So its attributes, texts, and hierarchies of the IO can be extracted into other BW systems via Data Mart Interface.


Afterwards I created export DS via doing right click on the IO and choosing menu Additional Functions -> Create Export DataSource. Notice that the export DS for hierarchy are still working in 3.x version fashion. Also the version of such a DS is always only modified and the DS is self is Emulated. Same settings you can observe in t-code RSDS.



I replicated DS in my target system. Once I tried to load the data via InfoPackage there was a following error:

Job terminated in source system -> Request set to red.

There was an ABAP dump associated with the cancelled job. It was saying about termination in ABAP report SAPLRSSG, runtime error was type of SYNTAX_ERROR and error description was like follows:

The current ABAP program "SAPLRSSG" had to be terminated because it has come across a statement that unfortunately cannot be executed.
In include "GP00733D5CMRY7YE3D93SUE852V", in line 34 of program
 "GP00733D5CMRY7YE3D93SUE852", the following syntax errors have occurred:
Field "/BIC/C5DU8_IOname is unknown. It is neither in one of the specified tables nor defined by a "DATA" statement.

It was obvious that data element as described wasn’t present in the system and it even wasn’t supposed to be in there.


Actually issue was within method for loading of data. This information for particular DS is stored in table ROOSGEN - Generated Objects for OLTP Source. In my case it was set to T that means transactional RFC but once I corrected it into I (Idoc) my upload worked.



There are few forum posts about this issue in SDN like here and here but solution is not provided within the posts. I hope this blog will be useful for people who face same issue.

Tuesday, May 30, 2017

Possibilities of DataSource replication

Replication of DataSources is quite painful in BW systems. It usually takes time and there is high effort that needs to be put into it. Normally it is done in tcode RSA1 -> Modeling -> Source Systems -> right click on particular systems and choose Replicate DataSources. This brings up below dialog box where parameters for replication can be set up.



By starting this up it activates all DataSource available in respective source system. SAP delivered improvement to this functionality via below SAP Note that supports replication of specific DataSouce within a source system or an application component.
Despite there are some drawbacks like it replicates all DataSources in 7.x fashion it speeds up whole replication process.

In order to be used this enhancement you need to setup a parameter called REPL_DATASOURCE_UI_740 = X in table RSADMIN. Feature is available as of BW 7.3 SP11 and BW 7.4 SP05.

More information:
1885443 - Replication of Datasources
Export DataSource creation and replication

Thursday, May 25, 2017

Hierarchy activation syntax error

Recently I faced an error with regards to activate hierarchy related datasource. While trying to do that there was an error:


Syntax error in GP_ERR_RSAPTH3, row 30 (-> long text)



Issue is within data inconsistency for specific hierarchy in table ROOHIECAT. Luckily there are SAP Notes that can solve this issue. After implementing ABAP report ZROOHIECAT_REPAIR and running it for particular hierarchy issue is solved.

To get the ABAP report look for following SAP Notes:

484370 - Syntax error during activation of BW730 HIER data sources
2113639 - Activation of Hierarchy DataSource - GP_ERR_RSAPTH3

Friday, January 31, 2014

Dealing with 3.x specific DataSources in BW 7.x

3.x DataSources (R3TR ISFS) became obsolete with introduction of BW 7.0 (R3TR RSDS). New versions of BW are still supporting it. By support it is meant that BW 7.x run such a DSs emulated 3.x DataSources. However for some reasons you may need to migrate the 3.x DS to 7.x fashion. This is possible in TA RSDS->menu DataSource-> Migrate 3.x DataSource -> DataSource.








Also if you for some reason need to the change the originally 3.x DS which was migrated to 7.x back to 3.x state. This is supported by TA RSDS as well. See in menu DataSource-> Restore 3.x DataSource.
One thing that you need to be aware is that it is not possible to change/edit a 3.x DataSource directly in TA RSDS only to display it. To change the DS is only possible once transfer rule is generated fot the DS. This can be either done manually in TA RSA1 or generated in TA DSDS. In RSDS what you need to do is just to witch to Edit mode of the DS. You will be prompted to confirm the generation of transfer rule. System generates transfer structure, Persistent Staging Area and all needed corresponding DDIC objects.

For details see SAP Note:
997739 - You cannot edit a 3.x DataSource directly
936644 - 3.x DataSource:No active version displayed in UI (emulation)

Other DS related blog posts:

Wednesday, May 8, 2013

Operational Data Provisioning (ODP)

You may encounter this topic while speaking of datasource which are or are not released for ODP. The release it self means either they are enabled to be used by tools like SAP Data Services (former SAP BusinessObjects Data Services (BODS)) (DS). ODP Data Replication API is used for internal connection of Data Services to application extractors. Interface is delivered with a NetWeaver Support Package. SP is specific for each of ECC’s component PI_BASIS.

Great benefit of ODP is that so far only BW could use business content datasources. While utilizing ODP all Business Suite extractor can be consumed without BW. Also there is no need for ABAP flows where data provided by extractor is processed while staging. This clearly indicates that one of data consumer is SAP HANA.

How to recognize if particular DS is released for ODP? Check table ROOSATTR. If the datasource (extractor) is marked as released in ROOSATTR (field EXPOSE_EXTERNAL = X), then ODP API will be used for extraction and multiple subscriptions should be possible.  If it is not marked as released in ROOSATTR, then you are not using ODP to do extractions and multiple subscriptions are not possible.

If you have developed your custom extractors and you would like to released them in this way you need to use ABAP report RODPS_OS_EXPOSE for that.

P.S: be careful while you upgrading your ECC via SP or EHP. It may happen that upgrade will release some of business content datasources as ODP. As consequence some of them may stop working. Therefore always check SMP for the latest fixes of such a issues.

More info on ODP topic:
1558737 - Data Sources released for ODP data replication API
1585204 - ETL interface: Release of DataSources

For other option DXC (Direct Extractor Connectioncomplement to ODP see here

Monday, August 13, 2012

What is TA to maintain fields of Datasource?


This is quick tip on DataSource topic. From time to time we need to adjust settings of fields in datasource. Very common case (just to name one) is necessity to change some fields to be available for selection or set it as “Only Known in Exit”. 

In order to do so we go usually to TA RSO2 and we switch to Edit mode of datasource. However in this TA even we are in edit mode it is not possible to maintain above mentioned settings. Therefore there is another TA where we can do so. It is TA RSA6: