Quantcast
Channel: SCN : Document List - Enterprise Performance Management (SAP EPM)
Viewing all 125 articles
Browse latest View live

What's New in SAP Financial Consolidation 10.0

$
0
0

This interactive paper provides you with insight on the new or improved features available in SAP Financial Consolidation release 10.0.

View this Presentation


SAP E-Bilanz Solutions: Help on ERiC Validation Messages

$
0
0

This document should provide help on ERiC validation messages.

 

ERiC (Elster Rich Client) is provided by the German Tax Authorities and responsible for the validation and submission of the E-Bilanz. As SAP solutions have to integrate that 3rd party component, SAP software is not able to change the official validation messages. However we would like to offer an overview about common messages and possible solutions to solve the error. This list is not supposed to be complete and can not make sure, that the possible help is correct your specific solution, it is rather a collection of expierence.

Generally speaking errors that start bs.**** are valid for the asset positions (Aktiva), errors starting bs.eq for the liability positions (Passiva) and errors starting with is* are valid for Income Statement positions .

 

If you need more help on understanding the eric-error message or you think the error message of eric or taxonomy is wrong, you might need to contact the German authorities.

According to their offical FAQ (http://www.esteuer.de/download/FAQ_Version_2012-01.pdf) these kind of questions need to be adressed to the ELSTER support (https://www.elster.de/nmIQ/avatar_faq.jsp;jsessionid=E10BB19817A9ADE4B1366675AAAC4B50?Input=Hotline&ResponseID=1&iLink=1)

 

Validation MessageExplaination

Die Position 'genInfo.report.id.accordingTo.name' wurde mit der Attributbelegung nil='true' angegeben. Dies ist nicht zulässig, wenn die Positon 'genInfo.report.id.statementType.tax' einen der Auswahlwerte 'genInfo.report.id.statementType.tax.statementTypeTax.SB' oder 'genInfo.report.id.statementType.tax.statementTypeTax.EB' aufweist.„

Wenn als in der Auswahl „Bilanzart steuerlich bei PersG“ „Sonderbilanz oder Ergänzungsbilanz“ angegeben wurde, muss „Name Gesamthand“ befüllt sein.

„Die Position 'genInfo.company.id.location' wurde nicht oder mit der Attributbelegung nil='true' angegeben.“

Die Angabe zum Firmenort darf nicht leer oder nil sein.

Wert der Position 'bs.***' stimmt nicht mit dem Wert der Position 'bs.eqLiab' überein.

Die Bilanz geht nicht auf. Die für die Positionen "Summe Aktiva" und "Summe Passiva" angegebenen Beträge müssen übereinstimmen.

[Position: Bilanz!$H$19] Der für die Summenposition 'http://www.xbrl.de/taxonomies/de-gaap-ci-2010-12-16:bs.***.fixAss.intan.concessionBrands' angegebene Wert entspricht nicht dem auf Basis des Calculation Networks 'http://www.xbrl.org/2003/linkbase, calculationLink, http://www.xbrl.de/taxonomies/de-gaap-ci/role/balanceSheet, http://www.xbrl.org/2003/linkbase, calculationArc, http://www.xbrl.org/2003/arcrole/summation-item' errechneten Summenwert (angegebener Summenwert: 360500.00, berechneter Summenwert: 363500.00). Der Fehler wurde nach Ausführung der Umgliederung/Überleitung festgestellt.

Bei Prüfung der steuerlichen Überleitungsrechnung wurde festgestellt, dass  in der Position „bs.***.fixAss.intan.concessionBrands“360500.00 EUR, statt der berechneten 363500.00 EUR gemeldet wurden.

Dieser Fehler tritt häufig dann auf, wenn man eine steuerliche Überleitung nur auf bebuchbaren Positionen durchführt, sie aber nicht entlang der Positions-Hierarchie nach oben durchzieht.

Die werthaltig angegebene Position 'detailedInformation.accountbalances.positionName' ist keinem der angekündigten Berichtsbestandteile zuzurechnen.Diese Fehlermeldung kommt, wenn man z.b. Kontensalden im Lauf bereitstellt aber im GCD Excel unter Berichtsbestandteile in der Zeile Kontensalden für eine oder mehrere Positionen kein "ja" setzt.

Die Angabe zur Position genInfo.report.id.statementType.tax ist ungültig. Erwartet wird einer der Werte genInfo.report.id.statementType.tax.statementTypeTax.SB oder genInfo.report.id.statementType.tax.statementTypeTax.EB.

Wenn die Position "Name der Gesamthand" werthaltig übermittelt wird, muss die Position "Bilanzart steuerlich" einen der Werte "Sonderbilanz" oder "Ergänzungsbilanz" aufweisen.

Das Problem liegt also darin, dass wir zum Beispiel einen Namen der Gesamthand angegeben haben. Gibt es aber eine Gesamthand (z. B. im Sinne einer OHG-Mutter), so bedeutet das, dass wir gerade für einen Teilbetrieb einer Gesamthand melden. – Ist das der Fall, so müssen wir das in Form einer Sonder- oder Ergänzungsbilanz tun.

Entfernt man den Namen der Gesamthand, so lässt sich wie erwartet mit „Bilanzart steuerlich für Personengesellschaften“ = „Gesamthandsbilanz“ melden.

gaap:is.netIncome.beforeTransfer

  Wird bei Kapitalgesellschaften kein Bilanzgewinn ausgewiesen, so muss der für 'is.netIncome' angegebene Wert mit dem aus den relevanten Einzelangaben berechneten Wert übereinstimmen.

  (Id: 5117050051729,FK: gaap:is.netIncome.beforeTransfer,USB: 000000,MZI: 01,VD: 00001,PK: ,RId: FalscherJahresfehlbetragOhneAusweisDesBilanzgewinns,EId: 170205067)

Dieser Fehler wird dann gemeldet, wenn man in den GCD Daten diese Einstellung gewählt hat.
Bilanz enthält Ausweis des Bilanzgewinns =  Nein

Eric prüft dann, ob die Werte dieser Position der Bilanz genau den Werten aus der GUV für das GJ entspricht. Hat man hier ein Konto zugewiesen und vergessen zum Beispiel die Jahresüberschuß-Werte aus den Vorjahren umzubuchen, dann bringt das System den Fehler.

ERIC_TRANSFER_ERR_CONNECTSERVER

this error usually means, that ERiC can not communicated with the German Authority Server.

There could be different reasons:

1) A proxy ia required in that network to access internet
2) A firewall is blocking access to to the authorities server over the internet
3) A general server error on authorities side (quite unlikely)

$gcd:genInfo.company.id.idNo.type.companyId.STID/1.1$': ungültige IdentifikationsnummerA wrong Tax-Number is used (on masterdata or shareholder-Sheet).  Eric requires to use always

the "bundeseinheitliche Steuernummer" verwendet werden - Detailsunter: http://de.wikipedia.org/wiki/Steuernummer

Über die Base URI 'E-Bilanz-Instanz-Dokument' wurde eine nicht unterstützte Ressource angefordert' ('http://www.xbrl.de/taxonomies/de-gcd-2012-06-01/de-gcd-2012-06-01-shell.xsd')Falsche Kombination ERIC  Version und GCD / GAAP Excel Version - ERIC 16 und Taxonomie 5.1 werfen den Fehler aus.

Fehler im Feld/Abschnitt: genInfo.company.id.parent oder genInfo.company.id.parent.idNo

  Es wurde kein Wert für das Feld angegeben.

Infos zur Muttergesellschaft fehlen im GCD.
Die Position 'genInfo.report.id.incomeStatementendswithBalProfit' wurde nicht oder mit der Attributbelegung nil='true' angegeben.Die Position "Bilanz enthält Ausweis des Bilanzgewinns" muss werthaltig übermittelt werden.Es muss eine Auswahl getroffen werden.
Die Position 'genInfo.report.id.revisionStatus' wurde nicht oder mit der Attributbelegung nil='true' angegeben.Die Position "Berichtsstatus" muss werthaltig übermittelt werden. Es muss eine Auswahl getroffen werden.
Die Position 'genInfo.report.id.statementType' wurde nicht oder mit der Attributbelegung nil='true' angegeben.Die Position "Bilanzart" muss werthaltig übermittelt werden. Es muss eine Auswahl getroffen werden.
Die Position 'genInfo.report.period.balSheetClosingDate' wurde nicht oder mit der Attributbelegung nil='true' angegeben.Die Position "Bilanzstichtag" muss werthaltig übermittelt werden.
Beim vorliegenden Wert der Position 'genInfo.report.id.statementType' muss auch eine der Positionen 'genInfo.company.id.idNo.type.companyId.BF4' oder 'genInfo.company.id.idNo.type.companyId.ST13' angegeben werden. Angabe mit der Attributbelegung nil='true' ist nicht hinreichend.

Wenn bei Eröffnungsbilanzen keine Angabe zur Position "13-stellige Steuernummer" vorliegt, so muss die Position "4-stellige Bundesfinanzamtsnummer - nur bei Eröffnungsbilanz, wenn StNr. nicht bekannt" werthaltig angegeben werden.

Bei allen Bilanzarten außer "Eröffnungsbilanz" muss für das Unternehmen eine werthaltige Angabe zur Position "13-stellige Steuernummer" vorliegen.

Die unter  'genInfo.company.id.idNo.type.companyId.BF4' angegebene Bundesfinanzamtsnummer stimmt nicht mit der unter 'Empfaenger' angegebenen überein.In den Nutzdaten angegebene FA-Nummer des für das Unternehmen zuständigen Finanzamts muss mit Angabe der Finanzamtsnummer im Nutzdaten-Header übereinstimmen.
Die unter  'genInfo.company.id.idNo.type.companyId.ST13' angegebene Steuernummer passt nicht zur unter 'Empfaenger' angegebenen Bundesfinanzamtsnummer.In den Nutzdaten angegebene Steuernummer des Unternehmens muss zur Angabe der Finanzamtsnummer im Nutzdaten-Header passen.

Die Position 'genInfo.company.id.location.city' wurde nicht oder mit der Attributbelegung nil='true' angegeben. - Gleiche Fehlermeldung für folgende Felder:

'genInfo.company.id.location.zipCode'

'genInfo.company.id.location.street'

'genInfo.report.id.consolidationRange'

'genInfo.report.id.accordingTo.name'

'genInfo.company.id.legalStatus'

'genInfo.company.id.name'

Die Positionen müssen für Ort, Firmensitz, PLZ, Firmensitz, Straße, Firmentsitz, Konsolidierungsumfang, Name Gesamthand, Rechtsform des Unternehmens, Name des Unternehmens werthaltig übermittelt werden.
Die Summe der aus den Gesellschafter-bezogenen Zahlangaben für 'genInfo.company.id.shareholder.ShareDivideKey.numerator' und 'genInfo.company.id.shareholder.ShareDivideKey.denominator' gebildeten Quotienten unterschreitet den Wert 1.

Die Summe der Beteiligungsschlüssel aller Gesellschafter soll den Wert 1 nicht unterschreiten.

Aus den Werten im Feld Zähler und Nenner aller Gesellschafter wird der Quotient errechnet und alle Werte müssen gemeinsam den Wert 1 ergeben bzw. dürfen 1 nicht unterschreiten.

Das unter 'genInfo.report.period.fiscalYearBegin' angegebene Datum fällt in den Zeitraum vor dem 1. Januar 2012.Bei Berichten, die nicht als Eröffnungsbilanzen zu kategorisieren sind, muss der angegebene Beginn des Wirtschaftsjahres auf einen Tag nach dem 31.12.2011 fallen.
Das unter 'genInfo.report.period.balSheetClosingDate' angegebene Datum fällt in den Zeitraum vor dem 1. Januar 2012.Bei Berichten, die als Eröffnungsbilanzen zu kategorisieren sind, muss der angegebene Bilanzstichtag in den Zeitraum nach dem 31.12.2011 fallen.
Die Position 'genInfo.report.id.incomeStatementFormat' wurde entweder mit der Attributbelegung nil='true' oder mit einem ungültigen Wert angegeben.Die Position  "GuV Format" muss mit einem der Werte "Gesamtkostenverfahren" oder "Umsatzkostenverfahren" berichtet werden.

Die Position 'is.netIncome.regular.operatingTC' wude werthaltig angegeben, obwohl GuV-Format ('genInfo.report.id.incomeStatementFormat') mit 'Umsatzkostenverfahren'

('genInfo.report.id.incomeStatementFormat.incomeStatementFormat.UKV') angegeben wurde.

Die Position "Betriebsergebnis (GKV)" darf nicht werthaltig angegeben werden, wenn GuV-Format mit "Umsatzkostenverfahren" angegeben wurde.

Die Position 'is.netIncome.regular.operatingCOGS' wude werthaltig angegeben, obwohl GuV-Format ('genInfo.report.id.incomeStatementFormat') mit 'Gesamtkostenverfahren'

('genInfo.report.id.incomeStatementFormat.incomeStatementFormat.GKV') angegeben wurde.

Die Position "Betriebsergebnis (Umsatzkosten)" darf nicht werthaltig angegeben werden, wenn GuV-Format mit "Gesamtkostenverfahren" angegeben wurde.

Wird bei Kapitalgesellschaften ein Bilanzgewinn ausgewiesen, muss der Wert der Position 'bs.eqLiab.equity.profitLoss' mit dem der Position 'incomeUse.gainLoss' übereinstimmen und der Wert der Position 'incomeUse.gainLoss.netIncome' mit dem der Position 'is.netIncome'.

Fehlermeldung aus dem ERP stand-alone client:

Wird bei Kapitalgesellschaften ein Bilanzgewinn ausgewiesen, muss der Wert der Position 'Bilanzgewinn / Bilanzverlust' mit dem der Position 'Bilanzgewinn / Bilanzverlust' übereinstimmen und der Wert der Position 'Jahresüberschuss/-fehlbetrag' mit dem der Position 'Jahresüberschuss/-fehlbetrag'.

