Tag Archives: sap bw

BPC Notes

BPC Terminology

Changes in terminology : (10 vs 7.5)

  • Environment – Appset
  • Models – Application
  • Control Settings – Validation Rules
  • Logic Script – Script Logic
  • Audit Report settings – System report settings

BPC 10.1

Regarding de Unified Planning Model:

  • Underlying models uses the IP (PAK) backend (BW datamodels instead of BPC dimensions…)
  • Planning functions are IP based (ABAP, FOX) vs BPC based (script logic…)
  • The EPM Add-In + BPC Web front end (SAP UI5 based) are used as front end
  • BPC functions as BPF, work status, data auditing are used

Here is a good overview of BPC 10.1: The SAP BPC 10.1 FAQ

Differences between versions 7.5 vs 10.0

http://learnsapbyyourself.blogspot.be/2012/11/what-is-sap-bpc.html

SAP Document: Overview and What’s New in SAP BusinessObjects EPM 10.0

http://sapexperts.wispubs.com/financials/articles/a-comparison-of-the-reporting-capabilities-of-sap-bpc-10-0-and-sap-bpc-7-x-versions?id=795f21918d1b4ebf876e2af5d8835fa8

  1. No .net server in 10 where as it is required in 7.5. All services will be exposed as RESTful web services for internal communication between BPC clients and server.
  2. Granual transport is possible in 10 whereas it is not possible in 7.5.
  3. New UI look for BPC web in 10 as compared to 7.5. and common EPM Add-in in 10. Business user interface is now flex based in 10.
  4. No more active directory or CMS, net weaver authorization is required in 10.
  5. In BPC 10, data manger will now support loading directly from SAP ERP system both in FULL & DELTA mode through SAP delivered extractors.

1. SAP BPC 10 replaces SAP BPC 7.5
2. SAP BPC 10 requires SAP BW 7.3 system and standalone .NET server is no longer required
3. SAP BPC 10 can work on SAP HANA
4. Old EVDRE has been replaced by SAP EPM 10 client. Old EVDREs will still work but wizard to create new EVDRE is no longer present.
5. Versions supported by SAP BPC 10 (A) Windows – Vista, XP and 7.
(B) Internet explorer 7 and 8
(C) Microsft office 2007 and 2010.
6. Incremental consolidation is supported by SAP BPC 10.(Ability to run FX and consolidation only on data that has been changed since last run)
7. SAP BPC MS and NW 7.5 both use automatic BPF.
8. Free standing Admin client has been deprecated and all of the functionality is now presented through the new web interface.

The most significant difference between BPC 7.5 and 10 is Excel reporting. To my mind the EV functions in BPC 7.5 were much simpler for the finance people and they were able to create and maintain templates practically without IT support. Not the case for BPC 10.

Analyze content of BW Transport Requests

While being displayed with their human readable description in the BW Administration Workbench (RSA1) some BW transportable objects are identified with a technical name (in UUID format) in the Transport Request object list. This can be quite annoying when one is trying to troubleshoot transport related errors. For instance when someone is trying to determine which Transformations, DTPs or Query Elements are contained in a given transport.

The following program lists all the objects of a transport by their human readable name. The program is in SAPLINK format.

A similar program was published in the SCN code gallery. See the post: BW Transport Validation Utility

Download – NUGG_ZBI_TRANSPORT_REQUEST_CHECK.nugg – 26.7 kB – 372   downloads

Update – Feb 10 2016 – Transaction RS09 or report RSAWBN_REQ_TEST_TB provide the same functionnality. See this SCN Post

BW Transport Validation Utility

This program was originally posted in SCN code gallery. I tested it on my system and created a SAPLINK file for it (see download button below).

This utility lists the contents of a BW Transport Request and translates BW object IDs into readable format.

This applies to

  • Transformations – TRFN
  • Update Rules – UPDR
  • Query Elements – ELMT
  • DTPs – DTPA

 

Download – PROG_ZBW_TRANSPORT_ANALYSIS.slnk – 71.3 kB – 396   downloads

See original article from Kin C. Chan here

ABAP Program to do mass deletion of Process Chains

The following small program allows you to do a mass deletion of process chains.

I tried to remove all popup messages that occur during PC deletion, but there is stil some problem with that and you have to press OK at each process chain.

You can download the code of the programhere in Saplink format.
Download – PROG_ZBW_RSPC_MASS_DELETE.slnk – 3.3 kB – 402   downloads

Modify an existing SAP BW Source System connection

Technique for switching ECC source systems in SAP BW Environment without affecting the
data modeling objects in the BW environment. By data modeling objects, we mean transformations, update rules and transfer rules getting inactive or getting deleted. Once the source system is switched, data reload needs to happen to have the initializations and deltas to come from the new source system. Also we have to ensure that the data from old source system( both transactional and master ) needs to be deleted in the BW system before reloading from the data from new source system to ensure consistency in the data from new system.

The following  SCN Article describes the procedure

Step by Step on Changing ECC Source Systems without Affecting Data Modeling Objects in SAP BW

 

See also 110849 – “Error during insert in port table” (create source system) if the error occurs during the RSA1 / Source System / Restore step

Technical Content – BI Statistics

Reference documents

