Download as pdf or txt
Download as pdf or txt
You are on page 1of 18

S18 - BW Modeling - Open ODS View & CompositeProvider

OpenODS Views 1. OpenODS View based on virtual table 3rd Oct: 8:30 AM - 10:30 AM
CompositeProvider 1. Purpose 3rd Oct: 8:30 AM - 10:30 AM
2. Usage
3. UNION & JOIN
4. 2.0 Enhancements
5. Navigation Attribute

Batch_2 Page 1
Nav Attributes in B4H

How to activate Nav attributes for ADSO Not possible at ADSO level in B4H.
Rationale:
ADSO is mainly positioned for persistency not for reporting
related features. That part has been now delegated to
CompositeProvider.

In CompositeProvder there are 2 places where Nav attributes can


be activated:
▪ Composite Provider - Output
▪ Composite Provider - Scenario
How to access Nav attribute for transformation ADSO property

If you have navigational attributes for a particular info


object ;when you add the info object to ADSO, there is a check
box ' use navigational attributes in extraction ' .Please check this
then the attributes will be available for extraction in
transformation.
This feature is available in 750 and not in 740.

System Demo

Batch_2 Page 2
Customer Requirement

Req Create a CompProv which includes the following InfoProvs:


1. Actuals Sales Item ADSO - ZD_SDITM4.
2. History data for Sales item OpenODS View - ZS_ODITM4.
3. Forecast data for Sales OpenODS View (SDA) - ZS_ODITM5.
4. Calculation View (Material Dimension with Input parameters).
1 • Load historical data in B4H HANA DB via flat file upload.
• Access that via OpenODS view first and do some data profiling.
• Add 'Material Category' from 0Material attributes.
• Once satisfied with the quality of data, persist the data in ADSO.
• Activate generic delta based on the HANA table.

2 • When combining historical data with current actuals data in CompProv, aggregate it upto the level without Sales
Order and Item details.
• When combining historical data with current actuals data in CompProv, remove any records which doesn't have
Distribution Channel as 'ZZ'.
• Create a calculated column for 'Update Date' since that's not in the historical data.
• Historical data doesn't contain Material Type and Material Group. Get that from the HANA CV for material via
JOIN.

3 • Load forecast data for 2021 in S4H HANA DB via flat file upload.
• Access that virtually ONLY via OpenODS View in B4H.
• When combining forecast data with current actuals data in CompProv, remove any records which doesn't have
Distribution Channel as 'ZZ'.
• Forecast data doesn't have Fiscal Year, only Fiscal Period. In CompProv, create Fiscal Year from Fiscal period.
• Create a calculated column for 'Update Date' since that's not in the forecast data.
Notes Both the files are available in the Material folder in the sub-folder named 'Scenario - Report & Datasource fields'

Batch_2 Page 3
Composite Provider in B4H

Purpose

Restrictions

Supported Providers for


UNION

Supported Providers for

Batch_2 Page 4
Supported Providers for
UNION + JOIN

Join types for Join


assignment

Using HANA 2.0 CVs in


CompositeProviders

More info on AMHC:


https://help.sap.com/viewer/6811c09434084fd1bc4f40e66913ce11/1709%20002/en-US/ec1eb6b328bc4219ad907f4440d7efa9.html
https://help.sap.com/viewer/6811c09434084fd1bc4f40e66913ce11/7.52.2/en-US/ba8779be1c574e368112fbb2cc4c35d6.html
Name of CompProv
fields

Authorizations for
CompProvs

Transporting CompProv

Batch_2 Page 5
Transporting CompProv

CompProv - Referential
Integrity

Batch_2 Page 6
CompProv - Handling of
NULL values

Batch_2 Page 7
Batch_2 Page 8
Input Parameters in
CompProv

Batch_2 Page 9
Batch_2 Page 10
Batch_2 Page 11
Batch_2 Page 12
Composite Provider enhancements in B4H 2.0 SP4

Aggregation & Previously, there was no standard functionality for aggregating key figure values in the target
Projections structure of a CompositeProvider. This behavior is similar to the functionality already provided in
HANA Calculation Views. Mostly it is necessary when joining data of multiple transactional
Providers on different aggregation states. This type of Aggregation is performed at database
level. Projection on the other hand, is mainly there for defining SQL Filters on specific
PartProviders such as ADSOs.

Calculated Fields and Calculated Fields is another HANA DB functionality integrated in the CompositeProvider. It offers
Fields a list of SQL Expressions. Simple Fields can also be added as well. Both can be defined either as a
Characteristic or as a key figure. As a characteristic the option “Forced Group” can also be
enabled.
Please note that in case of Temporal Joins the SQL filters, SQL expressions, Force Group By and
aggregation change are not allowed.

HANA SQL Filter The SQL Filter is a powerful tool that allows filtering out specific data from the whole
CompositeProvider or its PartProviders. It allows creation of additional filters on different node
levels of a CompositeProvider. Directly on the Top Node or on its different parts, such as on
specific Unions, Joins, Projections and Aggregations underneath. However, such filters cannot be
directly defined on a PartProvider. Therefore, an Aggregation or a Projection node has to be
added on top of it, in order to enable this functionality. In an SQL Filter, both Calculated Fields as
well as normal fields can be used to build an expression. HANA SQL Script language is used for
these purposes. A list of available expressions are shown when selected. There is already an
extensive HANA SQL Script reference available here for consumption.

