Default Script Logic Execution

hi friends
I created script logic & placed in default logic. I created Input Schedule and saved, but default script logic is not executed
BPC 7.0NW version.
What might be the reason?
Joe

Save the input schedule means you just saved an excel file into file server. Nothing else will happen.
You have to send data from that input schedule or from other.
Every time when you send data defaul logic is executed. Save of a excel file doesn't means send data.
Regards
Sorin Radulescu
Edited by: Sorin Radulescu on Nov 2, 2010 11:50 AM

Similar Messages

  • Multiple script logics in default logic... can you control execution ?

    Hi Gurus,
    My default logic consists of two .LGF files both of which do two different Logics functions e.g. A and B
    For one input template when the user saves the data I would like Logic A be run and not Logic B.
    For the second input template I would like the Logic B to be executed and not Logic A.
    Is there a way to achieve this ?
    thanks

    Hi Daniel,
    The point is that his question not seems related to the data itself but to the screen, maybe a special operation for a screen?
    First scenario where the data itself have the reference of the operation. He might be then be able to distinguish even in a scriptlogic.
    Second scenario: The calculation is driven by the screen itself. Then he have several oportunities.
              1) Add extra information if possible in one unused dimension for the purpose of this calculation and use this information to distinguish the operation
              2) trigger the calculation on the default script logic of another application and bypass the calculation with a change of destination_app
              3) In a routing schema in a BADI you will still need to implement one of the two above points or as you know drive the operations through the dimension file ;).
    Best regards,
    Philippe
    Edited by: Martin, Philippe on Mar 30, 2010 3:45 PM

  • Line numbers in Script Logic editor

    Hi everybody,
    when using the default Script Logic editor in BPC NW I can not see any Line Numbers (or Column Numbers) in the edited script.
    When an error is detected by the system after validating the script, the error message sometimes refers to a certain Line Number where the error occured.
    Is there a better way than manually counting the lines from the top (which can be quite a task when editing, say 500 lines) ?
    Do I miss something here or are you all using alternative editors ?
    Please give me some input.
    Regards.
    Wolfgang

    Hi Nilanjan,
    thanks for the quick answer.
    That would mean that I always need to switch from BPC frontend Script Editor into BW and start a transacion and program there. I would have hoped, that simole line numbers would be a standard feature in the BPC frontend editor itself. Nevertheless...
    Best regards.
    Wolfgang

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

  • Any Error in Script Logic

    Hi
    Pl. verify following code: I did not get any error but the result is not derived ,
    *WHEN ACCOUNT
    *IS "BS115"
    *WHEN CATEGORY
    *IS "Actual"
    *WHEN TIME
    *IS "2011.04"
    *REC(FACTOR = 1, ACCOUNT = "BS114",CATEGORY = "Actual",TIME = "2011.05")
    *ENDWHEN
    *ENDWHEN
    *ENDWHEN
    *COMMIT
    I want to copy from BS115 april to BS114 MAY ACTUAL
    pl. verify any mistake in the above code
    rgds
    srinath

    Hi
    My issue is resolved.
    Actuall the problem is once saved data is not displaying (after running  default script logic)
    But some time times result is displaying immd. after save without refresh.
    I refreshed & i got my result.
    Thanks
    Srinath

  • Script Logic wrong results in migration to BPC 7.5M

    Hi Experts,
    We have an issue with Script Logic calculation after migration of BPC 7.0M to BPC 7.5M. At the beginning we thought that was the issue mentioned in SAP note 1515973, because we had SP03.
    Now we have SP07 and the problems persist. The result of a simply product between two numbers is wrong. For example in the next Default Script Logic:
    *WHEN TIME.GROUP
       *IS INPUT
    *WHEN CATEGORY
         *IS  <> "ACTUAL","B_ACTUAL"
              *WHEN ACCOUNTP             
                    *IS "M_SALES"
                        *REC(FACTOR=GET(ACCOUNTP="PRCT_SALES_BASIC"),ACCOUNTP="700200")
                        *REC(FACTOR=GET(ACCOUNTP="PRCT_SALES_PROMO"),ACCOUNTP="700230")
                        *REC(FACTOR=GET(ACCOUNTP="PRCT_SALES_LIMITED"),ACCOUNTP="700235")             
              *ENDWHEN
      *ENDWHEN
    *ENDWHEN
    *COMMIT
    Input:      M_SALES =           -195,75933
    Input:      PRCT_SALES_BASIC =      1
    Result: 700200 =           -195
    Are there some application parameter that defins de presicion of logic calculations?
    Some ideas? Thanks in advance.
    Best Regards
    Albert

    Hi Jörg,
    We changed to a new server with a multi-server architecture 64 bit (BPC Server and DB Server).
    Did you have the same problem? How do you resolve it?
    Thanks in advance.
    Best regards,
    Albert

  • Copying the data and ignoring the Script logic

    Hi,
    I have some data in Actual category for 2010.APR and I would like to COPY the same
    (through DM) to Budget category with my default script logic file.  When I am trying to
    Do the same it is copying the same data into Budget category, ignoring my script logic
    Actually it should increase the value.
    Can anybody help me in this regard.
    Thanks in adv.
    Raghu B.S.

    The problem it is into script logic.
    When you insert records you are inserting records with category Budget.
    But your default script logic is inserting new recotrds just in case if the input has category Actual.
    So you just to do a correction into your script logic to change the statement
    *WHEN CATEGORY
    *IS "ACTUAL"
    with
    *WHEN CATEGORY
    *IS "BUDGET"
    In this way the default script logic will be executed and after the copy you will have also the records generated by script logic.
    Regards
    Sorin Radulescu
    Edited by: Sorin Radulescu on Aug 5, 2010 2:15 PM

  • Multiple Script Logics in Default Logic.. order of execution... Commit

    Hi,
    I have a situation where I need to perform two activities...
    i) Perform a multiplication operation on the data input by the user - Script Logic A
    ii) Send the data at a summary level to another application. - Script Logic B
    Both Script logics are in the Default Logic
    User opens an input template and makes changes to a few Products (more than 1). I want the script logicA to execute completely (i.e. for all the models) and THEN Script Logic B to execute since Script Logic B summarises the data
    It seems like this is not how the system works.. Rather it goes thru Script Logic A and Script LogicB for the 1st Product, then the 2nd Product and so on...
    I tried using a commit after Script Logic A / before Script logic B and a few other options but to no avail... Any suggestions ???
    The other option is not to put Script Logic B in the Default Logic but to execute it separately... Worse case situation I'll use that option..
    thanks

    Hi,
    Have you defined the scope of the product for the two logics independently.
    Try that by including commit after the first logic. This should work.
    *XDIM_MEMBERSET PRODUCT=BAS(ALL)
    Script 1
    *COMMIT
    *XDIM_MEMBERSET PRODUCT=BAS(ALL)
    Script 2
    *COMMIT
    Hope this helps,
    Regards,
    G.Vijaya Kumar

  • 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

  • Script logic in default logic

    Hello
    How to include script logic in default logic?

    There are two ways:
    1. Direclty write the script in the default logic and the validate and save.
    2. Create a new script and write the scipt code in that and the add that script name in default logic . e.g: * include (your script name).lgf

  • 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

  • Problem with Script logic logs

    Hi Experts,
    I am using BPC 7.5M with SQL Server 2008, I am looking into script logic log but found one very strange statement "(More than 300,000 records. Details are not being logged)", Earlier it was not showing this statement and was showing all the entries to be posted, Is there any setting we need to do for having all the entries in the log file.
    Status log file showing as of now:
    App: HEADCOUNT - Records to be posted are 310875  (calc diff = 0)
    (More than 300,000 records. Details are not being logged)
    Time to validate records: 100.3 sec.
    Post Record Status
    Submit count : 100001
    Accept count : 100001
    Reject count : 0
    Post Record Status
    Submit count : 200002
    Accept count : 200002
    Reject count : 0
    Post Record Status
    Submit count : 300003
    Accept count : 300003
    Reject count : 0
    Post Record Status
    Submit count : 310875
    Accept count : 310875
    Reject count : 0
    Posting ok
    Time to post records:325.4 sec.
    Please Advice
    Thanks & Regards,
    Rohit

    Hi Rohit,
    This is not a problem.
    If the resultant number of records is more than 300,000, then the records are not logged.
    This can be controlled by the UNLIMIT_PRINT_LOG appset parameter. By default, this is set as NO. This will allow only 300k records to be logged.
    You can set the above parameter as YES to log all the records for the execution of all logics across the appset in all applications.
    Warning:
    Of course, it will add slow down the logic execution. Logging the records will always slow down the execution. The system has to open the file and keep writing all the records in the flatfile, which is a slow process. You can increase the speed of your logics by disabling this logging completely by using the CALCULATE_DIFFERENCE statement in your script logic for each commit section. You can reduce the logic execution time by disabling this logging.
    Karthik AJ

  • Problem on Script Logic

    Hi all,
    I have write a script logic.
    I have got this values like transactional data.
    First data: how many vehicle that we need to produce in jan, feb?
      ACCOUNT--VEHICLE NOMATERIAL NOTIME--
    VALUE
    1)D003--142NAJAN--
    4
    2)D003--142NAFEB--
    10
    3)D003--940NAJAN--
    3
    4)D003--940NAFEB--
    5
    Secod data: which material and how many that we need for to form one vehicle.
      ACCOUNT--VEHICLE NOMATERIAL NOTIME--
    VALUE
    5)E001--142142OTONA--
    100
    6)E001--940142OTONA--
    100
    7)E001--14258RSNA--
    60
    8)E001--94058RSNA--
    60
    9)E001--94054RSNA--
    40
    Third, to calculate data: how many material that we need in Jan or Feb.
      ACCOUNT--VEHICLE NOMATERIAL NOTIME--
    VALUE
    10)F001--NA142OTOJAN--
    700
    11)F001--NA58RSJAN--
    420
    12)F001--NA54RSJAN--
    120
    For example 142OTO: 700(10)=100(5)4(1)+100(6)3(3)
    (The numbers in parenthesis are line numbers.)
    How can i write this logic?
    Thanks in advance.
    Edited by: boguner on Jun 22, 2010 10:49 AM

    Hi Rohit,
    This is not a problem.
    If the resultant number of records is more than 300,000, then the records are not logged.
    This can be controlled by the UNLIMIT_PRINT_LOG appset parameter. By default, this is set as NO. This will allow only 300k records to be logged.
    You can set the above parameter as YES to log all the records for the execution of all logics across the appset in all applications.
    Warning:
    Of course, it will add slow down the logic execution. Logging the records will always slow down the execution. The system has to open the file and keep writing all the records in the flatfile, which is a slow process. You can increase the speed of your logics by disabling this logging completely by using the CALCULATE_DIFFERENCE statement in your script logic for each commit section. You can reduce the logic execution time by disabling this logging.
    Karthik AJ

  • Automate excel circular references - script logic - BPC

    Hi,
    I need to automate in BPC the calculation of financial debt that contains excel circular references, so you have to enable the calculation Automatic iterations properly to work.
    I would like to automate the process through a script logic.
    I appreciate any help or suggestions.
    Regards,
    Fernando Chávez.

    Dear Fernando Chávez,
    I just want to give you simple suggestions because I don't know your case exactly. The script logic is similiar with SQL script. You could put your logic script in default.lgf or make new file .lgf through BPC Administration Console. If you put it in default.lgf, the SAP BPC will execute it when user sent values through BPC Excel.  You also could run the script logic through Data Manager Packages, its runs depend on user execution.
    If we are talking about circular and complex formulas in Ms.Excel, I suggest you put your calculation in another worksheet and send values through BPC Excel. Before you define a script logic, the number one is you should to consider performance because its really critical.
    Kind Regards,
    Wandi Sutandi

  • Greater Than Function in Script Logic File

    BPC Experts,
    I've got a pretty simple script logic file to calculate salary amounts, overtime, etc.  The purpose of this logic is for forecasting.  I have two referenced dimensions, TIME and SCENARIO, where TIME.MONTHNUM is equal to its relative month number (eg: Jan monthnum = 1), and SCENARIO.CURRMONTH is equal to the relative amount of actual months data, (eg Jan currmonth = 0, Feb = 1) because if you are completing a February forecast, you have one month of actual.
    The ACTUAL scenario is never touched, but after a month closes, we copy the ACTUAL data to, for example, FEB_FCST.  So, after January closes, its actuals are copied to the FEB_FCST scenario so we can complete an actual/forecast (one month actual, 11 months forecast).
    Currently, the default logic skips anything in the ACTUAL scenario, by stating "*WHEN SCENARIO, *IS <> "ACTUAL" yada yada yada.
    However, when the default logic runs on the forecast scenarios, it takes the same inputs from the months that are copied over from the ACTUAL scenario and adds to the original amount, essentially doubling the value--ultimately causing an incorrect actuals number in the forecast scenario.
    My script right now looks like this:
    *XDIM_MEMBERSET DATASRC=INPUT
    *XDIM_MEMBERSET PRODUCT=NO_PRODUCT
    *XDIM_MEMBERSET SHIFT=NO_SHIFTS
    *XDIM_MEMBERSET MEASURES=PERIODIC
    *WHEN SCENARIO
    *IS <> "ACTUAL"
         *WHEN TIME.MONTHNUM
         *IS > SCENARIO.CURRENTMNTH
              *WHEN ACCOUNT
              *IS "SALARIED_MANPOWER"
                   *REC(EXPRESSION=((([ACCOUNT].[SALARIED_AVG_WAGE] * (1 + [ACCOUNT].[SALARY_TIMEAHALF]))* [ACCOUNT].[SALARIED_MANPOWER])),ACCOUNT="01100")
              *ENDWHEN
    *ENDWHEN
    *ENDWHEN
    *COMMIT
    When it hits line 9 (*IS > SCENARIO.CURRENTMNTH) during validation, it errors.  How can I use a "greater than" function to dictate whether or not a given scenario should run default logic on a specific month?
    If not, is there a different/better way to do it?
    Thank you!
    ABF

    Hi Alex
    Take this sample logic, check the properties in your Time dimension to trouble shoot your issue.
    *SELECT(%CAT_VAR%, "ID", CATEGORY, ID= PLAN_APRIL)
    *XDIM_MEMBERSET CATEGORY = ACTUAL, PLAN, %CAT_VAR%
    *SELECT(%CATMTH%, "STARTMTH", CATEGORY, ID= %CAT_VAR%)
    *SELECT(%ACT_PERIOD%, "ID", TIME, MONTHNUM < %CATMTH% AND  LEVEL = MONTH AND YEAR = 2010)
    *SELECT(%PLAN_PERIOD%, "ID", TIME, MONTHNUM >= %CATMTH% AND LEVEL = MONTH AND YEAR = 2010)
    *XDIM_MEMBERSET TIME= %ACT_PERIOD%
    *XDIM_MEMBERSET CATEGORY=ACTUAL
    *WHEN CATEGORY
    *IS ACTUAL
    *REC(EXPRESSION=%VALUE%, CATEGORY = %CAT_VAR%)
    *ENDWHEN
    *XDIM_MEMBERSET TIME= %PLAN_PERIOD%
    *XDIM_MEMBERSET CATEGORY=PLAN
    *WHEN CATEGORY
    *IS PLAN
    *REC(EXPRESSION=%VALUE%, CATEGORY = %CAT_VAR%)
    *ENDWHEN
    Thanks

Maybe you are looking for