Lookup Script Logic

Dear Freinds,
I am trying to write script logic for learning LOOKUP fuction of script logic and written the below code in BPC 7.5 NW its not working. Please let me know my mistake .
*XDIM_MEMBERSET TIME =2009.APR
*XDIM_MEMBERSET P_ACCT=CE0004010
*XDIM_MEMBERSET CATEGORY=ACTUAL
*LOOKUP RATE
*DIM TIME="2009.APR"
*DIM CATEGORY="ACTUAL"
*DIM R_ACCT="AVG"
*DIM R_ENTITY="GLOBAL"
*DIM RATEEUR:INPUTCURRENCY="INR"
*DIM MEASURES="PERIODIC"
*ENDLOOKUP
*WHEN P_ACCT
*IS "CE0004010"
*REC(EXPRESSION=%VALUE%/LOOKUP(RATEEUR), RPTCURRENCY="INR")
*ENDWHEN

below is the UJTK log but I am not getting result. Please help me .
LOG:
FILE:\ROOT\WEBFOLDERS\BPC_Demo \ADMINAPP\MGT_CONSO\TEST.LGF
USER:PARAGONDNS\BPC_CON
APPSET:BPC_Demo
APPLICATION:MGT_CONSO
[INFO] GET_DIM_LIST(): I_APPL_ID="MGT_CONSO", #dimensions=8
CATEGORY,MEASURES,P_ACCT,P_ACTIVITY,P_CC,P_DATASRC,RPTCURRENCY,TIME
#dim_memberset=3
TIME:2009.APR,1 in total.
P_ACCT:CE0004010,1 in total.
CATEGORY:ACTUAL,1 in total.
REC :%VALUE%/LOOKUP(RATEEUR)
CALCULATION BEGIN:
QUERY PROCESSING DATA
QUERY TIME : 1535.45 ms. 2  RECORDS QUERIED OUT.
QUERY REFERENCE DATA
QUERY LOOKUP DATA FROM APPLICATION: RATE
QUERY TIME : 416.49 ms. 1  RECORDS QUERIED OUT.
CALCULATION TIME IN TOTAL :123.38 ms.
1  RECORDS ARE GENERATED.
CALCULATION END.
SCRIPT RUNNING TIME IN TOTAL:2.42 s.

