NW BPC7.5 Allocation logic issue

Dear all,
I have an allocation logic for OPEX on diffrent entities
*FOR %CURRACCT%=BAS(P0000011)
*RUNALLOCATION
*FACTOR=USING/100
*DIM P_ACCT WHAT=%CURRACCT%; WHERE=%CURRACCT%; USING=OPEXSHARE
*DIM P_DataSrc WHAT=MANUAL; WHERE=MANUAL; USING=GLOBALASSUMPTIONS
*DIM P_ENTITY WHAT=C001; WHERE=C002; USING =C002
*DIM P_CostCtr WHAT=100010; WHERE=200010; USING=100010
*ENDALLOCATION
*NEXT
the logic validated is succesflly.
The problem is when ever i enter data in any of the account in BAS(P0000011) , the data is allocating all the members of BAS(P0000011).
My requirement is for which account i enter data allocate to the specific account under BAS(P0000011) based on company allocation rate.
Please help on it.

Sorry, I mis-read your script. I tough that you have a FOR/NEXT loop an base-members of P0000011. I don't see what your FOR/NEXT loop is doing in that form. Definitely it will take from total of all accounts under P0000011 and post it to ALL of them; and this IS were MS and NW versions are different.
If you want to allocate data from 1 Account under P0000011 to same account, you should define a variable that is a list of BAS(P0000011)  account and use that variable in FOR/NEXT loop. This way ALLOCATION will take amount only form that Account and post it to same account without touching other accounts.
Gersh

