Blog

Requirement

The below approach explains the process of defining a custom Fiori for SAP BPC Embedded. The tile below shows the list of list of Open BPF activities against the user in SAP BPC Embedded on HANA 1610. The purpose of this development is to show the total activities assigned to user alongside the open activities. The aim of this development is to serve as the notification point of the assigned BPF (Business Process Flow) Activities to the business users via the Fiori tile.

Fiori allows the creation of static as well as dynamic app launcher tiles. A dynamic tile gets information from a data source (OData Service) and constantly queries the source at regular interval and keeps it updated.

The outcome of the solution should look like the following.

DDIC Structure

We should create a DDIC structure from SE11 transaction. This will help to define the OData Services in the next steps.

Gateway Service

We use gateway services builder (tcode: SEGW) for creating services that will make the data available via the OData services. SEGW is a design-time transaction, which provides developers with an easy-to-use set of tools for creating services.  It has been conceived for the code-based OData Channel.

We will be leveraging gateway services functionality to query the number of open and total activities assigned to the user. The steps involved in this process is to do the following

Get Entity Method Implementation

You should redefine the GetEntity method to implement the code needed to determine the open and total activities. This method will hold the ABAP code which will determine and return the necessary data for populating the Dynamic App tile.

ABAP Code

METHOD ZBPF_INSTSET_GET_ENTITY.
DATA:
LT_INST           TYPE CL_RSBPCB_SERVICE=>TN_T_INST,
LS_INST           TYPE CL_RSBPCB_SERVICE=>TN_S_INST,
LT_STEP_RGN       TYPE CL_RSBPCB_SERVICE=>TN_T_STEP_RGN,
LS_STEP_RGN       TYPE CL_RSBPCB_SERVICE=>TN_S_STEP_RGN,
LV_CNT_PROCESS    TYPE I,
LV_CNT_ACTV_TO    TYPE I,
LV_CNT_ACTV_OP    TYPE I,
LV_CNT_ACTV_CO    TYPE I,
LV_CNT_ACTV_PE    TYPE I,
LV_CNT_ACTV_TO_S  TYPE C LENGTH 5,
LV_SUBTITLE       TYPE C LENGTH 40.

FIELD-SYMBOLS <LS_INST> TYPE CL_RSBPCB_SERVICE=>TN_S_INST..

CL_RSBPCB_INST=>GET_INSTANCE_TODOLIST(
EXPORTING
I_APPSET_ID = ‘BPCENV’
IF_WITH_TEXT = ‘X’
IMPORTING
E_T_INST = LT_INST).

LOOP AT LT_INST ASSIGNING <LS_INST>.
CLEAR: LS_INST, LT_STEP_RGN.

LT_STEP_RGN = <LS_INST>-T_STEP_RGN.
LV_CNT_PROCESS = LV_CNT_PROCESS + 1.
LOOP AT LT_STEP_RGN INTO LS_STEP_RGN.
LV_CNT_ACTV_TO = LV_CNT_ACTV_TO + 1.
IF LS_STEP_RGN-STATUS = ‘OP’.
LV_CNT_ACTV_OP = LV_CNT_ACTV_OP + 1.
ELSEIF LS_STEP_RGN-STATUS = ‘CO’.
LV_CNT_ACTV_CO = LV_CNT_ACTV_CO + 1.
ELSEIF LS_STEP_RGN-STATUS = ‘PE’.
LV_CNT_ACTV_PE = LV_CNT_ACTV_PE + 1.
ENDIF.
ENDLOOP.

ENDLOOP.

LV_CNT_ACTV_TO_S = LV_CNT_ACTV_TO – LV_CNT_ACTV_CO.
CONCATENATE ‘Total: ‘ LV_CNT_ACTV_TO_S INTO LV_SUBTITLE.

ER_ENTITY = VALUE #(
ICON = ‘sap-icon://multiselect-all’
NUMBER = LV_CNT_ACTV_OP
NUMBERDIGITS = ‘0’
NUMBERFACTOR = ”
NUMBERSTATE = ‘Negative’
NUMBERUNIT = ‘Open’
SUBTITLE = LV_SUBTITLE
TITLE = ‘BPF Activities’
).
ENDMETHOD.