Wird bei Kapitalgesellschaften ein Bilanzgewinn ausgewiesen, so müssen die Angaben zu "Bilanzgewinn / Bilanzverlust (Bilanz)" und "Bilanzgewinn / Bilanzverlust (GuV)" sowie die Angaben zu "Jahresüberschuss/-fehlbetrag (Ergebnisverwendung)" und "Jahresüberschuss/-fehlbetrag (GuV)" übereinstimmen.
Diese Prüfung wird durchgeführt, wenn der Schalter "Bilanz enthält Ausweis des Bilanzgewinns
(genInfo.report.id.incomeStatementendswithBalProfit)
" auf ja gesetzt ist
Der Berichtsbestandteil 'Ergebnisverwendung' wird nicht angezeigt, obwohl die Position 'genInfo.report.id.incomeStatementendswithBalProfit' mit 'true' oder '1' angegeben wurde.Falls die Position "Bilanz enthält Ausweis des Bilanzgewinns" mit "ja" angegeben wurde, muss der Berichtsbestandteil "Ergebnisverwendung" angezeigt werden.
Es wurde ein steuerlicher Gewinn ausgewiesen (Position 'DeterminationOfTaxableIncomeSpec.forProfitOrganization.taxableIncome'), ohne Angaben zur Gewinnermittlung zu machen (Position 'DeterminationOfTaxableIncomeSpec.forProfitOrganization.determinationOfTaxableIncome').Wird durch werthaltige Angabe der Position "steuerlicher Gewinn" im Bereich "steuerliche Gewinnermittlung für wirtschaftliche Geschäftsbetriebe" ein steuerlicher Gewinn ausgewiesen, so muss eine werthaltige Angabe zur zugehörigen Position "steuerliche Gewinnermittlung" vorliegen.

How to create Excel input forms with nested dimensions filtered by user authorizations

$
0
0

I.Business Scenario

 

For a central data collection a dynamic Excel Input form for several processes (dimension members in the BPC cube) and different users is required. The relevant time and process will be set by parameters from the business process flow. Depending on the user authorisation data records will been shown or hidden without changing the original input form structure. This ensures that every user can just see the data records which (s)he is able to edit for the relevant time period and process.

 

Therefore fewer forms and less maintenance are necessary.

 

 

II. Background Information

 

With SAP BPC 10 you have two options for this scenario.

 

If you have just one dimension for a unique identification of your rows, you can easily filter the data-grid by user authorisation, without any additional effort.

 

If you have nested dimensions for a unique identification and few data records you can use the SAP EPM local member function. For each local member a unique dimension combination is necessary, to set the record to the expected position on the data-grid. The report has to be linked to the relevant cells from the data-grid.

For a complex input from with several nested dimensions and a lot of rows this approach can be quickly time-consumingand complicate a sustainable maintenance.

 

If you have nested dimensions within a big data set there is a third approach by creating a MS Excel macro, which is much more efficient in terms of handling and maintenance, than the local member approach.

 

The following scenario describes the approach:

 

First let’s have a look at the SAP BPC user profiles.

 

In addition to the administrators there are three test users named ‘SALES_*

Pic_1.png

These have the following data access rights:

 

SALES_1 has read and write privileges for product category ‘A’ for the markets Africa and Europe. The Excel-Data-Grid for these entries is greencoloured.


Pic_2.png

SALES_2 has read and write privileges for product category ‘B’ for the market Asia-Pacific. The Excel-Data-Grid for these entries is redcoloured.

Pic_3.png

SALES_3 has read and write privileges for all product categories for the market North and South America. The Excel-Data-Grid for these entries is bluecoloured.

Pic_4.png

The comprehensive view for administrators of the input sheet

Pic_5.png


Without the macro approach the user SALES_1 receives the following incorrect summarized view after opening the Excel input form.

As you can see, the data set is just reduced to one line and doesn`t show the relevant data combination any more.


 

 

 

Pic_6.png

Without the macro approach the user SALES_2 receives the following incorrect summarized view after opening the Excel input form.

As you can see, the data set is just reduced to one line and doesn`t show the relevant data combination any more.

Pic_7.png

Without the macro approach the user SALES_3 receives the following incorrect summarized view after opening the Excel input form.

As you can see, the data set shows a multiplication of all possible combinations which is also not what we initially intended.

Pic_8.png

III. Step-by-Step

 

First we have a look at the worksheet which contains the data-grid. Left to the data-grid we add three additional columns (two for the dimensions with user authorization, and one to check the authorization on the dimension with the highest granularity) :

  • For a robust structure in column A the product category for each data record is statically saved
  • Also in column B the market for each data record is statically saved
  • To receive the member description from column B as an access right check in column C we use the EPM formula „=EPMMemberDesc(B*)“


Pic_9.png

In this example column A and B are the dimensions for the user authorisation check. For nested dimensions SAP BPC uses additive authorisation approaches. So if we have access rights for the country we also have access rights for the product category and we receive the correct member description in column C. If we do not have the relevant access right for either dimension “#NoData” will appear.

 

If there are more Dimensions necessary insert adequate columns. The static content in column A and B assures a permanent consistent record structure. Therefore Cell A1 and Cell B1 are referenced in columns D and E in the

 

EPMOlapMemberO() formula.

 

  1. e.g.:

Line 5: EPMOlapMemberO(EPMMemberDesc(B5); EPMMemberDesc(A5);…)

Line 6: EPMOlapMemberO(EPMMemberDesc(B6); EPMMemberDesc(A6);…)

 

 

In this example column C will only receive the correct member description if the active user has the relevant privileges; otherwise “#NoData” will appear.

 

Next we open the source code (Alt + F11) to create a new module with a discretionary name.

Pic_10.png

First we define global constants:

Pic_11.png

The ‘input_sheet’ is the one on which the data-grid is embedded. The first data-grid input row is named ‘input_sheet_start_row’. Also we need a tracking column – named ‘check_access_column’ – with the EPM formula ‘=EPMMemberDesc(B*)’; in this example column C.

 

Now we create our macro with the name removeRows().

Pic_12.png

These local variables are necessary for a dynamic run of this sub. The integer ‘searchA’ is used as an index within the for-loop. The long ‘count_rows’ counts the data records in our data-grid and ‘month_number’ saves the report month.

 

To optimize the performance during the macro run screen updating and events will be disabled. The calculation approach will be set to manual.

Pic_13.png

Next we check the quantity of reported rows and store this information in the relevant variable.

Pic_14.png

Now we check the content of the column C with the EPM formula ‘=EPMMemberDesc(B*)’; ‘#NoData’ means that the user doesn’t have the relevant authorization. Therefore the user can’t see any key figures and the row will be hidden. As an additional end point for the loop (beside ‘count_rows’) we check the content of the following column – the first data-grid column. If it is empty the loop has to stop. Also this loop sets the ‘View’ marker (for a single loop, that every new refresh won`t cause the function to run again over all records, since the irrelevant rows are already hidden).

Pic_15.png

At the bottom – at the status bar we can see the actual data record which is in progress.(“bitte warten” is the german expression for “please wait”)

Pic_16.png

The last step in this sub is to reactivate the Excel functions – screen updating, enable events and set calculation approach to automatic.

Pic_17.png

Finally we need a function to run our macro – sub removeRows() – after an EPM-Refresh.

Pic_18.png

As already mentioned above,the marker ‘View’ in cell B1 prevents a multi loop. It can be deleted at any time in source code and shall be deleted if the workbook opens.

Pic_19.png

IV. New Result

 

Successional the new view for administrators by the use of sub ‘removeRows’:

Pic_20.png

for SALES_1:

as you can see, the rows 5-22 are hidden in the Excel worksheet

Pic_21.png

SALES_2:

as you can see, the rows 5-16 are hidden in the Excel worksheet

Pic_22.png

and SALES_3:

as you can see, the rows 17-34 are hidden in the Excel worksheet

Pic_23.png

 

A       Source code

 

‘global constants:

Public Const input_sheet = "Input"

Public Const input_sheet_start_row = 5

Public Const check_access_column = 3

 

 

Function AFTER_REFRESH()

 

'this function proofs whether the marker 'view' is set. If yes the

'function to hide columns will not be started - ensures a single loop.

    If Sheets(input_sheet).Range("B1").Value <> "View" Then

        Call removeRows

 

        AFTER_REFRESH = True

    End If

 

End Function

 

 

Sub removeRows()

 

    Dim searchA As Integer

    Dim count_rows As Long

 

'to optimize the performance disable:

    Application.ScreenUpdating = False

    Application.Calculation = xlCalculationManual

    Application.EnableEvents = False

  

'set reporting rows

    count_rows = Sheets(input_sheet).UsedRange.Rows.Count

  

'check every column regarding the user privileges whether the input row receive data or not.

'In last case the row will be hidden

    For searchA = input_sheet_start_row To count_rows Step 1

        Application.StatusBar = Space(50) & searchA & " bitte warten ..."

        If Sheets(input_sheet).Cells(searchA, check_access_column + 4).Value = "" Then Exit For

        If (Sheets(input_sheet).Cells(searchA, check_access_column).Value = "#NoData") Or _

        (Sheets(input_sheet).Cells(searchA, check_access_column).Value = "") Then

            Sheets(input_sheet).Rows(searchA).Hidden = True

'set marker for single loop

            If Sheets(input_sheet).Range("B1").Value <> "View" Then _

            Sheets(input_sheet).Range("B1").Value = "View"

        End If

 

    Next searchA

  

'last step is to reactivate the excel functions:

    Application.StatusBar = False: Application.ScreenUpdating = True:

    Application.EnableEvents = True: Application.Calculation = xlCalculationAutomatic

End Sub

 

 

Version

Date

Author

Change/Action

0.1

11/21/2014

Manuel Büdenbender

Initial document

0.2

12/04/2014

Manuel Büdenbender

User authorization explanation added

1.0

12/05/2014

Christian Niembs

Review

 

 

 

 

 

 

 

 


BPC 10.1 Embedded- Data Extraction and Retraction Process between ERP and IBP

$
0
0

SUMMARY With SAP BPC NW 10.1 a new data model is introduced that combines the strength of the different planning components SAP BPC NW for end-user friendliness and flexibility; SAP BW-IP for feature richness and integrated data consistency; SAP HANA for blazingly high performance. With this the strategy for planning solutions on SAP BW which covered BPC NW on one side and BW-IP / PAK on the other side. The former was focusing on line-of-business driven scenarios with a strong focus on flexibility and end-user friendliness. The latter covered IT-driven scenarios with a tight integration into the BW architecture and EDW data. Now the combination covers not only these two pillars but every combination thereof. The new data model is called ‘embedded’ to reflect the embedded nature of the solution into BW.This document demonstrates the Extraction and Retraction of Data between ERP and IBP systems. This scenario is implemented in SAP BPC 10.1 Embedded version and uses FOX Script and VBA.

 

 

 

AUTHOR BIO Anila Mohan Anila Mohan is an SAP BPC Consultant in Deloitte Consulting LLP and has around 7.5 years of experience in implementing BPC solutions for Fortune 500 clients across various industries. She has worked on different versions of BPC (5.1 MS till EPM 10.1).

 

Shoba Vadlamudi SAP certified associate with 5+ years of experience in SAP BPC Net Weaver and Microsoft versions. Worked as a consultant in implementation of consolidation, cost allocations, planning and forecasting for a major bank in US. Gained knowledge of SAP BI, SAP BO. Also, learned business processes when dealing with requirements. Worked as a consultant for implementing consolidation in SAP BPC for a utility major. Also worked upgrade to SAP BPC 7.0 in this assignment.

 

 

1. Objective SAP BPC 10.1 Embedded model is an integration of BPC with BW-PAK (HANA accelerated version of IP), it’s mainly about leveraging IT centric EDW model with BPC business oriented features. FOX script is the programming language used in BPC 10.1 - Embedded (Unified) models similar to the BI-IP/PAK. This will help to perform complex calculations in BPC and it is based on key-figure modelling.

 

2. Business Scenario This document demonstrates the process of Extraction and Retraction of data between the ERP and IBP systems. This is achieved using the standard planning functions and using the input ready form using the VBA macros.

 

3. Ways to trigger DATA MOVEMENT

 

3.1 Prompt Selection The below prompt is created for keying data .It’s a part of the Query Y_SFIN_A19_IRQ0003 which is already created in Business Intelligence

Fig1.png

 

 

4. Data Extraction Process – ERP to IBP

 

4.1 The input ready form with Initial Data available on query Y_SFIN_A19_IRQ0003 created in Business Intelligence is shown below. User Selection: Category and version. The logic of pulling data from EPR to IBP is button driven. The Copy is a standard functionality that drives the data movement from ERP to IBP use standard planning function which in turn called by a Planning Sequence.  Click Copy ERP to IBP button to execute the planning function. Column “L” of the below screen shot exhibits the data after successful Copy execution. Column “M” has data that is available in ERP.

 

Fig2.png

 

 

4.2 Successful execution on Copy ERP to IBP displayed to the user who executes the Copy Function.

 

Fig3.png

 

 

4.3 Column “L” is matching with data in Column “M” which is the resultant of the data movement being successful from ERP to IBP.

 

Fig4.png

5. Data Retraction Process – IBP to ERP 5.1 As this is an input ready template created in IBP, the data is modified in IBP which would reflect and match the same in ERP, due to which the retraction process is being in scope. Modify data in IBP (Input Ready Template) as shown in Column “L19” the data in IBP is increased. Click on to Copy IBP to ERP to execute the in turn planning function.

 

Fig5.png

 

5.2 Successful execution on Copy ERP to IBP displayed to the user who executes the Copy Function.

Fig6.png

 

 

5.3 Once the template is refreshed the data is matching between ERP and IBP can be seen in Column “L” and Column “M”.

