Transport Script Logic not posting zero's

Hi Guys,
I have a piece of transport logic that is supposed to transport data from the TRAVEL cube to the Finance cube. The problem is that in some months the users do not have people travelling and only a zero should be transported across to Finance and clear the data that is sitting there. Unfortunately the zero's are being transported across
I even force the accounts to be zero before populating them, but that doesn't work
Here follows my code, please let me know if you can spot anything:
Edited by: Gert Andries van den Berg on May 29, 2009 3:37 PM

In theory, *clear_destination should work across applications, and I've successfully used it that way once or twice. But it's always been a challenge for me to figure out exactly what scoping instructions are required. Plus, I've needed to play with the *calculate_difference option, not sure if it should = 0 or 1, to get the expected results.
Plus, the behavior seems to have changed somewhere along the way, between versions 5.0 and 5.1 SP8.
I may be wrong, but I don't think that the NOADD specifically is going to solve the problem where a zero value in the source app isn't being properly updated to a zero value in the destination app. I've found this problem is a lot easier to resolve if the transfer is being done in the source app's default logic, since that somehow includes the scoping of that zero-value account in the transfer logic. When the transfer logic is run as a batch process (after the value has already been set to zero), it's impossible sometimes to get the logic to generate that zero-value record.
So instead, I've played around with ideas such as a script logic in the destination app, that just clears out the entire region of data that is to be transferred, and then re-transfer everything. I'm sure that this is horribly inefficient, and I'm not really happy with that design, but I haven't come across a better solution.
Regarding the *select's: Correct, these are not "by commit". The commit clears the source data region that was scoped out and was read into memory from the fact tables, during the logic run-time.  The select, however, is evaluated at logic validation-time (along with any for/next loops), and the variables are replaced then.
It's not possible to assign some variable %foo% one value "2009" in a select (on line 10), then use it (on line 15), and then assign the same variable a second value "2010" (on line 20), and use it (on line 25). I've never bothered to test this out, but I'm certain that both lines 15 and 25 will see the variable replaced with the same value. My guess is that both would have the value of 2010, the final select.

