During the transition to SAP BW/4HANA SAP, source systems have to be connected as ODP (Operational Data Provisioning) source systems ("SAP Note 2232584 - Release of SAP extractors for operational data provisioning (ODP)).
The Transfer Toolbox supports the switch from SAPI-DataSources to ODP-DataSources. In case of an In-Place Conversion the SAPI DataSource is replaced with an ODP DataSource connection. The required ODP source system will automatically be created during the first conversion tasklist run in which source system dependent objects are converted; it can also be created before and can be used during the conversion tasklist run.
After the conversion data is loaded using the ODP-source system connection.
You need to pay special attention to the following fact during this process:
First of all, the ODP source system is an additional source system with its own connection parameters and own logical system name, although the source system is connected to the same physical system and is supposed to deliver the same data.
A logical system name, e.g. P01CLNT100, is unique in SAP BW and can be used only for one source system connection. For the ODP source system connection a new name must be used, e.g. P01ODP100. After the conversion data is loaded from P01ODP100 instead of P01CLNT100
Special InfoObjects 0SOURSYSTEM and 0LOGSYS
These InfoObjects are often used to identify and separate the source of the data entering the data warehouse. The InfoObjects contain routines to derive the values during Transformation.
The derived values are written into the data targets (InfoObject, InfoCube, DataStore object).
0SOURSYSTEM – Source system ID
The 'source system ID' (characteristic 0SOURSYSTEM) is a 2-character abbreviation for an individual source system or a group of source systems in BW. If you use characteristic 'source system ID', you must assign an ID to each source system.
During data load, an InfoObject routine transforms the source system from which the data is loaded to the corresponding source system ID, which then is written into the data targets. You maintain this mapping between source system and ID in transaction RSA1: Data Warehousing Workbench / Tools / Asgnmt of Srce Syst. To Srce Syst. ID.
It is strongly recommended to use the same ID for both the SAPI source system and the related ODP source system.
The reason for this is, that if you load data records from the ODP DataSource, which have the same key as records that have been loaded once before (i.e. updates) and the source system ID is part of the key of the data target, then these keys must be identical, otherwise the data records cannot be aggregated but the records would be duplicated in the target, once having the old ID and once having the new ID.
The ID should be maintained as soon as the ODP source system has been created. The ID can be maintained as long as no data for the specific source system has been loaded.
To avoid a wrong determination of 0SOURSYSTEM the following procedure has been implemented in the Transfer Toolbox:
It will be checked whether an ID had been maintained for the existing source system. If this is the case, the ID for the new ODP source system has to be the same as for the existing SAPI source system. If no ID had been assigned, a the ODP source system is automatically assigned to the ID of the corresponding SAPI source system during the first transfer of a DataSource for the specific source system.
0LOGSYS – Source System
InfoObject 0LOGSYS is a 10-character InfoObject, which also has an InfoObject routine. The routine determines the value for 0LOGSYS from the source (logical) system from which the data is loaded. This value is unique per source system, and there is no mapping like for 0SOURSYSTEM which would allow two different source systems to end up in the same value of InfoObject 0LOGSYS (because of which the use of this InfoObject is in general very much discouraged).
After the transfer, if data is loaded from the new ODP source system, another value is determined for column 0LOGSYS than for the historical data, that had been loaded before the transfer from the SAPI source system. If 0LOGSYS is part of the key of a DataStore object data will be not be aggregated in the data target, i.e. any update to a historical data record will be created as a new record and not be merged with the existing one, therefore leading to duplicate records, once with the old value for 0LOGSYS and once with the new value for 0LOGSYS
To avoid a wrong determination of 0LOGSYS the following procedure has been implemented in the Transfer Toolbox:
For 0LOGSYS a check is implemented whether any (advanced) DataStore objects contain the InfoObject 0LOGSYS. If 0LOGSYS is used, the transfer toolbox throws an error during the scope collection phase, if the program RSO_0LOGSYS_DYNAMIC, which is documented in "SAP Note 1894679, had not been executed with the option “0LOGSYS shall use dynamic map”. This program will replace the InfoObject routine of 0LOGSYS and introduce a mapping table RSOLOGSYSMAP like for 0SOURSYSTEM, which allows to update the name of the old SAPI source system into the data targets also for data records that are loaded from the new ODP source system. Once this workaround is enabled by the report, a check and automatic update of the new mapping table is implemented like for 0SOURSYSTEM.
After the transfer of all DataSources for all source systems, you can optionally revert the changes of program RSO_0LOGSYS_DYNAMIC like follows:
a) Make sure to stop any data load into any data target that contains InfoObject 0LOGSYS
b) Run report RSO_0LOGSYS_DYNAMIC again and choose the option “0LOGSYS shall reference LOGSYS” to revert the setting
c) Run transaction BDLS ("SAP Note 1406273 - Consulting: BDLS in BW) in order to convert all data in the infoproviders which contain the name of the old SAPI source systems to the corresponding new ODP source Systems.
ATTENTION: If in table RSOLOGSYSMAP two entries are available for the same SAPI source system (necessary in case one SAPI source system should be transfered to BW-ODP and SAP-ODP) BDLS execution cannot be used for the whole system. Check the aDSOs which includes the infoobject 0LOGSYS and convert those tables accordingly. This is only possible in case data are uploaded either from BW-ODP or SAP-ODP into the appropriate aDSO. If the data flow is designed in such a way that BW-ODP and SAP-ODP (same source system but different context) are uploaded into the same target, it is recommended to upload the data again, as BDLS cannot be used in order to convert 0LOGSYS to the correct source system.
example: entry in RSOLOGSYSMAP
DEV_ODPSAPI → datasource 1 → upload data into aDSO TEST
DEV_ODPBW → datasource 2 → upload data into aDSO TEST
Both are uploading into the same infoprovider, therefore 0LOGSYS cannot be converted into a consistent state.
d) Re-enable data loading
Executing a Remote Conversion means transferring metadata and data between an original system and SAP BW/4HANA. The source systems must be created in the SAP BW/4HANA system before the transfer and also the logical systems and source system IDs must be maintained before the transfer takes place.
0SOURSYSTEM – Source system ID
It is recommended to use the same source system ID in the receiver system for the new ODP source system than in the sender system for the old SAPI source system. This way new data will automatically match the historic data.
0LOGSYS – Source System
If the data to be transferred also contains historical data for this needs to be considered during the conversion process. In fact, this would mean changing transactional data and the mapping of the source system dependent InfoObjects (e.g. 0LOGSYS) has to be maintained during the setup of the Conversion Cockpit.