Similar Messages

  • ALLOCATION LOGIC Issue

    Hi,
         I have a scenario where I need to do allocation from one account to multiple accounts.  I have data for DEC.2009 for Account :017, Costcenter1  in ACTUAL(10,000) and I want to allocate the data to DEC.2010 to all accounts(015,016,017) to all cost centers under the parent CostCenter Group1 based on the actual history data posted to account(015,016,017)  and cost centers (1,2 & 3) for Dec 2009.
    Account :
    Account Dimension :
       AIRTRAVEL (Parent)
               015
               016
               017   (Eg: 10,000$)
    Entity Dimension(Cost Center Group 1)
    Cost Center Group 1
          1
          2     
          3
    ACTUAL : 2009. DEC
      Accounts                   015       016            017      AIRTRAVEL(Parent)
    CostCenter1       1,000       6,000       10,000       (17,000)
    CostCenter2       2,000       6,000                        (8,000)
    CostCenter3       5,000       8,000       9,000       (22,000)
    CCenterGroup 1 8,000       20,000       19,000       (47,000)
    *XDIM_MEMBERSET TIME = 2009.DEC,2010.DEC
    *XDIM_MEMBERSET D_ACCT = AIRTRAVEL
    *XDIM_MEMBERSET D_VERSION  = PLAN,ACTUAL
    *XDIM_MEMBERSET D_COSTCENTER  = CC_GRP1
    *RUNALLOCATION
    //    *FACTOR = USING/TOTAL
        *DIM D_ACCT  WHAT= 017;   WHERE=BAS(AIRTRAVEL);  USING=BAS(AIRTRAVEL)
        *DIM D_COSTCENTER  WHAT=150027;   WHERE=BAS(CC_GRP1);  USING=BAS(CC_GRP1);
        *DIM TIME          WHAT=2009.DEC; WHERE=2010.DEC;  USING=2009.DEC; TOTAL=<<<
        *DIM D_VERSION     WHAT=ACTUAL;   WHERE=PLAN;  USING=ACTUAL; TOTAL=<<<
    *ENDALLOCATION
    *COMMIT

    Thanks Gersh for  your detailed response.
    I have updated my logic to
    *RUNALLOCATION
        *FACTOR = USING/100
        *DIM D_ACCT  WHAT= 017;   WHERE=BAS(AIRTRAVEL);  USING=<<<; TOTAL=<<<
        *DIM D_COSTCENTER  WHAT=150027;   WHERE=BAS(CC_GRP1);  USING=<<<; TOTAL=<<<
        *DIM TIME          WHAT=2009.DEC; WHERE=2010.DEC;  USING=2009.DEC; TOTAL=<<<
        *DIM D_VERSION     WHAT=ACTUAL;   WHERE=PLAN;  USING=ACTUAL; TOTAL=<<<
    *ENDALLOCATION
    *COMMIT
    If I use the *FACTOR , I am getting a shortdump and thats the reason I had to comment the factor. So not sure if there is a problem with our system and I need to open a support message or need to update the script logic. If I comment the factor, then the logic is updating all the Costcenters and all the accounts with 10,000.
       Account
    CC1 10,000       10,000       10,000       (30,000)
    CC2 10,000       10,000       10,000       (30,000)
    CC3 10,000       10,000       10,000       (30,000)
            30,000       30,000       30,000       (90,000)
        What I am expecting is  All the accounts (1,2 & 3) for each cost center should be added and each account's percentage would be account/all acount total for each cost center.
    From my actual data
    ACTUAL : 2009. DEC
    Accounts      015       016      017      AIRTRAVEL(Parent)
    CostCenter1       1,000       6,000       10,000       (17,000)
    CostCenter2       2,000       6,000                        (8,000)
    CostCenter3       5,000       8,000       9,000       (22,000)
    CCenterGroup 1 8,000       20,000       19,000       (47,000)
    Account 015 for costcenter should have a percentage    1000/8000 , so that would be 0.125 and the allocation amount is 10,000, so the output plan value should be 0.125 * 10,000 = 1250
    Thanks,

  • Script logic - how to use a selection variable within an allocation logic

    Hi,
    I want to implement a simple top-down distribution to distribute values from a yearly budget (Y20xx.TOTAL) to a quarter budget (Q20xx.Q1, ... Q20xx.Q4) using the actuals of the previous year as reference.
    If we hard code the members it works fine:
    *RUNALLOCATION
    *FACTOR=USING/TOTAL
    *DIM ACCOUNT WHAT=ACC_NOT_ASSIGNED; WHERE=BAS(FIN); USING=<<<; TOTAL=<<<
    *DIM TIME WHAT=Y2009.TOTAL; WHERE=BAS(Q2009.TOTAL); USING=BAS(Q2008.TOTAL); TOTAL=<<<
    *DIM CATEGORY WHAT=SBO; WHERE=<<<; USING=ACTUAL; TOTAL=<<<
    *ENDALLOCATION
    Of course, we want to make this dynamic, using the values inputted in the selection screen of the package: time, entity and category.
    So if we start with write the following logic, it does not work anymore:
    *RUNALLOCATION
    *FACTOR=USING/TOTAL
    *DIM ACCOUNT WHAT=ACC_NOT_ASSIGNED; WHERE=BAS(FIN); USING=<<<; TOTAL=<<<
    *DIM TIME WHAT=%TIME_DIM%; WHERE=BAS(Q2009.TOTAL); USING=BAS(Q2008.TOTAL); TOTAL=<<<
    *DIM CATEGORY WHAT=%CATEGORY_DIM%; WHERE=<<<; USING=ACTUAL; TOTAL=<<<
    *ENDALLOCATION
    So, how to use the selection variables in this allocation logic? %TIME%, %CATEGORY% also did not work ...
    regards
    Dries
    solved it ...
    Edited by: Dries Paesmans on Feb 22, 2009 8:31 PM

    Hi Dries,
    Looks like you solved this, but if I can just add a small point -- when you use syntax like this:
    *DIM ACCOUNT WHAT=ACC_NOT_ASSIGNED; WHERE=BAS(FIN);
    *DIM TIME WHAT=Y2009.TOTAL; WHERE=BAS(Q2009.TOTAL);
    each time the logic runs, it will scan through the dimension from the FIN and Q2009.TOTAL members, one level at a time, until it reaches the base members (where calc = 'n'). This may happen very quickly, if the dimension has very few levels, but could take a bit of extra time if it's a particularly deep dimension. (By which I mean many levels of hierarchy -- not some 1970's Pink Floyd musical reference.)
    You may speed things up by using a member property instead of the BAS(xyz). Flag all the base members using a specific property value, and that way the logic engine can pick up the complete list of members in the WHERE clause, in a single query.
    *DIM Account What=ACC_NOT_ASSIGNED; Where=[FloydProperty]="DarkSideOfTheMoon"; ...
    This adds some maitenance work in the dimension, which may be problematic if your admins are changing it regularly (and will cause problems if they forget to update this particular property).
    I can't predict how much time this will save you (maybe not much at all), but anyway I figure you'd want to know exactly what work you're asking the system to perform.
    Regards,
    Tim

  • BPC 7.5NW Allocation Logic

    Hello Gurus,
    Suppose we need to allocate rent 1000(source) to 2 entities A & B ( ex: 500,500).. After send & refresh in input schedule , the source will become zero. Now, for some other purpose, we once agn press send & refresh button to enter some other data. But, when we do so, our allocation logic should not execute. If it is executed, then ZERO will b allocated to both entities as zero is current source value. So, how can we do this in allocation logic. Can I have the code plz. Its urgent

    Hello,
    You can achieve this by utilizing additional Dimensions in your RUNALLOCATION, like DataSrc. Idea is, that you have your initial value in Account  = C, DataSrc = Manual, but when you make Account 'C' zero you post it to DataSrc  = Posted.
    In report you keep DataSrc = Manual if you need to show the old value or DataSrc = <ALL> if you need to show value zero.
    This way RUNALLOCATION will post only values user entered without taking into affect offsets posted.
    Hope you got the idea.
    Regards,
    Gersh

  • Internal table logic issue

    Hi All,
    I have one logical issue related to internal table manipulation.
    I have one internal table :
    I_DAT - This is related to Loading/Unloading of Goods.
    for example with 3 fields
    VSTEL, KUNNA, KMMANG.
    Now suppose my data looks like this after sorting:
    VSTEL   KUNNA    KMMANG
    100       -        -
    200       -        -
    300       -        -
    400       -        -
    -         500      X
    -         600      X
    -         700      X
    -         800      X
    Here 100,200,300,400 are Loading points.
    ANd 500,600,700,800 are unloading points.
    Now what i want is For loading & Unloading points i need to pick up Address and print one after other.
    But how they need to print is:
    FOR INITIAL LOADING OF
    ADDRESS- For 100
    FIRST STOP: FOR LOADING OF
    ADDRESS- For 200
    SECOND STOP: FOR LOADING OF
    ADDRESS- For 300
    Etc .....
    Then
    FOR UNLOADING OF:
    ADDRESS- For 400
    FIRST STOP: FOR UNLOADING OF
    etc.
    FINAL STOP: FOR FINAL UNLOADING OF
    We might get as many records :
    Can any body give me the logic:
    Printing Address is not a problem:
    But Above every address we need to print FIRST STOP, SECOND etc like that.
    For this i need logic.
    Can anybody give the solution!
    Thanks in advance.
    Thanks & Regards,
    Prasad.

    Try this.I think you want output like this......
    DATA: BEGIN OF LINE,
            CARRID   TYPE SBOOK-CARRID,
            CONNID   TYPE SBOOK-CONNID,
            FLDATE   TYPE SBOOK-FLDATE,
            CUSTTYPE TYPE SBOOK-CUSTTYPE,
            CLASS    TYPE SBOOK-CLASS,
            BOOKID   TYPE SBOOK-BOOKID,
          END OF LINE.
    DATA ITAB LIKE SORTED TABLE OF LINE WITH UNIQUE KEY TABLE LINE.
    SELECT CARRID CONNID FLDATE CUSTTYPE CLASS BOOKID
           FROM SBOOK INTO CORRESPONDING FIELDS OF TABLE ITAB.
    LOOP AT ITAB INTO LINE.
      AT FIRST.
        WRITE / 'List of Bookings'.
        ULINE.
      ENDAT.
        AT NEW CARRID.
          WRITE: / 'Carrid:', LINE-CARRID.
        ENDAT.
          AT NEW CONNID.
            WRITE: / 'Connid:', LINE-CONNID.
          ENDAT.
            AT NEW FLDATE.
              WRITE: / 'Fldate:', LINE-FLDATE.
            ENDAT.
              AT NEW CUSTTYPE.
                WRITE: / 'Custtype:', LINE-CUSTTYPE.
              ENDAT.
                   WRITE: / LINE-BOOKID, LINE-CLASS.
                AT END OF CLASS.
                  ULINE.
                ENDAT.
    ENDLOOP.
    This is also helpful......
    LOOP AT <itab>.
      AT FIRST. ... ENDAT.
        AT NEW <f1>. ...... ENDAT.
          AT NEW <f2 >. ...... ENDAT.
              <single line processing>
          AT END OF <f2>. ... ENDAT.
        AT END OF <f1>. ... ENDAT.
      AT LAST. .... ENDAT.
    ENDLOOP.
    Regards
    Abhishek

  • Error when running allocation logic

    I am running the following allocation logic and get the following error:
    *RUNALLOCATION
    *FACTOR=USING/TOTAL
    *DIM P_ACCT WHAT=CE0004010; WHERE=CE0004020; USING=CE0004030; TOTAL=<<<
    *DIM ENTITY WHAT=A1000; WHERE=<<<; USING=<<<; TOTAL=<<<
    *DIM TIME WHAT=2009.JAN; WHERE=>>>; USING=BAS(2009.TOTAL); TOTAL=<<<
    *ENDALLOCATION
    UJP_RULE_EXCEPTION:Missing [] on property name: WHAT=CE0004010. I get this error when executing the script using the program "UJK_SCRIPT_LOGIC_TESTER". I also get a similar error when running it via the data manager package.
    Any thoughts on why this error is happening?

    Hi Sanjay,
    I think you are using formula property for any of the dimension member used in the Allocation logic.
    FYI Allocation will not work fine for the dimension members which is calculated using the formula written in the formula Property.
    There is no problem with your script it looks fine.
    Hope this might help you.
    Regards,
    G.Vijaya Kumar

  • Addition of values after allocation logic instead of overwrite 7.50.05 NW

    Hi Gurus
    I am writing an allocation logic where I am allocating some values in a ratio of sales. but there is already some value in the fields i am allocating into and after this logic, the new vales are overwriting the existing one. But my requirement is to add those values in exsting values. Please let me know how to do it.
    as a work around, I am copying the values into a differnt account, then running the allocation on that one and then adding this into the original account. is there any easier way for this.
    Regards
    Swathi

    Hi Swathi,
    Overwriting is the nature of planning. So, not only allocation overwrites results - all planning functions do this. The only exception is if you do multiple calculations in same construct - those will be added. Reason for this is, that user can run same planning function multiple times and you don't want those results to add up.
    So, if you want to summarize what was there before allocation and after you have to have additional Dimension, DataSrc for example, and have values in that Dimension different in existing data and in allocated. This will keep them separate. In report, do not show break-down by that additional Dimension and you'll see total of the old value and the new one.
    Please let me know if this is not what you were looking for.
    Gersh

  • BPC Run Allocation Logic

    Dear All,
    I am new in BPC world so i want ur help in solving one error
    when running allocation logic, it is not accepting more than 1 member in the denominator
    the factor i am using is 1/using
    can u pls help on this
    thanks.

    Can you please post the logic and the error you are getting?
    Thanks,
    John

  • Using property value in Allocation Logic.

    Hi All,
    Can we use a property value from one dimension as ID for different dimension in the Allocation Logic?
    I have a category Actual which has a value of 2011 in the property YEAR.
    I need to use 2011 in DIM TIME statement.If somehow i can get the 2011 value into a variable then i can use that variable in the DIM TIme statement.
    EX:
    *SELECT(%TIMEYEAR%,"ID",.....................................)   (This is where i need help ..in writing the statement)
    DIM TIME WHAT = [YEAR]=%TIMEYEAR%;  WHERE = %TIMEYEAR%(1).INP;   USING = %TIMEYEAR%(1).INP;
    This would mean:
    DIM TIME WHAT=[YEAR]=2011;   WHERE=2012.INP;   USING=2012.INP;
    Can we get this to work in Allocation Logic?I need to know if i can get the value of the property into the variable?
    Any help is appreciated.
    Thanks,
    KK

    Hi
    I believe using the category property "YEAR" in the logic may not be a good idea. In case of next year, you need to change the property value "YEAR" to 2012...... and so on.
    If you want to bring the current year as variable you can use system variable %YEAR%
    %YEAR% - Returns current calendar year
    DIM TIME WHAT = YEAR=%YEAR%; WHERE = %YEAR%(1).INP; USING = %YEAR%(1).INP;
    Try and let me know
    Thanks

  • Introducing own allocation logic

    Hi,
    I have a requirement in which I need to allocate notification activity to a particular user by using own allocation logic as soon as the notification activity is spawned.
    Please let me know is it possible and how?
    Reds,
    KS

    Hi,
    Yes - adding any activity to a workflow will include extra overhead, both in terms of processing time and data storage. This is particularly important if the activity is going to be revisited a number of times, since the previous states are also archived within the workflow schema.
    To be honest, I wouldn't worry too much about it - adding an extra activity which determines the recipient has to be done at some stage, and should not be too costly in terms of either performance or storage.
    If you notice a difference, even through careful monitoring of the system, I'd be surprised - assuming that the logic to determine the recipient is fairly straightforward.
    HTH,
    Matt
    WorkflowFAQ.com - the ONLY independent resource for Oracle Workflow development
    Alpha review chapters from my book "Developing With Oracle Workflow" are available via my website http://www.workflowfaq.com
    Have you read the blog at http://thoughts.workflowfaq.com ?
    WorkflowFAQ support forum: http://forum.workflowfaq.com

  • Logic issues for manipulation of internal table data

    Hi,
    I am having a issue with logic of one program.
    In the <b>XVBAP</b> internal table of <b>SO</b> User Exit.
    We will have fields like
    <b>UPDKZ, POSNR, UEPOS, ZZECD[Z-Field] etc.</b>
    Above fields are related to logic.
    1. Now my first point is:
    <b>We need to capture Records where UPDKZ='D' and ZZECD[Z-Field] is populated.</b>
    For this we will write code as below:
    <b>LOOP AT XVBAP WHERE UPDKZ     EQ C_D   AND
                        ZZECD     NE SPACE.
    Here we will store all fields in I_XVBAP I.Table
    ENDLOOP.</b>
    Supoose we have retrieved records as below:
    <b>VBELN, UPDKZ, POSNR, UEPOS, ZZECD
    100    D   000040   000030 Text1
    100    D   000050   000020 Text2
    100    D   000060   000000 Text3</b>
    2. My second point here is:
    <b>For Every Item[POSNR] we need to get the Higher level item from UEPOS field, If the Higher level Item also has UPDKZ = ‘D’, then move the base unit and all it’s components into an internal table. continue this process till UEPOS for POSNR is 000000 but High item should have UPDKZ = 'D', not only this all items in this chain should have UPDKZ = 'D'.</b>
    Ex:
    <b>Suppose for item 000050 UEPOS is 000020 then goto XVBAP with POSNR = UEPOS[000020] and UPDKZ = 'D' if yes and then pick up UEPOS for 000020 item and continue this process till UEPOS becomes 000000 and UPDKZ = 'D'.
    Here from Low level to High level all the chain items should have UPDKZ = 'D'. Then only write all items into Final Internal table.</b>
    <b>Need to do this process for all above rec's [40,50,60 - POSNR].</b>
    Can anybody provide me the logic for the above scenario.
    Thanks in advance.
    Thanks and Regards,
    Deep

    Hi Anurag,
    Your assumption is wrong.
    See first when we get into our logic we will get <b>XVBAP</b> data as below:
    <b>VBELN, POSNR, UEPOS, UPDKZ, ZZECD
    100,  10,  00,  D,  Text1
    100,  20,  00,   ,  Text2
    100,  30,  20,  D,  Text3
    100,  40,  30,  D,  Text4
    100,  50,  00,   ,  Text5
    100,  60,  00,   D, Text6
    100,  70,  60,   D, Text7</b>
    After we run first point we will get data as:
    Here logic is pick up data where <b>UPDKZ = D</b> and <b>ZZECD NE SPACE</b>.
    <b>VBELN, POSNR, UEPOS, UPDKZ, ZZECD
    100, 10, 00, D, Text1
    100, 30, 20, D, Text3
    100, 40, 30, D, Text4
    100, 60, 00, D, Text6
    100, 70, 60, D, Text7</b>
    Then we will goto second point:
    Here we need to look into <b>3</b> things totally in 2nd point:
    1. In loop Select the record which has <b>UEPOS EQ space</b>, <b>UPDKZ = D</b> and <b>POSNR</b> should not be <b>UEPOS</b> for any other record from above data from 1st point.
    <b>100, 10, 00, D, Text1</b>
    will be selected into final internal table as per this point.
    2. If for a POSNR value UEPOS NE SPACE, UPDKZ = D then goto UEPOS's POSNR in high level check there if UPDKZ = D and then wether UEPOS is ZERO (or) contains any value.
    If any value is there repeat the process till UEPOS become ZERO. Then for that final higher level item check UPDKZ value if it has value as 'D', If has then write all those records from low item to high item into final internal table.
    <b>100, 60, 00, D, Text6
    100, 70, 60, D, Text7</b>
    In above for Item 70[POSNR] we have UEPOS as 60 and UPDKZ as D. then we will goto UEPOS's POSNR, Now POSNR is 60 then check it's UEPOS it is ZERO so check UPDKZ because it is D write both items 60, 70 into final internal table.
    2. If for a POSNR value UEPOS NE SPACE, UPDKZ = D then goto UEPOS's POSNR in high level check there if UPDKZ = D and then wether UEPOS is ZERO (or) contains any value.
    If any value is there repeat the process till UEPOS become ZERO. Then for that final higher level item check UPDKZ value if it has value as 'D', If it does not have  UPDKZ as 'D' then don't write any item from low to high into final internal table.
    If we take the scenario of below rows:
    <b>100,  20,  00,   ,  Text2
    100,  30,  20,  D,  Text3
    100,  40,  30,  D,  Text4</b>
    POSNR-40 has UEPOS-30 & UPDKZ = D then UEPOS's POSNR-30 has UEPOS-20 and UPDKZ-D then UEPOS POSNR-20 has UEPOS as 00 then stop here and see UPDKZ which is ZERO so don't consider items 20,30,40 into final i.table.
    In the above chain in any record UPDKZ is not 'D' then skip the process anddon't write the records into final internal table.
    Final output will come as:
    <b>100, 10, 00, D, Text1</b>
    <b>100, 60, 00, D, Text6
    100, 70, 60, D, Text7</b>
    Thanks for all your efforts.
    Thanks,
    Deep

  • Logic issue with MS Band Sleep Tracking

    If I do a both ends of the candle night, so hit the sack at 2am on the 10th of the month, then try to make amends that night by turning in at 10pm then the Band tracker records this as no sleep at all on the 9th, but 2 sleeps on the 10th. Well that just
    nonsense. The logic isn't hard and I can guarantee the dev team understand. So this is BUG and it would be rather nice to see it fixed before Azure ML gets confused about my sleep patterns and predicts my early demise.

    I have had the exact same problems, only I have not cycled so I can't relate to that complaint.  I have had an issue with my units of Distance now displaying incorrectly.  Prior to last week, my units were in Miles, and now they are in Kilometers.  I don't see anywhere to change that in the Settings.
    Also, I contacted Joe in Support yesterday, and he had me reset my SmartBand and my phone (equivalent of rebooting) to see if that fixed anything.  It did not.  Then he instructed me to uninstall the Sony Apps on my phone, and re-install them.  I did that, and it worked temporarily.  All my historical data was now displaying correctly, until this morning when I woke up, and my sleep is back to being > 100 hours for last night, but my historical data still seems to be fine.  The problem seems to be during the initial capture of the data.  When I am on my timeline and I move the time forward, at midnight, the increments increase exponentially, rather than normal speed.  Prior to midnight, all is fine.
    I have a Nike+ Fuel Band and got the Sony SWR10 primarily for Sleep Monitoring.  Now I am unable to do anything with the data because it is not accurate.  Also, I'm an avid runner and would appreciate the ability to change from KM back to Miles...this is a basic necessity.
    Thanks,
    Chad
    Atlanta, GA

  • Logic issue with MIDI

    Having an issue in Logic.
    Ive been using a MOTU 828 audio interface and a MOTU midi express 128.
    Recently, I opened logic getting ready for a session and this popped up:
    Instrument "Profire 2626" sends to a MIDI port named "Profire 2626" of MIDI interface "Profire 2626" which no longer exists.
    Please check if all MIDI interfaces are connected and switched on; otherwise adjust the instruments MIDI out port setting.
    I am no longer using a profire, so I dont know why logic is saying this.
    I just produced music a few weeks ago and havn't touched one cable in my set up.
    Please help thank you!
    SIMOOL

    Did you open a project that referenced that MIDI port on one of the MIDI tracks? If so, find the tracks that references the Profire, change them to your current setup and resave. Also check the Environment for any references to Profire.
    Check Audio-MIDI Setup and make sure the Profire is not still listed on the MIDI setup page, if so delete it.
    Control Surfaces, make sure it's not listed as a Device in the Setup area. Go to Preferences/Control Surfaces and click the Setup button.

  • Allocation structure issue

    Dear sap,
    cost elements that have been used for postings to our projects but the cost elements are not included in the allocation structures.
    As a consequense are the settlements ot the projects malfunctioning.
    Cost element     Allocation structure     Malfunctioning WBS             
    190198           KO                                  389001938.00002            
    497162          KP                                   47800439.04                 
    How to update the allocation structures to include the above cost elements.
    Reg
    Umi

    Hi,
    Go to Allocation Structure which you are using for this and see what is the cost element group or range you entered in the Allocation structure.
    Once you find the range or cost element group, you need to include the above cost elements into the Ranges or cost element groups.
    Your issue will be solved..
    Thanks

  • SAP BPC 5.1 Script Logic Issue

    Hi Guys,
    I have a problem with Inventory Days script logic at the moment. Basically what the logic should do is:
    1. Copy the required data across to a calculation category (SQL)
    2. Calculate the last 12 months Cost of Sales for every entity in the selection for 3 years (MDX)
    3. Use the Cost of Sales number and multiply it with the inventory days number (SQL)
    The calc works fine for some of my smaller brands (200 - 500 entities),  but when i run the logic for my big brand (2000 entities) the last step doesn't calculate correctly. I have done the following to try and fix the problem.
    1. Every step has it's own COMMIT
    2. I clear the data before writing anything
    3. I use XDIM_MAXMEMBERS Entity = 500
    Any ideas why the logic is acting like this? I don't know if I am allowed to post my code here, but if it will help i will
    Regards,
    Andries van den Berg

    Hi,
    I only sent you the step that is giving me a problem at the moment. I broke the logic up into different packages to check where the problem lies and narrowed it down to this one.
    It seems like the code didn't copy across correctly, it is supposed to be when EXTRAP.BRAND "<>" "". I'll just paste the code again, just so that we are all on the same page.
    Regarding the FAC2, the client was running the code a lot of times and the WB table was getting huge. So, i started posting the records to the FAC2 table and processing it in the SSIS package. And i did confirm that they are posting there.
    I just tried to run the script for half of the entities and it didn't work. I then tried to run is for 25 entities and it worked. Could the *XDIM_MaxMembers Entity =  50 be giving me the problem? This is all i get over and over in the formula log:
    RPTCURRENCY,ACCOUNT,CATEGORY,DATASRC,ENTITY,INTCO,TIME,SIGNEDDATA
    LC,80500,BUDGET,INPUT,P71559,NON_INTERCO,2010.AUG, 0
    The other thing that bugs me is that i have similar script that never gives me issues for the same client.
    Regards,
    AvdB
    //Step 4 -- Calculate the Inventory per month for all the entities selected
    *SELECT(%BUDGET_YEAR1%,"[BUDGET_YEAR1]","CATEGORY","[ID]='BUDGET'")
    *SELECT(%BUDGET_TIME_SET1%,"[ID]","TIME","[YEAR]=%BUDGET_YEAR1% AND [CALC] = 'N'")
    *SELECT(%BUDGET_YEAR2%,"[BUDGET_YEAR2]","CATEGORY","[ID]='BUDGET'")
    *SELECT(%BUDGET_TIME_SET2%,"[ID]","TIME","[YEAR]=%BUDGET_YEAR2% AND [CALC] = 'N'")
    *SELECT(%BUDGET_YEAR3%,"[BUDGET_YEAR3]","CATEGORY","[ID]='BUDGET'")
    *SELECT(%BUDGET_TIME_SET3%,"[ID]","TIME","[YEAR]=%BUDGET_YEAR3% AND [CALC] = 'N'")
    *XDIM_Memberset Time = %BUDGET_TIME_SET1%,%BUDGET_TIME_SET2%,%BUDGET_TIME_SET3%
    *XDIM_Memberset Category = TOPDOWN, BUDGET
    *XDIM_Memberset Entity = %Entity_Set%
    *XDIM_MaxMembers Entity =  50
    *XDIM_ADDMemberset ENTITY = CLKS,MUS,BS // Add global entities
    *XDIM_Memberset ACCOUNT = Last12FSCoS,Last12DispCoS, InventoryFSDays, InventoryDispDays  //Add the caculated CoS account from the previous step and the Global Driver for days
    *WHEN ENTITY.EXTRAP_BRAND
    *IS <> ""
    *WHEN CATEGORY
    *IS TOPDOWN
                       *REC(EXPRESSION=(GET(ACCOUNT="Last12FSCoS",CATEGORY="TOPDOWN")*GET(ACCOUNT="InventoryFSDays",ENTITY=ENTITY.EXTRAP_BRAND,CATEGORY="BUDGET")/365)*-1,NOADD,ACCOUNT="80500",CATEGORY="BUDGET")
                       *REC(EXPRESSION=(GET(ACCOUNT="Last12DispCoS",CATEGORY="TOPDOWN")*GET(ACCOUNT="InventoryDispDays",ENTITY=ENTITY.EXTRAP_BRAND,CATEGORY="BUDGET")/365)*-1,NOADD,ACCOUNT="80510",CATEGORY="BUDGET")
    *ENDWHEN
    *ENDWHEN
    *WRITE_TO_FAC2
    *COMMIT

Maybe you are looking for