Help required: Splitting up complex script logic via *LOGIC_BY

Hello experts,
I have a very long and complex logic which I am trying to split up into different sections. I am using *LOGIC_BY within the default logic whereas the ACCOUNT dimension is my trigger. Hence I have created a new property called "LOGIC" for every base level account.
I am using BPC MS 7.0 (release 7.0.110)
Simple example to explain:
ACCOUNT description - LOGIC property
PRICE1 - LOGIC_DEMAND
PRICE2 - LOGIC_DEMAND
AMOUNT1 - LOGIC_DEMAND
AMOUNT2 - LOGIC_DEMAND
REVENUE1 - LOGIC_DUMMY (is calculated via LOGIC_DEMAND by =PRICE1 * AMOUNT1)
REVENUE2 - LOGIC_DUMMY (is calculated via LOGIC_DEMAND by =PRICE2 * AMOUNT2)
REVENUE_PL - LOGIC_DUMMY (is calculated via LOGIC_DEMAND by =REVENUE1 + REVENUE2)
Default logic (default.lgf) just contains the following:
*LOGIC_MODE = 2
*LOGIC_BY = ACCOUNT
Data entry:
PRICE1 = 10
PRICE2 = 20
AMOUNT1 = 10
AMOUNT2 = 20
REVENUE1 (to be calculated/expected) = 100
REVENUE2 (to be calculated/expected) = 400
REVENUE_PL (to be calculated/expected) = 500
Result:
As I am sending data, all revenue accounts are calculated to ZERO.
If I change my default logic manually to
*INCLUDE LOGIC_DEMAND
then everything works. REVENUE1 and REVENUE2 are calculated to 100 / 400, and REVENUE_PL is 500.
What did I do wrong? Can anybody help? If there is someone who can post a short example, I would be very grateful.
Best regards,
Stefan

Hi BI,
hmm i guess there is no tools to debug line by line is SAP BPC.. guys is there any third party software that can do this??
Thanks, hope helps

