SAP BOBJ Developer Training

SAP BOBJ: Table Selection

SAP BOBJ makes selecting tables simple; however, project teams typically need to provide details via Excel sheets or documentation to do it effectively.

They specify the data sources from which tables should be pulled, along with the table names and join configurations (including keys such as article IDs).

Fact and Dimension Tables in SAP BOBJ

Every schema within SAP BOBJ contains both fact and dimension tables. Fact tables store key metrics related to sales, revenue, quantity, and margin that drive business decisions, while dimension tables hold descriptive information, such as product names, countries, or states.

SAP BOBJ: Table Joins

SAP BOBJ is used for joining tables using primary keys; in Outlet Lookup, the unique Shop ID matches the same field in Shop Facts. Once joined, cardinality detection ensures the relationship between Outlet Lookup and Shop Facts remains one-to-many.

Complex Joins in SAP BOBJ

SAP BOBJ joins can become complex quickly – for example, the one between Article Colour Lookup and Shop Facts, where two fields (article ID and colour code) are joined simultaneously using Control+click selection of both columns to validate dual conditions simultaneously.

SAP BOBJ: Avoid Loops

One challenge of SAP BOBJ was resolving loops among fact tables. Loops often form when connecting different tables, such as product promotions, calendar events, and shop facts, together, forming complex connections that become intertwined and can become imprisoned within each other.

To address this problem, an alias table was introduced into the join to break it apart and prevent loop formation. SAP BOBJ automatically assigned it a name; once in place, the join definition was updated accordingly based on the new table name, rather than using its original one as part of the join criteria.

Solving such loops ensures the SAP BOBJ data foundation remains clean and optimised.

Cardinality refers to the number of rows from one table that match with rows from another. Common examples of joins in SAP BOBJ include 1:1, 1:2, and N: N joins. However, it’s worth mentioning that SAP BOBJ can automatically detect the appropriate cardinality and adjust accordingly.

SAP Training

SAP BOBJ Join Validation

SAP BOBJ made validating article lookup with article lookup criteria, using the article ID as the key, extremely straightforward, and then validated its logic by suggesting one-to-many or many-to-one cardinality approaches as needed.

Fix Joins in SAP BOBJ

Once loops have been identified in SAP BOBJ, either an alias table or a context is created.

A context defines valid query paths, while duplicating one of the involved tables helps break cyclic join paths – for instance, customers use an alias table for this purpose.

SAP BOBJ: Calendar Joins

Working with SAP BOBJ can often involve dealing with product promotion facts and store facts, which must be combined using calendar tables containing year/month dimensions to facilitate the join.

A business architect defines these joins, so no assumptions are needed; apply them accurately.

SAP BOBJ enables quick validation of these joins by simply clicking. If there are any discrepancies with cardinality counts or cardinality is missing from one table or another, SAP BOBJ flags this as a question mark to facilitate the proper completion of the integrity check.

SAP BOBJ uses tables such as promotion lookup and criteria article to create structured joins and relationships; accuracy in these calculations is of utmost importance when building data foundation layers.

SAP BOBJ: Connect Fact Tables

Today, I began working in SAP BOBJ by connecting my Product Promotion Fact table using the Article ID.

Following an identical process – selecting keys, validating formulae and checking cardinality thresholds – SAP BOBJ has allowed me to identify relationships between promotion data and products more clearly than before.

SAP BOBJ: Joins and Foundation

I frequently build data foundations manually by inserting joins. While SAP BOBJ offers automatic features such as detecting joins, cardinality, and row count, I prefer selecting my joins myself whenever possible and using SAP BOBJ’s detect feature to validate them if any doubt arises in choosing them correctly.

Working in SAP BOBJ’s data foundation begins by inserting tables. Once I create my foundation, after clicking the Insert icon and choosing to insert either tables, joins, derived tables, or commits, I press Enter.

Since my database connection already exists, SAP BOBJ displays all available tables, allowing me to select the ones I require before completing my setup process.

SAP BOBJ is one of my go-to tools when I need to apply logic between two tables with standard columns.

 

When this occurs, a derived table created using a custom formula is helpful, as it behaves normally within my data foundation, making table customisation seamless and hassle-free. I count on SAP BOBJ for making table integration effortless!

Data Foundation in SAP BOBJ

In SAP BOBJ, I begin by connecting to the Identity screen and selecting “New Data Foundation”.

From here, I choose a single-source setup with ‘Demo’ as my source database name. After connecting the MS Access database tables, the insertions are visible.

SAP BOBJ offers features to add base tables, derived tables, aliases and joins — everything necessary for building databases effectively.

After selecting what I require from each table, such as Article Lookup, Colour Lookup, Calendar Year Lookup, Outlet Lookup, and Product Promotion Facts tables, I click Finish.

SAP Online Training

SAP BOBJ: Utilising Aggregated Tables

SAP BOBJ provides aggregated tables that help enhance report performance. These tables compile monthly, quarterly or yearly summaries of data summarised per table.

If I’m building an annual sales report, instead of adding up monthly values in the report layer, I use aggregated tables, as it speeds things up while keeping the report server light.

By employing SAP BOBJ formulas such as @Aggregate_Aware, I set priorities for data sources, using annual aggregated table data first when possible and reverting to other sources when necessary.

SAP BOBJ: Business Layer Objects

Once the data foundation is complete, accessing SAP BOBJ allows accessing its business layer objects. Dimensions and measures, such as months or states, can then be defined, while numerical data, like revenue or quantity, become measures.

Attributes can easily be added, calendar data mapped, and formulas validated directly, creating an intuitive experience when structuring objects into classes to reflect business logic.

SAP BOBJ provides tools that make expanding existing universes both reliable and straightforward.

SAP BOBJ Project Modelling

In most SAP BOBJ projects, universes do not typically start from scratch; nonetheless, exploring the modelling process provides insight into what goes on behind the scenes and can shed some light on why certain things occur as they do.

Simulation modelling with SAP HANA or BW involves similar steps. Joins, data objects, and the architect’s business logic all play a part. SAP BOBJ simplifies the modelling process, so once familiarity with one environment arises, it becomes simpler to transition.

Although universe enhancement may only rarely require SAP BOBJ, understanding its fundamentals remains vitally important. Being aware of how and why reports are constructed provides confidence for every report that’s created.

SAP BOBJ Parameters and Prompts

I often utilise SAP BOBJ’s parameters when seeking user input during query time. For instance, when researching regional data for Asia, I create a region parameter.

SAP BOBJ then prompts my users to select their region before generating reports, thereby increasing both performance and relevance simultaneously.

Advanced Traps in SAP BOBJ

I have encountered traps, such as chasms and fan traps, when working with SAP BOBJ, which can wreak havoc with query logic and results if mishandled.

Thanks to SAP BOBJ’s data foundation properties, which enable me to manage Cartesian products and SQL statements per context easily, these issues were effectively addressed.

SAP BOBJ Trap Handling

In SAP BOBJ, I encountered an issue where multiple one-to-one joins from orders and loans converged onto a single dimension table simultaneously, resulting in inaccurate results due to chasm trapping.

SAP Course Price

Navya Chandrika
Navya Chandrika

Author

Every second is a new opportunity to shape your future with the choices you make now.