Similar Messages

  • Validate my script logic: reference erro LOOKUP is not defined

    Dear all,
    i want write one script logic. It use LOOKUP using FOR/NEXT.
    But when i check stament in my script logic: messesage erro: reference erro LOOKUP is not defined.Can you help me?
    My script logic
    *XDIM_MEMBERSET ACCOUNT=BS221
    *XDIM_ADDMEMBERSET CATEGORY = Actual
    *XDIM_ADDMEMBERSET ENTITY = CSO
    *SELECT(%TIME%,"[ID]",TIME,"[ID]>=2006.01 AND [ID]<=2006.02")
    *XDIM_MEMBERSET TIME = %TIME%
    *LOOKUP Rates
    *DIM  CATEGORY ="Actual"
    *DIM R_ACCOUNT ="AVG"
    *DIM R_ENTITY ="Global"
    *DIM INPUTCURRENCY="USD"
    *DIM MEASURES ="PERIODIC"
    *FOR %T% = %TIME%
    *DIM RATE_%T%: TIME =%T%  
    *NEXT
    *ENDLOOKUP
    *WHEN ACCOUNT
    *IS "BS221"
    *FOR %T1% = %TIME%
    *REC(EXPRESSION=LOOKUP(RATE_%T1%),TIME=%T%)
    *NEXT
    *ENDWHEN
    *COMMIT
    Thanks,
    Hungth

    Dear Vadim,
    I want test LOOKUP statement using FOR/NEX, then get value per member for member in LOOKUP.
    in excel add-in of Rates Model:
    Actual - Actual
    Average Rate
    Global Entity
    2006.01 - Jan 2006
    31
    2006.02 - Feb 2006
    30
    2006.03 - Mar 2006
    30
    2006.Q1 - Q1 2006
    30
    I want run my script logic above to get value from Rates Model ( 2006.01: 31, 2006.02 : 30, 2006.03: 30 ) to current model , to calculate in crurrent model.
    BS221 - Long Term Debt
    2006.01 - Jan 2006
    2006.02 - Feb 2006
    2006.03 - Mar 2006
    Actual - Actual
    31
    30
    30
    How i can write my script logic? My script logic statements is correct??
    Thanks,
    hungth

  • Script Logic: Using a property in MDX *REC statement (BPC NW)

    Hi,
    Is it possible to use a Property in an MDX statement without using  *LOOKUP() function? I have script successfully working but it takes 15 minutes to execute and would like to speed it up.
    I understand that [DIMENSION].[MEMBER].Property is not valid syntax, and do not believe NW has any other functions to resolve the issue, except *LOOKUP which takes a long time.
    Specific Example is below:
    I have a piece of script that successfully splits JV Expense by customers. A Profit Share planning driver determines the percentage that each customer is entitled to. Typically this will be 100%, but could be 50% between two customers.
    The PROFIT SHARE planning drivers records, and PARTNER_INCOME transactional records are below:
    ACCOUNT
    ENTITY
    PARTNER
    SIGNED DATA
    PROFIT_SHARE
    UK_001
    PARTNER_A
    0.5
    PROFIT_SHARE
    UK_001
    PARTNER_B
    0.5
    PROFIT_SHARE
    UK_002_PLANNING_DRIVERS
    PARTNER_B
    1.00
    PARTNER_INCOME
    UK_001
    NO_PARTNER
    $5,000
    PARTNER_INCOME
    UK_002
    NO_PARTNER
    $5,000
    UK_001 has two partners that are each entitled to 50% of the $5,000 NET PROFIT.
    For UK_002, one one single Partner is entitled to 100% of the $5,000 NET PROFIT.
    Using script logic, you can scope the Profit Share account (PROFIT_SHARE) - , and use a *REC statement to multiply this by the driver. It would look like:
    *XDIM_MEMBERSET ACCOUNT = PROFIT_SHARE
    *WHEN ACCOUNT
    IS *
    *REC (EXPRESSION = %VALUE% * ([ACCOUNT].[PROFIT_SHARE],[PARTNER].[NO_PARTNER]), ACCOUNT = PARTNER_PROFIT_SHARE)
    *ENDWHEN
    This wouldn't be a problem if the Planning Driver is always stored on the same Entity that the Income is stored on, but for UK_002, the planning driver is stored on another Entity - which is stored in a the PLAN_DRIVER_REF property of the entity. It should use UK_002_PLAN_DRIVERS
    ID (Entity)
    PLAN_DRIVER_REF
    UK_001
    UK_002
    UK_002_PLAN_DRIVERS
    UK_002_PLANNING_DRIVERS
    In this scenario, we need to switch out the Entity used in the MDX, however I do not believe you can use a property in MDX - can anyone confirm?
    I have currently implemented the *LOOKUP functionality to loop through, changing each *LOOKUP partner for each loop.
    Lookup:
    *LOOKUP PLANNING_JV_US
    *FOR %LOOP_ASLS% = %ASL_LOOKUP_LOOP_VARIABLE%        
      *DIM LOOK_%LOOP_PARTNERS%:ACCOUNT = "PROFIT_SHARE"
      *DIM LOOK_%LOOP_PARTNERS%:PARTNER= %LOOP_PARTNERS%
    *NEXT
    *DIM ENTITY = ENTITY.PLAN_DRIVER_REF                   //   Use PLAN_DRIVER_REF Property of Entity
    *ENDLOOKUP
    Scope and *REC:
    *XDIM_MEMBERSET ACCOUNT = PROFIT_SHARE
    *WHEN ACCOUNT
    IS *
    *FOR %LOOP_PARTNERS% = %PARTNER_LOOKUP_LOOP_VARIABLE%      // 1000 Partners
    *REC(EXPRESSION = %VALUE% * LOOKUP(LOOK_%LOOP_PARTNERS%), PARTNER= %LOOP_PARTNERS%, ACCOUNT = TCOJVSHAR_CALC, AUDIT_ID = PP_EXPENSE_BY_PARTNER)
    *NEXT
    *ENDWHEN
    The problem with the above, is that because the Lookup is being generated for every single Partner, there are significant numbers of loops.
    Does anyone know of another way this can be implemented in Script Logic? Otherwise we'll need to explore BAdI route.
    Thanks,
    Nick

    Hi Nick,
    Use property in LOOKUP - will dramatically speed up the calculation without FOR/NEXT.
    Vadim

  • An error in Script Logic

    Hi Experts,
    I have a problem with one of the FXTranslation logicu2019s in one of my report can u please help me on that.
    The logic works fine for 2 reports out of 3, for the 3rd report I donu2019t know why itu2019s not doing the translation to USD. As far as the design of the report goes the 2 reports for which translation works fine comprises of 2 logics one for percentage allocation and other for translation from LC to USD, whereas the 3rd report needs only translation but doesnu2019t need the allocation logic to be run.
    The conversion for the 3rd report happens if I comment out the allocation logic. Both these logics are mapped to Default.LGF file. I am unable to figure out what could be the error.
    Below is the Script Logic for Aloocation and Translation:
    //Budget Allocation
    *SELECT(%CURR%,"[ID]","RPTCURRENCY","[CURRENCY_TYPE]='L' OR [CURRENCY_TYPE]='R'")
    *XDIM_MEMBERSET RPTCURRENCY=%CURR%
    *RUNALLOCATION
    *FACTOR=USING/1
    *DIM ACCOUNTB WHAT=[IS_ALLOC]='Y'; WHERE=<<<; USING=ALLOCPER
    *DIM PRODUCTM WHAT=NOPRODUCT; WHERE<>NOPRODUCT; USING=<<<
    *ENDALLOCATION
    *COMMIT
    // Currency Translation
    *SELECT(%REPORTING_CURRENCIES%, "[ID]", "RPTCURRENCY", "[REPORTING] = 'Y'")
    *SELECT(%FX_RATES%, "[ID]", "RATE", "[GROUP] = 'FX RATE'")
    // Load the rates from the RATE cube
    *LOOKUP RATE
                *DIM CATEGORY="BUDGET"
         *DIM RATEENTITY="GLOBAL"
         *DIM RATE=ACCOUNTB.RATETYPE
         *DIM SOURCECURR:INPUTCURRENCY=LEGALENTITY.CURRENCY
         *FOR %CURR%=%REPORTING_CURRENCIES%
              *DIM %CURR%:INPUTCURRENCY="%CURR%"
         *NEXT
    *ENDLOOKUP
    //  define the translation rule
    *WHEN ACCOUNTB.RATETYPE
    *IS "NOTRANS"
         // skip
    *IS %FX_RATES%
               // translate
         *FOR %CURR%=%REPORTING_CURRENCIES%
              *REC(FACTOR=LOOKUP(%CURR%)/LOOKUP(SOURCECURR),RPTCURRENCY="%CURR%")
         *NEXT
    *IS "COPYLC"
         // take as is
         *FOR %CURR%=%REPORTING_CURRENCIES%
              *REC(RPTCURRENCY="%CURR%")
         *NEXT
    *ENDWHEN
    *COMMIT
    // Default
    // FX Translation
    *include FXTranslation.lgf
    // Budget Allocation
    *include BudgetAllocation.lgf

    Hi Naresh,
    One thing that helped me solve the problem was I needed to use different set of Dimension members/property in the Logic i.e What, Where and Using to trigger off the Curency Translation.
    But please make sure that you use try to understand a unique dimension (member/property) used and use that to trigger off the translation or anything for that matter. My other two translations were working fine as the parameters i used were unique for them whereas the remaining one needed alteration in the logic only in the parameters used in What, Where and Using, so had to add one more set of Translation Logic for this exclusively.
    Another point you need to check in your Rate Application is whether you have your Reporting Currency as value 1, say for eg USD is your reporting currency then the value in Rate Application for USD must be 1, if u by mistake cleared of this value when using the Clear Data Manager Package so the multiplication with 0 results in no conversion.
    These were the two points that helped me solve my issue. I hope it helps.
    Rgds,
    Rizwan
    Edited by: Rizwan Mustaffa on Jul 13, 2009 12:09 PM

  • Distribution in script logic

    Hello, all.
    I'm new in BPC. Please give advice, how can we realize following logic.
    We have a application Sales with following dimensions.
    Account, Category, DataSrc, Entity, Department, Prodline, RptCurrency, Time
    User send data to the DB in view:
    Account | Category | DataSrc | Entity | Department | Prodline | RptCurrency| Time
    NetSales | BUDGET | Input | Company_In | Sales | NoProd | LC | 2008.INP
    Where each record NetSales, Budget, etc has no child
    and user send data in view:
    Account | Category | DataSrc | Entity | Department | Prodline | RptCurrency| Time
    Coeficient | BUDGET | Input | Company | Sales | NoProd | LC | 2008.INP
    Where Entity has 3 childs: Company_1, Company_2, Company_3.
    After posting a data to Fact table, it view, is:
    Account | Category | DataSrc | Entity | Department | Prodline | RptCurrency| Time | Signed_data
    NetSales | BUDGET | Input | Company_In | Sales | NoProd | LC |2008.INP| -20
    Coeficient| BUDGET | Input | Company_1 | Sales | NoProd | LC | 2008.INP| -0,1
    Coeficient| BUDGET | Input | Company_2 | Sales | NoProd | LC | 2008.INP| -0,3
    Coeficient| BUDGET | Input | Company_3 | Sales | NoProd | LC | 2008.INP| -0,6
    I want to get new records in db such as:
    Account | Category | DataSrc | Entity | Department | Prodline | RptCurrency| Time | Signed_data
    NetSales | BUDGET | Input | Company_1 | Sales | NoProd | LC | 2008.INP| -2
    NetSales | BUDGET | Input | Company_2 | Sales | NoProd | LC | 2008.INP| -6
    NetSales | BUDGET | Input | Company_3 | Sales | NoProd | LC | 2008.INP| -12
    Where NetSales distribute by coefficient for each Entity.
    I want do something like (Account ="NetSales",Entity ="Company_1")= (Account="NetSales",Entity="Company_In")*(Account="Coeficient",Entity.Company_1) for each Company_n.
    How can I write script logic for this.
    Thanks

    I think there are several options.  The easiest option may be simply to construct a template that sends the values directly based on the input of the Coefficients and the Raw data value input of 20.  Thus the input process would submit 7 total entries.
    Now should you wish to have a repeatable calculation process that updates the Child entities each time either a coefficient or data input point is submit, then you could utilize script logic that was suggested in the thread as an allocation process. Otherwise, you would need to develop sets of properties and script logic for each set of requests such as:
    *When Account.ID
    *IS COEFFICIENT
    *WHEN ENTITY.ID
    *IS COMPANY_1
    *REC(EXPRESSION = VALUE * GET(ACCOUNT=ACCOUNT.NETSALES,ENTITY=ENTITY.COMPANY_IN), ACCOUNT=ACCOUNT.NETSALES)
    *ENDWHEN
    *ENDWHEN
    *COMMIT
    This is not as flexible and there are many approaches that may be taken here, such as using LOOKUP statements and proeprties to manage the calculations and make them more flexible. It will just depend on how much volume there is to calculate, how many statements are required and how often the logic will need to be updated or managed based on hierarchy changes to the entity dimension.  Plus, you need to test many options to determine which is the fastest approach during the send process.
    Hope this helps.

  • Script Logic VS Data Transformation File

    Hi all,
       I'm new to SAP BPC. I have knowledge of SAP BW.
       I can see conversion file, which we are referring in data transformation file. which we can use for mapping and conversion of external data into internal data.
      How data transformation file different form script logic? Are we going to refer script logis in Data transformation file for each required dimension?
      Can any of you give me clarity on how to place script logic and data transformation file in BPC data management flow.
      I will really applicate all your help!!!
    Thanks
    Ben.

    Nilanjan,
       I have a another quick question...
      suppose my bpc application has 5 dimensions. Out of the 5 dimensions, 4 dimensions data i'm getting directly from SAP BW. assume 1 dim, i need to extract by doing look up at different table which also reside in BW.
       how to populate data for DIM 5.
       I got your point that data transformation file purely for field mapping. suppose DIM5 if i want to populate from script logic, wht do i need map in Transformation file. I hope you got my point.
       My question if how to populate a DIM in BPC using lookup approach.
    Thanks,
    Ben.

  • Problems when using RUNLOGIC Keyword in Script Logic

    Hello experts,
    I have a problem using RUNLOGIC keyword within Script logic. Both scripts are mentioned below.
    Following scenario:
    - combination of DESTINATION_APP and LOOKUP to multiply values from two source applications in order to to write results in target application
    - data volume in source application VALCHAIN are approx 187.000 records; source app SALES = 500 records
    - created data records in target application QUANTITIES are approx 204.000 records
    Running LOGIC01_QUANTITIES.LGF without "RUNLOGIC" keyword:
    - time to execute logic and write records: 10-12 minutes
    - created records 204.000
    Running LOGIC01_QUANTITIES.LGF via CALL_RUNLOGIC.LGF
    - script does not finish; system produces dumps
    - Tcode ST22 shows error messages called "TSV_TNEW_PAGE_ALLOC_FAILED" as well as "SYSTEM_NO_ROLL" as well as "CALL_FUNCTION_SEND_ERROR"
    Does anybody have a guess for that? Any answer appreciated.
    Thanks a lot!
    ==================================================
    CALL_RUNLOGIC.LGF
    *START_BADI RUNLOGIC
    QUERY=OFF
    WRITE=ON
    LOGIC=LOGIC01_QUANTITIES.LGF
    APPSET=FINPLAN_PERFORM
    APP=VALCHAIN
    CHANGED=PRODUCT
    DEBUG=OFF
    *END_BADI
    ===========================================
    LOGIC01_QUANTITIES.LGF
    *XDIM_MEMBERSET DATASRC=ITEMIZED
    *XDIM_MEMBERSET VERSION=%VERSION_SET%
    *XDIM_MEMBERSET TIME=%TIME_SET%
    *LOOKUP SALES
    *DIM DATASRC="OUTPUT"
    *DIM ITEM="IM_M02"
    *DIM QUANTU="QU_TO"
    *DIM MEASURES="PERIODIC"
    *FOR %LOOP_CENTER%=PC_1000,PC_2000,PC_3000,PC_4000,PC_5000,PC_6000
    *DIM C_%LOOP_CENTER%:PCENTER=%LOOP_CENTER%
    *NEXT
    *ENDLOOKUP
    *DESTINATION_APP=QUANTITIES
    *ADD_DIM COSELE=CE_NONE
    *WHEN PRODUCT.LG
    *IS "1"
      *WHEN MATERIAL
      *IS "MA_NONE"
        *FOR %LOOP_CENTER%=PC_1000,PC_2000,PC_3000,PC_4000,PC_5000,PC_6000
        REC(EXPRESSION=%VALUE%LOOKUP(C_%LOOP_CENTER%), PCENTER=%LOOP_CENTER%, ITEM="IM_M08", DATASRC="CALCULATED")
        *NEXT
      *ELSE
        *FOR %LOOP_CENTER%=PC_1000,PC_2000,PC_3000,PC_4000,PC_5000,PC_6000
        REC(EXPRESSION=%VALUE%LOOKUP(C_%LOOP_CENTER%), PCENTER=%LOOP_CENTER%, ITEM="IM_M05", DATASRC="CALCULATED")
        *NEXT
      *ENDWHEN
    *IS "1000"
      *WHEN MATERIAL
      *IS "MA_NONE"
        *FOR %LOOP_CENTER%=PC_1000,PC_2000,PC_3000,PC_4000,PC_5000,PC_6000
        REC(EXPRESSION=%VALUE%LOOKUP(C_%LOOP_CENTER%)/1000, PCENTER=%LOOP_CENTER%, ITEM="IM_M08", DATASRC="CALCULATED")
        *NEXT
      *ELSE
        *FOR %LOOP_CENTER%=PC_1000,PC_2000,PC_3000,PC_4000,PC_5000,PC_6000
        REC(EXPRESSION=%VALUE%LOOKUP(C_%LOOP_CENTER%)/1000, PCENTER=%LOOP_CENTER%, ITEM="IM_M05", DATASRC="CALCULATED")
        *NEXT
      *ENDWHEN
    *ENDWHEN
    *COMMIT

    Hello,
    This error comes up when there is no enough memory.
    How many members do you have in PRODUCT and how many parallel processes did you set up in PARALLELSCRIPT?
    Also, I'd suggest to put *XDIM_MEMBERSET PRODUCT = %PRODUCT_SET% in your LOGIC01_QUANTITIES.LGF script.
    Did you get anything in RUNLOGIC log? In UJFS you can find logs for every parallel process ran, name if it is just it's time stamp.
    Can you see from those what scripts ran and with what parameters?
    This should simplify resolution of your issue.
    Regards,
    Gersh

  • Test script logic file - Errror "Invalid Dimension Account"

    Hi BPC Experts,
    I am a new bee in BPC and have developed HCM applicaton in BPC 5.1. The Appset contains Finance, Rate & HCM applications.
    I am working on HCM and wants to write a script logic file for HCM and it is giving an ERROR "Invalid Dimensin Account".
    I have following dimensions in HCM Application:
    account_hc --> type A
    category_hc --> type C
    company_hc --> type E
    time_hc       -->  time t
    costcenter_hc --> type u
    datasrc_hc      --> type d
    employerole_hc --> type u
    geography_hc --> type u
    rptcurrency_hc --> type r.
    I had defined Dimensions in system_cnstants file as mentioned below.
    // application constants
    *FUNCTION CATEGORYDIM         =CATEGORY_HC
    *FUNCTION TIMEDIM  =TIME_HC
    *FUNCTION CURRENCYDIM  =RPTCURRENCY_HC
    *FUNCTION ENTITYDIM  =COMPANY_HC
    *FUNCTION ACCOUNTDIM  =ACCOUNT_HC
    *FUNCTION INTCODIM  =INTCO
    *FUNCTION CATEGORYDIM         =CATEGORY
    *FUNCTION TIMEDIM  =TIME
    *FUNCTION CURRENCYDIM  =RPTCURRENCY
    *FUNCTION ENTITYDIM  =ENTITY
    *FUNCTION ACCOUNTDIM  =ACCOUNT
    // This part is needed when a RATE cube
    // is associated to the application
    // (FX = single or multi currency)
    *FUNCTION THISAPP  =HCM
    *FUNCTION RATEAPP  =RATE
    *FUNCTION RATEENTITYDIM =RATESRC
    *FUNCTION RATEACCOUNTDIM =RATE
    *FUNCTION INPUTCURRENCYDIM =INPUTCURRENCY
    *FUNCTION RATEENTITYMBR =RATEINPUT
    *FUNCTION RATESRCCALCMBR =RATECALC
    *FUNCTION AVGRATEID=AVG
    *FUNCTION ENDRATEID=END
    I tried to validate and save standard default script logic. But it gives me an error " NO match defined for lookup dimension Category"
    So I could not use default logic file to write my script logic. Hence I have created HCM logic file. and Given the following script logic.
    *XDIM_MEMBERSET  ACCOUNT = XYZ_INC_RetPlan
    *WHEN ACCOUNT
    *IS  XYZ_INC_RetPlan
    *REC(FACTOR = 1.1, ACCOUNT)
    *ENDWHEN
    *COMMIT
    While validat & save, I get an error "Invalid Dimension Account".
    I do not understand why these errors occuring.
    I have checked Category & Account dimensions checked. Every thing is ok. I have created Input schedules and they are working ok. It means the dimensions are fine.
    Then why the error ?
    Can you guys please guide me.
    Appreciate your kind help.

    Eswara,
      try  to  close  down  BPC  for  ExCEl  in  case  your  IS/Reports  are  trying  to  access  the  APPlication.And  also  any  other  BPC  ADmin screens  accessing  the  same  Application/Dimension.
    1)try to  only  do  a  "process "  on the  account  dimension without  including  the  processing for Applications...
    2)then  try  to  do a  process  on the  application.
    Now  your  script  should  be  able  to recognize  Account  dimension  and  validate  fine..
    hope  this  helps...

  • Script logic problem BPC 7.5

    Hi!
    We have a script logic that worked fine in BPC 5.1 but after our upgrade to BPC 7.5 it doesn´t work anymore.
    I will try to explain the part of or logic that doesn´t work anymore.
    We have 2 lines that will pass through the script, each line creates a temporary value  on KATEGORI ="#avskr1").
    Depending on the value created on  u201C#avskr1" it should do calculation A if the value is negative and calculation B if the value is positive. To do this we the following script logic:
    *WHEN GET(KATEGORI="#avskr1")
           *IS < 0
    *Calculation A
    ELS
    *Calculation B
    And this logic worked fine in BPC 5.1.
    If line X had -50 as a value in  u201C#avskr1"   and line Y had 75 as a value  in u201C#avskr1" , calculation A would be performed on line X and calculation B on line Y
    With the same example as above in BPC 7.5 calculation A will be performed on both lines.
    But if I change the logic to the following script logic in BPC 7.5:
    *WHEN GET(KATEGORI="#avskr1")
           *IS  = -50
    *Calculation A
    ELS
    *Calculation B
    Calculation A would be performed on line X and calculation B on line Y. It seems like the logic can´t handle <> signs in this script logic anymore.
    Regards
    Fredrik

    Hi!
    Unfortunately it didn´t help still the same error.
    And I just got an answer from SAP Support that there are a bug in the use of "Get whith When or lookup" in 7.5 SP03 which we currently are using, but it has been fixed in SP04. They just put up a SAP not 1515973 about the issue.
    Unfortunately they have no work around for this problem so I don´t know how to solve it untill we have installed SP04.
    Regards
    Fredrik

  • How to read saved data in BPC 7 Nw Script Logic

    Hi all,
       I am trying to write the logic for Price*Quantity Calculation. This logic should be executed whenever user saves the data for either Quantity or Price.
    For this i created a Implementation on BADI "UJ_CUSTOM_LOGIC". But i am struck on how to read the data from InfoCube ,Like if user saves "Quantity",logic should read "Price" from the cube and calculate the result, Which is equivalent to GET(------) statement in SQL script Logic. Which method should i call to read the saved data in cube.
    Appreciate if someone can help me on this.
    Thanks&Regards,
    Ashok Kumar.

    Hi,
       You can use the LOOKUP instruction like:
    *LOOKUP RATE
    *DIM ENTITY2="DEFAULT"
    *DIM SOURCECURR:INPUTCURRENCY=ENTITY.CURR
    *DIM DESTCURR1:INPUTCURRENCY="USD"
    *DIM DESTCURR2:INPUTCURRENCY="EURO"
    *DIM RATE=ACCOUNT.RATETYPE
    *ENDLOOKUP
    Best regards,
    Mihaela

  • Script Logic - REC Statement

    Hi,
    Can we use dimension property value in REC statement?
    *REC(EXPRESSION = %value%/[TIME].CURRENTMEMBER.PROPERTIES("ACCTHRS"),ACCT_PROJECT="FTE_DIRECT_BASE")
    WHEN I PROCESS THE SCRIPT LOGIC I AM GETTING AN ERROR "INVALID LINE IN LOGIC SECTION: *REC........"
    THANKS

    Hi,
    In this case, you can use LOOKUP. For instance,
    *LOOKUP XXX
    *DIM AAA:TIME=TIME.ACCTHRS
    *ENDLOOKUP
    *REC(EXPRESSION = %value%/LOOKUP(AAA),ACCT_PROJECT="FTE_DIRECT_BASE")
    Hope this helps.
    Regards,
    YH Seo
    ====================================================================================================
    Hi,
    Can we use dimension property value in REC statement?
    *REC(EXPRESSION = %value%/TIME.CURRENTMEMBER.PROPERTIES("ACCTHRS"),ACCT_PROJECT="FTE_DIRECT_BASE")
    WHEN I PROCESS THE SCRIPT LOGIC I AM GETTING AN ERROR "INVALID LINE IN LOGIC SECTION: *REC........"
    THANKS

  • BPC 7.0 MS Script-Logic problem: New values used, old values written?

    I am trying to using BPC Script logic to update my Sales cube, specifically Revenue=Units*Price and Price=Revenue/Units using the "Price" stored in a seperate Price cube.
    Inside default.lgl, I am *INCLUDE-ing my own script:
    *LOOKUP PRICES
    *DIM PREIS:ACCOUNT="Price"
    *ENDLOOKUP
    *WHEN ACCOUNT
    *IS "Units"
    *REC(FACTOR=LOOKUP(PREIS),ACCOUNT="Revenue")
    *IS "Revenue"
    *REC(EXPRESSION=%VALUE%/LOOKUP(PREIS),ACCOUNT="Units")
    *ENDWHEN
    *COMMIT
    Now, when I insert new "Units" values using the std. Excel template, strange things happen:
    - The Revenues seems to be computed and updated correctly in the cube (if I check them using excel templates, they show up).
    - The Units seem to have the values they had before... seems they get old values ?!
    E.g. if I have several write operations say, I write units=2,3,4 and price is constant 10,
    the values in the cube seem to be (table):
    value written, units in cube, revenue
    3 , 2 , 30
    4,  3 , 40
    The new value is somewhere in the MS Analysis cube, otherwise, how could later be the new value be shown, although the excel templates seem to show old values?
    Any explanation for that strange behaviour?

    I simplified and wrote the prices in the same cube as I send the data from with the excel template.
    I tried using:
    *WHEN ACCOUNT
    *IS "Units"
    [Account].[#Revenue]=[Account].[Units]*[Account].[Price]
    *ENDWHEN
    *COMMIT
    *WHEN ACCOUNT
    *IS "Revenue"
    [Account].[#Units]=[Account].[Revenue]/[Account].[Price]
    *ENDWHEN
    *COMMIT
    Now, if units are send from the excel template, revenue is calculated correctly.
    If I enter revenue instead, seems that the 1st block is executed as well (why????!!!/how to avoid - I use *WHEN - what else should I do? )  which would explain the behaviour I get the old values for Units and Account again...
    Related: How can I use "*WRITE_TO_FILE"? I tried both
    *WRITE_TO_FILE Mylog.txt
    *WRITE_TO_FILE "Mylog.txt"
    But I can't find these file after sending data through the excel template... Do I have to create the files manually first or give full Path Names?
    Thanks!

  • Pull script logic

    Hi all,
    need some help on writing the script logic.
    Here's the condition:
    We have 2 applications (apps A with 10 dimension and apps B with 6 dimension)
    I'm trying to write a script logic that run at apps A referring data from apps B. Actually i've tried using *LOOKUP and *XDIM_GETINPUTSET syntax. When checking the debuglogic file, source values are doing fine but somehow I couldn't manage to write them into apps A due to dimension difference (i've tried using *DESTINATION_APP and *ADD_DIM, too).
    Thanks.

    Hi Nilanjan,
    Here's the script logic:
    *LOOKUP APP_B
    *DIM RPTCURRENCY="LC"
    *DIM DATASRC="INPUT"
    *DIM INTCO="NON_INTERCO"
    *DIM CATEGORY="BUDGET"
    *DIM SUBACCOUNT="NON_SUBACCOUNT"
    *DIM AAA:ACCOUNT="LCS"
    *ENDLOOKUP
    *XDIM_MEMBERSET ACCOUNT = LCS
    *XDIM_MEMBERSET TIME = 2010.JAN
    *DESTINATION_APP = APP_A
    *ADD_DIM= NON_DIM7,NON_DIM8,NON_DIM9,NON_DIM10
    *WHEN TIME
    *IS 2010.JAN
         *WHEN ACCOUNT
         *IS "LCS"
              *REC(EXPRESSION=LOOKUP(AAA),ACCOUNT="LCS",DIM7="NON_DIM7",DIM8="NON_DIM8",DIM9="NON_DIM9",DIM10="NON_DIM10")
         *ENDWHEN
    *ENDWHEN
    *COMMIT
    I add the *DESTINATION_APP and *ADD_DIM because when running the logic debugger without them it only shows "No record to process".
    I've managed to find the workaround using *RUNLOGIC now.
    Thanks again for your attention.

  • 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.

  • Script Logic error when trying to Calculate P*Q

    I am new to MDX and Script Logic and need some help. 
    I am trying to calculate Price * Qty.  Prices are stored in an Account called Unit_Price, and Qtys are stored in Accounts as well.  We have a Service property called "DRIVER" that points to the Account that holds the Q for that Service, but I can't seem to refer to it in Script Logic.  So, for each Service, I want to find the corresponding Unit_Price, lookup the Driver for that service and then use that to find the corresponding Quantity.  However, I'm having trouble with the portion that points to the Quantity. 
    Can someone please help? 
    This is the error that I get when I try to run it in the Logic Debugger: 
    "Warning no. -2147467259 reading cell 0; The hierarchy '[SERVICE.DRIVER]' was not found in the cube when the string, [ACCOUNT].[SERVICE.DRIVER],was parsed. "
    Here is my Script Logic:
    *MEMBERSET(%BILL_ENTITY%,FILTER(DESCENDANTS([ENTITY].[547],99,LEAVES), [ENTITY].CurrentMember.Properties("BILLED_ENTITY")="X") )
    *XDIM_MEMBERSET ENTITY = %BILL_ENTITY%
    *MEMBERSET(%PQ_SERVICE%,FILTER(DESCENDANTS([SERVICE].[TOTAL_SERVICE],99,LEAVES), [SERVICE].CurrentMember.Properties("ALLOC_METHOD")<>"") )
    *XDIM_MEMBERSET SERVICE=%PQ_SERVICE%
    *XDIM_MEMBERSET CATEGORY = %CATEGORY_SET%
    *XDIM_MEMBERSET TIME = %TIME_SET%
    *XDIM_MEMBERSET DATASRC = INPUT
    *FOR SERVICE.ALLOC_METHOD = "PQ" 
                [ACCOUNT].[#16404ZZZ] = ( [ACCOUNT].[UNIT_PRICE], [TIME].currentmember) * ([ACCOUNT].[SERVICE.DRIVER], TIME].currentmember)
    *NEXT           
    *COMMIT

    1. completely uninstall all the nokia PC Suite products with this http://nds1.nokia.com/files/support/global/phones/software/Nokia_PC_Suite_Cleaner_7_1_1.exe, and also uninstall all OVI Suite products
    2. reboot pc
    3. download & Install a fresh copy of PC Suite
    4. it will then have you download and install a new version of the software installer after you connect your e90
    it should be fine after that. i had to do the same thing a while back.
    re: no able to sync the calendar with ovi suite:
    go to the Sync drop down and then select Sync Calendar.
    hope that helps

Maybe you are looking for

  • I think my email server has been hacked!  How do I find out and fix it?

    Can someone tell me where or how to start to fix this? I'm running a MacMini Server with 10.6.8 running on it. I'm enclosing  a raw glimps of the SMTP log below. Jan 14 21:21:45 jbillings postfix/smtp[77947]: 1819E6A00ADD: to=<joetdr**[email protected]>, r

  • How to create a view on a Non-Transparent Tables.

    Hi, i want to create a view on P0001 & P0002 tables. these two tables are non transparent. Can any body help me , Thanks in Advance, Regards Vinay

  • Call transaction in background in report

    I have a report in which I call a transaction, but the requirement is that I have to call it in background. Can you please suggest how I can achieve this. <removed_by_moderator> Edited by: Julius Bussche on Aug 26, 2008 3:20 PM

  • I can't execute java program.

    when we execute our java application, we met this fatal error. my environment of execution are - used jnlp(webstart) - swing program - JRE (1.6.0_22-b04) when it happened error, it created hs_err_pidxxxx.log file.(xxxx means sequence). of caurse, we

  • How to download Illustrator CS6

    I need to download Illustrator CS6 cot the updated CC because the updated CC is not compatible with our printer manufacturers FineCut software. When I click on the Download CS6 button it just takes me to CC Install option.