Similar Messages

  • Complex Script logic

    Hello
    I have a comple script logic and I know there are some errors with it. How can I step through line by line / debug that logic to make sure / fix that issues ?
    Similarly how do I  step through line by line / debug logic in Script / Stroed Procedures / Transformation files / conversion Files etc..
    Thanks for your help
    BI

    Hi BI,
    hmm i guess there is no tools to debug line by line is SAP BPC.. guys is there any third party software that can do this??
    Thanks, hope helps

  • Help required to get Talk21 e-mails via Outlook

    Although not that new to using Microsoft I'm a bit of a newbie to Windows etc I have MS Office Professional 2010.
    I have always managed to set my Talk 21 address up in Outlook and iPhone but I have to concede defeat after about 3 hours of trying. (mind you it's taken a few minutes to work out this forum)
    Suggestions from anyone who has succesfully achieved this would be appreciated.
    Sadie
    NB: This post has been dictated using voice activated software and may account for any errors in wording and/or context.
    Solved!
    Go to Solution.

    Cleaninglady wrote:
    Although not that new to using Microsoft I'm a bit of a newbie to Windows etc I have MS Office Professional 2010.
    I have always managed to set my Talk 21 address up in Outlook and iPhone but I have to concede defeat after about 3 hours of trying. (mind you it's taken a few minutes to work out this forum)
    Suggestions from anyone who has succesfully achieved this would be appreciated.
    Sadie
    NB: This post has been dictated using voice activated software and may account for any errors in wording and/or context.
    Hi Sadie. Welcome to the forums.
    If I may say so, you say you've set up your Talk21 email address via Outlook before, and now have Office 2010. The latest version of Outlook is perhaps slightly different to previous, but should be very similar.
    Are you getting actual errors when setting up the account ? or trying to send/receive emails ?
    I believe that the talk21 servers are still working, pop3 (for receiving) is in.talk21.com and smtp (for sending) is out.talk21.com - however if not then you will need to use the trick of adding .t21 at the end of the username, replace @talk21.com with @btinternet.com and use mail.btinternet.com for both servers.
    The problem will be if you still want to use your talk21.com email address as the "From" address - you will need to go through address verification, but perhaps go through that later if required.
    http://www.andyweb.co.uk/shortcuts
    http://www.andyweb.co.uk/pictures

  • Help required to run a script as sys user.

    Hi
    Can some one help in the procedure to run a script to create a view as one of the oracle 10g database user like say scott while connecting as system .
    Have no clue of the scott passwd to connect .
    just connected as system user ans wants to create a view as scott user i mean the owner of the view should be scott.
    thanks in advance

    790072 wrote:
    Hi
    Can some one help in the procedure to run a script to create a view as one of the oracle 10g database user like say scott while connecting as system .
    Have no clue of the scott passwd to connect .
    just connected as system user ans wants to create a view as scott user i mean the owner of the view should be scott.
    thanks in advance
    Hi,
    just simply run
    create or replace view SCOTT.[name] as select bla bla blathis will create the view with scott as the owner
    Cheers

  • Help Required with PL/SQL loading logic

    Hi All,
    We have a simple pl/sql code which does loading(insertions) of records into the table. This pl/sql code actually refers to an translation website URL(microsoft based) and inserts the translated text into our table. What happens is sometimes this URL gets blocked out due to some issue. So we are forced to restart our entire operation of loading once again. Actually we have a commit at the end(outside the loop). on the other hand we cant keep commit inside the loop as it may pose an overhead to performance since its commiting once every insert happens.
    What we are expecting is something like this. Say we have 10,000 records. the loading fails at 5500 record. next time when we start again we want to start from 5501 record and NOT from beginning. In informatica kind of ETL tools we have an option to do this. However not sure if we can do this through PL/SQL.
    we thought of keeping counter variable and keep it incrementing for each and every insert happens. but before doing this we have to order by our table according to primary key. This is taking huge amount of time since the table is very big.
    can you please tell any alternative to this?
    Regards,
    Paul

    If I understand correctly, you are doing something as follows:
    // process a defined data set
    for c in (select .. some data... ) 
    loop
        // translate the data (via a web service call)
        Translate( c, translatedOutput )
        // insert the translated data
        insert into some_table translatedOutput
    end loop
    commitIn principle, nothing wrong with this approach. And yes, committing inside the loop for every x number of rows will increase the complexity of code and could perhaps violate ANSI SQL standards of fetching across commits.
    A better approach would be to consider parallelising this process. Run multiple copies of that code - but provide each copy of the code with a small and unique data set to process. So instead of doing 10,000 rows in serial, you schedule a 100 jobs and give each a unique set of a 100 rows to translate.
    Let's say your job queue size is set to 20. This means up to 20 of these processes will run in parallel. Should one fail, the job manager will automatically reschedule it for execution (up to 16 times after which it will be marked as broken).
    So not only does this type of approach enables you spread the processing load, it also enables you to scale your processing (you can handle much larger data volumes like this, and more powerful server h/w will enable you to use more parallel processes). In addition, restart is automated courtesy of the Oracle job manager.
    Compare this type approach with committing inside a loop.. The latter buys you what ito flexibility and performance and scalability? Nothing really - it only makes the process a lot more complex as it needs to be able to correctly restart after a failure. You will not be able to process bigger volumes of data. You will not be able to increase existing performance.
    One needs to carefully consider the approach used to processing data - serialisation is inherently limited. Restarting serialised processes is difficult and complex.

  • Script Logic in BPC is not working properly

    Hi All,
    I have the BPC Microsoft version 7.0.114. I am trying to create a script logic to calculate price x units.
    I have an application called GYP with the following dimensions:
    PL (Account type) in this dimension are the units
    Time
    Category
    Entity
    Product
    RptCurrency
    I have another application called PRICE with the following dimensions:
    Price  (Account type) in this dimension are the prices
    Time
    Category
    Entity
    Product
    RptCurrency
    The script logic i created in the GYP application is as follows:
    *XDIM_MEMBERSET PL="Units"
    *XDIM_MEMBERSET PRODUCT=<ALL>
    *XDIM_MEMBERSET ENTITY=<ALL>
    *XDIM_MEMBERSET CATEGORY="Budget"
    *LOOKUP PRICE
    *DIM PR:PRICE ="PRICES"
    *ENDLOOKUP
    *WHEN PL
    *IS "Units"
    *REC(FACTOR=LOOKUP(PR), PL="Revenues")
    *ENDWHEN
    *COMMIT
    I also put in the default.lgf :
    *INCLUDE UnitsxPrice.LGF
    *COMMIT
    I have loaded data for units and price only for one product to validate the script logic but I'm not getting any calculated value in the revenues element.
    I have read a lot of documentation about script logic but i haven't found which could be the problem.
    Please, could you help me to know what i am missing to?
    Thanks in advance for all your help.
    Regards,
    Luisana

    Hi,
    Your script logic looks fine to me. However, I would request you to make a small change in your default logic.
    Lets say that you created the script logic with the name CALCULATION.LGF, then the default logic should look like below:
    *INCLUDE CALCULATION.LGF
    Notice that the name of the script logic should be consistent (and I have removed the commit statement from the default logic).
    Hope this helps.

  • Clarification required in Script Logic

    Hi All,
    I had written a Script logic which copies the data from one dimension member of entity to another entity.
    The script that we used is pasted here for reference:
    "//Logic for Revenue Transfer for one account to account
    *XDIM_MEMBERSET CATEGORY = BUDGET
    *XDIM_MEMBERSET P_ACCT = REV000003, REV000007, REV000008
    *XDIM_MEMBERSET P_ACTIVITY = P_ACTIVITY_NONE
    *XDIM_MEMBERSET P_DATASRC = U
    *XDIM_MEMBERSET ENTITY = U_RCL_INP, U_MFG_INP, U_FSI_INP, U_ECS_INP, U_KS_INP, U_INDIA_INP, U_BIZP_INP, U_SI_INP
    *XDIM_MEMBERSET INTCO = I_U_RCL, I_U_MFG, I_U_FSI, I_U_ECS, I_U_KS, I_U_INDIA, I_U_BIZP, I_U_SI
    //Revenue Transfer from P_ACCT REV000003 to P_ACCT REV000004
    *WHEN P_ACCT
    *IS "REV000003"
    *REC(FACTOR=1,P_ACCT=REV000004 ,INTCO=ENTITY.INTCO,ENTITY=INTCO.ENTITY)
    //Revenue Transfer from P_ACCT REV000007 to P_ACCT REV000012
    *IS "REV000007"
    *REC(FACTOR=1,P_ACCT=REV000012 ,INTCO=ENTITY.INTCO,ENTITY=INTCO.ENTITY)
    //Revenue Transfer from P_ACCT REV000008 to P_ACCT REV000009
    *IS "REV000008"
    *REC(FACTOR=1,P_ACCT=REV000009 ,INTCO=ENTITY.INTCO,ENTITY=INTCO.ENTITY)
    *ENDWHEN"
    The above script logic is not working if the user doesnt have access to the other entity to which data is copied into.
    However, as per our business requirement, we need to restrict the access to the users to thier respective entites.
    Hence, i would be glad to know, How can I overcome this limitation, or, how can I bypass the authorization through script logic??
    Let me know incase you require any further information about the issue.
    Thanks in Advance
    Regards,
    Chandra

    Hi Nilanjan,
    As Anurodh said, The command *IGNORE_SECURITY is not recognised in the BPC NW. I tried, but is not validated.
    Anurodh,
    Thanks for the link. Seems it is helpful.
    Regards,
    Chandra

  • Help in script logic - problem in FOR loop

    Hi Experts,
    We are using BPC 7.5 SP08. I have written a FOR loop in script logic default.lgf which is as follows:
    *FOR %TIM_MEM%=%TIME_SET%
    *XDIM_MEMBERSET TIME =%TIM_MEM%
    *WHEN P_ACCT2
    *IS "OSDU"
    REC(EXPRESSION=[P_ACCT2].[ASSTCAINVURO][P_ACCT2].[COGSUPRVIPSA]/[P_ACCT2].[ASSTUPRVTAQTY],P_ACCT2="COGSUIPSAO")
    *ENDWHEN
    *COMMIT
    *NEXT
    As per my requirement, all this members: [ASSTCAINVURO], [COGSUPRVIPSA], [ASSTUPRVTAQTY] exists for months September to next year's August. But in my input schedule, the months are from August to next year's July(which is the company's fiscal year). Consequently the loop runs for month August to next year's July while I need to run the loop 1 month late(i.e. September to next year's August). This was achieved earlier by hard-coding the time members which we cannot afford as this requires to update these hard-coded member IDs every year.
    We have also tried using the "NEXT" property of TIME dimension as follows:
    *XDIM_MEMBERSET TIME =%TIM_MEM%.NEXT
    but %TIM_MEM%.NEXT doesn't get the month in 'NEXT'.
    Please suggest if there is any way out to solve this problem.
    Thanks in advance.

    Hi Appu,
    Even if you restrict the scope using the XDIM statement, your script will just run the number of times as per the for loop. Actually, in reality, the same calculation is happening again and again, in your code; since your calculation is not based on the time member.
    To use the for loop effectively, you need to incorporate the time member in your calculation.
    Please look at the below sample code:
    *XDIM_MEMBERSET TIME = %TIME_SET%
    *FOR %TIM_MEM%=%TIME_SET%
       *WHEN P_ACCT2
       *IS "OSDU"
          *REC(EXPRESSION=<CALCULATION>,P_ACCT2="COGSUIPSAO")
       *ENDWHEN
    *NEXT
    And in your calculation, you can use statements like
    ([P_ACCT2].[ASSTCAINVURO],TMVL(1, [TIME].[%TIM_MEM%]))
    This will ensure that everytime (as per the for loop), the calculation works on separate set of data.
    Hope you got the idea.

  • Help in script logic

    Hi Experts,
    We are using SAP BPC 7.5 NW Version SP08. We are using a script logic that calculates the opening value of inventory(ASSTCAINVAMO) for each month except the 1st month of financial year for which the value is entered from an input schedule. The opening value of inventory of each subsequent months are calculated when the parameters for production(e.g. OSDA) are entered from a separate input schedule. The following script logic is written for the calculation:
    *FOR %TIM_MEM%=%TIME_SET%
    *XDIM_MEMBERSET TIME =%TIM_MEM%
    *WHEN P_ACCT2
    *IS "OSDA",
    REC(EXPRESSION=[P_ACCT2].[ASSTCAINVAMO]+[P_ACCT2].[RDPA][P_ACCT2].[EFFA][P_ACCT2].[OSDA]-[P_ACCT2].[CONVAMUR][P_ACCT2].[RDPU][P_ACCT2].[EFFU][P_ACCT2].[OSDU]-([P_ACCT2].[SALQAMBC]+[P_ACCT2].[SALQAMM]),P_ACCT2="ASSTCAINVAMO",TIME=TIME.NEXT)
    *ENDWHEN
    *COMMIT
    *NEXT
    The loop works fine, but it seems the list of time values are not coming in proper sequence. For example, the loop is running for 2011.NOV before it iterates for 2011.OCT. So when it iterates for 2011.NOV, it is not getting the opening value for the month and consequently 2011.DEC's opening value is calculated assuming 2011.NOV's opening value to be 0. In the input schedule the months are in proper sequence.
    Is there any way out so that the months come in proper sequence in the logic as well?
    Thanks in advance for any help.

    We had similar issue . we changed TIME members from Monthnames to numbers . i.e  changed 2011.JAN to 2011.01 . Then you get correct result  as you are expecting . Issue when using month names in combination of TMVL is that  , instead of getting 2011. MAY for TMVL(1,2011.APR) , it gets 2011.FEB . TMVL function some how takes alphabetical order instead of taking month order . Not sure if this behavior is with service pack . But never saw any thread reporting this issue .
    Anyways ,you can wait for other responses  as i am too curious to know if any one faced this issue and how did they resolve.

  • Script Logic Syntax Help

    Hello,
    Like for example I have two dimension like P_ACCT ve PRODUCT.
    In P_ACCT dimension I have two members like ACCOUNT1 and ACCOUNT2, and in PRODUCT dimension I have a one members called PER_1100.
    I want to update PRODUCT.PER_1100 with ACCOUNT1 / ACCOUNT2 * 100 value. 
    Example =
    ACCOUNT1 = 50
    ACCOUNT2 = 200
    PRODUCT.PER_1100 = ACCOUNT1 / ACCOUNT2 * 100 = 50 / 200 * 100 = 25
    I wrote a script like below but it doesn't work.
    *WHEN P_ACCT
    *IS ACCOUNT1
        *REC(FACTOR=[P_ACCT].[ACCOUNT2]*0.01,PRODUCT="PER_1100")
    *ENDWHEN
    *COMMIT
    Regards,
    Burak

    Hello,
    I didn't face any problem about this script logic. It works fine. You can use it. I developed this script.
    *WHEN P_ACCT
    *IS KFNETCIRO
        *WHEN PRODUCT
        *IS TOT_BUD_10
        *REC(EXPRESSION=%VALUE%*0.01*([P_ACCT].[KFORANLAR],[PRODUCT].[NC_1101]),P_ACCT="KFNETCIRO",PRODUCT="1101")
        *REC(EXPRESSION=%VALUE%*0.01*([P_ACCT].[KFORANLAR],[PRODUCT].[NC_1102]),P_ACCT="KFNETCIRO",PRODUCT="1102")
        *REC(EXPRESSION=%VALUE%*0.01*([P_ACCT].[KFORANLAR],[PRODUCT].[NC_1103]),P_ACCT="KFNETCIRO",PRODUCT="1103")
        *REC(EXPRESSION=%VALUE%*0.01*([P_ACCT].[KFORANLAR],[PRODUCT].[NC_1104]),P_ACCT="KFNETCIRO",PRODUCT="1104")
        *REC(EXPRESSION=%VALUE%*0.01*([P_ACCT].[KFORANLAR],[PRODUCT].[NC_1105]),P_ACCT="KFNETCIRO",PRODUCT="1105")
        *REC(EXPRESSION=%VALUE%*0.01*([P_ACCT].[KFORANLAR],[PRODUCT].[NC_1106]),P_ACCT="KFNETCIRO",PRODUCT="1106")
        *REC(EXPRESSION=%VALUE%*0.01*([P_ACCT].[KFORANLAR],[PRODUCT].[NC_1107]),P_ACCT="KFNETCIRO",PRODUCT="1107")
        *REC(EXPRESSION=%VALUE%*0.01*([P_ACCT].[KFORANLAR],[PRODUCT].[NC_1108]),P_ACCT="KFNETCIRO",PRODUCT="1108")
        *REC(EXPRESSION=%VALUE%*0.01*([P_ACCT].[KFORANLAR],[PRODUCT].[NC_1109]),P_ACCT="KFNETCIRO",PRODUCT="1109")
        *REC(EXPRESSION=%VALUE%*0.01*([P_ACCT].[KFORANLAR],[PRODUCT].[NC_9900]),P_ACCT="KFNETCIRO",PRODUCT="9900")
        *ENDWHEN
    *ENDWHEN
    *COMMIT
    [#KFBRUTKAR] = [KFNETCIRO] - [KFSMM]
    [#KFURBRKAR] = [KFNETCIRO] - [KFSMM] - [KFISKARTA]
    [#KFMAGBRKAR] = [KFNETCIRO] - [KFSMM] - [KFISKARTA] - [KFAMBALAJ]
    *COMMIT
    I hope it helps to you.
    Regards,
    Burak

  • Can we run script logic at the time of preparing reports.

    Helo Everybody!
    I am new to SAP BPC.
    Can we run script logic at the time of preparing reports.
    Thanks & Regards,
    Satish.

    If you mean, "Can we run script logic at the time of preparing reports" is equivalent to entering data into the report and sending it to the database, then yes, you may run logic as Marcel indicates.  Defualt logic is ALWAYS run for ANY and EVERY set of data that is sent via an input template from the field.  You may also run logic when posting a jOURNAL entry as well.  But be careful....if default logic attempts to perform to MANY or COMPLEX calculations, the time it takes to complete the process may not be in expectations with the users plans.  There is a fine design balance required when planning to run logic at the time of input, as opposed to running in a package or at specific times during the day.
    Hope this helps.

  • Math power function in script logic

    Hello all!
    Can anybody help me how  I can do math "power" function in BPC 5.1 Script Logic?
    Thanks

    Let's say you have a source account FOO and you want to calculate FOO to the 5th power, posting the result to FOOFIVE.
    In BPC SQL scripting, there are no mathematical functions to play with (powers, roots, sine, cosine, etc.) except for add, subtract, multiply and divide -- plus you can round results in your Factor or Expression. So that means, we must use multiplication.
    You could certainly do this using a bunch of intermediate accounts, one each for foo squared, foo cubed, foo to the 4th, and foo to the 5th. That would require *GO in between each *WHEN/REC block, and could be slow.
    I haven't tried this, but I think this should work, all in one statement:
    *XDIM_ACCOUNT = FOO
    *WHEN *
    *IS *
    REC(Factor=GET(Account="FOO")GET(Account="FOO")GET(Account="FOO")GET(Account="FOO")*GET(Account="FOO"),Account=FOOFIVE)
    *ENDWHEN
    If you want FOO to the 50th power, copy & paste.
    If you want square root of FOO, that could be a real challenge. I think to use straight BPC SQL logic it wouldn't be possible. I would probably write a stored procedure using SQL's SQRT(), and call that from the BPC logic file. Likewise for any other geometric functions, complex algebra, etc.
    There also may be a way to calculate powers in MDX -- that's more mathematically straightforward -- but as a BPC on MS person, I really never ever use MDX due to performance.
    Regards,
    Tim

  • Dimension Formula versus Script Logic that runs on default

    Hi Experts,
    Which is better to use dimension formula or script logic that runs on default? We have a lot of dimension formulas and when noticed that it has a huge impact in the performance of our AppSet. When we try to remove them, the performance seems better. We we're thinking of transforming these dimension formulas into script logic which will run by default instead. Right now I'm hesitant with two things, 1.) Will there be improvement in performance if I all these formulas are run at default via script logic? 2.) The maintenance seems to be much more complex for the user if we use script logic.
    Thanks,
    Marvin

    Hi Marvin,
    Actually you pointed very well the advantage and disantavage regarding dimension formula.
    Dimension formula are executed into run time which means that value are not calculated. Of course this will have an impact regarding performances.
    Usually our recommendation is to use dimension formula just when yoiu have KPI's to calculate which will be very difficult to be implemented into SQL scrip logic or when you have very simple calculation like Account A = Account B+ Account C.
    For other calculation we advice our customer to use script logic.
    But attention:
    Default formula should not become very heavy because you will arrive into other issue with performances.
    When you will send data if default formula script will be heavy you will arrive into situation to wait may be minutes just to send one figure and of course this will be not acceptable for users.
    So you have to use script logic but you have to run into batch mode (schedule package) that script logic.
    Into default formula you have to keep just minimum (you have to calculate just figures which have importance for user imediat, real time).
    Also you have to be aware that moving dimension formula into scrip logic actually your fact table will grow a lot because the number of records generated will be probably 3-4 times bigger than number of records from fact table with dimension formula.
    Maintenance of script logic is more complex than dimension formula and you pointed very well this.
    So it is a balance and I tried o provide you suggestions or best practice when you have to use dimesnion formula and you have to avoid dimension formula.
    I hope this will help you to arrive to best combination for your application.
    Kind Regards
    Sorin Radulescu

  • SQL functions in Script Logic

    I want to build a script logic but the dimensions that I am testing do not have the fields I want in the format I want. In my case I would like to test the "Start" property in the Employee dimension. The property represents the employee start date but is a var char in the format dd.mm.yyyy rather thna a date field. I want to test whether it is five years prior to the date being processed.
    My time dimension has a year property and a monthnum property. Each of these are varchar. I can write SQL that would convert these to a date and compare them with the start property on the employee dimension.
    Can I  do iinsert SQL functions in the When statement. An example would be
    *When convert(datetime, substring(employee.start,4,2) + '/' + substring(employee.start,1,2) + '/' + substring(employee.start,7,4))
    Can I use  SQL functions in the Is statement? An example would be
    *Is <DateAdd(YY,-5 , convert(datetime, Time.Monthnum + '/01/'' + time.year)
    Finally when I use such techniques and look at the log by using "show log" in the logic debugger I see no reference to the SQL I used. It is as if the generated SQL has not made use of my functions. Instead all I seee are the extract statements from the three fact tables. Is this normal? Is there a way to see what SQL is really being generated and run?
    At the moment it seems my only option is to make changes, try running it and hope I get an output. If no records are written I can't be sure whether it is because embedding SQL function is not supported or because I have made some other error.

    No, the "BPC SQL" script logic doesn't allow for this extensive use of real SQL within the scripting syntax. As a concept, it's best to think of "BPC SQL" script logic as, "this unique BPC logic syntax will generate real SQL code when it's executed."
    There's very little real SQL that you can use within the syntax itself, and definitely not within the WHEN or IF statements.  Nothing like cast, convert, substring, etc. (Except you CAN use these, a little bit, in a *SELECT statement. But I don't see how that will solve your current problem.)
    Plus, when you consider how the logic engine processes a set of data, it's helpful to think of it in terms of selects & reading through a recordset. So in that regard, a SQL background can be helpful, in understanding the concepts. (Sort of helpful, except when it confuses you, or frustrates you since you don't have all the power you want.)
    Anyway, to solve your problem, you might be able to restate the problem, and then use something like this code, which is valid syntax:
    *WHEN TIME.TIMEID
    *IS >= VERSION.FirstPlanMonthTimeID
    In this case, FirstPlanMonthTimeID is set up in the version dimension as, for example, 20090400 (representing 2009.APR). This timeID is set by BPC automatically when processing the time dimension, and I need to ensure that my Version property value is set to match it.
    A key point is that in BPC fact tables, the time dimension is stored as TIMEID (not ID, unlike all the other dimensions), and can be used for comparative evaluation in script logic WHEN/IF. The comparison property needs to be stored as an 8-digit integer value. If your time dimension has days in it (along with months), check the TIMEID after processing, and you should see the pattern for assigning values to TIMEID for days and months, etc.
    Normally, TIMEID is assigned pretty sensible and stable values. If it doesn't meet your logic requirements, you can create another property (be careful of USERTIMEID, since that has a specific purpose in the system which I've never fully understood) and assign that whatever (integer) values make sense.

  • How to use the current view in script logic - %DIMENSIONNAME_SET% not work

    Hello,
    I have the requirement to use the values from the current view in the script logic. User would like to use the members which were selected from the current view in the calculation.
    We are using SAP BPC 7.0 SP06
    I have prepared the following scrpit:
    *XDIM_MEMBERSET TIME=$YEARS001$.NA
    *XDIM_MEMBERSET ACCOUNT=BAS(PLVEH_EXP)
    *SELECT(%CBU%,ID,BUSINESSAREA,[ID]='%BUSINESSAREA_SET%'")
    *SELECT(%CIO%,ID,INTERNALORDER,[ID]='%INTERNALORDER_SET%'")
    *RUNALLOCATION
    *FACTOR=USING
    *DIM BUSINESSAREA WHAT=BANA;WHERE=%CBU%;USING=<<<
    *DIM INTERNALORDER WHAT=IONA;WHERE=%CIO%;USING=<<<
    *DIM INDICATORS WHAT=INVEHPRI;WHERE=INPXQ;USING=INVEHQUA
    *ENDALLOCATION
    I have read in the sdn that it is possible to get the current values using %DIMENSIONNAME_SET% variable and use it but it returns all the members that were selected in the datapackage.
    I would like to know if there is any special consideration regarging the use of variable or if there is another way to solve it.
    Thanks in advance.

    Hi,
    If you want the code to be executed for the current view selected, you can place the code in Default logic which executes the logic for what ever current view values you send the data through Input schedule.
    The key word you have mentined is for script running through Data Manager which gets the value selected through user promt.
    Hope this helps,
    Regards,
    G.Vijaya Kumar.

Maybe you are looking for

  • Power Chord Wire and Warranty

    I have a MacBook, i got it last Christmas in 2006. I have a 2 year warranty on it also. The power chord that came with it, near the magnetic ending on it, has a tear and will not charge the battery off the MacBook. The light also dose not even turn o

  • Are There Any Plans To Add An Option To Change The Viewing of SMS Messages?

    I will be getting an iPhone 4 at Christmas but the one thing I don't like about them is the "bubble" viewing of texts. I was wondering if Apple were planning to add a different option in the way SMS messages are displayed in a future software update?

  • How do I reset font book?

    Fontbook keeps hanging on me everytime I launch it and there are a number of fonts that have been disabled for some reason that previously were enabled. Is there a way to reset it?

  • How to reset Apple id security questions.

    I recently bought an iTunes gift card for $15 and redeemed it. I went to buy an app and it told me I needed to answer security questions to continue(this is because I have never made a purchase on this device). I don't know my answers and I have no r

  • Time machine backup from damaged MacBook Pro

    I was at a party on Saturday and a friend spilt some lager onto my MacBook Pro I quickly turned it upside down and left it over night I switched it on next day and it worked but now it won't switch on I suspect the main board is damaged. If I take my