Activate and Maintain Service

Log in to Fiori Front End Server and navigate to “Active and Maintain Service” using tcode /N/IWFND/MAINT_SERVICE.

Test OData Service

You can test the OData services via the SAP Gateway Client. This tool will allow you to test the service registered as part of the previous step.

Fiori Configuration

As the last step go to Fiori Launchpad Designer (tcode: /UI2/FLPD_CUST)

  1. Create a Catalog
  2. Add “App Launcher – Dynamic” tile
  3. Add this tile to a group

Result

You should assign the appropriate permissions to the user to make the Fiori tile available.

Useful TCODE

Gateway Runtime

Gateway Client – /IWFND/GW_CLIENT

Error Log – /IWFND/ERROR_LOG

Application Log – /IWFND/APPS_LOG (Gateway Hub System)

Application Log – /IWBEP/VIEW_LOG (Business Suite Backend)

Clear Cache – /IWFND/CACHE_CLEANUP

Disable Cache – /IWFND/MED_ACTIVATE

Gateway Node Activation – SICF

Alert Monitoring – RZ20

Performance Trace – /IWFND/TRACES

Gateway Design

Gateway Service Builder – SEGW

Service Validation – /IWFND/SRV_VALIDATE

Register/Test Backend System – SM59

Create a Service – SE80

Activate a Service – /IWFND/IWF_ACTIVATE

Reference Links

https://blogs.sap.com/2017/02/07/dynamic-fiori-launchpad-tile-explained/

https://blogs.sap.com/2017/07/22/scaling-dynamic-tile-on-fiori-launch-pad/

https://blogs.sap.com/2015/03/06/create-dynamic-app-launcher-fiori-tile/

https://help.sap.com/saphelp_uiaddon10/helpdata/en/4d/2b9e3c92e54b2192f031a2941927d6/frameset.htm

https://blogs.sap.com/2017/01/28/how-to-create-custom-tile-types-for-onpremise-fiori-launchpad/

https://help.hana.ondemand.com/cloud_portal/frameset.htm?06372b11e2234aef879b0167588158c1.html

0

Blog

BPC administrator is used to manage task access and data access in the administration console in BPC classic . With BPC embedded, SAP has introduced more layers to the security configuration. This is fully understandable as BPC security must now work in conjunction with BW/NW security architecture. This blog is an attempt to demystify the security setup of BPC embedded for BPC classic users.

Traditionally BPC has two distinct aspects of authorization:

  1. Task Access: What tasks a user can perform (aka “Task Profile” in classic BPC)? Task profile determines if the users can perform administration tasks or post journals or run consolidation steps etc.
  2. Data Access: What data intersections user has access to (aka “Data Access Profile” in classic BPC)? Data Access Profile determines if a user can access a particular company or profit centre. These dimensions should be marked as secured dimension at the model level

To keep the example simple, we assumed that the queries created in BW for the purposes of BPC embedded will not be accessed outside BPC. In other words, the BW queries created for BPC models will not be consumed directly via BW.

Embedded BPC has some peculiarity when it comes to the authorization. Let us try to understand the set up  process.

  1. Prerequisites
  2. Task Level Access: Managed via “Roles” in BW
  3. Data Access:
    1. Analysis Authorization
    2. Environment Authorization
    3. Data Access Profile
  4. Assigning Access:
    1. Assign “Role” directly in BW
    2. Assign “Data Access Profile” in BPC
  5. How does it work?
  6. Links & References

Prerequisites

Complete your environment and model set up in BPC Embedded web administration console and make your dimension authorization relevant in BW.

Task Access

Setting up role

As mentioned in the section above the role, at a high level, acts as a “Task Profile”. Note that this could also provide data access via using the BW authorization but for this example we are not setting up that way.

