cancel
Showing results for 
Search instead for 
Did you mean: 

BPC Standard 10.1 NW Script Logic Issue

sberam
Explorer
0 Kudos

Hi Experts,

We have a requirement to extract the members of a dimension based on transactional data as a list using a script logic. Requesting your expertise in giving a solution for the below issue (explained in detail)-

BPC Version- SAP BPC Standard 10.1

SAP BW 750 SP 16

Ø We have a BPC model BPC_NRS with the below list of dimensions:

Account

Category

Entity

Time

Currency

Ø Purpose of the script- To be executed using a data manager package

Use Case: Having the following records sitting as transaction data in the BPC Model. I want to read Account Dimension values (1000, 1001 etc.) in a variable or list where Entity Dimension Value = “E2” and Time Dimension Value = “2022.Nov”.

Our Trials:

1. Investigated if we can make use of *SELECT Statement

But Select statement only allows to work against the master data of one dimension. However, my requirement is to read the dimension members list (and not signed data) from the transaction data.

2. *LOOKUP

Lookup also is used to lookup “values(signed data)” and returns/manipulates “values” instead of member list.

Appreciate your suggestions and thank you in advance.

former_member186338
Active Contributor
0 Kudos

Sorry, but you didn't explained the required logic of the script! What do you want to calculate?

former_member186338
Active Contributor
0 Kudos

P.S. To illustrate required logic please post Excel sample:

Before script run and after!

sberam
Explorer
0 Kudos

Hi Vadim,

Thanks a lot for your response.

We are looking for some help to create a script that can help us extract the list of dimension members posted as part of transaction data (explained in the original question). Below is the expected result sample.

We then further want to use this variable/list %RETRIEVED_ACCT% and pass this as a filter/scope for the next read of transaction data set from the same BPC model sitting at a different granularity.

Please let me know if any other details are required.

former_member186338
Active Contributor
0 Kudos

P.P.S. In general your idea is not supported in BPC script!

You can't fill some variable based on transactional data. All variables are calculated before transactional data reading.

Again, you have to explain your calculation logic - then I will help you with the correct code!

former_member186338
Active Contributor
0 Kudos

"We are looking for some help to create a script that can help us extract the list of dimension members posted as part of transaction data (explained in the original question)." - Absolutely not possible!

"We then further want to use this variable/list %RETRIEVED_ACCT% and pass this as a filter/scope for the next read of transaction data set from the same BPC model sitting at a different granularity." - Not clear! What do you want to filter? What do you want to calculate???

sberam
Explorer
0 Kudos

Hi Vadim,

Thank you for your input.

Just elaborating a bit further-
From the first dataset we would like to have a variable that stores the Accounts 1000, 1001, where Entity Dimension Value = “E2

Once we have the variable (%RETRIEVED_ACCT%) populated with the selected account list, we now would like to pass this as a filter to the below dataset for doing the allocation

By the above dataset, we should be extracting these records highlighted in red (which satisfy our account filter-1000, 1001) to pick our driver value for allocation.

As per your comments, if you confirm that this idea cannot be possible using a script logic, do you advise us to try using a custom logic badi? Your recommendation will be really valuable to proceed further.

Thank you in advance.

former_member186338
Active Contributor
0 Kudos

Sorry again, but you are still unable to explain the full logic!

What do you mean by "1" in Signed data in your first table?

How do you define accounts to be allocated?

What is the scope for values to be allocated?

What is the allocation logic? Targets???

Please spend some time to show clear picture!

And forget about your incorrect idea, script has to be created in another way

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member186338
Active Contributor
0 Kudos

Short answer: you can't fill script logic variable based on transactional data.

Workarounds can be discussed after understanding of requirements!

sberam
Explorer
0 Kudos

Hi Vadim,

Thank you so much for your input. I have tried to come up with a clear explanation of the requirement. The script provided is currently not working and we are getting an error which is attached beside the script. The script is written to obtain Step-3 using data from Steps 1 & 2.

Happy to provide more details if needed.

Thank you in advance.

former_member186338
Active Contributor
0 Kudos
sberam

Explanation is still not clear.

Your script is incorrect - you can't use SELECT inside FOR/NEXT