Batch_2 Page 13
Duplicate Fields After migrating from MultiProvider to CompositeProvider the cross-mapping functionality was
not supported any more. As a workaround, Duplicate Fields can be created now. In this case a
template is taken from the original Object with a custom naming possibility. The “Force Group
By” functionality can now be enabled for all Fields and Characteristics. A symbol appears marking
this functionality.

Batch_2 Page 14
Pgm to recreate Infoprovider Column views

Pgm RSDDB_LOGINDEX_CREATE

Provide the name of the Infoprovider for which failure took place. In our case the OpenODS View - ZS_ODITM5

You'll receive a successful mssg:

Try reactivating the failed Infoprovider.

Column Views • Column Views (Calculation Scenarios): used by BW queries to read from infoproviders
• DB SQL Views: classic view as we know it from other data bases
• These views are objects of the Hana data base and can be found in the Hana Studio under the folder 'Catalog' and
the corresponding schema.
• BW Objects (like the column views of infoproviders) are always stored in the schema SAP'SIDofSystem'/SAPABAPn.
• External Hana Views are stored in the schema _SYS_BIC.

Batch_2 Page 15
Streaming Process chains

Streaming Process chain An attribute of the chain

Delta extraction can also run as real-time replication in streaming mode if the data transfer process is
contained in a process chain in streaming mode. The chain will then start when it is notified by the delta queue
(ODQ)

you can put a process chain in “streaming mode” if at least one of its processes can serve as a “start condition” for the who le process chain.

A DTP which extracts data changes (delta) directly from a table or view in a local SAP HANA schema can serve as such a “start condition” if the following requirements are fulfilled for the generic delta field:
1. There is no implicit or explicit conversion exit configured.
2. There is no lower security interval configured.
3. The combination of the source column's HANA data type, the mapped ABAP data type, and the chosen delta type is listed in thefollowing table.

HANA Data Type ABAP Data Type Delta Type


DECIMAL(L,S) with L-S>6 DEC(X,Y) with X=L and Y=S Numeric Pointer
BIGINT DEC(X,Y) with X>6 and Y=0 Numeric Pointer
INTEGER DEC(X,Y) with X>6 and Y=0 Numeric Pointer
DECIMAL(L,S) with L>6 and S=0 INT4 Numeric Pointer
INTEGER INT4 Numeric Pointer
BIGINT INT8 Numeric Pointer
DECIMAL(L,S) with L>6 and S=0 INT8 Numeric Pointer
INTEGER INT8 Numeric Pointer
ALPHANUM(L) with L>6 NUMC(X) with X=L Numeric Pointer
DECIMAL(L,S) with L>6 and S=0 NUMC(X) with X=L Numeric Pointer
NVARCHAR(L) with L>6 NUMC(X) with X=L Numeric Pointer
VARCHAR(L) with L>6 NUMC(X) with X=L Numeric Pointer
BIGINT NUMC(X) with X>6 Numeric Pointer
INTEGER NUMC(X) with X>6 Numeric Pointer
SECONDDATE DEC(15,0) Numeric Pointer (Timestamp)
TIMESTAMP DEC(21,7) Numeric Pointer (Timestamp)
TIMESTAMP NUMC(21) Numeric Pointer (Timestamp)
SECONDDATE NUMC(14) Numeric Pointer (Timestamp)
DECIMAL(21,7) DEC(21,7) Timestamp Long (UTC)
TIMESTAMP DEC(21,7) Timestamp Long (UTC)
DECIMAL(15,0) DEC(15,0) Timestamp Short (Time Zone)
SECONDDATE DEC(15,0) Timestamp Short (Time Zone)
TIMESTAMP DEC(21,7) Timestamp Short (Time Zone)
ALPHANUM(14) NUMC(14) Timestamp Short (Time Zone)
BIGINT NUMC(14) Timestamp Short (Time Zone)
DECIMAL(15,0) NUMC(14) Timestamp Short (Time Zone)
NVARCHAR(L) with L>13 NUMC(14) Timestamp Short (Time Zone)
VARCHAR(L) with L>13 NUMC(14) Timestamp Short (Time Zone)

The setting 'Streaming cannot be triggered' just means your process chain 'pulls' data from S/4HANA (in one minute intervals) , instead of the process chain being started (triggered) from S/4HANA (push).

2 methods of data transfer

Real-time = Streaming Supported

Processes allowed for


streaming

ADSO, which is source for


another target for init or
full, activation process

What is another process


starts when 1st one didn't
yet complete?

Batch_2 Page 16
Run Modes

Monitoring

Table to check if streaming BW:


is activated RSPCSTREAMCHECK
Provide DTP name
Start Condition: D => Pull | E => Push

S4:
ODQDAEMON

ODQMON Request Status

B4H Cockpit - Status 1. In case of HANA Local Source based datasource: Polling

Batch_2 Page 17
2. In case of ODP Source (CDS View, for example) based datasource: Listening

Batch_2 Page 18

You might also like