The role can be create using PFCG TCODE in BW. A typical embedded role will have the following authorisations (refer to security guide for comprehensive list).

  1. RSBPC_ID: Grants the user access to an environment
  2. RSBPC_ENVM: Manage the environment
  3. RSBPC_MODL: Manage Model
  4. RSBPC_BBPF: Manage and use BPF
  5. RSBPC_TEAM: Manage Team
  6. RSBPC_WKSP: Resource Management
  7. RSBPC_USER: Manage Users
  8. RSBPC_DAP: Manage Data Access Profiles
  9. S_RS_AUTH; This points to an analysis authorization object. To run global queries, users must have proper authorization with an authorization object. This will give access to the queries directly from BW to the users. To configure a BPC classic style security, you can ignore this configuration or assign the most restrictive authorization object.

Apart from these BPC specific authorization, you will have to configure BW specific authorization that will provide the users with access to specific info objects, queries, planning function/sequences etc. The BW security administrator will be able to guide you on that.

Data Access

Analysis Authorization

The analysis authorization to the role should be assigned via the S_RS_AUTH authorization object mentioned above. Analysis authorization is used for authorizing users in BW realm.

As part of our configuration we deliberately ignored this configuration to prevent BPC queries from being accessed directly from BW. You should consider this setting only if you want to provide query access via BW (outside BPC).

You can use RSECADMIN to create/maintain analysis authorization

Environment Authorization

The environment authorization defines the data access BPC service will have on the info object. This is not a user specific permission. Think of this as a data access permission given to the BPC service on the BW info object. This permission is granted for each BPC environment.

First use RSECADMIN to create an analysis authorization. In our example, we have given read permission to all members of the secured dimension.

Then assign this authorization to BPC environment via the RSECENVI tcode.

Note that this permission along with the Data Access Profile defined in the next step will only come into effect when the model is assigned to analysis for office workbook.  The workbook should be reopened after assigning the model

Data Access Profile in BPC

We have provided all access to the BPC service account via the previous step. Now, we are ready to provide the user with the data access profile via the BPC Admin Console. This is in line with data access profile assignment in BPC classic.

Assigning Access

Assigning BW Roles

Now assign roles via BW using SU01 TCODE. Assign the role created as part Step 1.

Assigning DAP

Similar to BPC Classic, assign the data access profile to the user or team via the BPC Admin console.

How does it work?

Task Access

The user gets all “Task Access” via the BW Roles. This role determines the task level authorization of the user like

  1. Access to BPC Environment,
  2. Access to BPC Model,
  3. Ability to Perform Administration in BPC etc.

Task Access = 

B = Via the BW Role created as part of step 1

Data Access

The data access to the user comes from three different levels of authorizations. BW Role, Environment Authorization and Data Access profile influences this behaviour.

Given we haven’t assigned any analysis authorization (S_RS_AUTH) in the BW role, the data access is determined via the Environment Authorization and Data Access Profile. This also restricts the users from directly accessing the queries via BW bypassing BPC data access framework.

When the user opens the BPC workbook (with model associated with it), BPC’s environment authorization (Step 2.2) and Data Access Profile (Step 2.3) takes over. The simple formula for determining Data Access would be the following:

Data Access = 

  1. B = Authorization Object assigned to the BW Role via S_RS_AUTH
  2. E = Environment authorization assigned via RSECENVI
  3. D = Data Access Profile assigned via BPC Admin Console

In our example, “B” doesn’t provide any data access. While “E” provides access to all members and “D” restricts the access provided by “E”. In short, the user gets data access to only members defined by “Data Access Profile” via BPC Admin Console.

Links & References

For further detailed read, go through these links.

0

Blog

This blog-series is an attempt to list the 7 habits (characteristics) of effective and successful planning implementation.  This blog series is based on lessons learned during the planning implementations over the last decade in different industries and geographical regions. We will keep our focus on planning solutions offered by SAP – SAP BPC (Business Planning and Consolidation).

The blog-series aims at improving the future planning implementation by bringing the best aspects of the successful implementation from the past. This is exclusively based on our observations only, we will be happy to listen from you regarding your experience on this subject.