Fig7.png

 

 

Hereby  the above steps details how the custom method of data Extraction and Retraction can be carried out in 10.1 Unified modelling using input ready template.

 

5. Standard “AS-IS” workbook The below screen shot is the standard process given my SAP in a non-input ready template in 10.1 Unified version.

 

Fig8.png

 

 

6. STEPS to view the data moved in the ERP tables: Using SAT Transaction Code in the SAP Logon - A new ABAP Trace Tool has been developed addressing major limitations in SE30.Trace file content is processed and stored in the database. Trace data from all application servers in the system is accessible via SAT. Trace can be kept for a longer time, as trace data on the database is not deleted automatically.

 

1. Start the ABAP Runtime Analysis (SAT) via System -> Utilities -> Runtime Analysis -> Execute or call the transaction "/NSAT" directly.

2. Type "RSPLAN" into Transaction field. SAP transaction RSPLAN (Modeling BI Integrated Planning) is classified in the Business Warehouse module under application component Planning and runs planning: General Services program SAPLRSPLS_LAUNCH upon execution.

3. Choose Eval. Immediately to start the analysis right after the measurement.

4. Press Execute button to start the measurement

 

Fig9.png

 

 

Display Planning Sequence page is opened and execution of the planning sequence “/ERP/SFIN_A09_PS01” that copies from /ERP/SFIN_R01 to /ERP/COOM_V07 is shown here.

Fig10.png

 

 

Now choose the Trace Tab. Trace shows that 193 records are read and copied.

 

Fig11.png

 

 

SAT also shows the DB tables that are hit on retraction – primarily COSS and COSP. This means it helps to identify the source and target transaction tables which is identified by the number of records.

 

Fig12.png

Entries in COSP table.

 

Fig13.png

APPENDIX

VBA MACRO TO CALL A PLANNING SEQUENCE

Sub onExecutePS01()

IResult = Application.Run("SAPExecutePlanningSequence", "PS_1")

End Sub

 

FOX SCRIPT

 

DATA CATEGORY TYPE / ERP / CATEGORY.

DATA VERSION TYPE / ERP / VERSION.

DATA GLACCT TYPE / ERP / GL_ACCT.

DATA COSTELMT TYPE / ERP / COSTELMT.

DATA KATYP TYPE 0FISCVARNT.

DATA COORDER TYPE / ERP / COORDER.

DATA PCOSTCTR TYPE / ERP / PCOSTCTR.

DATA PACTTYPE TYPE / ERP / PACTTYPE.

DATA PCOORDER TYPE / ERP / PCOORDER.

DATA PWBSELMT TYPE / ERP / PWBSELMT.

DATA UOM TYPE 0UNIT. D

ATA UOM_CL TYPE 0UNIT.

DATA CO_AREA TYPE / ERP / CO_AREA.

DATA FISCYEAR TYPE 0FISCYEAR.

DATA METYPE TYPE / ERP / METYPE.

DATA VTDETAIL TYPE / ERP / VTDETAIL.

DATA IS_WBS_ORDER TYPE / ERP / BAL_FLAG.

DATA IS_MANUAL_PLANNING TYPE / ERP / BAL_FLAG.

DATA IS_OK TYPE / ERP / BAL_FLAG.

*DATA DCIND TYPE /ERP/DCINDCO

*DATA DCIND_OK TYPE /ERP/DCINDCO.

 

DATA L TYPE I.

BREAK-POINT.

COORDER = OBJV( ).

IF COORDER = ' '.

EXIT.

ENDIF.

CATEGORY = VARV( '/ERP/P_CATEGORY' ).

CO_AREA = VARV( '/ERP/P_CO_AREA01' ).

FISCYEAR = OBJV( ). GLACCT = OBJV( ).

*DCIND = OBJV().

PCOSTCTR = OBJV( ). PACTTYPE = OBJV( ).

PCOORDER = OBJV( ). PWBSELMT = OBJV( ).

* we are an internal order

IS_WBS_ORDER = 'X'.

* allow additionally activity allocation for manual planning

 

IS_MANUAL_PLANNING = 'A'.

FOREACH VERSION IN SELECTION.

COSTELMT = GLACCT.

CALL FUNCTION FCOM_DETERMINE_BW_VALUE_TYPE

EXPORTING IV_KOKRS = CO_AREA

           IV_GJAHR = FISCYEAR       

          IV_KSTAR = COSTELMT        

          IV_SKOST = PCOSTCTR         

          IV_SLSTA = PACTTYPE          

          IB_IS_PSP_ORDER = IS_WBS_ORDER    

 

       IB_IS_MANUAL_PLANNING = IS_MANUAL_PLANNING

  IMPORTING EV_METYPE = METYPE     

  EV_VTDETAIL = VTDETAIL   

  EV_KATYP = KATYP.

IF NOT(( KATYP = '01' OR KATYP = '04' OR KATYP = '11' OR KATYP = '12' OR KATYP = '90' )         

AND NOT( PCOSTCTR IS INITIAL AND PCOORDER IS INITIAL AND PWBSELMT IS INITIAL ) ).

*   ignore primary planning records with sender fields

     IF NOT( KATYP = '43' AND( PCOSTCTR IS INITIAL OR PACTTYPE IS INITIAL ) ).

*     ignore activity allocation records with initial sender activity type (simple finance allows to plan this).

*     (simple finance allows to plan this). 

 

    IF NOT( KATYP = '21' AND( NOT( PCOSTCTR IS INITIAL AND PCOORDER IS INITIAL AND PWBSELMT IS INITIAL )

AND( PCOSTCTR IS INITIAL OR PACTTYPE IS INITIAL ) ) ).

*        ignore primary order cost records with sender fields and

*        secondary order cost records with with initial sender cost center and sender activity type      

IF( KATYP = '43' OR( KATYP = '21' AND NOT( PCOSTCTR IS INITIAL OR PACTTYPE IS INITIAL ) ) ).

*         activity allocation or secondary order costs:

*         check that activity type category is '1' = to be planned manually        

 

CALL FUNCTION FCOM_CHECK_LATYP_MANUAL        

EXPORTING IV_KOKRS = CO_AREA            

       IV_GJAHR = FISCYEAR            

       IV_VERSN = VERSION              

     IV_SKOST = PCOSTCTR              

     IV_SLSTA = PACTTYPE                  

IV_AUFNR = COORDER        

IMPORTING EV_OK = IS_OK        

           EV_LEINH = UOM_CL.

       ENDIF.    

   IF NOT(( KATYP = '43' OR( KATYP = '21' AND NOT( PCOSTCTR IS INITIAL OR PACTTYPE IS INITIAL ) ) ) AND IS_OK IS INITIAL ).

*        copy only activity allocation/secondary order records with category to be planned manually      

   IF KATYP <> '41'.

*          ignore overhead cost elements because they have in classical CO a deviating D/C indicator CO

*          with value 'C' instead of the default value 'D' in Simple Finance

*          CALL FUNCTION FCOM_DETERMINE_DC_INDICATOR_CO

*          EXPORTING IV_KOKRS = CO_AREA

*                    IV_GJAHR = FISCYEAR

*                    IV_KSTAR = COSTELMT

*          IMPORTING EV_BELKZ = DCIND_OK.

*          IF DCIND = DCIND_OK

. *    *       copy only records with feasible debit/credit indicator CO

*          !!Special logic for UoM of classical only for primary planning, not activity allocation

*             KATYP = 43, and secondary order costs KATYP = 21 with sender cost center/activity type!!         

  IF NOT( KATYP = '43' OR( KATYP = '21' AND NOT( PCOSTCTR IS INITIAL OR PACTTYPE IS INITIAL ) ) ).