No SID found for value ‘yyyymmddhhmm60’ of characterstic 0TCTTIMSTMP – 0TCT_DS21 – 0TCT_DS22

  • Apply manual changes to the update rules as per Note: 1713932
    • Goto RSA1. Navigate to infoprovider 0TCT_C22 and double click on the transfer rules
      for datasource 0TCT_DS22
    • Change to edit mode
    • Choose the field 0TCTTIMSTMP in the transfer rules and click on assignment button and
      select the radio button ‘Routine’ and click on ‘Create’ button.
    • Enter the transfer routine name as ‘Long timestamp -> short timestamp’.
    • Select the field ‘0TCTSTRTTST’ and enter.
    • Under FORM COMPUTE_TCTTIMSTMP, Please mention the below sentence RESULT = TRUNC(
      TRAN_STRUCTURE-TSTMP_START ).
    • Save the routine.
Do this for each BW Stats update rule activated in the system that fails after the upgrade.

http://scn.sap.com/community/data-warehousing/netweaver-bw/blog/2013/07/12/sap-bw-73-upgrade-issues-and-solutions

Process Chain Statistics Extractor – 0TCT_IS21

0TCT_IS21  is a “Technical Content” extractor that will retrieve statistics from the Process Chainws execution logs. These logs are stored in the following SAP Tables:

  • RSPCPROCESSLOG
  • RSPCLOGCHAIN

The 0TCT_IS21 extractor is a FM based extractor calling the function module RSDDK_BIW_GET_DATA.

The FM is a ‘multi purpose’ function that is used by several TCT extractors. Based on the Data Source it will call the appropriate data extraction subroutine; the one for 0TCT_IS21 is  “PERFORM get_fact_ds21”.

Analysing the  extractor in my system ( I am working on SAP BW 7.30 -SAPKW73008), I noticed the following errors in the extractor itself and in the Transfer Rules / Update Rules to cube 0TCT_C21:

  • Inconsistent conversion of start / end timestamps to start / end date and times
  • Calculation of the overall duration of the process chain is incorrect
  • Calculation of the number of steps in is incorrect

 

Inconsistent conversion of start / end timestamps to start / end date and times

The PC Log Tables provide start and end timestamps. The transfer rule from Data Source 0TCT_DS21 to Infocube 0TCT_C21 derives the start and end time via abap conversion routines. The proble is that start time is converted to the local time zone while end time is converted to UTC.

Code of the start time routine:

FORM COMPUTE_TCTSTRTTIM
  USING    RECORD_NO LIKE SY-TABIX
           TRAN_STRUCTURE TYPE TRANSFER_STRUCTURE
           G_S_MINFO TYPE RSSM_S_MINFO
  CHANGING RESULT TYPE /BI0/OITCTSTRTTIM
           G_T_ERRORLOG TYPE rssm_t_errorlog_int
           RETURNCODE LIKE SY-SUBRC
           ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel datapackage
*$*$ begin of routine - insert your code only below this line        *-*
* DATA: l_s_errorlog TYPE rssm_s_errorlog_int.
  DATA: l_start_time TYPE t.

  CONVERT TIME STAMP TRAN_STRUCTURE-starttimestamp TIME ZONE sy-zonlo
          INTO TIME l_start_time.

  RESULT = l_start_time.
* returncode <> 0 means skip this record
  RETURNCODE = 0.
* abort <> 0 means skip whole data package !!!
  ABORT = 0.
*$*$ end of routine - insert your code only before this line         *-*
ENDFORM.

Code of the end time routine:

FORM COMPUTE_TCTENDTIM
  USING    RECORD_NO LIKE SY-TABIX
           TRAN_STRUCTURE TYPE TRANSFER_STRUCTURE
           G_S_MINFO TYPE RSSM_S_MINFO
  CHANGING RESULT TYPE /BI0/OITCTENDTIM
           G_T_ERRORLOG TYPE rssm_t_errorlog_int
           RETURNCODE LIKE SY-SUBRC
           ABORT LIKE SY-SUBRC. "set ABORT <> 0 to cancel datapackage
*$*$ begin of routine - insert your code only below this line        *-*
* DATA: l_s_errorlog TYPE rssm_s_errorlog_int.
  DATA: l_end_time TYPE t,
        l_tzone TYPE sy-zonlo.

  l_tzone = 'UTC'.  " This needs to be changed to sy-zonlo.
  CONVERT TIME STAMP TRAN_STRUCTURE-endtimestamp TIME ZONE l_tzone
          INTO TIME l_end_time.

  RESULT = l_end_time.
* returncode <> 0 means skip this record
  RETURNCODE = 0.
* abort <> 0 means skip whole data package !!!
  ABORT = 0.
*$*$ end of routine - insert your code only before this line         *-*
ENDFORM.

The transfer rule routines converts the timestamps in similar ways for Start Time (0TCTSTRTTIM) , End Time (0TCTENDTIM), Start Time as Key Figure (0TCTSTIMEK) and Time (0TIME) and also for the dates 0CALDAY, 0TCTSTRTDAT, 0TCTENDDAT.

So if you want to have consistency between all times and dates, you should check all the routines for the conversions of the following elements and replace ‘UTC’ by sy-zonlo on each of them (7 routines in total).

Calculation of the number of steps in is incorrect

The characteristic 0TCTSTAUIK (“Frequency”) counts the number of occurrences of steps in process chains. For individual records inthe 0TCT_C21 cube it should always be 1. For the record summarizing the PC execution (the one with 0TCTPRCSTYP = “#’), it should be the sum of the steps in the process chain. However the 0TCT_DS21 extractor performs the calculation incorrectly and returns a negative number equal to 1 minus the number of steps.

There could be several ways to correct this (apart from asking SAP to do the correction…) One way is by creating an user exit that recalculates the field in the extractor, or by correcting the value in the start routine of the update rule.

Calculation of the overall duration of the process chain is incorrect

Same as above. Characteristic 0TCTDURATION is incorrect for the record summarizing the whole PC execution.  Same solutions as above.