We have tried to organize the content in the form of “7 Habits of Highly Effective People”, the book written by Stephen R Covey. This book has transformed millions of lives and is an all-time motivational book.

The First Habit: Establish Guiding Principles

It may come to you as a surprise that most of the factors that make an implementation effective have got nothing to do with technology. It always almost comes down to knowing clearly what the desirable outcomes are.

As the first step of the planning process, the business should start with establishing a Guiding Principles for Planning Process. We should avoid the tendency to take this step lightly. Underestimating the importance of this step will land a project in all sorts of trouble.

Key purpose of this step is to resolve the value alignment problem. As part of the implementation, the project team will be forced to take several small but significant decisions – more or less autonomously. Guiding principles make sure that those decisions are kept in-line with the overall values and principles established and agreed upfront.  This will drive the results in the direction of desired outcome.

We should remember that technology is only the means to achieve an end. We should accept the fact that current complexities and challenges are primarily caused by the current way of thinking and not due to technology. As part of this process we should challenge and question the current thought process. We should remember, we can’t solve a problem by using the mindset that first created them.

Failing to do so will result in similar but wrong outcomes faster result with different technology. Hence this step becomes very critical for successful outcome.

Below is the list of some of the design principles (for example only):

Single Source of Truth

A single source of truth is a single point of access and modification of the organization’s data. One of the mandate of the planning process could be is to create a single source of truth. It requires both a centralized data model and integration across solutions. The producers and consumers of a data must access the same copy.  The aim of adopting this principle is to provide a federated view of data for decision making for all stakeholders.

Driver based planning

It is important to define the level at which manual inputs will be provided to the planning process. A business can determine the right level by finding a balance between efforts involved, planning accuracy and the need for detailed planning. Adopting drive based planning may provide this flexibility.

Organizations may choose driver based planning so that they can focus only on drivers that have material impact. They can choose to manual override in exceptional situation.  The key principles of Driver Based Planning could be

  1. The drivers should be tied to strategic plan and should frame the basis of planning process
  2. Manual exception to driver based planning must be clearly audited
  3. Process should focus on drivers that have a material impact, instead of focusing on trivial details

Driving Accountability and Ownership

Similarly, the organization may choose to have a planning process governed by clear and documented accountabilities. An efficient and effective planning process requires clarity on who is responsible for signing off a plan number or driver. This may mandate having a clear RACI matrix for each step of the planning process.

User Interface Principles

There may be specific outcomes from the user interface perspective. To begin with, the planning interface should be simple, clean, easy to use, user-friendly, responsive and intuitive. Finance users love Microsoft Excel, integrating the solution with Excel will be desirable. The requirements around web-based planning should also be clearly articulated.

A complex interface can disorient the information and has the potential to alienate them in some cases. It can lead to a devastating side effects of performance issues and lack of scalability.

Conclusion

The principles you should adopt in your implementation depends on many factors, some are listed below:

  1. your industry
  2. customer needs
  3. competition in market place
  4. your budget
  5. future growth prospects
  6. appetite and need to change

Finally, an example from a successful data warehouse project comes to mind. The key goal of the implementation was to reduce the data load which was taking 3 hours to less than 1 minute. This was published so well that everyone in the project knew what they were trying to accomplish.

Everyone repeated “311 below 1 minute” instinctively. Once this end-state was planted in the minds and hearts of the project team, the result virtually took care of itself.

0

Blog

SAP Business ByDesign, Cloud ERP system is built in with access of scanning the barcode in the warehouse confirmation task during inbound and outbound processes. This integrated barcode technology is widely used in the companies to reduce the costs, eliminate errors and efficiently streamline the business processes.

In SAP Business ByDesign, executing whether a warehouse task confirmation is either Inbound / Outbound is much easier by just the wave of the scanner. This integrated technology truly maximizes the work efficiency. This eliminates the physical entry by effectively decreasing human errors. Using bar code, the system saves time and increases efficiency and accuracy.

Barcode Format

In SAP Business ByDesign, a specific format is to be used for decoding

Format: 91P100001]C13009]C195EA

91->Product Identifier

P100001->Product ID

]C1->Delimiter