*             set amount and quantity of classical to zero          

   CALL FUNCTION FCOM_DETERMINE_PRIMARY_UOM    

         EXPORTING IV_KOKRS = CO_AREA          

             IV_AUFNR = COORDER                    

   IV_GJAHR = FISCYEAR               

        IV_KSTAR = COSTELMT      

       IMPORTING EV_MEINH = UOM_CL.      

     ENDIF.     

      { '/ERP/AMOUNT', #, COSTELMT, 00, METYPE, VERSION, VTDETAIL, 020, '/ERP/COOM_V07', UOM_CL } = 0.         

  { '/ERP/QUANTY', #, COSTELMT, 00, METYPE, VERSION, VTDETAIL, 020, '/ERP/COOM_V07', UOM_CL } = 0.      

     FOREACH UOM IN REFDATA.           

  IF KATYP = '43' OR( KATYP = '21' AND NOT( PCOSTCTR IS INITIAL OR PACTTYPE IS INITIAL ) ).

*               activity allocation/secondary order costs       

        UOM_CL = UOM.       

      ENDIF.

 

*             We copy the SFIN Amount to the Classical Amount field to make sure the delta is

*             calculated correctly with respect to the totals.

             { '/ERP/AMOUNT', #, COSTELMT, 00, METYPE, VERSION, VTDETAIL, 020, '/ERP/COOM_V07', UOM_CL }                 =                   { '/ERP/AMOUNT', #, COSTELMT, 00, METYPE, VERSION, VTDETAIL, 020, '/ERP/COOM_V07', UOM_CL }               

  + { '/ERP/AMOUNT', CATEGORY, #, #, #, #, #, #, '/ERP/SFIN_R01', UOM }.

 

*             We copy the SFIN Quantity to the Classical Quantity field to make sure the delta is

*             calculated correctly with respect to the totals.               IF UOM = UOM_CL

. *               Here, one could do more: Check whether UOM is compatible with UOM_CL.

If yes, do a unit

*               conversion from UOM to UOM_CL,

if not issue an info message            

   { '/ERP/QUANTY', #, COSTELMT, 00, METYPE, VERSION, VTDETAIL, 020, '/ERP/COOM_V07', UOM_CL }             

  = { '/ERP/QUANTY', CATEGORY, #, #, #, #, #, #, '/ERP/SFIN_R01', UOM }.            

ENDIF.    

       ENDFOR

ELSE.

*           overhead cost element (KATYP 41)             MESSAGE I084( FCOM_PLANNING_CORE ).           ENDIF.         ELSE.

*         PCOSTCTR/PACTTYPE with other LATYPE than 1           MESSAGE I083( FCOM_PLANNING_CORE ) WITH PACTTYPE PCOSTCTR.         ENDIF.       ELSE.

*       try to distinguish primary/secondary for error message (KATYP 21)         IF NOT( PCOSTCTR IS INITIAL AND PCOORDER IS INITIAL AND PWBSELMT IS INITIAL ).           IF PACTTYPE IS INITIAL.

*           primary order costs with sender             MESSAGE I086( FCOM_PLANNING_CORE ).           ELSE.

*           secondary order costs without sender cost center             MESSAGE I087( FCOM_PLANNING_CORE ) WITH PACTTYPE.           ENDIF.         ENDIF.       ENDIF.     ELSE.

*     KATYP = '43' and PCOSTCTR initial or PACTTYPE initial       MESSAGE I082( FCOM_PLANNING_CORE ).     ENDIF.   ELSE.

*   primary planning with partner -> not manual planning     MESSAGE I085( FCOM_PLANNING_CORE ) WITH KATYP.   ENDIF. ENDFOR.

EPM BPC Monthly News - March 2015

$
0
0

KBAs and notes released in the last 30 days(as of 03/26/2015)

 

BW-PLA-BPC2099335

Daemon job for BPC

BW-WHM-MTD-CTS2143434

Transport connection collects generated BW TLOGO objects

EPM-BPC1366676

SAP BPC: What Service Pack, Patch and Build Version am I running ?

EPM-BPC-NW1742110How to get MDX statement in BPC NW 10
1823062EPM-BPC-NW - Invalid Work Status information after transport
1862768EPMWorkStatus function displays wrong status
1885116BPC NW 10 ''Failed to save data. Error Obtaining concurrency lock () '' when sa
1999316BPC 10.0: Worksheet generation - Worksheets / tabs only named with Dimension Me
2030418Plan & Consol 10.1 for NetWeaver Documentation Addendum
2143595"member xxxx not exist# error occurs when validating script logic # BPC NW 10/1
2048048Model settings could not be saved with HTTP 500 and ASSERTION_FAILED dump when
2050531The mapping between the ADMIN team and its folder is missing
2062798Business Planning & Consolidation 10.0 NW SP16 Central Note
2075058Hierarchy master data import issue - Record count: 0
2095747SAP Business Planning & Consolidation 10.1 NW SP05 Patch01 Central Note
2096844The Enterprise Performance Management link within the Planning and Consolidatio
2103585Product Component Matrix for SAP Business Planning & Consolidation 10.1, versio
2107965Issues in EPM Add-In / BPC for Excel after installing Microsoft updates
1844612BPC NW 10/10.1: Environment or model copy failed
2118133BPC 10.0 NW: Does BPC 10 require the Old BPC 7.5 settings after migration?
2098196Not all team copied if deselect copy web documents when copy environment
2113703Shared instance won't be updated after enabling TDH from BPC web client.
2114083Drag will replace existing members in Edit Dimension Member
2051502Audit report of data changes shows blank page with an error
2096249Add more tooltips on dimension member list page
1944437Incorrect result is generated when run BPC HANA allocation
2089700"Internal Error: no result set" occurs when processing member formula
2098729Fail to open existing member formulas
2109614Process button does not enabled in Member Formula
2069547Split make selected member disappeared
2111199Sort date column in comments system report is by string rather than by date tim
2081664There is an error in XML document when opening EPM Add-in  report from BPF - BPC
2105843The “Open Other System Reports” menu should be selected as default when click “
2062175IE11 will crash when click the table’s scroll bar.
2104067The workspace name will not show the driving dimension context when user goes t
2108783Need to show the error message and details when error happened in the process o
1927908Support UJBR backup without security data
2071046Error 'running process exists on consolidation unit' persists after dump happen
2077014Error in attach documents in control rule
2076933Checking control dynamical tables during posting BPC data
2088308Ux issues: Modify the mode of confirmation dialog
2059744"Keep the same" use the context instead of source
2062846Journal report not display for ID more than 3 digits
2065484No validation is done on journal members
2110663If we post a journal without saving it, the detail dimension member in table en
2112728"Copy to" supports to copy all journals of a group to a new group
2116325In journal detail page, when pasting data in the cell, there should be a valida
2071700Sub folder can't be seen in Control document
2086835The dimension with mandatory lock should not be unlocked
2099300In BPC10.1, the parent node of group type dimension can't be selected when crea
1549207Error in SLG1 after successfully activating Apshell message at BPC C
1730125BPC 10.0 NW BW Integration via SAP BW OLE DB Provider
2072383BPC 10.1 Standard UJT_MIGRATE_75_TO_101 run with error "DDIC_TYPELENG_INCONSIST
2107084Descendants level is missed after memberset formula is set
1986569PC 10.1 NW HANA Starter Kit for USGAAP SP03 Release Note
1986563PC 10.1 NW HANA Starter Kit for IFRS SP06 Release Note
2091089500 internal error when running report with selection of base level members
2108226Refreshing report from Excel may not get correct result if query cache is enabl
2113690Omit Empty option is not working when refresh asymmetric report in EPM Add-in
2114687Hierarchy order is incorrect when building report in HANA Model
2066087Error of 'Invalid Members' happens when target audit is blank for a Cons rule w
2088350No data is displayed in 'Entity FX Type' column when create currency translatio
1667160Consulting Note on BPC NW 10 / 10.1 Standard Granular Transport
2023118BPC Transport failed with Persistent resource '<resource_ID>' does not exist
2107108Transportable parameters in BPC 10.0
2079612There should be validation for URL in drill-through definition
2114072BPC 10.1 Standard library Rename report does not work
2113385The setting "Display as" of context option inherits incorrectly
2094337

Change Workstatus list reorder layout of standard model same with embedded mode

EPM-BPC-MS1347994Support custom setting for SQL server
1840454BPC10: Error when scheduling a data manager package: Access is denied. (Excepti
1763572EPM Add-in Limitations
2045385BPC: Error after upgrading SQL Server: To use the SQL Server 2012 package, you
2052929Performance
2070402SAP Business Planning and Consolidation 10.1 version for the Microsoft platform
2078887SAP Business Planning and Consolidation 10.1 for Microsoft SP01 Central Note
2085340Tips for configuring Microsoft SQL Server in a virtual machine
2109406Data manager copy package is not releasing memory
2115717Cannot open Excel report when the defined model is different than the controlli
2115725Workspace is not open by Process action
2115767Cannot open Excel report by Process action if file name includes an ampersand (
1897732User cannot open reports randomly
2098789Performance issue when processing a dimension with more than 2 hierarchies
1880135FIX:Validating transformation file generates error message
1963060Currency conversion does not proceed if the group currency has more than 5 repo
2045945BPC 10.0 MS DM package scheduler issue when selecting huge members
1859239FIX:Logic performance dropped after upgrading to 7.5M
2060315Script logic does not post to Time dimension using property value
1996957Currency Conversion has error after upgrading to 7.5M SP11 Patch 5
2034568AS_IS and FX_SOURCE_CATEGORY in Currency Conversion
2098755FXTrans creates an error if category member ID value exeeds 17 characters
2060316The property 'EnableJRN' does not work correctly
2061171Regardless of workstatus, documents are uploaded on the Web
2092963

System exception error occurs when selecting the 'Descendants of Current Contex

EPM-XLS1840977EPM Add-in setup and configuration FAQ
1898174BPCMS: Shared Dimension desactivated
1917498The remote server returned an error: (400) Bad Request.
1918094EPM Add-In: How to set the default display mode in the Member Selector window
2097393EPM add-in for Microsoft Office Support Package 21
1996694Error "All codes are wrong, the default value has been restored" when run a DM

EPM BPC Monthly News - February 2015

$
0
0
EPM-BPC-MS2136614BPC MS Web Client cannot start
1422091How to configure a NLB with BPC - BPC 5.x and 7.x
1678822BPC 7.0 / 7.5 / 10.0 / 10.1 for Microsoft: Third Party Software Support Matrix
2127762Is the domain controller hardcoded into the BPC application
2130471"Invalid dimension: measures" error happens when login to a model by EPM Add-in
2134923Overload resolution failed error when running Data Manager Pacakge
1996136Calculated result does not display in Consolidation business rule.
EPM-BPC-NW1807100BPC NW: "RSA1" transaction code displays technical names and not BPC names.
2010964BPC parameters list and how they impact system behavior- BPC NW 10.0/10.1
2048048Model settings could not be saved with HTTP 500 and ASSERTION_FAILED dump when
2080482Conversions of currencies are not applied when data are loaded to BPC through t
2109474Fix checkman error
2120267Poor performance when using custom Measures in SAP BPC reports
2124742BPC NW 10.0 - in BPC Web Client Administrator, the Task Profile and Data Access
2124974Unable to restore a model through UJBR due to work status error  - BPC NW 10.0
2127175UJO_READ_EXCEPTION_018 with MDX statement error: Value & for characteristic & u
2127222UJO_READ_EXCEPTION_018 and MDX error: "Value & for characteristic& unknown" whe
2127459how to install IIS related component when install BPC .net server
2127861BPC : Errors : "DYNPRO_SEND_IN_BACKGROUND", "CALL_FUNCTION_REMOTE_ERROR"
2128594BPC NW : Dump while trying to logon to BPC Web admin page
2129632EPM Add-in Multi-Selection does not work when the parameter PAGEAXIS_AGG_IN_BAC
2130856Unable to save Assignment of Control Sets - BPC NW 10.1
2131002How to know which user is BPC service user - BPC NW 10.0/10.1
2133199How to display the query data of BPC unified model in EPM Add-in
2133764UJK_EXCEPTION error: "Attribute "CURRENCY_TYPE" does not exist in dimension" wh
2080413Definition of BPC MDX hierarchy view should not contain space character
2123392Dynamic tables for dimension member and hierarchy information are not deleted a
2124890Create environment #XXX# failure-BPC NW 10&10.1
2125408Unable to copy environment from BPC web client - BPC 10.1 NW
2127435Text node is missing in YTD Hierarchy of Time Dimension
2128035Encounter error message 'Dimension member is an invalid member ID' after runnin
2132223BPC NW 10.1 : Cannot  use navigation keys to quickly copy members/properties dow
2070997Improvement for  control memory consumption
2116921Performance improvement of script compilation with too many SUB/ENDSUB function
2122679Memberformula result member returns no data
2129687Data Manager package status shows as “Fail” without any error message
2121580Change the value of Authorization Object S_RS_COMP
2123997Remove BUI related log during coping environment in BPC10.1
2124978Profiles not assigned when assigning user to a team with team leader checked
2096248Enable work status with error message
2106564there is an internal server error when there are too many results in data audit
2081664There is an error in XML document when opening EPM Add-in report from BPF - BPC
2119716BPC 10.1 Standard BPF Deadline enhancement
2126111BPC 10.1 Standard, After update BPF Instance Deadline in Process Monitor,expect
2126241BPC 10.1 Standard, BPF activities with deadline setting, comment is missing in
2124889The jump action from BPF to EPM Add-in will failed if BPF template definition h
2128498User cannot add same content in BPF workspace when define BPF template.
1934887Corrupted files are generated when restoring environment in UJBR between 2 syst
2124944#STORE_ENTITY# property does not work in integration mode#BPC NW 10&10.1
2112463Bug fixing of consolidation monitor and control monitor for SP05 patch01
2103583Journal dimension  member description  display
2133087Error: "Assignment failed for appset XXXX application YYYY" when trying to save
2127670After applying Note 1946776 or upgrading to SP12 or higher, error still occurs
1912535Journal with detail rows more than 9999 can be saved.
1730125BPC 10.0 NW BW Integration via SAP BW OLE DB Provider
2127320BPC 10.1 Standard support BPF AWS with multiple link to same resource when migr
2123791BPC10.1 web report UI issues
1976552BPC generates MDX Statement with invalid property
2072976Performance optimization on query with secured dimension using HANA MDX engine
2085703Error message raised when some members belong to multiple hierarchies within on
2108247Running BPC reports leads to memory leak at HANA side
2114687Hierarchy order is incorrect when building report in HANA Model
2135042How to delete the temporary table with name start from '$BPC$HC'
2101349Check points for currency translation issue
2135134Related Action in Business Process Flow is duplicated for every transport of BP
2128288BPC Transport: Error in Admin module or a component used by Admin module. Faile
2126742[Internal Use Only]Business Planning & Consolidation 10.1 NW SP05 Patch 01 - Co
2127907[Internal use Only] Business Planning & Consolidation 10.1 NW SP05 Patch 01 - W
2127914[Internal Use Only]Business Planning & Consolidation 10.1 NW SP05 Patch 01 - We
2126671Fail to remove item in Web Admin Security views
2123404The member selector in Change work status dialog should be stateful
2123411BPC 10.1 NW : Error "Unable to cast object of type #com.sap.firefly.core.parame
2127769BPC : Error : "Error while handling delayed active report change"
2136615BPC NW Controls prevent Work Status change on all Entity
2136246EVDRE expand needs 2nd refresh to display valid if fixed columns and row suppre
EPM-XLS2040413How to specify the File argument for the EPMLink() function
2073553ALL: Member Selector unresponsive
2097835BPCNW: EvDRE report - Member Insertion fails when pressing ENTER
2103672BWINA: Context not kept variable changes
2119643BWINA: EPMVariableValue - Variable technical names not available
2121991EPM add-in for Microsoft Office SP20 Patch 02
2123170ALL: Member sorting based on the code
2123742BWINA: Excel crash when opening Member Selector for a planning function variabl
2123730BWINA: Default planning function value not selected in Member Selector
2124104BWINA: Session is not released when closing Excel if it has been launched from
2124010BWINA: Error message when refreshing a report
2127181BPC: Performance issue when launching an EvDRE workbook expansion from VBA
2127116BPC: EvDRE BeforeRanges and AfterRanges are inserted even for blank rows after
2127090BPC: EvDRE Insert Member fails when less than two members in report including A
2127488BPCNW: Workbook not correctly displayed after expanding an EVDRE
2128478"#Error - Unexpected Error. Check your parameters" error occurred when use EPMM
2129493Pre-requisites before escalating EPM add-in customer messages to the Product Gr
2132019Error "basOtherWorkbookSpecificBEFORE_REFRESH NUMBER& Error:_reportIdentifierLi
1906064AfterRange/BeforeRange is not working properly in EVDRE within EPM Add-in
2133861"Error launching office client: a.PushActionsByValue is not a function" happens
2116321Long first logon time of EPM-Addin which has huge flat Dimension
1776519Macros using Loops within an Excel file become much slower when the Enterprise
2133829Member selction changes to "Member Only" automatically after any cell values ar
BI-BIP-AUT2109992Error: "Error in refresh sheet" when using IPS and LDAP Authentication with EPM
BW-PLA-BPC-BPF2122116BPC 10.1 Embedded, BPF deadline instance schedule is not set after change deadl
EIM-COR1553034What are Analytics Notifications (formerly SAP BusinessObjects Notifications) a
EPM-BPC1664889EPM : How to use the Fiddler web debugging tool to troubleshoot HTTP communicat
EPM-EA-ANA2003767EPM: Cannot connect to EPM Addin with an AD user with SP15.1 and higher

Top 10 threads for BPC-NW and BPC-MS - February 2015

$
0
0

How to enable check box for member selection in SAP BPC EPM Add-in reports - Session 1

$
0
0

Introduction

 

This guide demonstrates how to create dynamic member selection from BPC input forms or reports and pass the selection dynamically back for data manager package for execution.  The guide is divided in two parts,

 

  • The first part of this session will illustrate how to create dynamic check boxes on BPC’s report or input schedules
  • The second part of this session will cover how to determine the members selected by the users and pass it back to data manager

Overall Business Case

 

To facilitate member selection from the EPM Add-in reports using a check box type of functionality. The check box should be dynamically applied on the input form or report. The selected members should be used for running a data manger package.

 

The members of account dimension will be selected by the users from EPM Add-in excel report and the selected members should be pass to data manager - clear package.

Steps

 

Step 1: Create a simple report using EPM 10 add-in with one dimension (account in this case) in row key range. Make sure that you have one column available before the report/input form.

 

image001.png

 

Step 2: Create a new range named “rngRowSelectionSrc”.

 

image002.png

 

Step 3: Format this cell to look like a selection box and choose the font a “Wingdings 2”

 

image003.png

 

 

Step 4: Paste the following code in the Excel VBA.

  • Press ALT + F11
  • Create a new module named “modCheckBox”
  • Add reference to FPMXLClient
  • And paste the code below, this  code create the function that allows the creation of new named range “rngRowSelection”     

 

Public Const iNumberofRowDim As Integer = 1

Sub CreateCheckBox(sRptNumber As String)

Dim oEPMObj As New FPMXLClient.EPMAddInAutomation

Dim oInitRange As Range, oRange As Range, oCell As Range

Dim iColShift, iTopLeftCell, iBottomRightCell, iColumn, iFirstRow, iLastRow As Integer

 

iColShift = oEPMObj.GetShift(ActiveSheet, sRptNumber, True) * -1

iTopLeftCell = oEPMObj.GetDataTopLeftCell(ActiveSheet, sRptNumber)

iBottomRightCell = oEPMObj.GetDataBottomRightCell(ActiveSheet, sRptNumber)

iColumn = Range(iTopLeftCell).Offset(0, iColShift).Column - iNumberofRowDim

iFirstRow = Range(iTopLeftCell).Offset(0, iColShift).Row

iLastRow = Range(iBottomRightCell).Row

 

Set oRange = Range(Cells(iFirstRow, iColumn).Address & ":" & Cells(iLastRow, iColumn).Address)

 

                ActiveWorkbook.Names.Add Name:="rngRowSelection", RefersTo:=oRange

Range("rngRowSelectionSrc").Copy

Set oInitRange = Selection

Range("rngRowSelection").PasteSpecial xlPasteFormats

               Application.CutCopyMode = False

              oInitRange.Select

End Sub

 

 

Step 5: Paste the following code in Excel VBA.

  • Press ALT + F11
  • Create a new module named “modEPMAddinAutomation”
  • Add reference to FPMXLClient
  • And paste the code below, this code will invoke the function that will facilitate the creation of named range “rngRowSelection” every time the report is refreshed

 

Function AFTER_REFRESH()

    CreateCheckBox "000"

    AFTER_REFRESH = True

End Function

 

Function BEFORE_REFRESH()

     On Error Resume Next

    Range("rngRowSelection").ClearFormats

   Range("rngRowSelection").Clear

End Function

 

Step 6: Paste the following code in Excel VBA.

  • Press ALT + F11
  • Double click the sheet which contains the report
  • Paste the following

 

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Application.Intersect(Range("rngRowSelection"), Target) Is Nothing Then

    If Target.Value = "P" Then

        Target.Value = ""

    Else

        Target.Value = "P"

    End If

End If

Cancel = True

End Sub

 

Output

The report output will be like the following

 

image004.png

Step by Step Video

 

 

 

Next Session

 

In the session we will cover how to determine the members selected by the users and pass it back to data manager. (How to enable check box for member selection in SAP BPC EPM Add-in reports – Session 2)


How to enable check box for member selection in SAP BPC EPM Add-in reports – Session 2

$
0
0

Introduction

 

This guide demonstrates how to create dynamic member selection from BPC input forms or reports and pass the selection dynamically back for data manager package for execution.  The guide is divided in two parts,

 

  • The first part of this session will illustrate how to create dynamic checkboxes on BPC’s report or input schedules
  • The second part of this session will cover how to determine the members selected by the users and pass it back to data manager

Overall Business Case

 

To facilitate member selection from the EPM Add-in reports using a check box type of functionality. The checkbox should be dynamically applied on the input form or report. The selected members should be used for running a data manger package.

The members of account dimension will be selected by the users from EPM Add-in excel report and the selected members should be pass to data manager - clear package.

Session 2 - Steps

 

Step 1: Follow the session 1 and setup the reports http://scn.sap.com/docs/DOC-59363 as mentioned in the link. You should be looking at an EPM add-in report like below.

 

image001.png

 

 

Step 2: Add the following function in the Excel VBA.

  • Press ALT + F11
  • Add the following function to the module named “modCheckBox” (this module should already exist based on session 1)
  • This function will help to get the selected members as comma separated value

 

Public Function fnGetSelected() As String

  1. Application.Volatile

Dim strWIP, strTmpAddress, strTmp As String

For Each oCell In Range("rngRowSelection").Cells

    If oCell.Value = "P" Then

        strTmp = ""

        strTmpAddress = oCell(1, 2).Formula

        strTmp = Mid(strTmpAddress, InStrRev(strTmpAddress, "[") + 1, InStrRev(strTmpAddress, "]") - InStrRev(strTmpAddress, "[") - 1)

        If strWIP = "" Then

            strWIP = strTmp

        Else

            strWIP = strWIP & "," & strTmp

        End If

    End If

Next oCell

fnGetSelected = strWIP

End Function

 

 

Step 3: Add the following function in the Excel VBA.

  • Press ALT + F11
  • Create a new module named “modPackageAutomation”
  • Add reference to following components

  image002.png

 

 

Public Sub executeDmPackageWithParameters(sPackage As String, sParameters As String)

    createAnswerPromptFile sPackage, sParameters

    Dim objDMautomation As EPMAddInDMAutomation

    Set objDMautomation = New EPMAddInDMAutomation

    objDMautomation.RunPackage objPackageFromSheet(sPackage), strFileName(sPackage)

   

    Dim objEPMAutomation As New EPMAddInAutomation

objEPMAutomation.DataManagerOpenViewStatusDialog

End Sub

Private Function strFileName(strRange As String) As String

    ' Get the range in which the DM package paramteres is set

    Dim rngPackageRange As Range

    Set rngPackageRange = Application.Names(strRange).RefersToRange

    ' Loop through the rows

    For i = 1 To rngPackageRange.Rows.Count

    If rngPackageRange(i, 1).Value = "PromptFile" Then

    strFileName = rngPackageRange(i, 2).Value

    Exit Function

    End If

    Next

End Function

Private Function strPackageDescription(strRange As String) As String

    ' Get the range in which the DM package paramteres is set

    Dim rngPackageRange As Range

    Set rngPackageRange = Application.Names(strRange).RefersToRange

    ' Loop through the rows

    For i = 1 To rngPackageRange.Rows.Count

    If rngPackageRange(i, 1).Value = "PackageId" Then

    strPackageDescription = rngPackageRange(i, 2).Value

    Exit Function

    End If

Next

End Function

Private Function objPackageFromSheet(strRange As String) As ADMPackage

    ' Get the range in which the DM package paramteres is set

    Dim rngPackageRange As Range

    Set rngPackageRange = Application.Names(strRange).RefersToRange

    ' Create the ADM Package object

    Set objPackageFromSheet = New ADMPackage

    ' Loop through the rows

    For i = 1 To rngPackageRange.Rows.Count

    Select Case rngPackageRange(i, 1).Value

    Case "Filename"

    objPackageFromSheet.Filename = rngPackageRange(i, 2).Value

    Case "GroupId"

    objPackageFromSheet.GroupId = rngPackageRange(i, 2).Value

    Case "PackageDesc"

    objPackageFromSheet.PackageDesc = rngPackageRange(i, 2).Value

    Case "PackageId"

    objPackageFromSheet.PackageId = rngPackageRange(i, 2).Value

    Case "PackageType"

    objPackageFromSheet.PackageType = rngPackageRange(i, 2).Value

    Case "TeamId"

    objPackageFromSheet.TeamId = rngPackageRange(i, 2).Value

    Case "UserGroup"

    objPackageFromSheet.UserGroup = rngPackageRange(i, 2).Value

    End Select

    Next

End Function

Private Sub createAnswerPromptFile(strPackageName As String, strParametersName As String)

    ' Create a new XML document

    Dim objDOM As DOMDocument

    Set objDOM = New DOMDocument

    ' Set the processing instruction of the XML document

    Dim objProcessingInstruction As IXMLDOMProcessingInstruction

    Set objProcessingInstruction = objDOM.createProcessingInstruction("xml", " version='1.0' encoding='utf-16'")

    objDOM.appendChild objProcessingInstruction

    ' Create root element

    Dim objRootElem As IXMLDOMElement

    Set objRootElem = objDOM.createElement("ArrayOfAnswerPromptPersistingFormat")

    objDOM.appendChild objRootElem

    ' XSI Attribute

    Dim objMemberRel As IXMLDOMAttribute

    Set objMemberRel = objDOM.createAttribute("xmlns:xsi")

    objMemberRel.NodeValue = "http://www.w3.org/2001/XMLSchema-instance"

    objRootElem.setAttributeNode objMemberRel

    ' XSD Attribute

    Set objMemberRel = objDOM.createAttribute("xmlns:xsd")

    objMemberRel.NodeValue = "http://www.w3.org/2001/XMLSchema"

    objRootElem.setAttributeNode objMemberRel

    ' Get the range of cells containing the parameters

    Dim rngParameters As Range

    Set rngParameters = ThisWorkbook.Names(strParametersName).RefersToRange

    'Excel.Names(strParametersName).RefersToRange

    '

    Dim objCurrentStringPairParent As IXMLDOMElement

   

    ' Loop through each row

    For i = 1 To rngParameters.Rows.Count

    ' See which type of parameter is being passed

    Select Case rngParameters(i, 2).Value

    ' If it is a single Parameter, then add a parameter node to the root node

    Case "Parameter"

    addSingleSelectionParameterToXML rngParameters(i, 1).Value, rngParameters(i, 4).Value, objRootElem, objDOM

    ' If it is a list of values

    Case "StringListPairs"

    ' If it's a new set of String List Pairs, then create a new parent

    If rngParameters(i, 1).Value <> strCurrentStringPair Then

    strCurrentStringPair = rngParameters(i, 1).Value

    Set objCurrentStringPairParent = getStringListPairParent(rngParameters(i, 1).Value, objRootElem, objDOM)

    End If

    ' Add the Dimension Name and Value to the parent

    addStringListPair rngParameters(i, 3).Value, rngParameters(i, 4).Value, objCurrentStringPairParent, objDOM

    End Select

    Next

    ' Create the File object

    Dim objFile As FileSystemObject

    Set objFile = New FileSystemObject

    ' Create a stream to create and write to the file

    Dim objStream As TextStream

    Set objStream = objFile.OpenTextFile(strFileName(strPackageName), ForWriting, True)

   

    ' Write the name of the DM package first and then the XML output

    objStream.WriteLine strPackageDescription(strPackageName) & "{param_separator}" & objDOM.XML

    ' Close the file

    objStream.Close

End Sub

Private Function addStringListPair(strVariableName As String, strValue As String, objParent As IXMLDOMElement, objDOM As DOMDocument)

    ' Create the "StringListPair" node

    Dim objStringListPairElement As IXMLDOMElement

    Set objStringListPairElement = _

objDOM.createElement("StringListPair")

    objParent.appendChild objStringListPairElement

    ' Create the "Str" element containing the variable name

    Dim objStrElement As IXMLDOMElement

    Set objStrElement = objDOM.createElement("str")

    objStringListPairElement.appendChild objStrElement

    objStrElement.Text = strVariableName

    ' Create the "lst" element

    Dim objLstElement As IXMLDOMElement

    Set objLstElement = objDOM.createElement("lst")

    objStringListPairElement.appendChild objLstElement

    ' Create the "string" element containing the variable value

    Dim objStringElement As IXMLDOMElement

    Set objStringElement = objDOM.createElement("string")

    objLstElement.appendChild objStringElement

    objStringElement.Text = strValue

End Function

Private Function getStringListPairParent(strVariableName As String, objParent As IXMLDOMElement, objDOM As DOMDocument) As IXMLDOMElement

 

    ' Create the "AnswerPromptPersistingFormat" node

    Dim objAnswerPromptPersistingFormatElement As IXMLDOMElement

    Set objAnswerPromptPersistingFormatElement = _

objDOM.createElement("AnswerPromptPersistingFormat")

    objParent.appendChild objAnswerPromptPersistingFormatElement

    ' Create the "_ap" node

    Dim objApElement As IXMLDOMElement

    Set objApElement = objDOM.createElement("_ap")

objAnswerPromptPersistingFormatElement.appendChild objApElement

    ' Create the parameter name element

    Dim objParameterElement As IXMLDOMElement

    Set objParameterElement = objDOM.createElement("Name")

    objApElement.appendChild objParameterElement

    objParameterElement.Text = strVariableName

    ' Create the values element

    Dim objValuesElement As IXMLDOMElement

    Set objValuesElement = objDOM.createElement("Values")

    objApElement.appendChild objValuesElement

    ' Create the "_apc" node

    Set getStringListPairParent = objDOM.createElement("_apc")

objAnswerPromptPersistingFormatElement.appendChild getStringListPairParent

End Function

Private Function addSingleSelectionParameterToXML(strVariableName As String, strValue As String, objParent As IXMLDOMElement, objDOM As DOMDocument)

    ' Create the "AnswerPromptPersistingFormat" node

    Dim objAnswerPromptPersistingFormatElement As IXMLDOMElement

    Set objAnswerPromptPersistingFormatElement = _

objDOM.createElement("AnswerPromptPersistingFormat")

    objParent.appendChild objAnswerPromptPersistingFormatElement

    ' Create the "_ap" node

    Dim objApElement As IXMLDOMElement

    Set objApElement = objDOM.createElement("_ap")

objAnswerPromptPersistingFormatElement.appendChild objApElement

   

    ' Create the parameter name element

    Dim objParameterElement As IXMLDOMElement

    Set objParameterElement = objDOM.createElement("Name")

    objApElement.appendChild objParameterElement

    objParameterElement.Text = strVariableName

    ' Create the values element

    Dim objValuesElement As IXMLDOMElement

    Set objValuesElement = objDOM.createElement("Values")

    objApElement.appendChild objValuesElement

    ' Create the string element with the value passed to the parameter

    Dim objStringElement As IXMLDOMElement

    Set objStringElement = objDOM.createElement("string")

    objValuesElement.appendChild objStringElement

    objStringElement.Text = strValue

End Function

 

Step 4: Add the following function in the Excel VBA.

  • Press ALT + F11
  • Add the following function to the module named “modEPMAddinAutomation” (this module should already exist based on session 1)
  • This procedure will aid in running the data manage package using the procedures mentioned in Step 3

 

Sub RunPackage()

    executeDmPackageWithParameters "rngPACKAGE", "rngPARAMETER"

End Sub

 

Step 5: Add a sheet named “PACKAGE” following the document http://scn.sap.com/docs/DOC-32636 .

  • Add a sheet named “PACKAGE”
  • Add two ranges “rngPACKAGE” and “rngPARAMETER” following the steps mentioned in the document
  • Once configured the sheet should contain the following elements (refer the link for more details)

 

Step 6: Add the following formulas in the sheet “PACKAGE”.

  image003.png

image004.png

 

Output

 

image004.png

 

Step by Step Video

 

 

Reference Links

 

Passing parameters to package using VB (http://scn.sap.com/docs/DOC-32636)

How to enable check box for member selection in SAP BPC EPM Add-in reports (http://scn.sap.com/docs/DOC-59363)


What's New in SAP Financial Consolidation 10.0

$
0
0

This interactive paper provides you with insight on the new or improved features available in SAP Financial Consolidation release 10.0.

View this Presentation

SAP E-Bilanz Solutions: Help on ERiC Validation Messages

$
0
0

This document should provide help on ERiC validation messages.

 

ERiC (Elster Rich Client) is provided by the German Tax Authorities and responsible for the validation and submission of the E-Bilanz. As SAP solutions have to integrate that 3rd party component, SAP software is not able to change the official validation messages. However we would like to offer an overview about common messages and possible solutions to solve the error. This list is not supposed to be complete and can not make sure, that the possible help is correct your specific solution, it is rather a collection of expierence.

Generally speaking errors that start bs.**** are valid for the asset positions (Aktiva), errors starting bs.eq for the liability positions (Passiva) and errors starting with is* are valid for Income Statement positions .

 

If you need more help on understanding the eric-error message or you think the error message of eric or taxonomy is wrong, you might need to contact the German authorities.

According to their offical FAQ (http://www.esteuer.de/download/FAQ_Version_2012-01.pdf) these kind of questions need to be adressed to the ELSTER support (https://www.elster.de/nmIQ/avatar_faq.jsp;jsessionid=E10BB19817A9ADE4B1366675AAAC4B50?Input=Hotline&ResponseID=1&iLink=1)

 

Validation MessageExplaination

Die Position 'genInfo.report.id.accordingTo.name' wurde mit der Attributbelegung nil='true' angegeben. Dies ist nicht zulässig, wenn die Positon 'genInfo.report.id.statementType.tax' einen der Auswahlwerte 'genInfo.report.id.statementType.tax.statementTypeTax.SB' oder 'genInfo.report.id.statementType.tax.statementTypeTax.EB' aufweist.„

Wenn als in der Auswahl „Bilanzart steuerlich bei PersG“ „Sonderbilanz oder Ergänzungsbilanz“ angegeben wurde, muss „Name Gesamthand“ befüllt sein.

„Die Position 'genInfo.company.id.location' wurde nicht oder mit der Attributbelegung nil='true' angegeben.“

Die Angabe zum Firmenort darf nicht leer oder nil sein.

Wert der Position 'bs.***' stimmt nicht mit dem Wert der Position 'bs.eqLiab' überein.

Die Bilanz geht nicht auf. Die für die Positionen "Summe Aktiva" und "Summe Passiva" angegebenen Beträge müssen übereinstimmen.

[Position: Bilanz!$H$19] Der für die Summenposition 'http://www.xbrl.de/taxonomies/de-gaap-ci-2010-12-16:bs.***.fixAss.intan.concessionBrands' angegebene Wert entspricht nicht dem auf Basis des Calculation Networks 'http://www.xbrl.org/2003/linkbase, calculationLink, http://www.xbrl.de/taxonomies/de-gaap-ci/role/balanceSheet, http://www.xbrl.org/2003/linkbase, calculationArc, http://www.xbrl.org/2003/arcrole/summation-item' errechneten Summenwert (angegebener Summenwert: 360500.00, berechneter Summenwert: 363500.00). Der Fehler wurde nach Ausführung der Umgliederung/Überleitung festgestellt.

Bei Prüfung der steuerlichen Überleitungsrechnung wurde festgestellt, dass  in der Position „bs.***.fixAss.intan.concessionBrands“360500.00 EUR, statt der berechneten 363500.00 EUR gemeldet wurden.

Dieser Fehler tritt häufig dann auf, wenn man eine steuerliche Überleitung nur auf bebuchbaren Positionen durchführt, sie aber nicht entlang der Positions-Hierarchie nach oben durchzieht.

Die werthaltig angegebene Position 'detailedInformation.accountbalances.positionName' ist keinem der angekündigten Berichtsbestandteile zuzurechnen.Diese Fehlermeldung kommt, wenn man z.b. Kontensalden im Lauf bereitstellt aber im GCD Excel unter Berichtsbestandteile in der Zeile Kontensalden für eine oder mehrere Positionen kein "ja" setzt.

Die Angabe zur Position genInfo.report.id.statementType.tax ist ungültig. Erwartet wird einer der Werte genInfo.report.id.statementType.tax.statementTypeTax.SB oder genInfo.report.id.statementType.tax.statementTypeTax.EB.

Wenn die Position "Name der Gesamthand" werthaltig übermittelt wird, muss die Position "Bilanzart steuerlich" einen der Werte "Sonderbilanz" oder "Ergänzungsbilanz" aufweisen.

Das Problem liegt also darin, dass wir zum Beispiel einen Namen der Gesamthand angegeben haben. Gibt es aber eine Gesamthand (z. B. im Sinne einer OHG-Mutter), so bedeutet das, dass wir gerade für einen Teilbetrieb einer Gesamthand melden. – Ist das der Fall, so müssen wir das in Form einer Sonder- oder Ergänzungsbilanz tun.

Entfernt man den Namen der Gesamthand, so lässt sich wie erwartet mit „Bilanzart steuerlich für Personengesellschaften“ = „Gesamthandsbilanz“ melden.

gaap:is.netIncome.beforeTransfer

  Wird bei Kapitalgesellschaften kein Bilanzgewinn ausgewiesen, so muss der für 'is.netIncome' angegebene Wert mit dem aus den relevanten Einzelangaben berechneten Wert übereinstimmen.

  (Id: 5117050051729,FK: gaap:is.netIncome.beforeTransfer,USB: 000000,MZI: 01,VD: 00001,PK: ,RId: FalscherJahresfehlbetragOhneAusweisDesBilanzgewinns,EId: 170205067)

Dieser Fehler wird dann gemeldet, wenn man in den GCD Daten diese Einstellung gewählt hat.
Bilanz enthält Ausweis des Bilanzgewinns =  Nein

Eric prüft dann, ob die Werte dieser Position der Bilanz genau den Werten aus der GUV für das GJ entspricht. Hat man hier ein Konto zugewiesen und vergessen zum Beispiel die Jahresüberschuß-Werte aus den Vorjahren umzubuchen, dann bringt das System den Fehler.

ERIC_TRANSFER_ERR_CONNECTSERVER

this error usually means, that ERiC can not communicated with the German Authority Server.

There could be different reasons:

1) A proxy ia required in that network to access internet
2) A firewall is blocking access to to the authorities server over the internet
3) A general server error on authorities side (quite unlikely)

$gcd:genInfo.company.id.idNo.type.companyId.STID/1.1$': ungültige IdentifikationsnummerA wrong Tax-Number is used (on masterdata or shareholder-Sheet).  Eric requires to use always

the "bundeseinheitliche Steuernummer" verwendet werden - Detailsunter: http://de.wikipedia.org/wiki/Steuernummer

Über die Base URI 'E-Bilanz-Instanz-Dokument' wurde eine nicht unterstützte Ressource angefordert' ('http://www.xbrl.de/taxonomies/de-gcd-2012-06-01/de-gcd-2012-06-01-shell.xsd')Falsche Kombination ERIC  Version und GCD / GAAP Excel Version - ERIC 16 und Taxonomie 5.1 werfen den Fehler aus.

Fehler im Feld/Abschnitt: genInfo.company.id.parent oder genInfo.company.id.parent.idNo

  Es wurde kein Wert für das Feld angegeben.

Infos zur Muttergesellschaft fehlen im GCD.
Die Position 'genInfo.report.id.incomeStatementendswithBalProfit' wurde nicht oder mit der Attributbelegung nil='true' angegeben.Die Position "Bilanz enthält Ausweis des Bilanzgewinns" muss werthaltig übermittelt werden.Es muss eine Auswahl getroffen werden.
Die Position 'genInfo.report.id.revisionStatus' wurde nicht oder mit der Attributbelegung nil='true' angegeben.Die Position "Berichtsstatus" muss werthaltig übermittelt werden. Es muss eine Auswahl getroffen werden.
Die Position 'genInfo.report.id.statementType' wurde nicht oder mit der Attributbelegung nil='true' angegeben.Die Position "Bilanzart" muss werthaltig übermittelt werden. Es muss eine Auswahl getroffen werden.
Die Position 'genInfo.report.period.balSheetClosingDate' wurde nicht oder mit der Attributbelegung nil='true' angegeben.Die Position "Bilanzstichtag" muss werthaltig übermittelt werden.
Beim vorliegenden Wert der Position 'genInfo.report.id.statementType' muss auch eine der Positionen 'genInfo.company.id.idNo.type.companyId.BF4' oder 'genInfo.company.id.idNo.type.companyId.ST13' angegeben werden. Angabe mit der Attributbelegung nil='true' ist nicht hinreichend.

Wenn bei Eröffnungsbilanzen keine Angabe zur Position "13-stellige Steuernummer" vorliegt, so muss die Position "4-stellige Bundesfinanzamtsnummer - nur bei Eröffnungsbilanz, wenn StNr. nicht bekannt" werthaltig angegeben werden.

Bei allen Bilanzarten außer "Eröffnungsbilanz" muss für das Unternehmen eine werthaltige Angabe zur Position "13-stellige Steuernummer" vorliegen.

Die unter  'genInfo.company.id.idNo.type.companyId.BF4' angegebene Bundesfinanzamtsnummer stimmt nicht mit der unter 'Empfaenger' angegebenen überein.In den Nutzdaten angegebene FA-Nummer des für das Unternehmen zuständigen Finanzamts muss mit Angabe der Finanzamtsnummer im Nutzdaten-Header übereinstimmen.
Die unter  'genInfo.company.id.idNo.type.companyId.ST13' angegebene Steuernummer passt nicht zur unter 'Empfaenger' angegebenen Bundesfinanzamtsnummer.In den Nutzdaten angegebene Steuernummer des Unternehmens muss zur Angabe der Finanzamtsnummer im Nutzdaten-Header passen.

Die Position 'genInfo.company.id.location.city' wurde nicht oder mit der Attributbelegung nil='true' angegeben. - Gleiche Fehlermeldung für folgende Felder:

'genInfo.company.id.location.zipCode'

'genInfo.company.id.location.street'

'genInfo.report.id.consolidationRange'

'genInfo.report.id.accordingTo.name'

'genInfo.company.id.legalStatus'

'genInfo.company.id.name'

Die Positionen müssen für Ort, Firmensitz, PLZ, Firmensitz, Straße, Firmentsitz, Konsolidierungsumfang, Name Gesamthand, Rechtsform des Unternehmens, Name des Unternehmens werthaltig übermittelt werden.
Die Summe der aus den Gesellschafter-bezogenen Zahlangaben für 'genInfo.company.id.shareholder.ShareDivideKey.numerator' und 'genInfo.company.id.shareholder.ShareDivideKey.denominator' gebildeten Quotienten unterschreitet den Wert 1.

Die Summe der Beteiligungsschlüssel aller Gesellschafter soll den Wert 1 nicht unterschreiten.

Aus den Werten im Feld Zähler und Nenner aller Gesellschafter wird der Quotient errechnet und alle Werte müssen gemeinsam den Wert 1 ergeben bzw. dürfen 1 nicht unterschreiten.

Das unter 'genInfo.report.period.fiscalYearBegin' angegebene Datum fällt in den Zeitraum vor dem 1. Januar 2012.Bei Berichten, die nicht als Eröffnungsbilanzen zu kategorisieren sind, muss der angegebene Beginn des Wirtschaftsjahres auf einen Tag nach dem 31.12.2011 fallen.
Das unter 'genInfo.report.period.balSheetClosingDate' angegebene Datum fällt in den Zeitraum vor dem 1. Januar 2012.Bei Berichten, die als Eröffnungsbilanzen zu kategorisieren sind, muss der angegebene Bilanzstichtag in den Zeitraum nach dem 31.12.2011 fallen.
Die Position 'genInfo.report.id.incomeStatementFormat' wurde entweder mit der Attributbelegung nil='true' oder mit einem ungültigen Wert angegeben.Die Position  "GuV Format" muss mit einem der Werte "Gesamtkostenverfahren" oder "Umsatzkostenverfahren" berichtet werden.

Die Position 'is.netIncome.regular.operatingTC' wude werthaltig angegeben, obwohl GuV-Format ('genInfo.report.id.incomeStatementFormat') mit 'Umsatzkostenverfahren'

('genInfo.report.id.incomeStatementFormat.incomeStatementFormat.UKV') angegeben wurde.

Die Position "Betriebsergebnis (GKV)" darf nicht werthaltig angegeben werden, wenn GuV-Format mit "Umsatzkostenverfahren" angegeben wurde.

Die Position 'is.netIncome.regular.operatingCOGS' wude werthaltig angegeben, obwohl GuV-Format ('genInfo.report.id.incomeStatementFormat') mit 'Gesamtkostenverfahren'

('genInfo.report.id.incomeStatementFormat.incomeStatementFormat.GKV') angegeben wurde.

Die Position "Betriebsergebnis (Umsatzkosten)" darf nicht werthaltig angegeben werden, wenn GuV-Format mit "Gesamtkostenverfahren" angegeben wurde.

Wird bei Kapitalgesellschaften ein Bilanzgewinn ausgewiesen, muss der Wert der Position 'bs.eqLiab.equity.profitLoss' mit dem der Position 'incomeUse.gainLoss' übereinstimmen und der Wert der Position 'incomeUse.gainLoss.netIncome' mit dem der Position 'is.netIncome'.

Fehlermeldung aus dem ERP stand-alone client:

Wird bei Kapitalgesellschaften ein Bilanzgewinn ausgewiesen, muss der Wert der Position 'Bilanzgewinn / Bilanzverlust' mit dem der Position 'Bilanzgewinn / Bilanzverlust' übereinstimmen und der Wert der Position 'Jahresüberschuss/-fehlbetrag' mit dem der Position 'Jahresüberschuss/-fehlbetrag'.

Wird bei Kapitalgesellschaften ein Bilanzgewinn ausgewiesen, so müssen die Angaben zu "Bilanzgewinn / Bilanzverlust (Bilanz)" und "Bilanzgewinn / Bilanzverlust (GuV)" sowie die Angaben zu "Jahresüberschuss/-fehlbetrag (Ergebnisverwendung)" und "Jahresüberschuss/-fehlbetrag (GuV)" übereinstimmen.
Diese Prüfung wird durchgeführt, wenn der Schalter "Bilanz enthält Ausweis des Bilanzgewinns
(genInfo.report.id.incomeStatementendswithBalProfit)
" auf ja gesetzt ist
Der Berichtsbestandteil 'Ergebnisverwendung' wird nicht angezeigt, obwohl die Position 'genInfo.report.id.incomeStatementendswithBalProfit' mit 'true' oder '1' angegeben wurde.Falls die Position "Bilanz enthält Ausweis des Bilanzgewinns" mit "ja" angegeben wurde, muss der Berichtsbestandteil "Ergebnisverwendung" angezeigt werden.
Es wurde ein steuerlicher Gewinn ausgewiesen (Position 'DeterminationOfTaxableIncomeSpec.forProfitOrganization.taxableIncome'), ohne Angaben zur Gewinnermittlung zu machen (Position 'DeterminationOfTaxableIncomeSpec.forProfitOrganization.determinationOfTaxableIncome').Wird durch werthaltige Angabe der Position "steuerlicher Gewinn" im Bereich "steuerliche Gewinnermittlung für wirtschaftliche Geschäftsbetriebe" ein steuerlicher Gewinn ausgewiesen, so muss eine werthaltige Angabe zur zugehörigen Position "steuerliche Gewinnermittlung" vorliegen.

Issues of 'Entity Property Filter' in Elimination header

$
0
0

In this article,I would like to explain the behavior change introduced by note 1671219.

 

When customers configuring BPC consolidation business rule to do internal elimination, sometimes they want to configure a particular rule to be
applicable to only particular selected entities. In this scenario, they can utilize the ‘Entity Property Filter' field in Elimination header of the
‘Elimination and Adjustments’ rule.

 

1.png

In 10.0 SP07 (before note 1671219), system take the specified property from both E-type dimenion and I-type dimension. For example:

 

 


Entity


Property:EQUITY_SAP


Intercompany


Property:EQUITY_SAP

 

CO_01


Y


TP_01


Y

 

CO_02


Y


TP_02


Y

 

CO_13


Y


TP_13


Y

 

CO_93


Y


TP_93


Y

 

CO_B01


N


TP_B01

 

CO_B02


N


TP_B02

 

CO_B03


N


TP_B03

 

CO_B04


N


TP_B04

 

CO_B05


N


TP_B05

 

CO_B06


N


TP_B06

 

CO_B07


N


TP_B07

 

CO_B08


N


TP_B08

 

 

If the property ‘EQUITY_SAP’ is set to be filter, then data with entity on CO_01~CO_93 and intercompany on TP_01~TP_93 can be selected for the
rule because the property values are equal. But for CO_B01 to CO_B08 and TP_B01 to TP_B08, they are not because they are not equal (N not equal  empty).

 

Note 1671219 introduced a behavior change (enhancement).

 

Some customers think it is duplicate effort to maintain this in both Entity dimension and intercompany dimension. With this note, it is
sufficient to maintain the property in entity dimension only, like below:

 

 


Entity


Property:EQUITY_SAP


Intercompany


Property:EQUITY_SAP


CO_01


Y


TP_01


CO_02


Y


TP_02


CO_13


Y


TP_13


CO_93


Y


TP_93


CO_B01


N

 

 

       TP_B01


CO_B02


N

 

 

      TP_B02


CO_B03


N

 

 

       TP_B03


CO_B04


N

 

 

       TP_B04


CO_B05


N

 

 

        TP_B05


CO_B06


N

 

 

       TP_B06


CO_B07


N

 

 

      TP_B07


CO_B08


N

 

 

   TP_B08

 

However, with this enhancement some customers run into a problem.

 

In two different rules, they want to use two different properties to do the filtering, so they have configured two rules .Rule1 set Property’EQUITY_NON’
as the filter and rule2 set ’EQUITY_SAP’ as the filter.The dimension values are set like below:

 

 


Entity


Property1:EQUITY_NON


Propety2:EQUITY_SAP

 

CO_01

 

 

                  Y

 

CO_02

 

 

                  Y

 

CO_13

 

 

                  Y

 

CO_93

 

 

                   Y

 

CO_B01


Y

 

CO_B02


Y

 

CO_B03


Y

 

CO_B04


Y

 

CO_B05


Y

 

CO_B06


Y

 

CO_B07


Y

 

CO_B08


Y

 

What they expect is: the Entities whose value of Property ’EQUITY_NON’ is Y will be selected for rule1 and the Entities whose value of Property
’EQUITY_SAP’ is Y will be selected for rule2.

 

But when executing rule1, Entities from CO_01 to CO_ALL are considered and eliminated .The same issue occurs to rule2 too.

 

This is because Entities from CO_01 to CO_ALL has the same empty value.

 

To overcome the empty value problem, the suggested solution is:

 

Set dimension values like below:

 

 

 

       Entity


Property1:EQUITY_NON


Propety2:EQUITY_SAP

 

CO_01


A


Y

 

CO_02


B


Y


CO_13


C


Y


CO_93


D


Y


CO_ALL


E


Y


CO_B01


Y


A


CO_B02


Y


B


CO_B03


Y


C


CO_B04


Y


D


CO_B05


Y


E


CO_B06


Y


F


CO_B07


Y


G


CO_B08


Y


H

 

 

 

The idea is: Not to have blank(empty value) for the property.Use 'ABCD..' or '1234' to differentiate each entity.

 

In this way, when executing rule1, entities from CO_B01 to CO_B08 are considered and eliminated .

 

When executing rule2, entities from CO_01 to CO_ALL are considered and eliminated.

Improving Script Logic Performance - Usage of *FOR/*NEXT loop

$
0
0

Introduction

 

This document covers some of the common mistakes found in using FOR/NEXT loop as part of the BPC Script logic. These mistakes may cause the script logic to run slower and consume the system resources. Although these mistakes produce the desired results, invariably they cause performance issues in production. This document details how to identify and rectify them.

 

Disclaimer: This is based on author's personal experience with script logic; the readers are advised to exercise their judgement while putting this in use.

 

Definition of *FOR/NEXT

 

Script logic variables can consist of one or more dimension member values in a reference list. In the following example, the variable %Q1% is defined in the *FOR statement as consisting of the three dimension members: 2006.JAN, 2006.FEB, 2006.MAR:

 

*FOR %Q1% = 2006.JAN, 2006.FEB, 2006.MAR

 

The *FOR command is followed by a *NEXT command to establish a process loop. The intent when using a *FOR/*NEXT is to define a variable with one or more values, then cycle through each member of the variable list one at a time.

 

General Mistakes

Pitfall 1: Using FOR loop to call business rules

 

For loops shouldn't be used to call the business rules recursively.  Observe the code below.

 

P1.1

image005.jpg

*FOR %PER% = 2011.01,2011.02,2011.03,2011.04,2011.05,2011.06

                *RUN_PROGRAM CALC_ACCOUNT

                                CATEGORY = Actual

                                CURRENCY = LC

                                TIME = %PER%

                                CALC = TEST

                *ENDRUN_PROGRAM

*NEXT

 

The code P1.1 will call business rule CALC_ACCOUNT 6 time recursively. This increases the IO and slows down the calculation. In most circumstances the goal should be to reduce the IO.  The following approach would be preferred.

 

P1.2

image006.jpg

*RUN_PROGRAM CALC_ACCOUNT

                CATEGORY = Actual

                CURRENCY = LC

                TIME = 2011.01,2011.02,2011.03,2011.04,2011.05,2011.06

                CALC = TEST

*ENDRUN_PROGRAM

 

The code P1.2 will call the business rule CALC_ACCOUNT only one time. This keeps the IO to lowest.

Pitfall 2: Using *FOR loop in place of *XDIM Filters

 

FOR loops shouldn't be used to filter data, instead using *XDIM_MEMBERSET would the correct approach.   Observe the code below.

 

P2.1

image005.jpg

*XDIM_MEMBERSET ACCOUNT = PL010

*XDIM_MEMBERSET TIME = 2011.01,2011.02,2011.03,2011.04,2011.05,2011.06,2011.07

 

*FOR %PER% = 2011.01,2011.02,2011.03

                *WHEN ACCOUNT

                *IS PL010

                                *WHEN TIME

                                *IS %PER%

                                                *REC(ACCOUNT = PL020)

                                *ENDWHEN

                *ENDWHEN

*NEXT

 

The code P2.1 filters out extra periods selected by the XDIM filter using the FOR statement.  This increases the IO and slows down the calculation. To reduce the IO and calculation overhead the following approach would be preferred.

 

P2.2

image006.jpg

*XDIM_MEMBERSET ACCOUNT = PL010

*XDIM_MEMBERSET TIME = 2011.01,2011.02,2011.03

 

*WHEN TIME

*IS *

        *REC(ACCOUNT  = PL020))

*ENDWHEN

 

The code P2.2 will produce the identical results that of code P1.1 but will run significantly faster.

 

Pitfall 3: Using FOR Loop with TMVL function

 

Sometimes while using TMVL function, especially with the time dimension, the usage of FOR loop becomes inevitable.

 

P3.1

image005.jpg

*XDIM_MEMBERSET ACCOUNT = PL010

*XDIM_MEMBERSET TIME = 2011.01,2011.02,2011.03,2011.04,2011.05,2011.06

 

*FOR %PER% = 2011.01,2011.02,2011.03,2011.04,2011.05,2011.06

                *WHEN ACCOUNT

                *IS PL010

                                *WHEN TIME

                                *IS %PER%

                                                *REC(ACCOUNT  = PL020, TIME = TMVL(1,%PER%))

                                *ENDWHEN

                *ENDWHEN

*NEXT

 

The code P3.1 uses the FOR loop to provide %PER% variable to TMVL function.  In the process the code makes recursive calls to WHEN statement.

 

P3.2

image006.jpg

*XDIM_MEMBERSET ACCOUNT = PL010

*XDIM_MEMBERSET TIME = 2011.01,2011.02,2011.03,2011.04,2011.05,2011.06

 

*WHEN TIME

*FOR %PER% = 2011.01,2011.02,2011.03,2011.04,2011.05,2011.06

*IS %PER%

                *REC(ACCOUNT  = PL020,TIME =  TMVL(1,%PER%))

*NEXT

*ENDWHEN

 

The code P3.2 will produce the identical results that of code P3.1 but will run significantly faster. The reason for this is explained in the next example. But in short, P3.2 uses only one WHEN statement while code P3.1 uses multiple WHEN statement

 

Pitfall 4: Using FOR Loop to outside WHEN statement

 

When FOR loop is used outside the WHEN statement, the system produces multiple WHEN / ENDWHEN blocks during code compilation and execution. This creates substantial overhead on the system and should be avoided. Avoid wrapping WHEN statement inside a for loop.

 

In the example below data from one period (2011.01) is being copied for 6 other periods. 


P4.1

image005.jpg

*XDIM_MEMBERSET ACCOUNT = PL010

*XDIM_MEMBERSET TIME = 2011.01

 

*FOR %PER% = 2011.01,2011.02,2011.03,2011.04,2011.05,2011.06

                *WHEN ACCOUNT

                *IS PL010

                                *REC(ACCOUNT  = PL020, TIME = %PER%)

                *ENDWHEN

*NEXT

 

The code P4.1 uses the FOR loop outside the WHEN statement, this although is not wrong syntactically but creates the following code during execution.

 

*XDIM_MEMBERSET ACCOUNT = PL010

*XDIM_MEMBERSET TIME = 2011.01

 

*WHEN ACCOUNT

*IS PL010

                *REC(ACCOUNT = PL020, TIME = 2011.01)

*ENDWHEN


{…..}


*WHEN ACCOUNT

*IS PL010

                *REC(ACCOUNT = PL020, TIME = 2011.06)

*ENDWHEN

 

P4.2

image006.jpg

*XDIM_MEMBERSET ACCOUNT = PL010

*XDIM_MEMBERSET TIME = 2011.01

 

*WHEN ACCOUNT

*IS PL010

                *FOR %PER% = 2011.01,2011.02,2011.03,2011.04,2011.05,2011.06

                                *REC(ACCOUNT  = PL020, TIME = %PER%)

                *NEXT

*ENDWHEN

 

The code P4.2 will read the data only once as it produces only one *WHEN/*ENDWHEN statement and avoids creating multiple reads and loops. The code P4.2 when compiled will look like the following.

 

*XDIM_MEMBERSET ACCOUNT = PL010

*XDIM_MEMBERSET TIME = 2011.01

*WHEN ACCOUNT

*IS PL010

*REC(ACCOUNT = PL020, TIME = 2011.01)


{…}


*REC(ACCOUNT = PL020, TIME = 2011.06)

*ENDWHEN

 

Conclusion

 

While using FOR loop it is necessary to avoid wrapping  WHEN/ENDWHEN with the FOR loop. Most importantly, the key message is to understand how the system compiles and executes the code. The best way to see that is to validate the code in UJKT. Using other logging mechanism and monitoring transactions can also aide in the process.

 

image010.jpg

SAP® Financial Consolidation Starter Kit for IFRS, Regulation Update

$
0
0

The objective of this document is to describe the updates to be implemented within SAP® Financial Consolidation starter kit for IFRS (International Financial Reporting Standards) according to the new and revised standards issued in 2014 by the International Accounting Standards Board (IASB).

View this Document

EPM Events Calender

$
0
0

Webinars, Workshops and Events - all about SAP Predictive Analysis. Subscribe to stay up-to-date!

SAP Enterprise Performance Management (EPM)* - Webinars

Tuesdays, 7am PDT

 

The SAP EPM webinars offer interactive presentations on a variety of EPM topics. The content is presented by experts from SAP and SAP's broad partner & customer ecosystem.These sessions include extensive live EPM product(s) demonstrations to showcase the best use of the product. One hour of time that you invest in this training session can have far-reaching impact on the business tasks which you perform today. You will leave ready to try it out on your own and delight your users!


Please subscribe to email notifications for this page to be kept informed of the latest events. All webinar timings and dates are subject to change.

 

Registrations open no later than a week before the actual event.

 

Upcoming Webinars - Registrations

DatePresenter
registration 2.png

Introduction and Overview to SAP EPM Solutions

May 19PD
registration 2.pngSAP Cloud for Planning OverviewJun 2CO
registration 2.pngSAP Business Planning and Consolidation 10.1 NW VersionJun 23RJ

 

 

 

 

* Also know as Corporate Performance Management (CPM)

More Webinars:BI Upgrade |SAP Predictive | Lumira |Design Studio | | Web IDE 


SAP BPC 10.1 Unified- Integrating Planning Function

$
0
0

Document Objective

 

This document describes about how to create and integrate planning objects like planning function/sequences in EPM Addin Excel Interface in BPC 10.1 Embedded model.

 

Introduction

 

Overview

 

SAP has introduced the new version of SAP BPC (“Embedded”) as part of new release 10.1. SAP BPC 10.1 comes with two separate versions:

 

SAP BPC 10.1 Classic

SAP BPC 10.1 Embedded

 

This whitepaper covers details of BPC 10.1 Embedded model and describes how to integrate planning function/sequences with EPM Addin Report. SAP BPC 10.1 Embedded version is not extension of SAP BPC 10.0 but can be considered as extension of BI-IP PAK where SAP has tried to integrate best of both worlds (SAP BPC and BI-IP). SAP BPC 10.1 Embedded is still new and not all functionality has been integrated in current version. However, there are many advantages of Embedded model.

Advantages of Embedded Version

  • Optimized planning functions leveraging SAP HANA for better, more timely decisions
  • Leverages existing the SAP Business Warehouse (SAP BW) application’s integrated planning models and

benefit from SAP HANA acceleration in addition to new capabilities

  • New HTML5 UI for easier navigation and cross-platform readiness
  • New modeling capabilities with tighter integration into SAP BW and SAP ERP

BPC Unified Architecture

 

With SAP BPC NW 10.1 a new architecture has been introduced that combines the strengths of both worlds. As shown below, the “Embedded Model” architecture is different from that of Classic Model. Embedded Model uses reporting and planning capabilities of BW as well as its data warehousing and data management. The collaboration-capabilities are that from SAP BW (orange component). The BPC HTML5 web-client has also moved to SAP BW and connects ‘Embedded’ models for modeling and runtime. In addition a new interface is

  contained in SAP BW to connect to the EPM add-in, in addition to the existing connections to Analysis Office and Design Studio. Finally SAP HANA is mandatory for the BPC ‘embedded’ model to facilitate best performance on highly flexible data models.


 

  Figure: BPC 10.1 Architecture

 

*http://scn.sap.com/community/data-warehousing/business-planning/blog/2013/12/23/unifying-bpc-nw-and-bw-ip

 

BPC Embedded Pre-requisite

 

SAP BPC Embedded model requires SAP NetWeaver BW 7.4 SP05 as a basis for the software installation as well as SAP UI5 1.16. SAP EPM 10.0 add-in is still used with the new SAP BPC 10.1 back-end, although SP18 onwards should be used to connect from EPM Addin. Windows XP through to Windows 8 are supported, with MS Office 2003, 2007, 2010 and 2013.

 

 

For the Unified version, a different Excel Addin connection is used – INA Provider

 

 

SAP BW (INA Provider)

 

 

For Connecting BPC Addin we used SP 19 Patch 1


19.jpg

Figure : EPM Addin INA Provider


INA connections can be used to

  • Work with BW queries (with or without variables).
  • Retrieve data, using reports.
  • Enter and save data, using input forms.
  • Execute planning function for BW Integrated Planning.

 

 

Each time INA Provider connection is used, a query needs to be selected. Once selected, the

Report is automatically displayed with the query definition as it is defined in Bex Analyzer.


Modeling

Embedded Environment

1111.jpg

Figure : Embedded Environment Type


Embedded Model

 

As shown below, embedded environment created, next steps is to create the Models

 

2.jpg

Figure :  Embedded Model

  In embedded world, realtime info-cube and corresponding aggregation levels needs to be created before creating the BPC Embedded Model


5.jpg

Figure :  Real Time Info cube

6.jpg

Figure :  Aggregation Level


Note: Use Transaction RSPLAN for creating unified objects like aggregation level, filters, planning functions, planning sequences

  The next step is to create the BPC Model. While doing so, aggregation level or Info-cube needs to be selected which was created in the previous step


3.jpg

Figure :Embedded Model


Embedded Planning Objects

 

Transaction RSPLAN is used for creating Embedded planning objects. Planning objects are of following types:

 

  1. Info Providers
  2. Aggregation Levels
  3. Filters
  4. Planning Function
  5. Planning Sequence

Info Providers


7.jpg

Figure :RSPLAN Info provider


Filters

Untitled.jpg

Figure :RSPLAN Filters


Planning Functions

BPC embedded has pre-built in functions that can be configured based on requirement. For custom codes/scripts, separate planning type like Formula/Exits can be used. Fox code is similar to BPC scripts.


9.jpg

Figure :RSPLAN Planning Function (COPY)  

 

Planning Functions

Planning sequence is used to combine multiple functions to be executed in sequential manner. Planning sequence requires aggregation level, filter and planning function. Planning functions are executed based on the sequential steps.


12.jpg

Figure :RSPLAN Planning Sequence

 

Embedded Query

For integrating Embedded planning objects created above with EPM Addin, an input ready query needs to be created on the aggregation level. The query can be called from the Excel front end along with other planning objects like planning sequences or planning functions

13.jpg

Figure : Input Ready Query


  EPM Add-In Connection:

Integrating Report

  For EPM Addin integration, Input ready query created from previous steps can be searched and displayed in

Addin excel interface.


20.jpg

Figure : EPM Addin Query Selection

 

21.jpg

Figure : EPM Addin Query Selection

 

rep.jpg

Figure :Report Layout based on Query


Integrating Planning Functions

 

Planning sequences/functions can be integrated using the new tab “Planning Objects Tab”. The planning objects can be searched and easily integrated in EPM Addin excel interface using planning objects Tab.

test.jpg

Figure : EPM Addin Planning Objects


test.jpg

Figure : Search Planning Function


Based on the planning function definition, variables and filters can be modified at run time. As shown below, variables (Source, Target) for planning function (copy) is changed

Untitled1.jpg

Figure : Planning Variables



Filters used can also be changed at runtime.

41.jpg

Figure :Planning Filters


  Planning function can be executed using new EPM API’s ExecutePlanningFunction. In this example a macro is used to call the API and the Marco is assigned to a button created in Excel Interface

42.jpg

Figure :Planning Function Macro


Macro for Run the planning function:

Sub PlanningFun() Dim api As Object

Set api = Application.COMAddIns("FPMXLClient.Connect").Object api.ExecutePlanningFunction"PF_1"

End Sub

 

Once button is clicked, the planning function is executed successfully

43.jpg

Planning Function Execution


44.jpg

Figure :EPM Addin Menu

 

Integrating Planning Sequences

45.jpg

Figure :Planning Sequence

 

Integrating Planning Sequences

46.jpg

Figure :Planning Sequence Execution


Macro for Run the planning sequence:

Sub PlanningSeq() Dim api As Object

Set api = Application.COMAddIns("FPMXLClient.Connect").Object api.ExecutePlanningSequence "PS_1"

End Sub

 

References:

 

 

Glossary:

 

  • BPC Embedded: New BPC unified environment
  • BPC Classic: Standard BPC environment as in previous versions like 10.0
  • Aggregation Level: An aggregation level is defined by a set of characteristics and key figures of the underlying Info Provider
  • Planning Filter: A filter is an object that describes a multidimensional extract of data from a data set
  • Planning Function: A planning function describes how the transaction data of a specific aggregation level is changed
  • Planning Sequence: Planning sequences are used in BW-Integrated Planning to group planning

functions

  • Variables: Variables act as placeholders for characteristic values, hierarchies, hierarchy nodes, texts, and formula elements, and can be processed in many different ways
  • Input Ready Query: Input-ready queries are used to create applications for manual planning. These can

range from simple data entry scenarios to complex planning applications

  • Info-Providers: Info Providers contain real-time Info Cubes and Data Store objects for direct updates in planning mode
  • API: Perform some tasks (such as reporting and input tasks or user interface actions) by using the

provided APIs in Microsoft Visual Basic for Applications (VBA)

  • PAK: Planning Application Kit

What's new in SAP Financial Consolidation 10.1

$
0
0

We periodically release updates for SAP Financial Consolidation to include new features, the latest security protection, and the best integration with both ERP, enterprise performance management (EPM) and business intelligence (BI) software. This document describes the major updates available in SAP Financial Consolidation release 10.1.

View this Presentation

Create Master Data on the Fly in SAP BusinessObjects Planning and Consolidation 10.1 NW, version for NetWeaver

$
0
0

This How-To-Guide presents and walks through steps to create Master Data on the fly using SAP BPC 10.x, NetWeaver Platform Data Manager package.

 

 

Traditionally BPC administrators create and maintain dimensions and their members in the BPC Administration web client to ensure governance and consistency of master data across all applications.

However under certain circumstances, it may be necessary to allow end users to create master data values themselves “on the fly” rather than having to wait for a central administrator to do it for them.

 

View Document

How-To Guide: Dynamically Enable EPM Add-in For Microsoft Office Tools

$
0
0

This paper describes how to dynamically enable EPM Add-in for all supported Microsoft Tools like Excel, Word and Power-point.

i.e. if user launches EPM directly from Microsoft Office tools, then this add-in should be in ‘Inactive Mode’, but if user launches EPM through Web, then this add-in would be in ‘Active Mode’.

 

This helps to open these Microsoft Tools faster, when user want to open these tools for their day to day work.

How to Pass Data Manager Selections(Scope) to Stored Procedure - SAP BPC MS

$
0
0

Introduction

 

This document covers the approach of passing scope/prompt from SAP BPC data manager package to SQL Server stored procedure. This applies to all versions of SAP BPC Version for Microsoft. This approach can be used as an alternate to the approach specified in my earlier document on How to Pass Parameters to SSIS package.

Business Case

 

The business case is to pass the parameters from SAP BPC data manager package to a stored procedure.  The BPC users will pass the scope (selections) via the data manager prompts. This selection will be passed to a stored procedure via the data manager package. The stored procedure will receive the scope(selections) from BPC data manager package and store it to a table.

BPC Setup

 

BPC model with the following structure

Environment Name: BADSHELL

Model Name: Planning

 

image002.jpg

 

Development Details


Step 1: Create a scope table to receive the scope (selections) passed from SQL Server. This table will be used to receive the parameters passed from the BPC data manager package.  Execute the following script in the SQL Server side.

 

USE[BADSHELL]

GO

 

CREATETABLE[DBO].[BPC_SCOPE](

       [SCOPETBL][NVARCHAR](100)NULL,

       [DIMENSION][NVARCHAR](32)NULL,

       [MEMBER][NVARCHAR](32)NULL

)ON[PRIMARY]

 

GO


Step 2: Create stored procedure. This stored procedure will receive the selection from BPC and store it in a table (BPC_SCOPE). This table can be used in the further operations like a filter table. To facilitate parallel call of the data manager package this table (BPC_SCOPE) should always be used with the filter SCOPETBL = @SCOPETABLE.

 

Execute the following script in the SQL Server side. Please read the comments and insert your code...


USE[BADSHELL]

GO

 

CREATEPROCEDURE[DBO].[USP_CALC_BLOG]

(

@SCOPETABLEVARCHAR(50)

)

AS

BEGIN

 

EXEC('INSERT INTO [BPC_SCOPE] SELECT '''+@SCOPETABLE+''', DIMENSION, MEMBER FROM '+@SCOPETABLE)

 

       /*

       INSERT YOUR CODE HERE, YOU CAN USE THE BPC_SCOPE TABLE TO FILTER RECORDS

       TO MAKE SURE WE ISOLATE CONCURRENT EXECUTION USE THE VARIABLE  @SCOPETABLE

       TO FILTER BPC_SCOPE TABLE.

       */

 

       /*

       FINALLY YOU CAN DELETE ALL THE RECORDS IN THE BPC_SCOPE TABLE

       DELETE FROM BPC_SCOPE WHERE SCOPETBL = @SCOPETABLE

       */

 

END

 

Step 3: Create BPC script logic to call the stored procedure. %SCOPETABLE% variable passes the parameter table to the stored procedure.

 

image004.jpg

 

Step 4: Create data manager package to invoke the script logic

On the web server side, copy the standard “Default Formulas” data manager package (BLOG_10)

 

image006.jpg


Configure the package in the data manager interface in EPM add-in for excel. Go to Data Manager >> Organize package list >> Add package and select the copied package

 

image008.jpg

 

Modify the package and add the following by specifying following script

 

image010.jpg

 

Step 5:  Execute data manager package by selecting prompts

 

image012.jpg

 

Step 6:  Check the results

 

image013.png

 

Important Notes

 

  • Add necessary dimensions to the data manager prompt
  • Clear the scope table after the calculation (note SQL section commented in the document)
  • Set up appropriate database security and connection credentials as suited to your need
  • For further reference refer to SAP’s help documentation

 

Reference Links

 

How to pass a custom parameter to Data Manager Package

SAP BPC MS: Passing Data Manager Selection (Scope) to SSIS Package

Viewing all 125 articles
Browse latest View live


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>