SlideShare a Scribd company logo
1 of 23
BPC 10.0 NW
Script Logics
Disclaimer: This document contains only intended strategies, developments, and functionalities of the SAP product and is not intended to be binding
upon SAP to any particular course of business, product strategy, and/or development. SAP and author assume no responsibility for errors or
omissions in this document. This preview is provided without a warranty of any kind, either express or implied, including but not limited to the
implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP and author have no liability for damages of any kind
including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials.
Author: Surya Padhi
Mail : SuryaPadhi@Gmail.Com.
SAP Certified Application Associate - Financial Accounting
SAP Certified Application Associate - SAP BusinessObjects Planning and Consolidation 10.0
Objectives
www.suryapadhi.com suryapadhi@gmail.com
In SAP BPC, we use script logics to copy, calculate and write data based in selection. On
several occasions I have seen, functional consultants find it difficult to understand. In this
presentation I will cover following topics relating to BPC 10.0 NW script logic for
simplification and easy understanding.
1) Definition;
2) Functionalities
3) Syntax
4) Testing of script logics.
Definition
www.suryapadhi.com suryapadhi@gmail.com
Script Logic – enables calculations on base-level cells that result in data stored within an
application. The results are aggregated up the dimensional hierarchy, without being re-
calculated at upper levels. SAP has provided two types of scrip logics syntax , these are (1)
SQL based syntax and (2) MDX based syntax . I will cover in detail above syntax in more
details in the next few slides.
Functionalities:
www.suryapadhi.com suryapadhi@gmail.com
The script logic;
1) Reads a specific data selection from the model.
2) Applies to it a set of user-defined formulas (stored in a logic file).
3) Derives the values.
4) Writes those values back to the application.
Results are written directly to the model as base data, and are aggregated up the
dimensional hierarchy as they are, without being recalculated at upper levels.
1) All dimension logic formulas are applied to these results.
2) This process allows you to perform calculations.
Script logic can be run in any of three ways:
1) Automatically after data is sent to the database from BPC for Excel using the Default.LGF
file.
2) After Journal data send using either Default. LGF, or if present, Journal. LGF files.
3) Through Data Manager as a batch processing event to call Script Logic formulas.
Functionalities:
www.suryapadhi.com suryapadhi@gmail.com
Advantages of BPC script logics
1) Model dependent calculation, not at a member level of the dimensions;
2) BPC scripts can be called from different places, for example default logic, data manager
package etc.
3) With the help BPC logics, we can perform different type of calculation with or without
calling business rules;
4) In SAP BPC script logics, we can choose desired dimensions with the help of dimension
properties.
Disadvantages of BPC script logics
1) BPC script can’t handle very complex calculation processing or bigger data volume. In
case of a complex calculation, ABAP-BADI comes into the picture. We can call ABAP-BADI
codes within the script logics.
Syntax
www.suryapadhi.com surya@suryapadhi.com
There are two Syntax options in SAP BPC Script Logic. These are:
1) SQL based syntax: SQL syntax gives better performance.
2) MDX based syntax. MDX syntax is used in record level specific calculations).
Multidimensional expressions abbreviated as MDX.
While choosing script logics, you need to consider following points for performance
consideration,
1. Use fewer commits statements;
2. While developing complex calculation, choose ABAP-BADI.
3. Scoping uses memory, hence scoping should be precise.
4. MDX syntax causes performance issues, so use SQL logics as far as possible.
5. Use limited looping to improve performance.
Syntax
www.suryapadhi.com surya@suryapadhi.com
STRUCTURE OF SCRIPT LOGIC: Script logic structure is divided in three parts.
1) SCOPING – In this section we define the scope of data to which calculation will be
applied.
2) BODY – In this section, we tell to the system what to be done I.e. perform calculation,
Transformation, Aggregation etc.
3) COMMIT – In this section we tell to section to save the calculated result to the
database.
*XDIM_MEMBERSET Category = PLAN
*XDIM_MEMBERSET Entity = C3000
*XDIM_MEMBERSET P_DataSrc = MANUAL
*XDIM_MEMBERSET RptCurrency = LC SCOPING
*XDIM_MEMBERSET P_Activity = EMPL1
*XDIM_MEMBERSET P_ACCT = CE0004220
*XDIM_MEMBERSET TIME = 2007.JAN
*WHEN P_ACCT
*IS CE0004220
*REC (EXPRESSION = 901) BODY
*ENDWHEN
*COMMIT COMMIT
Syntax
www.suryapadhi.com surya@suryapadhi.com
Script Logic can be broken down into 3 components:
• Scoping- What am I running the data on?
• Data manager scoping
• Input schedule scoping
• Scope control
• Body / Code - What do I want to do with the scoped record?
• *IIf Statements
• *REC
• [#] based MDX statements
• *WHEN / *IS / *ENDWHEN
• Allocation Logic
• Writing the records
• *COMMIT
Syntax
www.suryapadhi.com suryapadhi@gmail.com
Due to performance issue MDX syntaxes are less favorite among BPC developers. In this
section l will cover commonly used SQL based syntax;
1. *ADD / *ENDADD = Add set of values members (i.e. accounts) to another set of values (
i.e. account).
2. *INCLUDE = With this syntax, you can include multiple Script Logic files in a script.
Included scripts carry different calculation once you execute the main script. During LGX
generation, all codes are combined into one big piece of code and executed during runtime.
3. *REC = This statement generates a record / modifies a record that to be posted in the
database. Even if it is for the same destination cell, a source record can generate as many
destination cell records. Multiple REC statements possible between *END/*ENDWHEN
statement.
Example: -*REC (FACTOR = 0.9,ACCOUNT="DISCOUNT_EXTSALES"). Which means multiply by 0.9 to
current scoped record and replace account with DISCOUNT_EXTSALES write values to DISCOUNT_EXTSALES.
4. *XDIM_MEMBERSET = It restricts the data, filters the source dataset to the required
dataset for specific calculation, intended in the script logic. For each restriction using a
dimension, there can be a separate XDIM statement. Generally it is followed by the
Dimension name & Member value/value set.
Syntax
www.suryapadhi.com suryapadhi@gmail.com
5. *XDIM_ADDMEMEBERSET = This statement is used to add more member values to the
scope of member value already defined with the XDIM statement for conditional
calculations.
6. *XDIM_FILTER = Filters the members of the scope of that dimension. It does not filter the
scope of data, rather filters from available scope.
Example - *XDIM_FILTER ACCOUNT = [account].properties(ACCTYPE='AST'). In this case system will select
account members which contains ACCTTYPE property value as “AST”
7. XDIM_MAXMEMBERS = Specifies the maximum number of members that should be
included in one query.
8. XDIM_PACKAGEBY = This syntax is used for parallel processing. However, configuration
needs to be done in SPRO need to be done before using this.
9. *SELECT / *ENDSELECT = Like any other SQL statement, this syntax helps to retrieve a list
of values from the master data table (Dimension) and store them in a defined variable. Can
be written in any part of the logic and the resultant value can be used in any part of the logic
as well. Generally better to write in the beginning of the logic structure.
10. *WHEN / *ENDWHEN = *WHEN/*ENDWHEN can be used with property values of the
dimension; to further create conditions for data processing / transformation / modification /
manipulation, for the REC statement. Ex: *WHEN ACCOUNT *IS “XY00001234”. Same as
SELECT/ENDSELECT statement, but this it used when different transformation is needed for
different type of field values in a record. Hence multiple *WHEN/*ENDWHEN statements
possible within a script logic. It works as a loop statement.
Syntax
www.suryapadhi.com suryapadhi@gmail.com
11. *DESTINATION_APP = Use to make the datasets of one model available for other. It
transfers the data from one model to another. Between Dimension “Category” values.
12. *LOOKUP / *ENDLOOKUP = Similar to “*DESTINATION_APP” but this does not transfer
the data between the model, rather looks up for the required calculation. It is acts like a
“READ” statement in traditional ABAP. Example: While doing currency translation of a value,
it will be required to look into the EXCHANGERATES model.
13. *TMVL = This is used to retrieve a time value after taking into consideration an offset
value from a given time period. REC(FACTOR=1.1, TIME=TMVL(12,2006.APR)). In this case the
time value is 2006, Apr + 12 months = 2007,Apr.
14. *COMMIT = Saves/stores the calculated values in the database. In case of two dependent
calculations, resulting value of the first calculation must be saved into the database with a
“*COMMIT” statement, before its value is used in another calculation formula within the
script logic.
Syntax
www.suryapadhi.com suryapadhi@gmail.com
15. *ADD_DIM = While copying data between two models, if source model does not
contain all the dimensions as the destination model, missing dimensions in the source
model can be created/added using this syntax before data copy. Possible to use this for
multiple dimensions in one statement.
16. *RENAME_DIM = While copying data between two models, if dimension names
between the models do not match; then mismatching dimension names can be renamed to
be the same before copy process. Possible to use this for multiple dimensions in one
statement.
17. *SKIP_DIM = While copying data between two models, if the destination model does
not contain all the dimensions as the source model, some of the destination models can be
skipped from copying process using this syntax. Possible to use this for multiple dimensions
in one statement.
18. *SELECTCASE / *ENDSELETC = This is a select statement with a CASE together to
encourage conditions within. Works as IF, ELSEIF & ENDIF statement in traditional ABAP.
19. *START_BADI / *ENDBADI = This script helps in calling BAdIs within the script logic to
perform an endless variety of functions.
20. *RUNALLOCATION = This syntax help execute SAP delivered allocation logic.
Syntax
www.suryapadhi.com suryapadhi@gmail.com
21. *BEGIN / *END = These syntaxes are used with Boolean Expressions (YES / NO). Similar
concept, as may have seen in BW-BEX formulas. The individual conditions will be enclosed in
parenthesis. If the condition is true, the return value will be 1, else 0.
22. *IIF = These syntaxes work, just as IF, ELSEIF, ENDIF statements in traditional ABAP. If the
condition satisfies, then it directs the record to undergo a calculation.
23. *FOR / *NEXT = This syntax is used with a variable, which returns/contains multiple
values. This syntax then helps to process individual variable values, one by one. It works like
FOR EACH statement in FOX formula.
24. *GET = Retrieves the value from the memory
25. *FUNCTION / *ENDFUNCTION = This syntax is very often used in MDX. Function is used
in BPC to enhance readability.
26. *WHEN _REF_DATA = It sets the focus to either master data or transactional data. When
is set to master data, it loops through all the master data values of the dimension. And
when set to transactional data, it loops through all transactional data, which uses the
dimension/values in its scope. Without an explicit definition, the transactional data mode is
selected by default.
Variables
www.suryapadhi.com suryapadhi@gmail.com
Variable allows to enter values in runtime. In BPC we use two types of variables (1) user
defined variables and (2) system variables.
In case of user defined variables;
• We will have variables in script, for example $PERCENT$
• Then we define variable for prompt in the data manager package, for example
%PERCENT%.
• In run time system will replace $PERCENT$ with values we are passing via %PERCENT%.
For example *XDIM_MEMBERSET TIME = $DIM_INP$ in script logic and a prompt %DIM_INP% in DM
package will prompt the user to enter a time dimension member while running that script logic. If the user enters
2009.JAN, the package will run only for January 2009. If he/she enters BAS(2009.Q1), the package will run for Jan,
Feb, Mar of 2009
System defined variables are;
1. %USER% - Returns current Planning and Consolidation User
2. %APPSET% - Returns current Planning and Consolidation AppSet
3. %APPLICATION% - Returns current Planning and Consolidation Application
4. %YEAR% - Returns current calendar year.
SAP Delivered Logics
www.suryapadhi.com suryapadhi@gmail.com
Allocation.lgf - Allocation executes a distribution of values based upon a defined basis. This
functionality does not require any additional business rules to function. There are two
methods to call the allocation engine:
*RUNALLOCATION - The *RUNALLOCATION format is commonly used when an
allocation is to be performed once in the script logic file
*RUN_ALLOCATION - The *RUN_ALLOCATION format can be used when an allocation
is to be performed multiple times in the same script logic file. In the following example,
the allocation called DIST2 is first defined, and then the allocation is called multiple
times later in the code by the RUN_ALLOCATION command
Calcaccount.lgf - Calcaccount is used to prepare Cash Flow and must be executed along
with appropriately defined Account Calculation Business Rules.
Consolidation.lgf - Consolidation is used to perform legal consolidation and must be
executed along with appropriately defined Legal Consolidation Business Rules.
Copy_Opening.lgf - COPYOPENING is used to transfer ending balances from one time period
to starting periods in a subsequent time period. COPYOPENING must be executed with the
appropriate Balance Carry Forward business rules.
FX_Trans.lgf - Currency Conversion is used to translate existing records into alternative
currency views. Currency Conversion must be executed with the appropriate Currency
Conversion business rules.
SAP Delivered Logics
www.suryapadhi.com suryapadhi@gmail.com
ICDATA.LGF - ICDATA is used to perform intercompany reconciliation activities. ICDATA must
be executed with the appropriate ICBOOKING business rules.
ICBooking.lgf - ICBooking is used to perform intercompany reconciliation activities with
difference postings. ICBooking must be executed with the appropriate ICBOOKING business
rules.
ICElim.lgf - ICElim is used to perform intercompany reconciliation. ICElim must be executed
with the appropriate ICElim business rules.
Validation.lgf - Validation is used to perform validation activities define within the
validation business rules.
MDXlib.lgf - The MDXlib file provides examples of pre-delivered MDX financial functions.
System_Constants.lgf - The system constants file is the logic file that maps your dimension
names for an application to the standard (delivered) BPC logic. For example, the file maps
the name of the category dimension to the dimension to be used as the category.
System_Library.lgf - The System Library includes basic examples of delivered keywords and
functions.
Testing and Debugging
www.suryapadhi.com suryapadhi@gmail.com
To test and debug script , we can use program UJK_SCRIPT_LOGIC_TESTER or Transaction
Code: UJKT
1
2
3
4
Testing and Debugging
www.suryapadhi.com suryapadhi@gmail.com
1
2
3
4
The SETTING region for the definition of the
environment, model and user
Testing and Debugging
www.suryapadhi.com suryapadhi@gmail.com
1
2
3 4
The DATA REGION section allows definition
of the initial scope. Use the format
dimension=dimension_member, for
example: CATEGORY=ACTUAL.
Testing and Debugging
www.suryapadhi.com suryapadhi@gmail.com
1
2
3 4
The prototyped script logic code is entered
into the lower left hand section.
Testing and Debugging
www.suryapadhi.com suryapadhi@gmail.com
1
2
3 4
Any errors that are discovered will be
presented on the lower right hand screen.
Testing and Debugging
www.suryapadhi.com suryapadhi@gmail.com
The script can be executed, and all results saved to the
database, by clicking on the EXECUTE button. The
resulting system log will display the compiled code, the
number of records processed and the time to execute.
Few of My Contributions.
www.suryapadhi.com suryapadhi@gmail.com
Contact information:
• www.SuryaPadhi.Com
• Mail: SuryaPadhi@Gmail.Com.
My Publications
Other White Papers
• Lock Box
• Credit Card functionality in SAP
SAP Press Publications
• Explore the Payment Currency Option in Accounts Payable

More Related Content

What's hot

Sapbpc nw 10.0 bpf how to guide by satya
Sapbpc nw 10.0   bpf how to guide by satyaSapbpc nw 10.0   bpf how to guide by satya
Sapbpc nw 10.0 bpf how to guide by satyaSatya
 
Data extraction and retraction in bpc bi
Data extraction and retraction in bpc biData extraction and retraction in bpc bi
Data extraction and retraction in bpc bivikram2355
 
SAP BPC 10.1 Embedded - Consolidation Functionality
SAP BPC 10.1 Embedded - Consolidation FunctionalitySAP BPC 10.1 Embedded - Consolidation Functionality
SAP BPC 10.1 Embedded - Consolidation FunctionalityReddy Chemicala
 
SAP BPC NW 10.0 Equity Based Consolidation Step by Step Guide
SAP BPC NW 10.0 Equity Based Consolidation Step by Step GuideSAP BPC NW 10.0 Equity Based Consolidation Step by Step Guide
SAP BPC NW 10.0 Equity Based Consolidation Step by Step GuideMurugesan Annamalai
 
Beginner's guide create a custom 'copy' planning function type
Beginner's guide  create a custom 'copy' planning function typeBeginner's guide  create a custom 'copy' planning function type
Beginner's guide create a custom 'copy' planning function typeNaveen Kumar Kotha
 
Testing Sap: Modern Methodology
Testing Sap: Modern MethodologyTesting Sap: Modern Methodology
Testing Sap: Modern MethodologyEthan Jewett
 
How to use abap cds for data provisioning in bw
How to use abap cds for data provisioning in bwHow to use abap cds for data provisioning in bw
How to use abap cds for data provisioning in bwLuc Vanrobays
 
How to write a routine for 0 calday in infopackage selection
How to write a routine for 0 calday in infopackage selectionHow to write a routine for 0 calday in infopackage selection
How to write a routine for 0 calday in infopackage selectionValko Arbalov
 
End to-end sap fiori extensibility use case
End to-end sap fiori extensibility use caseEnd to-end sap fiori extensibility use case
End to-end sap fiori extensibility use casedkr786
 
Calculation commands in essbase
Calculation commands in essbaseCalculation commands in essbase
Calculation commands in essbaseShoheb Mohammad
 
SAP BPC NW 10.0 Journals
SAP BPC NW 10.0 JournalsSAP BPC NW 10.0 Journals
SAP BPC NW 10.0 JournalsCloneskills
 
Sap abap modularization interview questions
Sap abap modularization interview questionsSap abap modularization interview questions
Sap abap modularization interview questionsPradipta Mohanty
 
Sapbpc nw 10.0 transactional data load guide
Sapbpc nw 10.0 transactional data load guideSapbpc nw 10.0 transactional data load guide
Sapbpc nw 10.0 transactional data load guideCloneskills
 
Master data distribution in SAP: implementation guide
Master data distribution in SAP: implementation guideMaster data distribution in SAP: implementation guide
Master data distribution in SAP: implementation guideJonathan Eemans
 
Blueprint process questions_ics
Blueprint process questions_icsBlueprint process questions_ics
Blueprint process questions_icswalldorf_share
 

What's hot (20)

Sapbpc nw 10.0 bpf how to guide by satya
Sapbpc nw 10.0   bpf how to guide by satyaSapbpc nw 10.0   bpf how to guide by satya
Sapbpc nw 10.0 bpf how to guide by satya
 
Data extraction and retraction in bpc bi
Data extraction and retraction in bpc biData extraction and retraction in bpc bi
Data extraction and retraction in bpc bi
 
SAP BPC 10.1 Embedded - Consolidation Functionality
SAP BPC 10.1 Embedded - Consolidation FunctionalitySAP BPC 10.1 Embedded - Consolidation Functionality
SAP BPC 10.1 Embedded - Consolidation Functionality
 
CDS Views.pptx
CDS Views.pptxCDS Views.pptx
CDS Views.pptx
 
SAP BPC NW 10.0 Equity Based Consolidation Step by Step Guide
SAP BPC NW 10.0 Equity Based Consolidation Step by Step GuideSAP BPC NW 10.0 Equity Based Consolidation Step by Step Guide
SAP BPC NW 10.0 Equity Based Consolidation Step by Step Guide
 
Workshop Docker for DSpace
Workshop Docker for DSpaceWorkshop Docker for DSpace
Workshop Docker for DSpace
 
Beginner's guide create a custom 'copy' planning function type
Beginner's guide  create a custom 'copy' planning function typeBeginner's guide  create a custom 'copy' planning function type
Beginner's guide create a custom 'copy' planning function type
 
Testing Sap: Modern Methodology
Testing Sap: Modern MethodologyTesting Sap: Modern Methodology
Testing Sap: Modern Methodology
 
How to use abap cds for data provisioning in bw
How to use abap cds for data provisioning in bwHow to use abap cds for data provisioning in bw
How to use abap cds for data provisioning in bw
 
How to write a routine for 0 calday in infopackage selection
How to write a routine for 0 calday in infopackage selectionHow to write a routine for 0 calday in infopackage selection
How to write a routine for 0 calday in infopackage selection
 
Optimization in essbase
Optimization in essbaseOptimization in essbase
Optimization in essbase
 
SAP Integration With Excel - Advanced Guide
SAP Integration With Excel - Advanced GuideSAP Integration With Excel - Advanced Guide
SAP Integration With Excel - Advanced Guide
 
End to-end sap fiori extensibility use case
End to-end sap fiori extensibility use caseEnd to-end sap fiori extensibility use case
End to-end sap fiori extensibility use case
 
SAP BODS Designer PDF
SAP BODS Designer PDFSAP BODS Designer PDF
SAP BODS Designer PDF
 
Calculation commands in essbase
Calculation commands in essbaseCalculation commands in essbase
Calculation commands in essbase
 
SAP BPC NW 10.0 Journals
SAP BPC NW 10.0 JournalsSAP BPC NW 10.0 Journals
SAP BPC NW 10.0 Journals
 
Sap abap modularization interview questions
Sap abap modularization interview questionsSap abap modularization interview questions
Sap abap modularization interview questions
 
Sapbpc nw 10.0 transactional data load guide
Sapbpc nw 10.0 transactional data load guideSapbpc nw 10.0 transactional data load guide
Sapbpc nw 10.0 transactional data load guide
 
Master data distribution in SAP: implementation guide
Master data distribution in SAP: implementation guideMaster data distribution in SAP: implementation guide
Master data distribution in SAP: implementation guide
 
Blueprint process questions_ics
Blueprint process questions_icsBlueprint process questions_ics
Blueprint process questions_ics
 

Viewers also liked

BPC Configuration and User Guide Ver 10.0
BPC Configuration and User Guide Ver 10.0BPC Configuration and User Guide Ver 10.0
BPC Configuration and User Guide Ver 10.0sap customization
 
87004425 sap-bpc-nw-10-0-7-5-script-logic-implementation-guide
87004425 sap-bpc-nw-10-0-7-5-script-logic-implementation-guide87004425 sap-bpc-nw-10-0-7-5-script-logic-implementation-guide
87004425 sap-bpc-nw-10-0-7-5-script-logic-implementation-guideCloneskills
 
Clone skills, inc. sap bpc on hana data management v9
Clone skills, inc. sap bpc on hana data management v9Clone skills, inc. sap bpc on hana data management v9
Clone skills, inc. sap bpc on hana data management v9Jothi Periasamy
 
Currency Conversion - SAP BPC
Currency Conversion - SAP BPCCurrency Conversion - SAP BPC
Currency Conversion - SAP BPCkannancr
 
Trans data upload SAP BCP 10.0 NW
Trans data upload SAP BCP 10.0 NWTrans data upload SAP BCP 10.0 NW
Trans data upload SAP BCP 10.0 NWSatish Kumar Boddu
 
SAP BPC NW Backup from BW/BI Document
SAP BPC NW Backup from BW/BI DocumentSAP BPC NW Backup from BW/BI Document
SAP BPC NW Backup from BW/BI DocumentSatish Kumar Boddu
 
Drill Through function use in BPC 10.0 NW
Drill Through function use in BPC 10.0 NWDrill Through function use in BPC 10.0 NW
Drill Through function use in BPC 10.0 NWSatish Kumar Boddu
 
SAP BPC 10.1 NW Master Data loading
SAP BPC 10.1 NW Master Data loading SAP BPC 10.1 NW Master Data loading
SAP BPC 10.1 NW Master Data loading Manoj Kumar
 
SAP BPC 10.0 NW FLAT FILE (csv)Master data upload doc
SAP BPC 10.0 NW FLAT FILE (csv)Master data upload docSAP BPC 10.0 NW FLAT FILE (csv)Master data upload doc
SAP BPC 10.0 NW FLAT FILE (csv)Master data upload docSatish Kumar Boddu
 
Clone skills,inc. sap bpc on hana data modeling v9 11282013
Clone skills,inc.   sap bpc on hana data modeling v9 11282013Clone skills,inc.   sap bpc on hana data modeling v9 11282013
Clone skills,inc. sap bpc on hana data modeling v9 11282013Jothi Periasamy
 
Sap Bpc and its Benefits
Sap Bpc and its BenefitsSap Bpc and its Benefits
Sap Bpc and its Benefitsjoeyparkker
 
SAP BPC NW 10.0 Master Data Load to BPC from BW
SAP BPC NW 10.0 Master Data Load to BPC from BWSAP BPC NW 10.0 Master Data Load to BPC from BW
SAP BPC NW 10.0 Master Data Load to BPC from BWCloneskills
 

Viewers also liked (13)

BPC Configuration and User Guide Ver 10.0
BPC Configuration and User Guide Ver 10.0BPC Configuration and User Guide Ver 10.0
BPC Configuration and User Guide Ver 10.0
 
87004425 sap-bpc-nw-10-0-7-5-script-logic-implementation-guide
87004425 sap-bpc-nw-10-0-7-5-script-logic-implementation-guide87004425 sap-bpc-nw-10-0-7-5-script-logic-implementation-guide
87004425 sap-bpc-nw-10-0-7-5-script-logic-implementation-guide
 
Clone skills, inc. sap bpc on hana data management v9
Clone skills, inc. sap bpc on hana data management v9Clone skills, inc. sap bpc on hana data management v9
Clone skills, inc. sap bpc on hana data management v9
 
Currency Conversion - SAP BPC
Currency Conversion - SAP BPCCurrency Conversion - SAP BPC
Currency Conversion - SAP BPC
 
Trans data upload SAP BCP 10.0 NW
Trans data upload SAP BCP 10.0 NWTrans data upload SAP BCP 10.0 NW
Trans data upload SAP BCP 10.0 NW
 
SAP BPC NW Backup from BW/BI Document
SAP BPC NW Backup from BW/BI DocumentSAP BPC NW Backup from BW/BI Document
SAP BPC NW Backup from BW/BI Document
 
Drill Through function use in BPC 10.0 NW
Drill Through function use in BPC 10.0 NWDrill Through function use in BPC 10.0 NW
Drill Through function use in BPC 10.0 NW
 
SAP BPC 10.1 NW Master Data loading
SAP BPC 10.1 NW Master Data loading SAP BPC 10.1 NW Master Data loading
SAP BPC 10.1 NW Master Data loading
 
SAP BPC 10.0 NW FLAT FILE (csv)Master data upload doc
SAP BPC 10.0 NW FLAT FILE (csv)Master data upload docSAP BPC 10.0 NW FLAT FILE (csv)Master data upload doc
SAP BPC 10.0 NW FLAT FILE (csv)Master data upload doc
 
BPC Consolidation
BPC ConsolidationBPC Consolidation
BPC Consolidation
 
Clone skills,inc. sap bpc on hana data modeling v9 11282013
Clone skills,inc.   sap bpc on hana data modeling v9 11282013Clone skills,inc.   sap bpc on hana data modeling v9 11282013
Clone skills,inc. sap bpc on hana data modeling v9 11282013
 
Sap Bpc and its Benefits
Sap Bpc and its BenefitsSap Bpc and its Benefits
Sap Bpc and its Benefits
 
SAP BPC NW 10.0 Master Data Load to BPC from BW
SAP BPC NW 10.0 Master Data Load to BPC from BWSAP BPC NW 10.0 Master Data Load to BPC from BW
SAP BPC NW 10.0 Master Data Load to BPC from BW
 

Similar to 01 surya bpc_script_ppt

Business planning and consolidation 5.x%3a logic explained%2c part 1
Business planning and consolidation 5.x%3a logic explained%2c part 1Business planning and consolidation 5.x%3a logic explained%2c part 1
Business planning and consolidation 5.x%3a logic explained%2c part 1Moeed Baig
 
SQL Server 2008 Development for Programmers
SQL Server 2008 Development for ProgrammersSQL Server 2008 Development for Programmers
SQL Server 2008 Development for ProgrammersAdam Hutson
 
Hyperion Essbase integration with ODI
Hyperion Essbase integration with ODIHyperion Essbase integration with ODI
Hyperion Essbase integration with ODIDharmaraj Borse
 
Beginner's Guide: Programming with ABAP on HANA
Beginner's Guide: Programming with ABAP on HANABeginner's Guide: Programming with ABAP on HANA
Beginner's Guide: Programming with ABAP on HANAAshish Saxena
 
Beginners guide to_optimizer
Beginners guide to_optimizerBeginners guide to_optimizer
Beginners guide to_optimizerMaria Colgan
 
A Metadata-Driven Approach to Computing Financial Analytics in a Relational D...
A Metadata-Driven Approach to Computing Financial Analytics in a Relational D...A Metadata-Driven Approach to Computing Financial Analytics in a Relational D...
A Metadata-Driven Approach to Computing Financial Analytics in a Relational D...inscit2006
 
MODULE 5.pptx
MODULE 5.pptxMODULE 5.pptx
MODULE 5.pptxlathass5
 
SAP BPC Learning Notes and Insights.docx
SAP BPC Learning Notes and Insights.docxSAP BPC Learning Notes and Insights.docx
SAP BPC Learning Notes and Insights.docxKen T
 
Overview of query evaluation
Overview of query evaluationOverview of query evaluation
Overview of query evaluationavniS
 
Ssis Best Practices Israel Bi U Ser Group Itay Braun
Ssis Best Practices   Israel Bi U Ser Group   Itay BraunSsis Best Practices   Israel Bi U Ser Group   Itay Braun
Ssis Best Practices Israel Bi U Ser Group Itay Braunsqlserver.co.il
 
PHP UK 2020 Tutorial: MySQL Indexes, Histograms And other ways To Speed Up Yo...
PHP UK 2020 Tutorial: MySQL Indexes, Histograms And other ways To Speed Up Yo...PHP UK 2020 Tutorial: MySQL Indexes, Histograms And other ways To Speed Up Yo...
PHP UK 2020 Tutorial: MySQL Indexes, Histograms And other ways To Speed Up Yo...Dave Stokes
 
Workload Management with MicroStrategy Software and IBM DB2 9.5
Workload Management with MicroStrategy Software and IBM DB2 9.5Workload Management with MicroStrategy Software and IBM DB2 9.5
Workload Management with MicroStrategy Software and IBM DB2 9.5BiBoard.Org
 
Habits of Effective SAS Programmers
Habits of Effective SAS ProgrammersHabits of Effective SAS Programmers
Habits of Effective SAS ProgrammersSunil Gupta
 
Mca5010 web technologies
Mca5010 web technologiesMca5010 web technologies
Mca5010 web technologiessmumbahelp
 
Mca5010 web technologies
Mca5010 web technologiesMca5010 web technologies
Mca5010 web technologiessmumbahelp
 
SAS Macros part 1
SAS Macros part 1SAS Macros part 1
SAS Macros part 1venkatam
 
Flex 4.5 jeyasekar
Flex 4.5  jeyasekarFlex 4.5  jeyasekar
Flex 4.5 jeyasekarjeya soft
 

Similar to 01 surya bpc_script_ppt (20)

Business planning and consolidation 5.x%3a logic explained%2c part 1
Business planning and consolidation 5.x%3a logic explained%2c part 1Business planning and consolidation 5.x%3a logic explained%2c part 1
Business planning and consolidation 5.x%3a logic explained%2c part 1
 
SQL Server 2008 Development for Programmers
SQL Server 2008 Development for ProgrammersSQL Server 2008 Development for Programmers
SQL Server 2008 Development for Programmers
 
Hyperion Essbase integration with ODI
Hyperion Essbase integration with ODIHyperion Essbase integration with ODI
Hyperion Essbase integration with ODI
 
Beginner's Guide: Programming with ABAP on HANA
Beginner's Guide: Programming with ABAP on HANABeginner's Guide: Programming with ABAP on HANA
Beginner's Guide: Programming with ABAP on HANA
 
Catalyst optimizer
Catalyst optimizerCatalyst optimizer
Catalyst optimizer
 
Beginners guide to_optimizer
Beginners guide to_optimizerBeginners guide to_optimizer
Beginners guide to_optimizer
 
A Metadata-Driven Approach to Computing Financial Analytics in a Relational D...
A Metadata-Driven Approach to Computing Financial Analytics in a Relational D...A Metadata-Driven Approach to Computing Financial Analytics in a Relational D...
A Metadata-Driven Approach to Computing Financial Analytics in a Relational D...
 
C question
C questionC question
C question
 
MODULE 5.pptx
MODULE 5.pptxMODULE 5.pptx
MODULE 5.pptx
 
SAP BPC Learning Notes and Insights.docx
SAP BPC Learning Notes and Insights.docxSAP BPC Learning Notes and Insights.docx
SAP BPC Learning Notes and Insights.docx
 
Overview of query evaluation
Overview of query evaluationOverview of query evaluation
Overview of query evaluation
 
Remus_3_0
Remus_3_0Remus_3_0
Remus_3_0
 
Ssis Best Practices Israel Bi U Ser Group Itay Braun
Ssis Best Practices   Israel Bi U Ser Group   Itay BraunSsis Best Practices   Israel Bi U Ser Group   Itay Braun
Ssis Best Practices Israel Bi U Ser Group Itay Braun
 
PHP UK 2020 Tutorial: MySQL Indexes, Histograms And other ways To Speed Up Yo...
PHP UK 2020 Tutorial: MySQL Indexes, Histograms And other ways To Speed Up Yo...PHP UK 2020 Tutorial: MySQL Indexes, Histograms And other ways To Speed Up Yo...
PHP UK 2020 Tutorial: MySQL Indexes, Histograms And other ways To Speed Up Yo...
 
Workload Management with MicroStrategy Software and IBM DB2 9.5
Workload Management with MicroStrategy Software and IBM DB2 9.5Workload Management with MicroStrategy Software and IBM DB2 9.5
Workload Management with MicroStrategy Software and IBM DB2 9.5
 
Habits of Effective SAS Programmers
Habits of Effective SAS ProgrammersHabits of Effective SAS Programmers
Habits of Effective SAS Programmers
 
Mca5010 web technologies
Mca5010 web technologiesMca5010 web technologies
Mca5010 web technologies
 
Mca5010 web technologies
Mca5010 web technologiesMca5010 web technologies
Mca5010 web technologies
 
SAS Macros part 1
SAS Macros part 1SAS Macros part 1
SAS Macros part 1
 
Flex 4.5 jeyasekar
Flex 4.5  jeyasekarFlex 4.5  jeyasekar
Flex 4.5 jeyasekar
 

More from Surya Padhi

Surya Padhi. ca, cpa : Group Reporting what are features available with g...
Surya Padhi. ca, cpa   : Group Reporting   what are features available with g...Surya Padhi. ca, cpa   : Group Reporting   what are features available with g...
Surya Padhi. ca, cpa : Group Reporting what are features available with g...Surya Padhi
 
Surya padhi. ca, cpa nri taxation and tax planning
Surya padhi. ca, cpa   nri taxation and tax planningSurya padhi. ca, cpa   nri taxation and tax planning
Surya padhi. ca, cpa nri taxation and tax planningSurya Padhi
 
CONFIGURING GROUP REPORTING WITH S/4 HANA 1909.
CONFIGURING GROUP REPORTING WITH S/4 HANA 1909.CONFIGURING GROUP REPORTING WITH S/4 HANA 1909.
CONFIGURING GROUP REPORTING WITH S/4 HANA 1909.Surya Padhi
 
2020 STANDARD DEDUCTION VS ITEMIZED DEDUCTION
2020 STANDARD DEDUCTION VS ITEMIZED DEDUCTION2020 STANDARD DEDUCTION VS ITEMIZED DEDUCTION
2020 STANDARD DEDUCTION VS ITEMIZED DEDUCTIONSurya Padhi
 
2020 CPA BEC REVIEW NOTES
2020 CPA BEC REVIEW NOTES2020 CPA BEC REVIEW NOTES
2020 CPA BEC REVIEW NOTESSurya Padhi
 
2020 CPA FAR REVIEW NOTES
2020 CPA FAR REVIEW NOTES2020 CPA FAR REVIEW NOTES
2020 CPA FAR REVIEW NOTESSurya Padhi
 
E-ACCOUNTING ( SAP's Solution) For Mexico
E-ACCOUNTING ( SAP's Solution) For MexicoE-ACCOUNTING ( SAP's Solution) For Mexico
E-ACCOUNTING ( SAP's Solution) For MexicoSurya Padhi
 
SAP E-Document (Mexico)
SAP E-Document (Mexico) SAP E-Document (Mexico)
SAP E-Document (Mexico) Surya Padhi
 
2019 cpa bec mobile app
2019 cpa bec mobile app2019 cpa bec mobile app
2019 cpa bec mobile appSurya Padhi
 
4403 asug sap_presentation
4403 asug sap_presentation4403 asug sap_presentation
4403 asug sap_presentationSurya Padhi
 
SAP Financial Closing Cockpit
SAP Financial Closing CockpitSAP Financial Closing Cockpit
SAP Financial Closing CockpitSurya Padhi
 

More from Surya Padhi (11)

Surya Padhi. ca, cpa : Group Reporting what are features available with g...
Surya Padhi. ca, cpa   : Group Reporting   what are features available with g...Surya Padhi. ca, cpa   : Group Reporting   what are features available with g...
Surya Padhi. ca, cpa : Group Reporting what are features available with g...
 
Surya padhi. ca, cpa nri taxation and tax planning
Surya padhi. ca, cpa   nri taxation and tax planningSurya padhi. ca, cpa   nri taxation and tax planning
Surya padhi. ca, cpa nri taxation and tax planning
 
CONFIGURING GROUP REPORTING WITH S/4 HANA 1909.
CONFIGURING GROUP REPORTING WITH S/4 HANA 1909.CONFIGURING GROUP REPORTING WITH S/4 HANA 1909.
CONFIGURING GROUP REPORTING WITH S/4 HANA 1909.
 
2020 STANDARD DEDUCTION VS ITEMIZED DEDUCTION
2020 STANDARD DEDUCTION VS ITEMIZED DEDUCTION2020 STANDARD DEDUCTION VS ITEMIZED DEDUCTION
2020 STANDARD DEDUCTION VS ITEMIZED DEDUCTION
 
2020 CPA BEC REVIEW NOTES
2020 CPA BEC REVIEW NOTES2020 CPA BEC REVIEW NOTES
2020 CPA BEC REVIEW NOTES
 
2020 CPA FAR REVIEW NOTES
2020 CPA FAR REVIEW NOTES2020 CPA FAR REVIEW NOTES
2020 CPA FAR REVIEW NOTES
 
E-ACCOUNTING ( SAP's Solution) For Mexico
E-ACCOUNTING ( SAP's Solution) For MexicoE-ACCOUNTING ( SAP's Solution) For Mexico
E-ACCOUNTING ( SAP's Solution) For Mexico
 
SAP E-Document (Mexico)
SAP E-Document (Mexico) SAP E-Document (Mexico)
SAP E-Document (Mexico)
 
2019 cpa bec mobile app
2019 cpa bec mobile app2019 cpa bec mobile app
2019 cpa bec mobile app
 
4403 asug sap_presentation
4403 asug sap_presentation4403 asug sap_presentation
4403 asug sap_presentation
 
SAP Financial Closing Cockpit
SAP Financial Closing CockpitSAP Financial Closing Cockpit
SAP Financial Closing Cockpit
 

Recently uploaded

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

01 surya bpc_script_ppt

  • 1. BPC 10.0 NW Script Logics Disclaimer: This document contains only intended strategies, developments, and functionalities of the SAP product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. SAP and author assume no responsibility for errors or omissions in this document. This preview is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP and author have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. Author: Surya Padhi Mail : SuryaPadhi@Gmail.Com. SAP Certified Application Associate - Financial Accounting SAP Certified Application Associate - SAP BusinessObjects Planning and Consolidation 10.0
  • 2. Objectives www.suryapadhi.com suryapadhi@gmail.com In SAP BPC, we use script logics to copy, calculate and write data based in selection. On several occasions I have seen, functional consultants find it difficult to understand. In this presentation I will cover following topics relating to BPC 10.0 NW script logic for simplification and easy understanding. 1) Definition; 2) Functionalities 3) Syntax 4) Testing of script logics.
  • 3. Definition www.suryapadhi.com suryapadhi@gmail.com Script Logic – enables calculations on base-level cells that result in data stored within an application. The results are aggregated up the dimensional hierarchy, without being re- calculated at upper levels. SAP has provided two types of scrip logics syntax , these are (1) SQL based syntax and (2) MDX based syntax . I will cover in detail above syntax in more details in the next few slides.
  • 4. Functionalities: www.suryapadhi.com suryapadhi@gmail.com The script logic; 1) Reads a specific data selection from the model. 2) Applies to it a set of user-defined formulas (stored in a logic file). 3) Derives the values. 4) Writes those values back to the application. Results are written directly to the model as base data, and are aggregated up the dimensional hierarchy as they are, without being recalculated at upper levels. 1) All dimension logic formulas are applied to these results. 2) This process allows you to perform calculations. Script logic can be run in any of three ways: 1) Automatically after data is sent to the database from BPC for Excel using the Default.LGF file. 2) After Journal data send using either Default. LGF, or if present, Journal. LGF files. 3) Through Data Manager as a batch processing event to call Script Logic formulas.
  • 5. Functionalities: www.suryapadhi.com suryapadhi@gmail.com Advantages of BPC script logics 1) Model dependent calculation, not at a member level of the dimensions; 2) BPC scripts can be called from different places, for example default logic, data manager package etc. 3) With the help BPC logics, we can perform different type of calculation with or without calling business rules; 4) In SAP BPC script logics, we can choose desired dimensions with the help of dimension properties. Disadvantages of BPC script logics 1) BPC script can’t handle very complex calculation processing or bigger data volume. In case of a complex calculation, ABAP-BADI comes into the picture. We can call ABAP-BADI codes within the script logics.
  • 6. Syntax www.suryapadhi.com surya@suryapadhi.com There are two Syntax options in SAP BPC Script Logic. These are: 1) SQL based syntax: SQL syntax gives better performance. 2) MDX based syntax. MDX syntax is used in record level specific calculations). Multidimensional expressions abbreviated as MDX. While choosing script logics, you need to consider following points for performance consideration, 1. Use fewer commits statements; 2. While developing complex calculation, choose ABAP-BADI. 3. Scoping uses memory, hence scoping should be precise. 4. MDX syntax causes performance issues, so use SQL logics as far as possible. 5. Use limited looping to improve performance.
  • 7. Syntax www.suryapadhi.com surya@suryapadhi.com STRUCTURE OF SCRIPT LOGIC: Script logic structure is divided in three parts. 1) SCOPING – In this section we define the scope of data to which calculation will be applied. 2) BODY – In this section, we tell to the system what to be done I.e. perform calculation, Transformation, Aggregation etc. 3) COMMIT – In this section we tell to section to save the calculated result to the database. *XDIM_MEMBERSET Category = PLAN *XDIM_MEMBERSET Entity = C3000 *XDIM_MEMBERSET P_DataSrc = MANUAL *XDIM_MEMBERSET RptCurrency = LC SCOPING *XDIM_MEMBERSET P_Activity = EMPL1 *XDIM_MEMBERSET P_ACCT = CE0004220 *XDIM_MEMBERSET TIME = 2007.JAN *WHEN P_ACCT *IS CE0004220 *REC (EXPRESSION = 901) BODY *ENDWHEN *COMMIT COMMIT
  • 8. Syntax www.suryapadhi.com surya@suryapadhi.com Script Logic can be broken down into 3 components: • Scoping- What am I running the data on? • Data manager scoping • Input schedule scoping • Scope control • Body / Code - What do I want to do with the scoped record? • *IIf Statements • *REC • [#] based MDX statements • *WHEN / *IS / *ENDWHEN • Allocation Logic • Writing the records • *COMMIT
  • 9. Syntax www.suryapadhi.com suryapadhi@gmail.com Due to performance issue MDX syntaxes are less favorite among BPC developers. In this section l will cover commonly used SQL based syntax; 1. *ADD / *ENDADD = Add set of values members (i.e. accounts) to another set of values ( i.e. account). 2. *INCLUDE = With this syntax, you can include multiple Script Logic files in a script. Included scripts carry different calculation once you execute the main script. During LGX generation, all codes are combined into one big piece of code and executed during runtime. 3. *REC = This statement generates a record / modifies a record that to be posted in the database. Even if it is for the same destination cell, a source record can generate as many destination cell records. Multiple REC statements possible between *END/*ENDWHEN statement. Example: -*REC (FACTOR = 0.9,ACCOUNT="DISCOUNT_EXTSALES"). Which means multiply by 0.9 to current scoped record and replace account with DISCOUNT_EXTSALES write values to DISCOUNT_EXTSALES. 4. *XDIM_MEMBERSET = It restricts the data, filters the source dataset to the required dataset for specific calculation, intended in the script logic. For each restriction using a dimension, there can be a separate XDIM statement. Generally it is followed by the Dimension name & Member value/value set.
  • 10. Syntax www.suryapadhi.com suryapadhi@gmail.com 5. *XDIM_ADDMEMEBERSET = This statement is used to add more member values to the scope of member value already defined with the XDIM statement for conditional calculations. 6. *XDIM_FILTER = Filters the members of the scope of that dimension. It does not filter the scope of data, rather filters from available scope. Example - *XDIM_FILTER ACCOUNT = [account].properties(ACCTYPE='AST'). In this case system will select account members which contains ACCTTYPE property value as “AST” 7. XDIM_MAXMEMBERS = Specifies the maximum number of members that should be included in one query. 8. XDIM_PACKAGEBY = This syntax is used for parallel processing. However, configuration needs to be done in SPRO need to be done before using this. 9. *SELECT / *ENDSELECT = Like any other SQL statement, this syntax helps to retrieve a list of values from the master data table (Dimension) and store them in a defined variable. Can be written in any part of the logic and the resultant value can be used in any part of the logic as well. Generally better to write in the beginning of the logic structure. 10. *WHEN / *ENDWHEN = *WHEN/*ENDWHEN can be used with property values of the dimension; to further create conditions for data processing / transformation / modification / manipulation, for the REC statement. Ex: *WHEN ACCOUNT *IS “XY00001234”. Same as SELECT/ENDSELECT statement, but this it used when different transformation is needed for different type of field values in a record. Hence multiple *WHEN/*ENDWHEN statements possible within a script logic. It works as a loop statement.
  • 11. Syntax www.suryapadhi.com suryapadhi@gmail.com 11. *DESTINATION_APP = Use to make the datasets of one model available for other. It transfers the data from one model to another. Between Dimension “Category” values. 12. *LOOKUP / *ENDLOOKUP = Similar to “*DESTINATION_APP” but this does not transfer the data between the model, rather looks up for the required calculation. It is acts like a “READ” statement in traditional ABAP. Example: While doing currency translation of a value, it will be required to look into the EXCHANGERATES model. 13. *TMVL = This is used to retrieve a time value after taking into consideration an offset value from a given time period. REC(FACTOR=1.1, TIME=TMVL(12,2006.APR)). In this case the time value is 2006, Apr + 12 months = 2007,Apr. 14. *COMMIT = Saves/stores the calculated values in the database. In case of two dependent calculations, resulting value of the first calculation must be saved into the database with a “*COMMIT” statement, before its value is used in another calculation formula within the script logic.
  • 12. Syntax www.suryapadhi.com suryapadhi@gmail.com 15. *ADD_DIM = While copying data between two models, if source model does not contain all the dimensions as the destination model, missing dimensions in the source model can be created/added using this syntax before data copy. Possible to use this for multiple dimensions in one statement. 16. *RENAME_DIM = While copying data between two models, if dimension names between the models do not match; then mismatching dimension names can be renamed to be the same before copy process. Possible to use this for multiple dimensions in one statement. 17. *SKIP_DIM = While copying data between two models, if the destination model does not contain all the dimensions as the source model, some of the destination models can be skipped from copying process using this syntax. Possible to use this for multiple dimensions in one statement. 18. *SELECTCASE / *ENDSELETC = This is a select statement with a CASE together to encourage conditions within. Works as IF, ELSEIF & ENDIF statement in traditional ABAP. 19. *START_BADI / *ENDBADI = This script helps in calling BAdIs within the script logic to perform an endless variety of functions. 20. *RUNALLOCATION = This syntax help execute SAP delivered allocation logic.
  • 13. Syntax www.suryapadhi.com suryapadhi@gmail.com 21. *BEGIN / *END = These syntaxes are used with Boolean Expressions (YES / NO). Similar concept, as may have seen in BW-BEX formulas. The individual conditions will be enclosed in parenthesis. If the condition is true, the return value will be 1, else 0. 22. *IIF = These syntaxes work, just as IF, ELSEIF, ENDIF statements in traditional ABAP. If the condition satisfies, then it directs the record to undergo a calculation. 23. *FOR / *NEXT = This syntax is used with a variable, which returns/contains multiple values. This syntax then helps to process individual variable values, one by one. It works like FOR EACH statement in FOX formula. 24. *GET = Retrieves the value from the memory 25. *FUNCTION / *ENDFUNCTION = This syntax is very often used in MDX. Function is used in BPC to enhance readability. 26. *WHEN _REF_DATA = It sets the focus to either master data or transactional data. When is set to master data, it loops through all the master data values of the dimension. And when set to transactional data, it loops through all transactional data, which uses the dimension/values in its scope. Without an explicit definition, the transactional data mode is selected by default.
  • 14. Variables www.suryapadhi.com suryapadhi@gmail.com Variable allows to enter values in runtime. In BPC we use two types of variables (1) user defined variables and (2) system variables. In case of user defined variables; • We will have variables in script, for example $PERCENT$ • Then we define variable for prompt in the data manager package, for example %PERCENT%. • In run time system will replace $PERCENT$ with values we are passing via %PERCENT%. For example *XDIM_MEMBERSET TIME = $DIM_INP$ in script logic and a prompt %DIM_INP% in DM package will prompt the user to enter a time dimension member while running that script logic. If the user enters 2009.JAN, the package will run only for January 2009. If he/she enters BAS(2009.Q1), the package will run for Jan, Feb, Mar of 2009 System defined variables are; 1. %USER% - Returns current Planning and Consolidation User 2. %APPSET% - Returns current Planning and Consolidation AppSet 3. %APPLICATION% - Returns current Planning and Consolidation Application 4. %YEAR% - Returns current calendar year.
  • 15. SAP Delivered Logics www.suryapadhi.com suryapadhi@gmail.com Allocation.lgf - Allocation executes a distribution of values based upon a defined basis. This functionality does not require any additional business rules to function. There are two methods to call the allocation engine: *RUNALLOCATION - The *RUNALLOCATION format is commonly used when an allocation is to be performed once in the script logic file *RUN_ALLOCATION - The *RUN_ALLOCATION format can be used when an allocation is to be performed multiple times in the same script logic file. In the following example, the allocation called DIST2 is first defined, and then the allocation is called multiple times later in the code by the RUN_ALLOCATION command Calcaccount.lgf - Calcaccount is used to prepare Cash Flow and must be executed along with appropriately defined Account Calculation Business Rules. Consolidation.lgf - Consolidation is used to perform legal consolidation and must be executed along with appropriately defined Legal Consolidation Business Rules. Copy_Opening.lgf - COPYOPENING is used to transfer ending balances from one time period to starting periods in a subsequent time period. COPYOPENING must be executed with the appropriate Balance Carry Forward business rules. FX_Trans.lgf - Currency Conversion is used to translate existing records into alternative currency views. Currency Conversion must be executed with the appropriate Currency Conversion business rules.
  • 16. SAP Delivered Logics www.suryapadhi.com suryapadhi@gmail.com ICDATA.LGF - ICDATA is used to perform intercompany reconciliation activities. ICDATA must be executed with the appropriate ICBOOKING business rules. ICBooking.lgf - ICBooking is used to perform intercompany reconciliation activities with difference postings. ICBooking must be executed with the appropriate ICBOOKING business rules. ICElim.lgf - ICElim is used to perform intercompany reconciliation. ICElim must be executed with the appropriate ICElim business rules. Validation.lgf - Validation is used to perform validation activities define within the validation business rules. MDXlib.lgf - The MDXlib file provides examples of pre-delivered MDX financial functions. System_Constants.lgf - The system constants file is the logic file that maps your dimension names for an application to the standard (delivered) BPC logic. For example, the file maps the name of the category dimension to the dimension to be used as the category. System_Library.lgf - The System Library includes basic examples of delivered keywords and functions.
  • 17. Testing and Debugging www.suryapadhi.com suryapadhi@gmail.com To test and debug script , we can use program UJK_SCRIPT_LOGIC_TESTER or Transaction Code: UJKT 1 2 3 4
  • 18. Testing and Debugging www.suryapadhi.com suryapadhi@gmail.com 1 2 3 4 The SETTING region for the definition of the environment, model and user
  • 19. Testing and Debugging www.suryapadhi.com suryapadhi@gmail.com 1 2 3 4 The DATA REGION section allows definition of the initial scope. Use the format dimension=dimension_member, for example: CATEGORY=ACTUAL.
  • 20. Testing and Debugging www.suryapadhi.com suryapadhi@gmail.com 1 2 3 4 The prototyped script logic code is entered into the lower left hand section.
  • 21. Testing and Debugging www.suryapadhi.com suryapadhi@gmail.com 1 2 3 4 Any errors that are discovered will be presented on the lower right hand screen.
  • 22. Testing and Debugging www.suryapadhi.com suryapadhi@gmail.com The script can be executed, and all results saved to the database, by clicking on the EXECUTE button. The resulting system log will display the compiled code, the number of records processed and the time to execute.
  • 23. Few of My Contributions. www.suryapadhi.com suryapadhi@gmail.com Contact information: • www.SuryaPadhi.Com • Mail: SuryaPadhi@Gmail.Com. My Publications Other White Papers • Lock Box • Credit Card functionality in SAP SAP Press Publications • Explore the Payment Currency Option in Accounts Payable