This interactive paper provides you with insight on the new or improved features available in SAP Financial Consolidation release 10.0.
What's New in SAP Financial Consolidation 10.0
SAP E-Bilanz Solutions: Help on ERiC Validation Messages
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 Message | Explaination |
---|---|
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. 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 |
$gcd:genInfo.company.id.idNo.type.companyId.STID/1.1$': ungültige Identifikationsnummer | A 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
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_*’
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.
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.
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.
The comprehensive view for administrators of the input sheet
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.
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.
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.
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*)“
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.
- 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.
First we define global constants:
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().
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.
Next we check the quantity of reported rows and store this information in the relevant variable.
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).
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”)
The last step in this sub is to reactivate the Excel functions – screen updating, enable events and set calculation approach to automatic.
Finally we need a function to run our macro – sub removeRows() – after an EPM-Refresh.
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.
IV. New Result
Successional the new view for administrators by the use of sub ‘removeRows’:
for SALES_1:
as you can see, the rows 5-22 are hidden in the Excel worksheet
SALES_2:
as you can see, the rows 5-16 are hidden in the Excel worksheet
and SALES_3:
as you can see, the rows 17-34 are hidden in the Excel worksheet
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
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
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.
4.2 Successful execution on Copy ERP to IBP displayed to the user who executes the Copy Function.
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.
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.
5.2 Successful execution on Copy ERP to IBP displayed to the user who executes the Copy Function.
5.3 Once the template is refreshed the data is matching between ERP and IBP can be seen in Column “L” and Column “M”.
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.
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
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.
Now choose the Trace Tab. Trace shows that 193 records are read and copied.
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.
Entries in COSP table.
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
KBAs and notes released in the last 30 days(as of 03/26/2015)
BW-PLA-BPC | 2099335 | Daemon job for BPC |
BW-WHM-MTD-CTS | 2143434 | Transport connection collects generated BW TLOGO objects |
EPM-BPC | 1366676 | SAP BPC: What Service Pack, Patch and Build Version am I running ? |
EPM-BPC-NW | 1742110 | How to get MDX statement in BPC NW 10 |
1823062 | EPM-BPC-NW - Invalid Work Status information after transport | |
1862768 | EPMWorkStatus function displays wrong status | |
1885116 | BPC NW 10 ''Failed to save data. Error Obtaining concurrency lock () '' when sa | |
1999316 | BPC 10.0: Worksheet generation - Worksheets / tabs only named with Dimension Me | |
2030418 | Plan & Consol 10.1 for NetWeaver Documentation Addendum | |
2143595 | "member xxxx not exist# error occurs when validating script logic # BPC NW 10/1 | |
2048048 | Model settings could not be saved with HTTP 500 and ASSERTION_FAILED dump when | |
2050531 | The mapping between the ADMIN team and its folder is missing | |
2062798 | Business Planning & Consolidation 10.0 NW SP16 Central Note | |
2075058 | Hierarchy master data import issue - Record count: 0 | |
2095747 | SAP Business Planning & Consolidation 10.1 NW SP05 Patch01 Central Note | |
2096844 | The Enterprise Performance Management link within the Planning and Consolidatio | |
2103585 | Product Component Matrix for SAP Business Planning & Consolidation 10.1, versio | |
2107965 | Issues in EPM Add-In / BPC for Excel after installing Microsoft updates | |
1844612 | BPC NW 10/10.1: Environment or model copy failed | |
2118133 | BPC 10.0 NW: Does BPC 10 require the Old BPC 7.5 settings after migration? | |
2098196 | Not all team copied if deselect copy web documents when copy environment | |
2113703 | Shared instance won't be updated after enabling TDH from BPC web client. | |
2114083 | Drag will replace existing members in Edit Dimension Member | |
2051502 | Audit report of data changes shows blank page with an error | |
2096249 | Add more tooltips on dimension member list page | |
1944437 | Incorrect result is generated when run BPC HANA allocation | |
2089700 | "Internal Error: no result set" occurs when processing member formula | |
2098729 | Fail to open existing member formulas | |
2109614 | Process button does not enabled in Member Formula | |
2069547 | Split make selected member disappeared | |
2111199 | Sort date column in comments system report is by string rather than by date tim | |
2081664 | There is an error in XML document when opening EPM Add-in report from BPF - BPC | |
2105843 | The “Open Other System Reports” menu should be selected as default when click “ | |
2062175 | IE11 will crash when click the table’s scroll bar. | |
2104067 | The workspace name will not show the driving dimension context when user goes t | |
2108783 | Need to show the error message and details when error happened in the process o | |
1927908 | Support UJBR backup without security data | |
2071046 | Error 'running process exists on consolidation unit' persists after dump happen | |
2077014 | Error in attach documents in control rule | |
2076933 | Checking control dynamical tables during posting BPC data | |
2088308 | Ux issues: Modify the mode of confirmation dialog | |
2059744 | "Keep the same" use the context instead of source | |
2062846 | Journal report not display for ID more than 3 digits | |
2065484 | No validation is done on journal members | |
2110663 | If 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 | |
2116325 | In journal detail page, when pasting data in the cell, there should be a valida | |
2071700 | Sub folder can't be seen in Control document | |
2086835 | The dimension with mandatory lock should not be unlocked | |
2099300 | In BPC10.1, the parent node of group type dimension can't be selected when crea | |
1549207 | Error in SLG1 after successfully activating Apshell message at BPC C | |
1730125 | BPC 10.0 NW BW Integration via SAP BW OLE DB Provider | |
2072383 | BPC 10.1 Standard UJT_MIGRATE_75_TO_101 run with error "DDIC_TYPELENG_INCONSIST | |
2107084 | Descendants level is missed after memberset formula is set | |
1986569 | PC 10.1 NW HANA Starter Kit for USGAAP SP03 Release Note | |
1986563 | PC 10.1 NW HANA Starter Kit for IFRS SP06 Release Note | |
2091089 | 500 internal error when running report with selection of base level members | |
2108226 | Refreshing report from Excel may not get correct result if query cache is enabl | |
2113690 | Omit Empty option is not working when refresh asymmetric report in EPM Add-in | |
2114687 | Hierarchy order is incorrect when building report in HANA Model | |
2066087 | Error of 'Invalid Members' happens when target audit is blank for a Cons rule w | |
2088350 | No data is displayed in 'Entity FX Type' column when create currency translatio | |
1667160 | Consulting Note on BPC NW 10 / 10.1 Standard Granular Transport | |
2023118 | BPC Transport failed with Persistent resource '<resource_ID>' does not exist | |
2107108 | Transportable parameters in BPC 10.0 | |
2079612 | There should be validation for URL in drill-through definition | |
2114072 | BPC 10.1 Standard library Rename report does not work | |
2113385 | The setting "Display as" of context option inherits incorrectly | |
2094337 | Change Workstatus list reorder layout of standard model same with embedded mode | |
EPM-BPC-MS | 1347994 | Support custom setting for SQL server |
1840454 | BPC10: Error when scheduling a data manager package: Access is denied. (Excepti | |
1763572 | EPM Add-in Limitations | |
2045385 | BPC: Error after upgrading SQL Server: To use the SQL Server 2012 package, you | |
2052929 | Performance | |
2070402 | SAP Business Planning and Consolidation 10.1 version for the Microsoft platform | |
2078887 | SAP Business Planning and Consolidation 10.1 for Microsoft SP01 Central Note | |
2085340 | Tips for configuring Microsoft SQL Server in a virtual machine | |
2109406 | Data manager copy package is not releasing memory | |
2115717 | Cannot open Excel report when the defined model is different than the controlli | |
2115725 | Workspace is not open by Process action | |
2115767 | Cannot open Excel report by Process action if file name includes an ampersand ( | |
1897732 | User cannot open reports randomly | |
2098789 | Performance issue when processing a dimension with more than 2 hierarchies | |
1880135 | FIX:Validating transformation file generates error message | |
1963060 | Currency conversion does not proceed if the group currency has more than 5 repo | |
2045945 | BPC 10.0 MS DM package scheduler issue when selecting huge members | |
1859239 | FIX:Logic performance dropped after upgrading to 7.5M | |
2060315 | Script logic does not post to Time dimension using property value | |
1996957 | Currency Conversion has error after upgrading to 7.5M SP11 Patch 5 | |
2034568 | AS_IS and FX_SOURCE_CATEGORY in Currency Conversion | |
2098755 | FXTrans creates an error if category member ID value exeeds 17 characters | |
2060316 | The property 'EnableJRN' does not work correctly | |
2061171 | Regardless of workstatus, documents are uploaded on the Web | |
2092963 | System exception error occurs when selecting the 'Descendants of Current Contex | |
EPM-XLS | 1840977 | EPM Add-in setup and configuration FAQ |
1898174 | BPCMS: Shared Dimension desactivated | |
1917498 | The remote server returned an error: (400) Bad Request. | |
1918094 | EPM Add-In: How to set the default display mode in the Member Selector window | |
2097393 | EPM add-in for Microsoft Office Support Package 21 | |
1996694 | Error "All codes are wrong, the default value has been restored" when run a DM |
EPM BPC Monthly News - February 2015
EPM-BPC-MS | 2136614 | BPC MS Web Client cannot start |
1422091 | How to configure a NLB with BPC - BPC 5.x and 7.x | |
1678822 | BPC 7.0 / 7.5 / 10.0 / 10.1 for Microsoft: Third Party Software Support Matrix | |
2127762 | Is the domain controller hardcoded into the BPC application | |
2130471 | "Invalid dimension: measures" error happens when login to a model by EPM Add-in | |
2134923 | Overload resolution failed error when running Data Manager Pacakge | |
1996136 | Calculated result does not display in Consolidation business rule. | |
EPM-BPC-NW | 1807100 | BPC NW: "RSA1" transaction code displays technical names and not BPC names. |
2010964 | BPC parameters list and how they impact system behavior- BPC NW 10.0/10.1 | |
2048048 | Model settings could not be saved with HTTP 500 and ASSERTION_FAILED dump when | |
2080482 | Conversions of currencies are not applied when data are loaded to BPC through t | |
2109474 | Fix checkman error | |
2120267 | Poor performance when using custom Measures in SAP BPC reports | |
2124742 | BPC NW 10.0 - in BPC Web Client Administrator, the Task Profile and Data Access | |
2124974 | Unable to restore a model through UJBR due to work status error - BPC NW 10.0 | |
2127175 | UJO_READ_EXCEPTION_018 with MDX statement error: Value & for characteristic & u | |
2127222 | UJO_READ_EXCEPTION_018 and MDX error: "Value & for characteristic& unknown" whe | |
2127459 | how to install IIS related component when install BPC .net server | |
2127861 | BPC : Errors : "DYNPRO_SEND_IN_BACKGROUND", "CALL_FUNCTION_REMOTE_ERROR" | |
2128594 | BPC NW : Dump while trying to logon to BPC Web admin page | |
2129632 | EPM Add-in Multi-Selection does not work when the parameter PAGEAXIS_AGG_IN_BAC | |
2130856 | Unable to save Assignment of Control Sets - BPC NW 10.1 | |
2131002 | How to know which user is BPC service user - BPC NW 10.0/10.1 | |
2133199 | How to display the query data of BPC unified model in EPM Add-in | |
2133764 | UJK_EXCEPTION error: "Attribute "CURRENCY_TYPE" does not exist in dimension" wh | |
2080413 | Definition of BPC MDX hierarchy view should not contain space character | |
2123392 | Dynamic tables for dimension member and hierarchy information are not deleted a | |
2124890 | Create environment #XXX# failure-BPC NW 10&10.1 | |
2125408 | Unable to copy environment from BPC web client - BPC 10.1 NW | |
2127435 | Text node is missing in YTD Hierarchy of Time Dimension | |
2128035 | Encounter error message 'Dimension member is an invalid member ID' after runnin | |
2132223 | BPC NW 10.1 : Cannot use navigation keys to quickly copy members/properties dow | |
2070997 | Improvement for control memory consumption | |
2116921 | Performance improvement of script compilation with too many SUB/ENDSUB function | |
2122679 | Memberformula result member returns no data | |
2129687 | Data Manager package status shows as “Fail” without any error message | |
2121580 | Change the value of Authorization Object S_RS_COMP | |
2123997 | Remove BUI related log during coping environment in BPC10.1 | |
2124978 | Profiles not assigned when assigning user to a team with team leader checked | |
2096248 | Enable work status with error message | |
2106564 | there is an internal server error when there are too many results in data audit | |
2081664 | There is an error in XML document when opening EPM Add-in report from BPF - BPC | |
2119716 | BPC 10.1 Standard BPF Deadline enhancement | |
2126111 | BPC 10.1 Standard, After update BPF Instance Deadline in Process Monitor,expect | |
2126241 | BPC 10.1 Standard, BPF activities with deadline setting, comment is missing in | |
2124889 | The jump action from BPF to EPM Add-in will failed if BPF template definition h | |
2128498 | User cannot add same content in BPF workspace when define BPF template. | |
1934887 | Corrupted 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 | |
2112463 | Bug fixing of consolidation monitor and control monitor for SP05 patch01 | |
2103583 | Journal dimension member description display | |
2133087 | Error: "Assignment failed for appset XXXX application YYYY" when trying to save | |
2127670 | After applying Note 1946776 or upgrading to SP12 or higher, error still occurs | |
1912535 | Journal with detail rows more than 9999 can be saved. | |
1730125 | BPC 10.0 NW BW Integration via SAP BW OLE DB Provider | |
2127320 | BPC 10.1 Standard support BPF AWS with multiple link to same resource when migr | |
2123791 | BPC10.1 web report UI issues | |
1976552 | BPC generates MDX Statement with invalid property | |
2072976 | Performance optimization on query with secured dimension using HANA MDX engine | |
2085703 | Error message raised when some members belong to multiple hierarchies within on | |
2108247 | Running BPC reports leads to memory leak at HANA side | |
2114687 | Hierarchy order is incorrect when building report in HANA Model | |
2135042 | How to delete the temporary table with name start from '$BPC$HC' | |
2101349 | Check points for currency translation issue | |
2135134 | Related Action in Business Process Flow is duplicated for every transport of BP | |
2128288 | BPC 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 | |
2126671 | Fail to remove item in Web Admin Security views | |
2123404 | The member selector in Change work status dialog should be stateful | |
2123411 | BPC 10.1 NW : Error "Unable to cast object of type #com.sap.firefly.core.parame | |
2127769 | BPC : Error : "Error while handling delayed active report change" | |
2136615 | BPC NW Controls prevent Work Status change on all Entity | |
2136246 | EVDRE expand needs 2nd refresh to display valid if fixed columns and row suppre | |
EPM-XLS | 2040413 | How to specify the File argument for the EPMLink() function |
2073553 | ALL: Member Selector unresponsive | |
2097835 | BPCNW: EvDRE report - Member Insertion fails when pressing ENTER | |
2103672 | BWINA: Context not kept variable changes | |
2119643 | BWINA: EPMVariableValue - Variable technical names not available | |
2121991 | EPM add-in for Microsoft Office SP20 Patch 02 | |
2123170 | ALL: Member sorting based on the code | |
2123742 | BWINA: Excel crash when opening Member Selector for a planning function variabl | |
2123730 | BWINA: Default planning function value not selected in Member Selector | |
2124104 | BWINA: Session is not released when closing Excel if it has been launched from | |
2124010 | BWINA: Error message when refreshing a report | |
2127181 | BPC: Performance issue when launching an EvDRE workbook expansion from VBA | |
2127116 | BPC: EvDRE BeforeRanges and AfterRanges are inserted even for blank rows after | |
2127090 | BPC: EvDRE Insert Member fails when less than two members in report including A | |
2127488 | BPCNW: Workbook not correctly displayed after expanding an EVDRE | |
2128478 | "#Error - Unexpected Error. Check your parameters" error occurred when use EPMM | |
2129493 | Pre-requisites before escalating EPM add-in customer messages to the Product Gr | |
2132019 | Error "basOtherWorkbookSpecificBEFORE_REFRESH NUMBER& Error:_reportIdentifierLi | |
1906064 | AfterRange/BeforeRange is not working properly in EVDRE within EPM Add-in | |
2133861 | "Error launching office client: a.PushActionsByValue is not a function" happens | |
2116321 | Long first logon time of EPM-Addin which has huge flat Dimension | |
1776519 | Macros using Loops within an Excel file become much slower when the Enterprise | |
2133829 | Member selction changes to "Member Only" automatically after any cell values ar | |
BI-BIP-AUT | 2109992 | Error: "Error in refresh sheet" when using IPS and LDAP Authentication with EPM |
BW-PLA-BPC-BPF | 2122116 | BPC 10.1 Embedded, BPF deadline instance schedule is not set after change deadl |
EIM-COR | 1553034 | What are Analytics Notifications (formerly SAP BusinessObjects Notifications) a |
EPM-BPC | 1664889 | EPM : How to use the Fiddler web debugging tool to troubleshoot HTTP communicat |
EPM-EA-ANA | 2003767 | EPM: 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
Here you can find the most commented threads for Business Planning and Consolidation for NetWeaver and Microsoft versions.
How to enable check box for member selection in SAP BPC EPM Add-in reports - Session 1
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.
Step 2: Create a new range named “rngRowSelectionSrc”.
Step 3: Format this cell to look like a selection box and choose the font a “Wingdings 2”
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
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
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.
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
- 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
- And paste the code below, this allows passing parameters to package using VB (http://scn.sap.com/docs/DOC-32636)
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”.
Output
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
This interactive paper provides you with insight on the new or improved features available in SAP Financial Consolidation release 10.0.
SAP E-Bilanz Solutions: Help on ERiC Validation Messages
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 Message | Explaination |
---|---|
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. 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 |
$gcd:genInfo.company.id.idNo.type.companyId.STID/1.1$': ungültige Identifikationsnummer | A 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
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.
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
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 | *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 | *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 | *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 | *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 | *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 | *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 | *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 | *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.
SAP® Financial Consolidation Starter Kit for IFRS, Regulation Update
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).
EPM Events Calender
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.
Date | Presenter | |||
![]() | May 19 | PD | ||
![]() | SAP Cloud for Planning Overview | Jun 2 | CO | |
![]() | SAP Business Planning and Consolidation 10.1 NW Version | Jun 23 | RJ |
* 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
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
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
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
Figure : Embedded Environment Type
Embedded Model
As shown below, embedded environment created, next steps is to create the Models
Figure : Embedded Model
In embedded world, realtime info-cube and corresponding aggregation levels needs to be created before creating the BPC Embedded Model
Figure : Real Time Info cube
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
Figure :Embedded Model
Embedded Planning Objects
Transaction RSPLAN is used for creating Embedded planning objects. Planning objects are of following types:
- Info Providers
- Aggregation Levels
- Filters
- Planning Function
- Planning Sequence
Info Providers
Figure :RSPLAN Info provider
Filters
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.
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.
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
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.
Figure : EPM Addin Query Selection
Figure : EPM Addin Query Selection
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.
Figure : EPM Addin Planning Objects
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
Figure : Planning Variables
Filters used can also be changed at runtime.
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
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
Planning Function Execution
Figure :EPM Addin Menu
Integrating Planning Sequences
Figure :Planning Sequence
Integrating Planning Sequences
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:
- .sap.com/businessobject/product_guides/.../EPMofc_10_user_en.pdf
- http://scn.sap.com/docs/DOC-51897
- http://scn.sap.com/community/epm/blog/2014/03/20/sap-business-planning-and-consolidation-101-nw-faqs
- http://scn.sap.com/community/data-warehousing/business-planning/blog/2014/01/10/sap-bpc-101-unified-live-demo-chapter-01--edw-model
- http://scn.sap.com/docs/DOC-58899
- http://scn.sap.com/community/data-warehousing/business-planning/blog/2013/12/23/unifying-bpc-nw-and-bw-ip
- https://websmp106.sap-ag.de/~form/handler?_APP=01100107900000000342&_EVENT=REDIR&_NNUM=1998624&_NLANG=E
- https://help.sap.com/saphelp_nw73/helpdata/en/4c/b8332354182102e10000000a42189e/content.htm?frameset=/en/4c/acf4b354423b9fe10000000a42189b/frameset.htm¤t_toc=/en/44/1f81d8cb5f0d1ae10000000a114a6b/plain.htm&node_id=53&show_children=false
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
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.
Create Master Data on the Fly in SAP BusinessObjects Planning and Consolidation 10.1 NW, version for NetWeaver
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.
How-To Guide: Dynamically Enable EPM Add-in For Microsoft Office Tools
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
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
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.
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)
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
Modify the package and add the following by specifying following script
Step 5: Execute data manager package by selecting prompts
Step 6: Check the results
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