on ‎2015 Dec 14 10:56 AM
Dear All
We have one script logic, which has clear statement or set of data region followed by a custom badi.
However this scipt was there in default logic, however to improve performance we have placed this script logic in separate logic file.
we have tried to call this script from DMP, however when we link to allocation process chain it got failed.
could you please let us know, to which standard process chain we can relate to call this script.. There are no parameters to pass explicitly because we are scoping everything in script logic.
please advise
thanks in advance...
Request clarification before answering.
You can use DEFAULT_FORMULAS chain...
But please, provide the script you want to run!
Vadim
P.S. Allocation chain is also fine, please explain what do you mean by "failed"....
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dear Vadim
thanks for prompt reply.
Does the process chain Default_formulas alter any data apart from calculations mentioned in script?
The allocation chain failed because i have removed prompt..
I have selected Default_formulas chain now and placed the script . its executing now. Does this process chain alter data?
Here is the script... When i execute this script in UJKT, it ran for 5hrs. Will it be same time if i run thru this DMP? if so, can i assume its normal or any issues with BADI,. Badi worked well earlier but this script logic was there in default logic. But i want to run from DMP.
Please advise. here is the script.
I am not scoping Business unit dimension, hope by default it will take all bas members.
Secondly, does BADI takes from scope in script or from input template? because this logic was placed in default logic earlier which consumed several minutes when user refreshed input template.
//Delete values from Reporting AudiTrail
*XDIM_MEMBERSET TIME=BAS(CALCTIME)
*XDIM_MEMBERSET AUDITTRAIL=C_REPORTING_YTD, C_REPORTING_QTD
*XDIM_MEMBERSET UOM_REPORTING=BASE
*XDIM_MEMBERSET PR_ACCOUNT = <ALL> //all base members without member formulas
*XDIM_FILTER CATEGORY = [CATEGORY].PROPERTIES("NO_INPUT") = "N" //select categories open for inputs
*WHEN PR_ACCOUNT
*IS *
*REC(FACTOR = 0)
*ENDWHEN
*COMMIT
//Data selection Reporting
*XDIM_MEMBERSET TIME=BAS(CALCTIME)
*XDIM_MEMBERSET AUDITTRAIL=C_MANUAL
*XDIM_MEMBERSET UOM_REPORTING=BASE
*XDIM_MEMBERSET PR_ACCOUNT = <ALL> //all base members without member formulas
*XDIM_FILTER CATEGORY = [CATEGORY].PROPERTIES("NO_INPUT") = "N" //select categories open for inputs
//insert BADI
*START_BADI AVERAGES_CALC
//[{parameter_name}={value}]
//...
*END_BADI
"Does the process chain Default_formulas alter any data apart from calculations mentioned in script?" - No, only script calculations!
"The allocation chain failed because i have removed prompt.." - Not clear without sample
"I have selected Default_formulas chain now and placed the script . its executing now. Does this process chain alter data?" Process chain only execute script referenced in the DM package advanced script.
"Here is the script... When i execute this script in UJKT, it ran for 5hrs. Will it be same time if i run thru this DMP? if so, can i assume its normal or any issues with BADI" - UJKT time=DM time if the scope is the same!
Are you sure that the scope is correct?
Script itself - remove useless parts:
*XDIM_MEMBERSET TIME=BAS(CALCTIME)
*XDIM_MEMBERSET AUDITTRAIL=C_REPORTING_YTD, C_REPORTING_QTD
*XDIM_MEMBERSET UOM_REPORTING=BASE
*XDIM_MEMBERSET PR_ACCOUNT = <ALL> //all base members without member formulas
*XDIM_FILTER CATEGORY = [CATEGORY].PROPERTIES("NO_INPUT") = "N" //select categories open for inputs
*WHEN PR_ACCOUNT
*IS *
*REC(FACTOR = 0)
*ENDWHEN
//Data selection Reporting
*XDIM_MEMBERSET AUDITTRAIL=C_MANUAL
//insert BADI
*START_BADI AVERAGES_CALC
//[{parameter_name}={value}]
//...
*END_BADI
Vadim
P.S. What is the CALCTIME? Function?
hi Vadim
thanks for the inputs
CALCTIME is one member in Time dimension have bas members.
the scope is correct, earlier it was in default logic. I was thinking if only scope coming from input template is going to BADI or the scope is going to BADI.
Please let me know if the above DMP linked to this script is fine?
and yes, it ran for 5hrs in UJKT. User raised this high mentioning performance issue with input templates. However this logic was placed in default logic, i thought i could optimize by placing this script and in separate logic and DMP keeping default logic empty.
Please advise.
we have recently upgraded BPC10 sp09 to SP16 [ client requirement ]
EPM addin from Sp13 to SP18.
SAP_BW 730 0013 SAPKW73013 SAP Business Warehouse
CPMBPC 800 0016 SAPK-80016INCPMBPC CPM Business Planning and Consolidation
POASBC 100_730 0013 SAPK-10113INPOASBC POASBC 100_730: Add-On Installation
hi Vadim
yes, I have read it. thanks for the inputs.
so the DMP linked to this script should work fine ?
please let me know.
The BADI is still executing for the past 2hrs.. Do you think any issues with BADI or will it take normally for calcuations. The BADi is for calculating qtd.ytd measures and put in respective members.
thanks
Sorry, but I have no idea why badi is working so slow (code have to be debugged).
In UJKT in your previous discussion you have the scope:
TIME:2011.01,2011.02,2011.03,2011.04,2011.05,...60 in total.
AUDITTRAIL:C_REPORTING_QTD,C_REPORTING_YTD,2 in total.
UOM_REPORTING:BASE,1 in total.
PR_ACCOUNT:PR_01,PR_02,PR_03,PR_04,PR_05,...52 in total.
CATEGORY:DATA_INPUT,1 in total.
For badi the scope will be:
TIME:2011.01,2011.02,2011.03,2011.04,2011.05,...60 in total.
AUDITTRAIL:C_MANUAL,1 in total.
UOM_REPORTING:BASE,1 in total.
PR_ACCOUNT:PR_01,PR_02,PR_03,PR_04,PR_05,...52 in total.
CATEGORY:DATA_INPUT,1 in total.
Total intersections: 60*1*1*52*1=3120 - not a lot! even if it will generate 6240 records...
5 hrs - too long!
Something wrong with the badi code...
Vadim
Hi Vadim
there are nearly 55 bas members of PR_BuS_Unit.
yes, attaching package log and formula log that ended with fail.
Sure, I just fixed for one PR_BUS_UNit now and ran the package. its executing now.
plz let me know if you find anything wrong in log files.
thanks
You error is due to badi execution! I have told you already number of times that you need a qualified ABAP developer to debug your badi. Looks like 3120*55 = 171600 - not a small number and can result in slow execution and errors if you have bad badi code.
By the way the formula log is truncated and provide no info about badi execution, use UJKT!
Vadim
hi Vadim
sure i will engage abeper to look into this.
thanks for valuable inputs.
I just ran one more time by hardcoding single Pr_Bus_unit to check if its properly called or not.
One query, For this process chain default_formulas, can i put prompt for selecting limited number of business unit? so that we can avoid huge hit on badi???
if so, will the process chain accept another prompt, currently category prompt is there
please advise.
if the single PR_BUS_unit gets succesful , i will try by puting prompt to select PR_BUS_unit alone
thanks for your valuable time.
and sure i will engage abaper as well
"One query, For this process chain default_formulas, can i put prompt for selecting limited number of business unit?"
Read help: SELECTINPUT Prompt() Command - SAP BusinessObjects Planning and Consolidation - SAP Library
Then edit DM advanced script:
PROMPT(SELECTINPUT,,,,"CATEGORY,PR_BUS_UNIT")
Then in the script logic:
*XDIM_MEMBERSET PR_BUS_UNIT=%PR_BUS_UNIT_SET%
Vadim
dear vadim
we made a debug on badi code and traced out the processing records.
out of which we noticed one certain combination has been duplicated . Not sure only for this account and business unit it happened. When i remove this combination and run in ujkt, the results are promising.
Here is the sample data fetched from temp table during execution.
like wise for C_reporting_YTD also duplication happened.
ideally, it should generate one record for 2011.01 and 2011.02 and so on..
only for the Account SU_10 and business unit AF_0303
I tried to delete those members and run , but system not allowing..
however i remove this two members from ujkt and executed, it went fine.
Please advise if any ..
i will thankful..
thanks
hi Vadim
i have debugged the code
its generating one additional record to input table of badi
its generating uom_reporting -_> bbl in addition
though we are scoping
*XDIM_MEMBERSET UOM_REPORTING=BASE
before calling badi..
Is BASE any key word in script logic which generating other records
?
please advise
| User | Count |
|---|---|
| 16 | |
| 11 | |
| 9 | |
| 4 | |
| 2 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.