Business Rule - Mathematical Formula

Hi
Is it possible to create a business rule that derives an attributes value via a mathematical formula? For example I would like to derive the attribute product volume by simply multiplying the values in
the following attributes: Product Height * Product Length * Product Width.
I am using SQL Server MDS 2012.
Any advice on how to achieve this in MDS would be greatly appreciated.
Cheers
Kevin

You can do this, and perform run arbitrary .NET code in an external workflow action.  See eg
http://mdsutilities.codeplex.com/SourceControl/latest#MDSUtilities/CustomBusinessRuleAction/ExternalActionSample.cs
David
David http://blogs.msdn.com/b/dbrowne/

Similar Messages

  • Business Rule/Member formula for Y-T-D value

    I have an account in my P&L which holds monthly movement values (e.g. Jan=10, Feb=20, Mar=10, Apr=15). Lets Call this AC123
    I need to populate Balance Sheet account (TB Last) with the "Y-T-D" equivalent values (i.e. Jan=10, Feb=30 [10+20], Mar=40[10+20+10], Apr=55[10+20+10+15]. Lets call this AC345.
    How can I calculate AC345 as Y-T-D(@CURRMBR(PERIOD))->AC123?
    Currently I have a member formula on AC345 as follows:
    IF(@ISMBR("Jan"))
         "AC123";
    ELSEIF(@ISMBR("Feb"))
         Jan->AC123+Feb->AC123;
    ELSEIF(@ISMBR("Mar"))
         Jan->AC123+Feb->AC123+Mar->AC123;
    ELSEIF(@ISMBR("Apr"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123;
    ELSEIF(@ISMBR("May"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123;
    ELSEIF(@ISMBR("Jun"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123;
    ELSEIF(@ISMBR("Jul"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123;
    ELSEIF(@ISMBR("Aug"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123+Aug->AC123;
    ELSEIF(@ISMBR("Sep"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123+Aug->AC123+Sep->AC123;
    ELSEIF(@ISMBR("Oct"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123+Aug->AC123+Sep->AC123+Oct->AC123;
    ELSEIF(@ISMBR("Nov"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123+Aug->AC123+Sep->AC123+Oct->AC123+Nov->AC123;
    ELSEIF(@ISMBR("Dec"))
         Jan->AC123+Feb->AC123+Mar->AC123+Apr->AC123+May->AC123+Jun->AC123+Jul->AC123+Aug->AC123+Sep->AC123+Oct->AC123+Nov->AC123+Dec->AC123;
    ENDIF;
    But there MUST be a more elegant way to do this!!
    Version 11.1.1.3
    I hope the question is clear. Thanks in advance for your help.
    Paul
    Edited by: 973421 on Nov 27, 2012 3:38 AM

    Hmm, well one way you might do this is to a YTD hierarchy (I know you are doing movements, but sometimes balances are nice, too, and this approach lets you TB whatever with the values and get the right YTD value) in my Months/Time Period/whatever dimension.
    Something like this (and I am making it Planning-centric but should work for any BSO db that has separate Years and Months dimensions):
    Months
    |_TotalYear ~
    |___Q1 +
    |____Jan +
    |____Feb +
    |____Mar +
    etc.
    And then at the same level as TotalYear I would have this:
    YTD ~ Label ONly
    |_Jan YTD ~
    |__Jan +
    |_Feb YTD ~
    |__Jan YTD +
    |__Feb +
    |_Mar YTD ~
    |__Feb YTD +
    |__Mar +
    etc.
    That gives you the YTD values (balance or movement) but you still need to refer to the correct YTD member and that means the big IF statement still exists.
    What I think you need is the @CURRMBRRANGE formula:
    http://docs.oracle.com/cd/E17236_01/epm.1112/esb_tech_ref/currmbrrange.html
    NB -- This is a guestimate on your code, but how about this:
    "AC345" = @SUMRANGE("AC123", @CURRMBRRANGE("Months", LEV, 0, , 0)) ;
    The startOffset value is null -- that should give you Jan. The endOffset is 0, that should give you whatever the current Month is. I think that's it. I would likely make this member a dynamic calc but that's up to you.
    Regards,
    Cameron Lackpour

  • Business Rules comparing 2 values using formula

    Hi All,
    My intention is to setup a businessrule which verifies that the value of a specific field is not greater than 1.6 * the value of another field. Let's say my model has Products with Sales and CostPrice as attributes and  someone should be notified
    if SalesPrice > 1.6 * CostPrice.
    Would it be possible to set this up using MDS only ?
    Kind regards,
    Cees
    Please remember to mark replies as answers or at least vote helpfull if they help and unmark them if they provide no help.

    One idea:
    Create a new attribute and use a business rule to populate the attribute with a value that is 1.6 times the Cost.
    Then use another business rule to validate that the value of that attribute is less than the SalesPrice.
    If you have attribute groups, you can create this attribute without showing it to users by not adding it to any groups. (Or set display length to zero.)
    Hope this helps,
    Suzanne Selhorn [MSFT]
    Suzanne Selhorn [MSFT]

  • Using a local Array in a Business Rule

    Newbie question here...
    I am writing a business rule that applies a standard rate to a lot of different lines in a business rule. This rate only varies by year, so from a logical perspective I think of it as a 1 dimensional variable. However the rate is actually stored in my normal Essbase cube (8-dimensions) something like the following:
    Dimension Dimension Member
    Account: Rate
    Dim2: No Dim2 Value (A dimension member called "No dim2 Value")
    Dim3: No Dim 3 Value
    Dim4: No Dim4 Value
    Dim5: No Dim5 Value
    Dim6: No Dim6 Value
    Dim7: No Dim7 Value
    Year: [varies by year]
    So right now my formula to calculate things looks something like the following:
    "Target Account 1" = "Driver Account 1" * Rate ->
    "No Dim2 Value" ->
    "No Dim3 Value" ->
    "No Dim3 Value" ->
    "No Dim5 Value" ->
    "No Dim6 Value" ->
    "No Dim7 Value"
    But I have to do this for several "Target" and "Driver" Accounts in the rule, which means an ugly looking rule. What I would like to do is create a local array at the beginning of my business rule and populate it with the rate:
    ARRAY _rate[Year]
    and then set the value of the array equal to
    Rate -> "No Dim2 Value" -> "No Dim3 Value" -> "No Dim3 Value" ->
    "No Dim5 Value" -> "No Dim6 Value" -> "No Dim7 Value"
    This will allow me to simplify my formula down to
    "Target Account 1" = "Driver Account 1" * _rate
    My first question is "can I do this?" I've been able to create an array and use it in the formula, but I can't figure out how to populate the values in the array from my main Essbase cube.
    The second question is "does it make sense to do this?" In addition to making the code easier to read, my guess is that populating the array once and just using it within the scope of the rule would be a bit more efficient than referencing that big cross dim expression, but I really don't know.
    Any advice anyone has would be appreciated.
    Thanks
    -Glenn

    I am familiar with what you are trying to accomplish.
    Having Essbase store a fixed rate over time to be used in calculations is possible. However formulas start to look complex depending on how many dimensions you have and what the desired outcome is.
    There are alternate techniques to the one you mentioned.
    You can create a new database for rates only and make it with fewer dimensions. Then use the @XREF function to retrieve it in your formulas.
    If the rate doesn't change very often you can put the Rate inside of the formula as is.
    For example Y2006_Rate = 5%.
    Brian Chow

  • Sequence will not validate with run time prompts in business rules

    I am in Hyperion Planning v 1.1.1.3, with Workforce initialized. I am creating a sequence of business rules. The rules use run time prompts within them and validate when used on their own. However, when I insert them in a sequence the sequence will not validate, apparently due to the run time prompts.
    The sequence returns the error: Cannot calculate. Essbase Error(1200323): Error parsing formula for [FIX STATEMENT] (line 7): expression expected after [(].
    Line 7 in the business rule is as follows:
    FIX ([rtpYear],[rtpScenario],[rtpVer],[rtpCC],[rtpBU],[rtpEmp])
    The problem is not isolated to this business rule, it occurs with any rule I try.
    Can sequences function with run time prompts in the included business rules?
    Stephen

    I have figured out that if any rtp is hidden in the business rule, the sequence will not validate. Is this expected behavior for sequences?
    Additionally, hiding the variables in the sequence has no effect if the variables are not hidden in the rule. When launched from a menu in a web form, the user is prompted for values for all variables (except for the Execution Database Name) although they are prepopulated based on the members in the POV, Page, etc. Is this also expected behavior?
    I also find that it won't validate if "Merge launch variables" is selected (I have included rules associated with different plan types and with different dimensionality, so this may be expected). The user is prompted to provide values for every variable in each rule in the sequence, many of them duplicates (though, again, they are prepopulated based on members in the form).
    Stephen

  • Using Y-T-D values in Business Rules

    Hi All,
    I am using Hyperion Planning 11.1.1.1.0.
    I have enabled Y-T-D dynamic time series in the application.
    I need to calculate YTD variance% , the formula to be used is :
    (Y-T-D(Oct)Budget - Y-T-D(Oct) Actual) / Y-T-D(Oct)Budget * 100.
    I have a business rule(created in EAS) that does the other variance % calculations which are pretty simple like Budget-Actual/Budget*100.
    The formuls for the normal variance Percentage works but i get an error when writing a formula for :
    "Variance%(YTDActual&YTDBudget)"
    ("Variance%(YTDActual&YTDBudget)"="Y-T-D(&CurrentMonth)"->Budget - "Y-T-D(&CurrentMonth)"->Actual / "Y-T-D(&CurrentMonth)"->Budget *100;)
    The error that comes up is as follows:
    Detail:Cannot calculate. Analytic Server Error(1200497): Error compiling formula for [Variance%(YTDActual&YTDBudget)] (line 2): unknown member name ["Y-T-D(&CurrentMonth)"] in function [operator @X]
    Can somebody please advice as how to use Y-T-D values in the formulas?
    Kind Regards.
    Mirka

    Here are a couple of tips that may help:
    1) You cannot directly reference dynamic-time-series members in a business rule or a member formula. These are "virtual" members. This is a common misconception.
    2) Even if you could reference these members in a formula, you couldn't store a value in them anyway, as they are dynamic.
    3) It usually doesn't make a lot of sense to calculate variances like these in a business rule. I would recommend making them dynamic, two-pass member formulas (not business rules) in your Scenario dimension. They don't need to be "Two pass" in the typical sense (eg. recalculating a ratio at the quarters), but they need to fire last, so set them as two pass. (otherwise you will end up with order of calculation issues where other calculations fire after the variance and you get incorrect results).
    In looking at your requirement, you don't really need a variance that calls out dynamic time series members. Simply create a variance scenario with a formula like @VARPER("Budget", "Actual");. If you have "Y-T-D(Oct)" selected as your time period in your form or spreadsheet, and "Bud vs Act %" (this is your new variance scenario) selected, it will calculate the YTD variance for October, or whatever time period you have selected.
    Just to recap:
    1) Create a new scenario called "Bud vs Act %". Make it dynamic and two-pass. Give it a formula of @VARPER("Budget", "Actual");
    2) Scrap your business rule. Add other variance scenarios as needed.
    3) Add your YTD member and your variance scenario to a form, and test.
    Hope this helps,
    - Jake

  • How to create Business Rule?

    Hi All,
    i am new to Hyperion, can any one help me on the following issue.
    i want to crate a business rule to aggregate data from level 0 to parent level for one partcula data form and aloso have to calculate the data for the following member
    Cost per Unit = Total Revenue/Unit
    i have already have the member formula in outline for cost per Unit as follows
    Cost per Unit = Expense/Unit
    How i can create the business ruleto calculate the data for cost per Unit (Total Revenu/Unit) and the aggregation of data to the parent level in data form
    I have 12 dimensions and i am using 9.3.1 Version
    Thanks in advance
    Ram
    Edited by: Ram on Sep 2, 2011 2:36 AM

    i want to crate a business rule to aggregate data from level 0 to parent level for one partcula data form^^^These are oldies but goodies:
    http://camerons-blog-for-essbase-hackers.blogspot.com/2009/06/why-i-hate-and-love-business-rules-part.html
    http://camerons-blog-for-essbase-hackers.blogspot.com/2009/06/why-i-hate-and-love-business-rules-part_17.html
    Cost per Unit = Total Revenue/Unit^^^Are you asking if it makes sense to calculate this ratio at all levels of the database or only at the top level? If you mean that it only makes sense at level zero, you could use a FIX statement to select all level zero members and then perform the calculation. Based on the formula, I would think you could get away with a dynamically calculated member formula, assuming Total Revenue is dynamically calculated as well. Generally, level zero calcs in a business rule are only required if there's a percentage involved; if the formula is valid at aggregated levels, make it dynamic unless reporting performance (I have seen dense formulas that go across many, many blocks -- bad idea) falls off a cliff.
    Regards,
    Cameron Lackpour

  • Problem in mapping Task payload parameters to Oracle Business Rules facts

    Hi all,
    We are using complex types from our project XSDs inside the Human Task payload. We intend to use these Human Task payload parameters to build routing rules using the Oracle Business Rules interface. Our observation is that when the complexity of these complex types increase, the business rules editor does not show these as facts that can be used in formulating rules.
    Has anybody faced such a problem before. Any help is appreciated.
    We are using the following link to add routing rules –
    http://docs.oracle.com/cd/E25054_01/dev.1111/e10224/bp_decision.htm
    Version details :
    ADF Business Components     11.1.1.60.13
    Java(TM) Platform     1.6.0_29
    Oracle IDE     11.1.1.5.37.60.13
    SOA Composite Editor     11.1.1.5.0.01.74
    Thanks,
    Yamini.

    Problem solved. There was an element in the xml schema that had nillable = true. Because of this the XML Fact for that element would no longer be available in the BPEL Process. Removing the nillable and generating the XML Facts again solved the missing variable problem.

  • Error running business rules

    Hello All, We are currently experiencing the problem with the Business Rules. After some idle time in the application, we get an error "Cannot connect to essbase server" and the business rules fail to run.
    We are using Planning: 9.3.1.1.5 and Oracle :10 R2
    below are some details:
    Last usage time: 5:27 PM on 7/7/08
    User logged in at 7:27 AM on 7/8/08
    the hbrlaunch.log file has the following Exception entry at 7:27 AM:
    ************************ Date/Time Ended: 2008/07/08:07:27:30.399 CDT Type/Server/Application/Database: Essbase/xxx..domain.com/CC_Plan/CC_Plan Business Rule Name: CC_CurrencyAndAgg_MnthlyInp_OpsMisc By HBR user: user1 By Essbase user: admin Date/Time Ended: 2008/07/08:07:28:05.901 CDT Type/Server/Application/Database: Essbase/xxx.domain.com/CC_Plan/CC_Plan Business Rule Name: CC_AddAcct_OpsMisc_MonthlyInput By HBR user: user1 By Essbase user: admin Exception: Error connecting to Essbase server xxx.domain.com. *************************
    After logging the above exception about error connecting to essbase, no more exceptions are logged. In AAS_out.log, at around the same time the user experieced error, the following entry was found. not sure if they are related.
    2008-07-08 07:27:08,735 INFO Thread-23 com.hyperion.hbr.db.DBPluginDataTable - Deleting Plugin data older than TO_DATE('2008/07/08 07:25:44','YYYY/MM/DD HH24:MI:SS')
    Some exceptions were logged a few hours prior to the error being occurred:
    2008-07-06 19:25:01,258 WARN [ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)' com.hyperion.hbr.security.HbrSecurityAPI - Exception occured: MSG_USER_PROVISIONING_NATIVEPROVIDER_SETUP_ERROR
    At around the same time in essbase application log, we have these errors:
    [Tue Jul 08 07:27:55 2008]Local/CC_Plan/CC_Plan/admin/Error(1200315) Error parsing formula for [REGION DEFINITION] (line 0): invalid object type [Tue Jul 08 07:27:55 2008]Local/CC_Plan/CC_Plan/admin/Warning(1080014) Transaction [ 0x310231( 0x48735d4b.0x2da78 ) ] aborted due to status [1200315].
    In Essbase.log file, right around the same time the error occurred, it logs some errors stating thet the substution variables does not exist.
    [Tue Jul 08 07:05:15 2008]Local/ESSBASE0///Info(1051001) Received client request: Logout (from user [admin]) [Tue Jul 08 07:05:15 2008]Local/ESSBASE0///Info(1051037) Logging out user [admin], active for 5 minutes
    [Tue Jul 08 07:26:15 2008]Local/ESSBASE0///Error(1051021) You have been logged out due to inactivity or explicitly by the administrator.
    [Tue Jul 08 07:27:14 2008]Local/ESSBASE0///Error(1051007) Invalid login id - request [Logout] failed
    *** errors about substitution variables *****
    [Tue Jul 08 07:27:55 2008]Local/ESSBASE0///Warning(1051003) Error 1051083 processing request [Get Substitution Variable] - disconnecting
    [Tue Jul 08 07:50:20 2008]Local/ESSBASE0///Warning(1051003) Error 1051083 processing request [Get Substitution Variable] - disconnecting
    ********************************************************************************************* Planning_err.log file has the following entries: ********************************************************************************************
    Creating rebind thread to RMI java.lang.RuntimeException: Unable to aquire activity lease on activity 1 as the activity is currently leased by another server.
    The table: hbrplugindata in the AAS schema, is refreshed every minute.
    A new record is inserted as per the logs, but there is only one record in the table. It could be that the delete command is not logged.
    No exception are logged either. Could it be that there are exceptions during this operation and thus results in the failure of BR's?
    Currently we have to restart planning and RMI services to get the business rules to be working again.
    Any help in this matter is welcome. Thanks!

    Hi, we have the same error (region definition error, rules in planning not running for approx. 15 min) - then suddenly working again.
    This is a desaster, as planning users save not-calculated data and cause inconsistency in the system.
    had this in planning 4 installation up to Aug.08 and then in system 9 (with planning patch 5) - rel. 9.3.1.1.5 using IBM Websphere -
    all quick solution from hyperion did not really help: increase number of ports, java cache, change netrelay, netretryconect etc. in essbase.cfg and
    Olap.server.net retry +Olap.server.net connect delay in essbase.properties files
    Review business rules and users for errors, hardware, caches, fragmentation, potential system overload, search for corrupted database, invalid formulas in outline ...
    it came out, that it was just 1 business rule causing this trouble: our only rule, where you enter in a user prompt a numeric value -problem is quotation marks.
    we installed the cumulative Service Fix 11 for this (and other reasons) last week (takes approx. 4 hours to install with all the manual steps - just came out in May - Rel. 9.3.1.1.11)
    as the error happened only from time to time in the peak of our planning session, we will monitor next months but are very optimistic to have things fixed (solution obviously in fix 9 already)
    this link may help as well:
    http://www.network54.com/Forum/58296/thread/1201134375/1217512299/Strange+behaviour+with+HBR++%28Planning+931%29
    I suggest to install Service Fix 11 - if you read the manual, you probably find more fixed errors in there. (Patch is for Planning and BR Rules/AAS EAS)

  • Search for member name in WebForms and Business Rules - 11.1.2.1

    Hi,
    Client has a hierarchy with two parents (Owned and Managed) within a dimension. The 'Managed' parent is no longer valid. Thus they want to eliminate it and move it's children under the 'Owned' member. However there could be ramifications in Business Rules and/or WebForms. Is there a way to search all Business Rules and WebForms for 'Managed' to see which Business Rules and/or WebForms would be affected?
    Or is best way to extract all the WebForms and Business Rules to xml files via LCM and then write custom script to search the files? Not sure if this functionality is already there or not.
    They are on 11.1.2.1

    I don't think "Show Usage" picks up Business Rules that are in the Calculation Manger.
    Also check the Member Formulas - easiest to do in the EAS (view the Outline, and the member formulas are displayed. Otherwise, in Planning, you would need to go into each member individually, and that would take forever). And if you're using Partitions or MRAs, you should check them, too.
    I'm assuming you're doing all of this in a copy of the application, and not on a "live" app, right? So you can make the change and then validate the Business Rules and Outline, and the error messages will tell you where "Managed" was being used.
    -Matt Varner

  • Help PLEASE !!!!!!!!!! Accout Transformation Business Rule

    Hi<br>
    I am trying to use the account transformation Business Rule in BPC 7 for MS. I have stored data gainst the the following <br>
    application = legal<br>
    period = 2009.006<br>
    category = Actual<br>
    ConsolView = LC<br>
    Intco = I_9005<br>
    Measure = Periodic<br>
    DataSourceL = input<br>
    Account  =650110 and 650115<br>
    I have built a report to display this data and to display account 100000
    <br>
    My logic to call the rule is
    <br>
    *RUN_STORED_PROCEDURE=SPRUNCALCACCOUNT( '%APP%', 'ACTUAL' ,'LC',  %SCOPETABLE%, '%LOGTABLE%', 'ABC',99 )<br>
    *Commit
    <br>
    I run my logic in debugger and in the Region tab I set Category to Actual and the Time to 2009.006
    <br>
    In the Business Rule I have a transformation group of ABC and in it I have two rows. I have tried many combinations of parameter values but generally I set the source account to 650110 and 650015 and the destination account to 100000 and leave all other fields empty.
    <br>
    When I run there are no error messages but no data is moved to account 100000.
    <br>
    The log contents are;
    <br>
    <br>
    Start time --->5:01:13 PM  -  Date:26/06/2009  (build code:254)
    <br>
    <br>
    <br>
    User:EXTENDTEC\BPC_SYSADMIN
    <br>
    Appset:Austereo
    <br>
    App:Legal
    <br>
    Logic mode:1
    <br>
    Logic by:
    <br>
    Scope by:
    <br>
    Data File:
    <br>
    Debug <br>
    File:C:\BPC\DATA\WebFolders\Austereo\Legal\PrivatePublications\BPC_SYSADMIN\TempFiles\DebugLogic.Log
    <br>
    Logic File:Acct Transform ABC.LGF
    <br>
    Selection:DIMENSION:Category|ACTUAL|DIMENSION:Time|2009.006|
    <br>
    Run mode:1
    <br>
    Query size:2
    <br>
    Delim:,
    <br>
    Query type:0
    <br>
    Simulation:0
    <br>
    Calc diff.:1
    <br>
    Formula script:
    <br>
    Max Members:
    <br>
    Test mode:0
    <br>
    Is Modelling:1
    <br>
    Number of logic calls:1
    <br>
    <br>
    Call no. 1, logic:C:\BPC\DATA\WebFolders\Austereo\AdminApp\Legal\Acct Transform ABC.LGF
    <br>
    <br>
    Building sub-query 1
    <br>
    <br>
    Query Type:0
    <br>
    Max members:
    <br>
    Executing SPRUNCALCACCOUNT  'Legal', 'ACTUAL' ,'LC',  SPSCOPE_428552, 'SPLOG_486004', 'ABC',99
    <br>
    <br>
    SPRunCalcAccount Version 7.0.112
    <br>
    <br>
    Time to run stored procedure:.6 sec.
    <br>
    call 1 completed and data posted in 0.7 sec.
    <br>
    Run completed in 0.7 sec.
    <br>
    <br>
    End time --->5:01:14 PM  -  Date:26/06/2009
    <br>
    <br>
    I have spent two days trying to get this thing to work. Am I correct in assuming the purpose of this is to copy data from the source account to the destination account. Can somebody please tell me whether there are other factors that control a business rule.
    <br>
    I have spoken to most of the Australian BPC experts and none have successfully invoked the SPRUNCALCACCOUNT. I have read all available documentation and not found an explanation that sheds light on what I am doing wrong. Has anyone successfully used theis Business rule?
    <br>
    Thanks in advance
    <br>

    Hi Bronwen
    Whether you included the System_contants.LGL and Consolidation_Library.LGL in the logic file.
    *INCLUDE SYSTEM_CONSTANTS.LGL
    *SYSLIB CONSOLIDATION_LIBRARY.LGL
    Syntax used & its works.
    *RUN_STORED_PROCEDURE=SPRUNCALCACCOUNT([%APP%],[ACTUAL],[LC],[%Scopetable%],[%Logtable%],[ABCC])
    Give a try!
    Note: Use the Square brackets [[%APP%]] in the syntax.
    after posting this thread, syntax is showing as URL.
    Cheers
    Uma
    Edited by: Uma Swaminathan on Jun 26, 2009 9:37 AM

  • Validation Business Rule Problem

    Hi Community
    I´m working with SAP BPC 7.0 NW SP09 Consolidation, the problem I have is when I execute the validation package, the result of the Validation Rule because the business rule don´t respect the number sign of the value calculated.
    For example I try to confirm this formula ASSETS = LIABILITIES + EQUITY
    ASSETS      AST   1000
    LIABILITIES  LEQ     800
    EQUITY        LEQ     400
    RESULT                  -200
    BUSINESS RULE      200
    I was investigating all the posible combinations of dimensions, and I found it could be possible that this error occurs when (Liabilities + Equity) > Asset.
    Rule                                   
    VAL01     ASSETS=LIABILITIES                         
    Rule Details                                   
    Validation Account     Account 1     Flow 1     Sign 1     Account 2     Flow 2     Sign 2     REMARK
    VAL01     ASSETS     F_CLO     1     LIABILITIES     F_CLO     1     
    ASSETS and LIABILITIES are configures as part of dimlist property, where Liabilities have all the equity accounts too.
    Hope anyone help me with this problem
    Thanks in advance

    Hello Ruben
    If Account: VAL01 is 'AST' account than Validation Business Rule will give 200 as the result.For 'LEQ' result will be -200.
    I think the business rule is working as expected.
    Hope this help.
    Regards
    Venkatesh KPS

  • Business Rule form coding issue

    I have two cubes, one for salaries and one for the P&L, called finance. All members are identical between cubes, EXCEPT the department members, in the finance cube there are numbers,
    such as "662", in the Salary cube, all department members begin with "Sal_" which is "Sal_662"
    I want a salary form on save to execute calculations and then get pulled to the finance cube.
    I have a script that works from a finance cube form, but I want the salary cube form to execute the finance cube business rule. The issue is the different names.
    To do a transfer from the finance cube form, the code looks like :
    "DIRXOT" = @XREF("_Salarycube_" ,"DIRSAL","Total_Employee",(@CONCATENATE("SAL_",@NAME(@CURRMBR("Finance Department")))))
    The finance BR XREF adds the "SAL_ to the current member to reference the Salary cube department.
    Trying to reverse this, code it from the salary form point of view
    IF(@CONCATENATE("SAL_",@NAME(@CURRMBR("Finance Department"))) == [gv_Salary_SalDepartment])
    "DIRXOT" = @XREF("_Salarycube_" ,"PRDSAL","Total_Employee", [gv_Salary_SalDepartment]);
    But no validation. . . any suggestions as to what I am missing?
    thanks

    Thanks, i didn't pose the question quite correctly. . . The IF statement won't validate:
    IF(@CONCATENATE("SAL_",@NAME(@CURRMBR("Finance Department"))) == @NAME([gv_Salary_SalDepartment]))
    or
    IF(@CONCATENATE("SAL_",@NAME(@CURRMBR("Finance Department"))) == [gv_Salary_SalDepartment])
    I have to do a NAME comparison, and I don't know how to do that, with the mathematical operators. . .
    because there is no matching member between cubes for a numerical match. . .
    So I need to return TRUE when finance cube Member "662" equals salary cube Member "Sal_662" by adding "Sal_" to the finance member and then doing the comparison.
    I think it can be done, but not sure how. . . [gv_Salary_SalDepartment] is the global variable from the salary cube form passing the salary cube member to the business rule.
    thanks in advance. . . . .

  • Business Rule Issue in Planning

    Hi All,
    I am working on a business rule and I ve tried doing it many ways but still unable to achieve the desired results. Please find the BR below:-
    FIX(@CHILDREN("Vendor Expenses")
    ,{Scenario},@Relative("Year",0),"No VendorCategory")
    {UPKVendor}
    IF (@ISUDA({UPKVendor},Master))
    {UPKMasterVendor}= @MEMBER(@CONCATENATE("V",@NAME({UPKVendor})));
    {ToVersion}->@IDescendants({UPKMasterVendor}) = {FromVersion}->@IDescendants({UPKMasterVendor})
    ELSE
    {ToVersion}->{UPKVendor}={FromVersion}->{UPKVendor};
    ENDIF
    ENDFIX
    Assumptions :-
    {UPKVendor} is a runtime prompt of type "Member" who's value is initiated from the web form (Vendor Dimension which is tagged with UDA's to identify the type of project)
    {UPKMasterVendor} is a runtime prompt of type "Member" who's value is constructed by concatenating "V" to the {UPKVendor}
    {ToVersion} & {FromVersion} are runtime prompt's as well and the user can select the values for these prompts as part of the business rule.
    Desired Results:-
    IF A VENDOR IS A "MASTER" Vendor, WHICH IS IDENTIFIED USING THE UDA
    THEN COPY THE UPKMASTERVENDOR AND IT's DESCENDANTS FROM THE ONE VERSION (FROMVersion) to ANOTHER VERSION (TOVersion)
    For some reason, the calc manager is not formulating @IDescandants({UPKMasterVendor})
    {ToVersion}->@IDescendants({UPKMasterVendor}) = {FromVersion}->@IDescendants({UPKMasterVendor})
    Any help is greatly appreciated.
    Thanks,
    Cz

    Hi,
    The issue here is that you are trying to assign a member string in a variable on runtime which is not quite possible in Calc Script language. As discussed here number of times and once more quite recently, Calc Script does not support object type (including string) assignment. You can only assign numeric values to members and variables alike. You should try something like @Match function or If condition to achieve what you are doing. Another issue in your script is that you use @Descendants in an equation. You should use @Descendants to restrict the boundaries of your calculation (IF(@ISMBR..., FIX etc) but not in equations.
    Just to give an idea, have a look at below sample:
    IF (@ISUDA({UPKVendor},Master))
    IF(@ISMBR(@Descendants((@MEMBER(@CONCATENATE("V",@NAME({UPKVendor})))))
    {ToVersion}= {FromVersion};
    ENDIF
    ENDIF
    Cheers,
    Alp

  • Temporary variables in business rule in essbase

    hi,
    I want to add temporary variable in my business rule. I have declared the variable as below:
    VAR TaxRate;
    "ROA Tax Rate"
    TaxRate = "ROA Tax Rate"->"GLBU_CVD CONSOLIDATED"->"OU_NUTRITIONAL CHEM"->"All DEPTS"->"Working"->"Forecast"->&FcstYear->"USD"->&FcstMths;
    It is validatoing correctly but when I am running the rule it is giving the error as:
    Error executing formula for [ROA Tax Rate] (line 18): Cannot assign [DOUBLE] objects of different length
    A I doing something wrong with the declaration? (ROA Tax Rate is the member name)
    Please suggest.

    Hi,
    Try this,
    VAR TAXRATE = #MISSING;
    "ROA Tax Rate"
         TAXRATE= "GLBU_CVD CONSOLIDATED"->"OU_NUTRITIONAL CHEM"->"All DEPTS"->"Working"->"Forecast"->&FcstYear->"USD"->&FcstMths;
                             //Intersection of your data;  (i.e., A->B->C)
    Regards,
    Avneet

Maybe you are looking for

  • What External Hard Drive should I be getting?

    I am looking at getting an external hard drive...any model or brand better then others? Also I need to transfer files from my PC to the apple powerbook. I was hoping to use this external hard drive to do so...will this work?

  • MOPZ - yellow warning does not allow to continue with generation of package

    Hello, Using Solution Manager (SM) to generate package and stack configuration file for upgrade. XXH is an HR, 640, with dual stack due to XSS. In SM, converted the product version from ECC to ERP 2004 using SMSY_SWITCH_PRODUCT, there is no inconsist

  • Using java 'classname' vs. appletviewer 'html-filename'

    I have made an applet that I view with appletviewer but I want to use buffered writer in my applet to write to an html file on the server. That way the user can see the results of his/her selections from the applet by clicking on a link from the appl

  • Different track is played

    Hi, I authored my dvd on Studio Pro 4. I use the PSD file for the layered menu. When I played the dvd on my PC, I selected button A (it connects with the track A) and clicked it. During changing button color, I moved the cursor on the button B (it co

  • How to configure web services

    hi experts, could you please tell me, like i have a scenario, one of my cleint has sap and he has got another mobile computing software(non SAP) at depot place,where in whatever transactions happens, for example stock despatches , receipts, it goes t