Similar Messages

  • Script logic not working for GL account with Zero balance

    Dear Experts,
    I have a scenario where the GL account balance in ECC is 0  and when a script logic runs in BPC the same should capture a closing balance as "1".
    Though I have written the below logic, this is not getting executed and writing back the value as "1".
    Kindly help me on the same.
    *WHEN ENTITY
    *IS "ABC"
    *WHEN ACCOUNT
    *IS "20300000"
    *REC(EXPRESSION = 11, ACCOUNT = 20300000,FLOW = F99, ENTITY = ABC, PROFITCENTER  = 130010 ,  INTERCO = I_NONE , CONSOSCOPE = G_NONE, CURRENCY = LC ,CATEGORY = ACTUAL, AUDITID = INPUT)
    *ENDWHEN
    *ENDWHEN
    *COMMIT
    Regards,
    Shilpa

    Hello Vadim Kalinin,
    Thanks for the very swift help.
    Merger of the client happened in 2007. ECC is using the " 20300000- change in fair value " account to record both pre-acquisition and post-acquisition values.
    Since the treatment of pre-consolidation and post consolidation reserves is different the split of the amount between pre and post-acquisition values has to be done. For the same post acquisition value is reduced from this account using a script logic as below.
    WHEN FLOW
    *IS "F99"
    *WHEN ENTITY
    *IS "ABC"
    *REC(EXPRESSION = ([ACCOUNT].[20300000] -3258603),ACCOUNT = 20300000,FLOW = F99,  INTERCO = I_NONE , CONSOSCOPE = G_NONE ,CURRENCY = LC ,CATEGORY = ACTUAL )
    This logic worked when the account has a figure, but in July 2014 in ECC the account had a transaction and the balance has become Zero. Until this account has a figure this pre acquisition logic is not working.
    For making this work, I am trying to write a new logic to make the balance of this account as "1" in BPC through the script logic.
    Kindly suggest me on the same.
    Regards,
    Shilpa

  • 7.0NW: script logic to post data to another cube

    Hi,
    On the 7.0NW we have a FINANCE cube (8 dimensions) and a FINANCE_DETAIL (12 dimensions) cube. I was hoping that someone could advise on how to transport data using script logic from FINANCE_DETAIL to FINANCE, knwoing that the SQL logic for the MS-platform is no longer applicable (DESTINATION_APP statement) on the NW-platform.
    Thx&Rgrds
    Bjorn

    BPC7Nw supports ABAP development through script logic. You can use the keyword 'call custom logic' to execute the BADI that you developed. With SP01, you can also pass parameters to this BADI. Here are step by step instructions to do the same.
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/20f4252d-98ca-2b10-e689-f85085ae2d12
    Regards
    Pravin

  • Script logic not working

    Hi all,
        we have been using this logic in versions 4.2 and 5.1.  just brought our apps over to  new 7.5  sql environment and the logic did not  work. Nothing changed in logic or in dimensionality. System seems to be ignoring any *WHEN IGNEDDATA   checks.
    It appears that evaluation of signeddata doesn't work in version 7.5 in  SQL. loaded multiple data templates and also run countless default  logic packages. Always fails to calculate the required accounts only when involving logic . Other script  logic packages work fine. 
    Regards,
    Srini

    Hi Srini,
    Can you please share the script, you are using?

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

  • Include within Default.lgf Script Logic does not run

    Dear Gurus,
    I wrote a WHEN function in Script Logic which is supposed to multiply a input % (INP01) value (growth) with the absolute figure of the previous year. I works fine in the Backend Debugger. Then I put it in the default logic because I want it to run everytime somebody sends data. However it doesn't run? Has anybody had a problem like this?
    When running the default formulas out of the data manager it works just fine.
    default:
    *INCLUDE CALCULATE_KPI.LGF
    Calculate KPI:
    *XDIM_MEMBERSET ULOB=D00000
    *XDIM_MEMBERSET UCHANNEL=VD0001
    *XDIM_MEMBERSET RPTCURRENCY=EUR
    *WHEN TIME
    *IS "2008.SUM"
    *WHEN CATEGORY
    *IS "ACTUAL"
        *WHEN P_ACCT
        *IS "I001"
    REC(EXPRESSION=%VALUE%(1+([P_ACCT].[INP01],[ TIME].[2010.INP],[CATEGORY].[PLAN])),CATEGORY=V302,TIME=2010.INP,P_ACCT=I0000001)
    *ENDWHEN
    *ENDWHEN
    *ENDWHEN
    Thank you so much in Advance
    Edited by: Cora Boettger on Oct 19, 2009 3:59 PM

    Hi Cora,
    Are you sure that your default logic isn't running and that the *WHEN just isn't being triggered? This has happened to me when members used in *XDIM_MEMBERSET or *WHEN are not base-level. I'm a bit suspicious about 2008.SUM with regards to this.
    You can test by replacing what you have with something like
    *WHEN CATEGORY
    *IS *
    *REC(FACTOR=1.1)
    *ENDWHEN
    If this results in your written back values being multiplied by 1.1 into the TEST category, then your default logic is running and your issue is that the *WHEN is not getting triggered. At that point your should be able to head into the script logic tester and keep trying different scripts until you find one that works.
    Good luck!
    Ethan

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

  • Some script logic commands not supported any longer

    Hello, it seems like Prior, *APP(in runallocation), *Name in runallocation...these commands are no longer supported in MS 7.5. I ran the same script logic under MS 5.1 it passes validation in script logic. but in 7.5 it gives error. please advise. thanks.

    Hi Tom
    I don't see where you define or set value for #TEMP_REV and #TEMP_VIS
    something like
    *WHEN CATEGORY.FLAG
    *IS = Y
      *REC(CATEGORY=#TEMP_VIS)
    *ELSE
      *REC(CATEGORY=#TEMP_REV)
    *ENDWHEN
    *GO

  • Logical Error in Script Logic

    Hello Experts,
    Please provide your guidance for the following scenario.
    I need to calculate the 'Accumulated Depreciation' for every month, based on the amounts in the 'AccumDep' and the 'Depreciation' accounts.
    In other words, the value of the Accumulated Depreciation for the month of Feb should be equal to (Accumulated Depreciation in Jan + Depreciation in Jan), and so on.
    To accomplish this, I have written the following script logic.
    *WHEN ACCOUNT
    *IS AccumDep, Depreciation
         *FOR %MON% = 2009.FEB,2009.MAR,2009.APR
              *REC(FACTOR=1, ACCOUNT=AccumDep, TIME=%MON%)
         *NEXT
    *ENDWHEN
    *COMMIT
    The above logic was validated without any 'syntax' errors.  However, I do not see the desired results, as the Accumulated Depreciation is not getting updated every month.  The amount from FEB appears for MAR & APR also.
    Therefore, could you please review the above script and let me know if there are any 'logical' errors?
    All your guidance is greatly appreciated.  Thanks...

    Hi,
    You are not getting the desired result because you are trying to aggregate the depreciation and the accumulated depreciation of the same month and post the result again in the same month. Lets say the code is working for 2009.MAR. You are trying to add the depreciation and accumulated depreciation of 2009.MAR. However, you still dont have the acc depreciation of 2009.MAR. You basically need to take the acc depreciation of the previous month.
    You can try something like:
    *WHEN ACCOUNT
    *IS Depreciation
         *FOR %MON% = 2009.FEB,2009.MAR,2009.APR
              *REC(EXPRESSION = %VALUE% + ([ACCOUNT].[AccumDep],[TIME].Previous), ACCOUNT=AccumDep)
         *NEXT
    *ENDWHEN
    *COMMIT
    You can have a property called Previous to store the previous month of each period in the time dimension.
    Hope you got the idea.

  • FOR loop in script logic

    Dear Gurus,
    This is the logic I am working with:
    *FOR %MONTH% = 2008.FEB,2008.MAR,2008.APR,2008.MAY,2008.JUN,2008.JUL,2008.AUG,2008.SEP
    //CHECK IF THE VALUE OF THE ACCUMULATED DEPRECIATION IS GREATER THAN THE CAPITALIZED ASSET VALUE//
    [ACCOUNT].[#AccumDepr] = (([ACCOUNT].[AccumDepr]+[ACCOUNT].[Depreciation])>[ACCOUNT].[EQUIPMENT1]? [ACCOUNT].[EQUIPMENT1] : ([ACCOUNT].[AccumDepr]+[ACCOUNT].[Depreciation]))
    *NEXT
    I am trying to execute the above script logic, but the system is throwing an error that says 
    "Duplicate formula found:  [ACCOUNT].[#AccumDepr] = (([ACCOUNT].[AccumDepr]+......."
    Any idea why this is happening?
    Also, could you please suggest a better way of writing the above code?
    Thanks,
    Vijay.

    As a testing scenario, I have calculated the depreciation in a different part of the same logic.  Here it is:
    //This logic calculates the accumulated depreciation amount for the time period specified in the logic
    //NOTE:  This logic is not very dynamic and is only valid for the accounts specified in the logic
    //A FUTURE ENHANCEMENT TO THIS LOGIC WOULD BE TO MAKE THE "LIFE" OF THE ASSET A $DATAMANAGER VARIABLE$
    //AND WRITE A CUSTOM SCRIPT LOGIC
    //BEGIN SCRIPT LOGIC FILE//
    //CONSTANTS
    *XDIM_MEMBERSET CATEGORY=ACTUAL
    *XDIM_MEMBERSET ACCOUNT=Depreciation,AccumDepr,NBV_EQUIPMENT1,EQUIPMENT1
    *XDIM_MEMBERSET ENTITY=STORE1
    *XDIM_MEMBERSET TIME=2008.JAN,2008.FEB,2008.MAR,2008.APR,2008.MAY,2008.JUN,2008.JUL,2008.AUG,2008.SEP
    //BEGIN: POPULATE NET BOOK VALUE FROM CAPITALIZED ASSET VALUE //
    *WHEN ACCOUNT
    *IS EQUIPMENT1
         *WHEN TIME
         *IS 2008.JAN
              *REC(FACTOR=1,ACCOUNT="NBV_EQUIPMENT1")
         *ENDWHEN
    *ENDWHEN
    *COMMIT
    //END: POPULATE NET BOOK VALUE FROM CAPITALIZED ASSET VALUE   //
    //BEGIN: CALCULATE DEPRECIATION //
    *WHEN ACCOUNT
    *IS EQUIPMENT1
         *REC(EXPRESSION=(%VALUE%/6),ACCOUNT="Depreciation")
    *ENDWHEN
    *COMMIT
    //END: CALCULATE DEPRECIATION   //
    //BEGIN: CALCULATE ACCUMULATED DEPRECIATION AND NET BOOK VALUE //
    *FOR %MONTH% = 2008.FEB,2008.MAR,2008.APR,2008.MAY,2008.JUN,2008.JUL,2008.AUG,2008.SEP
    //CHECK IF THE VALUE OF THE ACCUMULATED DEPRECIATION IS GREATER THAN THE CAPITALIZED ASSET VALUE//
    *WHEN CATEGORY
    *IS ACTUAL
    *REC(EXPRESSION=IIF((([ACCOUNT].[AccumDepr] + [ACCOUNT].[Depreciation])>[ACCOUNT].[EQUIPMENT1]), [ACCOUNT].[EQUIPMENT1], [ACCOUNT].[AccumDepr]+[ACCOUNT].[Depreciation]))
    *ENDWHEN
    *NEXT
    //*FOR %MONTH% = 2008.FEB,2008.MAR,2008.APR,2008.MAY,2008.JUN,2008.JUL,2008.AUG,2008.SEP
    //CHECK IF THE NET BOOK VALUE OF THE ASSET IS LESS THAN ZERO//
    //*[ACCOUNT].[#NBV_EQUIPMENT1] = (([ACCOUNT].[NBV_EQUIPMENT1]-[ACCOUNT].[Depreciation])>0? ([ACCOUNT].[NBV_EQUIPMENT1]-[ACCOUNT].[Depreciation]) : 0)
    //*NEXT
    *COMMIT
    //END: CALCULATE ACCUMULATED DEPRECIATION AND NET BOOK VALUE   //
    //END SCRIPT LOGIC FILE//
    Please let me know if there is a better way to write this code.
    Thanks for all your help.

  • Conditional Checking in Script Logic

    Could anyone please kindly enlightened me how I could code the following in the script logic?
    Scenario:
    IF A > 0, THEN B = C * D
    I have tried with SELECTCASE statement statement but all wouldn't work, I keep getting errors...
    SELECTCASE:
    *SELECTCASE [P_ACCT].[0005]
    *CASE > 0
             *REC(EXPRESSION= ([P_ACCT].[0004] * [P_ACCT].[0003]), P_ACCT=0001)
    *ENDSELECT
    Error:
    UJK_VALIDATION_EXCEPTION:Unknown or unimplemented keyword "*REC(EXPRESSION=IIF([MATERIAL].[LDG0005]=>0,([MATE"...
    Thank you very much in all advances.
    Best regards,
    Yen Li

    Hi Yen Li,
    Applying SELECTCASE - ENDCASE combination would not produce the desired results. Instead, use Validation Business Rules - by setting up Validation Rules and Validation Rules Details and run the Stored Procedure SPRUNVALID from the Default Logic to execute these validation rules. Call the Stored Procedure by the following syntax:
    RUN_STORED_PROCEDURE=SPRUNVALID(u2018applicationu2019,u2019categoryu2019,u2019currencyu2019,u2019%SCOPETABLE%u2019,u2019%LOGTABLE%u2019)
    Your command: u201CIf P_ACCT.0005 is > 0, multiply P_ACCT.0004 by P_ACCT.0005 and post the product in P_ACCT.0001. Otherwise do not do anything.u201D will be shown in result!
    Regards.
    Chakrapani

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

  • Display entire log in script logic?

    When users run a script logic, eg to push data from one model to another, they get errors like:
    Invalid Members [ACCOUNT_DTL]=61500270
    Invalid Members [ACCOUNT_DTL]=51301500
    However these errors are at the very end of the log and the user cannot see them, because they exceed the maximum log length to be displayed in data manager package status. 
    The script logic executes successfully and does not throw an error, but records do not post.  It causes large errors because they're unaware of the issue as no error is thrown and the log does not display all lines.
    I have to go into UJFS, download the zip file with their full log in it and send the errors to them.
    Is there a setting either:
    1.  Flag the log as 'error' and do not allow it to post?
    2.  Display the entire log in the data manager package "View Status" - all lines?  Or at least all errors?
    Thx, Aaron

    Vadim,
    We have a logic that pushes from model1 to model 2. 
    Due to supporting some existing/legacy code, logic is as follows:
    *RENAME_DIM ACCOUNT_C=ACCOUNT_DTL
    ACCOUNT_C is in Model1.  ACCOUNT_DTL is in Model2.
    Value for some GL account "32100000" for example has been created in account_c but not in account_dtl, so when the logic creates *REC's it fails.
    If no solution is available on the error log I will probably create BPC master data package to update both account_c and account_dtl at once from BI.  Will be the only way to keep them in synch.
    Thanks for checking, Aaron

  • Use of Variable in Script Logic

    Dear All,
    We are working on a BPC Script Logic involving depreciation calculation, which calls an implementation of the BAdI BADI_UJ_CUSTOM_LOGIC. We are passing some parameters from the script logic to the BAdI. There are two parameters to be passed: an account number (Account in which the posting will happen), and the rate (rate with which depreciation will be affected). The parameters are stored in the Dimension member of the account dimension and need to be fetched from there. We are using the following piece of code to achieve this:
    *INCLUDE FUNCTIONS.LGF
    [#PERC] = PRO([%ACCOUNT_DIM%].CURRENTMEMBER,DEP_PERCENTAGE)
    [#DEPACCOUNT] = PRO([%ACCOUNT_DIM%].CURRENTMEMBER,DEP_ACCT)
    *START_BADI DEPR
    QUERY = ON
    WRITE = ON
    DEPACCT = [#DEPACCOUNT]
    PERCENTAGE = [#PERC]
    *END_BADI
    Here, FUCNTIONS.LGF contains the PRO function, which fetches the account and percentage properties from the account dimension member. Problem is, when we refer to the temporary variables within our code using the variables [#DEPACCOUNT] and [#PERC], we encounter a short dump for CX_SY_CONVERSION_NO_NUMBER. We suspect that instead of passing the parameter values, the logic is passing the variable name as the value. How do we rectify this? What is the correct syntax for passing such a parameter to the BAdI? Any ideas?
    Thanks in Advance,
    Sid

    Hi Ethan,
    Thanks for the answer. Unfortunately, even after trying out your solution with K2 variables, we are getting the same dump, this time the log says:
    An exception with the type CX_SY_CONVERSION_NO_NUMBER occurred, but was neither handled locally, nor declared in a raising clause
    The argument '%PERC%' cannot be interpreted as a number
    We are starting to think that maybe only substitution variables can be passed as parameter to the BAdI call, because whenever we use a local variable, we end up in passing the variable name to the BAdI, and not the variable value. We digged through the SAP Help, following is the excerpt from there:
    Run the following instruction to call custom ABAP programs: where filter_value_of_your_BADI_implementation is the name of the filter you provided during the BADI implementation of UJ_CUSTOM_LOGIC BADI.
    *START_BADI <filter_value_of_your_BADI_implementation>
    <key1> = <value1>
    <key2> = <value2>
    *END_BADI
    where filter_value_of_your_BADI_implementation is the name of the filter you provided during the BADI implementation of UJ_CUSTOM_LOGIC BADI.
    Does this mean we can only pass <key>:<value> pairs, and not <key>:<variable> pairs? Is there any instance / documentation which points to this (or the contrary)?
    Awaiting answers.
    Thanks and Regards,
    Sid

Maybe you are looking for

  • How can I disable backup password from I tune?

    how can Idisable backup password from Itune ?

  • Why do aria-live="assertive" not working in safari 6?

    I have a .Net Web Application where the requirement is to notify the user whenever there is an automatic change on the Page. For that I have used <div> tag with role="alert" and aria-live="assertive" attributes. The Feature is not working with safari

  • Looking for JeodeRuntime

    I already have IPAQ 3670. Few months back JeodeRuntime used to be for sale by Insignia for $20., on handango.com, compaq.com etc. I guess the product got bought out by Compaq and no is not available for sale. I think it ships with the new 3800 series

  • Dont show balances with 0 amount in Reports?

    Hi, Can we restrict reports, developed through Report Painter, not to display the items of which the posting/balance is 0. I have a requirement of not to show GL accounts that are with 0 balances in customized balance sheet? Thanks

  • Wrong trading partner when posting on vendor

    Hello team, when we are posting 2 different vendors and use a specific trading parter while posting, when we save SAP overwrites this to a different trading parter. the trading partner is not mentioned in master data of vendor, so my question is wher