30->Quantity

09->Number of Quantity

]C1->Delimiter

95->Unit of Measure

EA->Unit of Measure of the Product

Example, Barcode: (91)P100001(30)09(95)EA

How does access Barcode in SAP Business ByDesign?

  1. Login into SAP Business ByDesign
  2. Go to the Outbound Logistic -> Task Control Menu
  1. Choose your Inbound / Outbound Task control and click Confirm button.
  1. You can see the Bar Code Input tab as shown in the above screenshot (Figure 1: Example of barcode format).
  2. Keep the cursor on the Bar Code Textbox. It will automatically read the input from the barcode scanner and display the respective product details at the line item level.

 Third Party Integration

Is it easy to integrate Third-party software with SAP Business ByDesign Task control part because they are already using third party software for the scanning purpose?

Yes, it is possible. We can easily send a Task control instant from outside of the Business ByDesign using SOAP service.

SOAP Webservice Name: ManageSiteLogisticsTaskIn

Below you are seeing the MaterialOutput section of the respective SOAP web service request. Normally we are using <ProductID> and <ActualQuantity unitCode> tag for warehouse confirmation. As an alternative, we are going to use the <AutomaticIdentification> tag with the <BarCodeText>.

Don’t forget to subscribe and leave your comment to improve this article. Please contact us for your implementation requirements, support or consulting requirements or.

0

Blog

SAP BPC Classic/Standard model differs significantly from the Embedded model. One of the key differences is that Embedded planning uses a key figure-based model while BPC classic uses an account-based model.

In classic BPC, the Account dimension contains 4 different possible values for the Account Type (ACCTYPE) property: AST, LEQ, INC and EXP. This determines how the data is displayed and stored in the solution.

  1. For Account Types LEQ and INC: BPC will send data into database and retrieve data via an  input schedules/reports with reversing the signed data value (+/-)
  2. For Account Types AST and EXP: BPC will send data into database and retrieve data via an input schedules/reports without a change in the signed data value (+/-)

Configuring signage for account dimension in BPC Embedded has few configurations. The following steps will guide you on how to configure this in BPC 10.1 Embedded. This leverages the generic BW / IP (integrated planning) functionalities with Analysis for Office.

Enable signage for info object

As the first step ensure that you enable hierarchies in your info object and create the necessary hierarchy. It is important to enabled the “reverse sign for the node” option.

Maintain signage

Now while maintaining your hierarchy in BW or in BPC Admin interface, you will be allowed for maintaining signage or reversal-related information. In the example below we have reversed the signage of income account (base node) and profit (parent node)

Create a new key formula

As the next step, should create a new formula under your key figure in the BEx query

Create formula variable

Edit the formula created in the previous step and create a new variable. This variable will be assigned the signage and used for changing the sign of the hierarchy nodes.

Create Variables

Use the following configurations. Create a variable with the following settings.

  1. General > Description = SIGNAGE
  2. Type of Variable = Formula
  3. Processing By = Replacement Path
  4. Reference Characteristic = Account
  5. Replacement Path > Replace with = Hierarchy Attribute
  6. Replacement Path > Attribute = Sign Change

Create Formula

Create the following formula in the newly created variable. Now enter the formula. We are trying to change the signage of ‘Amount’ key figure in the case below.

Create Input Read Formula

Make the formula input ready in the planning tab. This will create a new inverse formula property under the newly create formula.

Create inverse formula

Enter the following formula in the inverse formula section of the new formula.

Create Query

The query can be published via the Analysis for office query and the same can be set as planning layout. Open the query in Analysis for office or EPM add-in and enter the following data. You will observe that Income and expense are being entered without any signage but system automatically treats them as opposite signage and aggregates correctly.

Storage

Based on the inverse formula the following data is stored in the BW cube. You should be aware of this while building more BEX queries out of this cube.

Conclusion

BPC  Embedded provides similar functionality as the BPC classic when it comes to this aspect of SAP BPC (Business planning and consolidation). Please contact us for your implementation requirements, support or consulting requirements.

 

0