Calling a script logic through Excel Formulas/Macro

Hi All,
Can anyone suggest how to execite a script logic directly from excel without users requiring to make any further selections
Our business scenario is as follows:
We need to run a script logic everytime, when data is saved from a particular template(Not from all the templates).
Hence we cannot use the default logic. When the user clicks on the save button(it is a macro which sends the data to the server) it should also execute  that particular script logic without any further selections.
Please suggest on this . Let me know incase any furher information is required on this.
Thanks in Advance.
Regards,
Chandra

Hi VinooGAN,
Yes, I need to run the script logic for a specific set of accounts for which data is entered from a specific tenmplate.
In other words, that scriptlogic has to be executed only when the data is sent from that particular template.
We have a save button(Excel TAB) in the template which is  the macro to send the data after the user enters data in the sheet.
So the macro lines should be such that, once the user clicks on that save button of that particular sheet, the script logic should also run(Without users having to make any further selections) automatically.
Regards,
chandra

Similar Messages

  • Calling  multiple  script  logics from  a  single  package

    Team- How  do i  call multiple  script  logics  from a   single  DM  package...?
    I   know  its  possible  and  have seen  a  prototype  but  cant  recollect  or  find  it on sdn...
    Thanks  for  your  time.
    Vishal.

    Hi,
    You can create a master script logic which will include all the other script logics using the *INCLUDE command and call this master script through your DM package.
    Another way is to have multiple tasks in the process chain which is calling a script logic. You can pass separate script logics to each of the tasks.
    I would prefer the first option
    Hope this helps.

  • 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

  • How to copy applications using script logic with conditions

    Hi,
    I have two copy data between application A to application B, but only i want to copy the March's Data of Application A. Dimensions are the same in both applications
    I'm going to use this script logic, ¿this script will work?
    *WHEN TIME
    *IS "2009.MAR"
    *DESTINATION_APP=B
    Thanks in advance
    Regards,
    Juan

    Hi all,
    Finally I solved the issue, the problem was that i haven't add this line in the script logic:
    TASK(Execute formulas,USER,%USER%)
    But now i need to pass in the script logic as an input: entity and time. Below is the code I prepare, it has no error but it doesn't work. ¿any idea?
    Thanks in advance
    Regards,
    Juan
    *SSIS PACKAGE *
    'DEBUG(ON)
    PROMPT(RADIOBUTTON,%CHECKLCK%,"Select whether to check work status settings when running logic.",1,{"Yes, check for work status settings before running logic","No, do not check work status settings"},{"1","0"})
    PROMPT(SELECTINPUT,,,"Please select entity and time to copy data from LegalAppNceu to LegalApp",%ENTITY_DIM%%TIME_DIM%)
    TASK(Execute formulas,USER,%USER%)
    TASK(Execute formulas,APPSET,%APPSET%)
    TASK(Execute formulas,APP,%APP%)
    TASK(Execute formulas,LOGICFILE,%APPPATH%..AdminApp%APP%CopyApplication.lgx)TASKTASK(Execute formulas,RUNMODE,1)
    TASK(Execute formulas,LOGICMODE,1)
    TASK(Execute formulas,CHECKLCK,%CHEKCLCK%)
    SCRIPTLOGIC
    *DESTINATION_APP=LEGALAPP
    *SKIP_DIM= COSTCENTER
    *WHEN ENTITY
    *IS "%ENTITY_DIM%"
    *WHEN TIME_DIM
    *IS "%TIME_DIM%"
    *REC(FACTOR=1)
    *ENDWHEN
    *ENDWHEN
    *COMMIT

  • Script Logic like a function

    Hi all,
    I want to execute a load of data from a year and actual version to year + 1 and budget version based in some assumptions filled in another input schedule. I thought that is possible using a script logic, so i create the script and i don´t know how to call it, Just from de the DEFAULT.LGF but is not my idea for this, cause every change in the data will execute this calculation....  Thats is the scenario:
    Input Schedule
    Time 2011.JAN
    ========== Budget
    Account%        5%
    Real data Query
    Time 2010.JAN
    ==========Actual
    Account1____100
    What i want
    Time 2011.JAN
    ============BUDGET
    ACCOUNT1        105
    There is another way to do that? I
    Thanks

    Hi,
    For executing a script logic, you need to follow few steps.
    1. Create an SSIS package to call your script logic in business intelligence development studio (BIDS) - (please refer to the SSIS package for currency conversion)
    2. Create a DM package to call the above SSIS package (please refer to the DM package for currency conversion)
    You can run the above DM package to execute your script.
    Hope this helps.

  • Error during script logic processing from UJKT tcode

    Hi,
    When I try to execute the script logic through UJKT tcode, it gives me the following exception:
    UJK_EXECUTION_EXCEPTION:Runtime error Duplicate recordMember (D_AUTO_UAE) of dimension (DIVISION) is not a valid member.
    Following is the script logic:
    *RUN_PROGRAM VALIDATION
       CATEGORY = %CATEGORY_SET%
       GROUP= %GROUPS_SET%
       TID_RA = %TIME_SET%
    *ENDRUN_PROGRAM
    BAdi used is BADI_UJ_CUSTOM_LOGIC
    Also the error log displays entire set of data records, instead I will like to see only the status of whether it went successful or not.
    Where can I check this setting?
    Please help.
    Thanks and Regards,
    Pankaj

    Hi Pankaj,
    I would request you to re-process the DIVISION deimension (preferrably all the dimensions). Then re-process and optimize the application. See, if you are getting any errors or not.
    Hope this helps.

  • SQL Agent not running Script in Package which calls an Excel containing Macro

    I have a script task in SSIS package which calls Excel VBA file containing Macro, this file is on the local drive, when I run this package through SSDT the package works ok and the macro does what it needs to. However when I set up a
    sql agent job to call the package then it fails at the Script task. I have created a credentials and proxy user as my self so I should Have full rights.
    But it fails through the job and not through SSDT, can you advise ?

    Hi Asad,
    Since the error message “Script Task Run Excel: Error: Exception has been thrown by the target of an invocation” is too generic, we should find a way to return full error details from SQL Server Agent job. Firstly, configure logging for the steps you wish
    to keep log data for. Secondly, create a stored procedure to return details of the step at which a job failed based on the job name. Finally, execute the stored procedure. For more details, please refer to the following blog:
    http://www.sqlservercentral.com/articles/SQL+Server+Agent/67726/
    In addition, the following similar two threads are for your references:
    http://sornanara.blogspot.jp/2014/04/code-0x00000001-exception-has-been.html
    https://social.msdn.microsoft.com/Forums/sqlserver/en-US/4a20219e-4a90-41be-acfe-b8846dc2c38a/error-while-executing-a-ssis-package-which-contains-a-script-task-through-sql-server-agent-job?forum=sqlintegrationservices
    Thanks,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

  • How to convert an Excel Formula to a Custom Calculation Script in a Adobe Acrobat 9 Form?

    Hello,
    I am not familiar whatsoever with Javascript and need some help in converting the following Excel Formula so that I can enter it into a Custom Calculation Script in a Adobe PDF Form. Here is the formula:
    =IF(E15<25.01,9.95,IF(E15<50.01,11.95,IF(E15<75.01,13.95,IF(E15<100.01,16.95,IF(E15<150.01 ,19.95,IF(E15<200.01,24.95,IF(E15>200.00,E15*0.125)))))))
    Where "E15" will be the text field named "Subtotal" on my Adobe PDF Form.
    Thank you for any help you can provide!

    Fortunately JavaScript has the 'switch' statement so nested if statements can be avoided.
    var E15 = this.getField("Subtotal").value;
    switch(true) {
    case (E15 < 25.01) :
    event.value = 9.95;
    break;
    case (E15 < 50.01) :
    event.value = 11.95;
    break;
    case (E15 < 75.01) :
    event.value = 13.95;13
    break;
    case (E15 < 100.01) :
    event.value = 16.95;
    break;
    case (E15 < 150.01) :
    event.value = 19.95;
    break;
    case (E15 < 200.01) :
    event.value = 24.95;
    break;
    case (E15 > 200) :
    event.value = E15 * 0.125;
    break;
    default:
    event.value = "";
    break;
    } // end switch;

  • 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

  • Calling script logic

    Hey guys, I know how to create a custom script logic but lets say i have abcd.lgf file. Now can someone please tell me how to have the user run this script logic? I know that if i do #include abcd.lgf in default.lgf it will run automatically anytime user sends data. what about other ways?
    Thanks.
    Zack

    Hi,
    The script logic need to be linked to a SSIS package and this will be linked to the DM package.
    You need not create a SSIS package from scratch. You can create a copy of an existing one (may be fx retatement). These SSIS packages are available in the server with the extension as DTSX. Create a copy of this SSIS package. Now in BPC excel, create a new DM package and link this to the copied SSIS package. Now go to the advanced script of the DM package. There you will be able to see a statement for logic. Maintain it as your script name.
    Hope this helps.

  • Probable Script Logic error

    Hi,
    I am trying to create a simple demo with the following business process:
    sales unit * sales price = total sales
    salesunit + inventory unit = produced unit
    produced unit * labor per unit = total hours
    for "sales unit x sales price = total sales", i have created a script logic called "sales.lgf" as follow:
    *xdim_memberset account = salesunit,salesprice
    *when account
    *is salesunit
      rec(account="totalsales",factor=-1(get(account="salesprice")))
    *endwhen
    *commit
    for "salesunit + inventory unit = produced unit", i am using dimension logic of salesunit + inventory unit in the formula column of produced unit
    for "produced unit x labor per unit = total hours", i have created another script logic called "production.lgf" as follow:
    *xdim_memberset account = producedunit,laborperunit
    *when account
    *is producedunit
      *rec(account="totalhrs",factor=(get(account="laborperunit")))
    *endwhen
    *commit
    in my default.lgf, i have *include sales and *include production
    The results are satisfactory for all of "totalsales" and "producedunit".
    But for "totalhrs", it appears as if some results are correct for some but wrong for the others.
    any idea on this?
    cheers

    Dimension formulas are evaluated in the cube, when you query that particular member on which you placed the formula. Aggregated members (parents) are pretty much the same story. (MSAS does some caching & pre-aggregation of things but don't get hung up on this; it's DB technical stuff.) The key point is, the result of a member formula isn't stored in the fact tables.
    The big performance gains come from minimizing the number of unnecessary commits -- not so much by minimizing the # of members in your xdim_memberset.
    In your first example, this still can be written in one commit. Think of the algebra in the second commit, and break down the components until you get to the source data that you have available before you start the calc.
    *xdim_memberset account = salesunit,salesprice,inventoryunit, laborperunit,laborcostperhour
    *when account
    *is salesprice
    *rec(account="totalsales",factor=-1*(get(account="salesunit")))
    *is salesunit, inventoryunit
    *rec(account="totalhrs",factor=-1*(get(account="laborperunit")))
    // not exactly intuitive, but it should work
    *rec(account="totallaborcost",factor=-1*(get(account="laborperunit")) * (get(account="laborcostperhr"))
    *endwhen
    *commit
    I wouldn't go through the effort of doing this when you first start writing SQL logic, because it makes it very hard to follow, and debug. If the logic takes 15 seconds to run with 2 commits, and it is legible, that's fine. Only if you find your logic takes 5 minutes or 30 minutes to run, then it's worth getting into this kind of optimization.
    It's also key to consider everything that you want to calculate in one batch, from start to finish. Sometimes by organizing things in certain orders, you can minimize the total number of commits, by expanding the source data region to include an extra 5% or 10 or 50% of records, beyond what you need in your calcs -- but this may be acceptable. The only real way to know is to test a few different approaches (on a reasonable set of production data, not dummy data in dev) and see which works better.

  • Concatenation in script logic

    Hi,
      I am using BPC 7.0 MS and i have a problem with the script logic.
      I have a combination of dimension, i.e. account=price, entity=big_state; and i have another combination of dimension, i.e. account=unit,sales , entity=country. The 'country' entity has a property called 'property1', and assuming one of the property member is 'state'.
      in a nutshell, i need to do a unit*price=sales, but they have different entities which are related through the property.
      below is what i have tried, and it's unsuccessful, i.e.my input schedule will always include combination of account=price,unit ; entity=big_state,country
    *xdim_memberset account=price,unit
    *when account
    *is unit
      rec(expression=%value%get(account=price,entity= big_ + entity.property1), account=sales)
    *endwhen
      i think it's the concatenation, i.e. entity=big_+entity.property1 that's making my script logic fail.
      any suggestions?
    Cheers

    Hi,
    You can try using something like:
    *WHEN CATEGORY
    *IS FACT
       *REC(FACTOR = 20, CATEGORY = FORECAST)
    *ENDWHEN
    Hope this helps.

  • Use of prompted hierarchy's base members in Script Logic

    Hello all,
    I have a data manager package which prompts the user for a dimension called P_BUDGET_MODEL. The prompt is SELECT hence the user selects a hierarchy node on this dimension.
    In the relevant Script Logic I have a variable %P_BUDGET_MODEL_SET%, which is automatically created by the system. I would like to run the logic for the basemembers of the hierarchy node.
    Please note - the basemembers are not direct children of the selected hierarchy node (i.e. the selected node is the "grandparent" of the basemembers).
    I tried the following simple logic command:
    *XDIM_MEMBERSET P_BUDGET_MODEL = BAS(%P_BUDGET_MODEL_SET%)
    It yielded a message that "Member BAS() does not exist".
    I have also noticed the following thread:
    [BPC 7.5 NW - HIER NODE in PROMPT using Formule in Package ?;
    If I understood properly it is not relevant to my case because the hierarchy is more that 2 levels deep.
    Any ideas?
    TIA
    Avihay

    Hi,
    As it seems after further investigation the problem is that I use "_" in the dimension names and variable names. This creates a problem to BPC in some cases.
    For example here there is no problem:
    *SELECT(%MODEL%,ID,P_BUDGET_MODEL,ID="%P_BUDGET_MODEL_SET%")
    Here there is a problem hence the use of [ ]
    *XDIM_MEMBERSET P_MONTH = BAS([%P_VERSION_SET%.YEAR].TOTAL)
    Here there is not "_" so the code is fine:
    *XDIM_MEMBERSET P_BUDGET_MODEL = BAS(%MODEL%)
    Strange yet seems that this was the problem...
    Avihay

  • 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

  • SET-Variable not working in script logic

    Hello experts,
    I have a default logic running a stored procedure with parameters:
    *RUN_STORED_PROCEDURE=SP_IST_VERTEILUNG_PARAMETER('%KD_KUNDE_NR_SET%','%VE_VERSION_SET%','%PB_PKS_BEREICH_SET%','%RA_RABATT_ART_SET%')
    Whereas the dimensions have the following dimension types:
    KD_KUNDE_NR - Entity
    VE_VERSION - User Defined
    PB_PKS_BEREICH - Account
    RA_RABATT_ART - Category
    When I send data (through excel input sheet, i.e. EVDRE) all parameters but the third one are correctly passed to the stored procedure. It seems the third one %PB_PKS_BEREICH_SET% is empty.
    However, when running the default formulas data manager package, I can see in the debug log that exactly this variable is populated correctly:
    INFO(%PB_PKS_BEREICH_SET%, TESTCONTENT)
    Am I doing something wrong here?
    Thank you very much.
    Kind regards
    Georg Renz

    Hi Georg,
    I think we are experiencing the same issue as you.
    We have a default logic running a stored procedure with different parameters (all the dimensions existing in the cube)
    *RUN_STORED_PROCEDURE=Z_SP_Test_Default('%ACCOUNTP_SET%','%BRANDS_SET%', ','%CATEGORY_SET%','%DATASRC_SET%','%ENTITY_SET%','%GROUPS_SET%','%INTCO_SET%','%MARKETP_SET%','%TIME_SET%')
    However, when we send data and the stored procedure is launched, the account dimension is not properly passed to the stored but the rest of the parameters are correctly passed.
    Looking into your post, we have tried putting:
    *SCOPE_BY = ACCOUNTP, BRANDS, CATEGORY, DATASRC, ENTITY, GROUPS, INTCO, MARKETP, TIME
    *RUN_STORED_PROCEDURE=Z_SP_Test_Default('%ACCOUNTP_SET%','%BRANDS_SET%', ','%CATEGORY_SET%','%DATASRC_SET%','%ENTITY_SET%','%GROUPS_SET%','%INTCO_SET%','%MARKETP_SET%','%TIME_SET%')
    but then, it is quite strange, because when the default logic is executed the ACCOUNT is passed correctly but the rest of parameters are passed as 0.
    How did you solve it? Is there something wrong with our scope by?
    Thanks a lot for your help!
    Albert

Maybe you are looking for

  • Security Restrictions disappear when webi is modified

    Hello, I have the following problem with Security restrictions. I have created a business security profile, and assign this profile to a user directly (I have tested the same assign the profile to a group and the problem occurs too). The business sec

  • Recent Booting up Problems

    Hey guys, I've been using a windows XP partition on my Macbook Pro for a few years now occasionally for gaming, otherwise I just use the standard Mac OS. I've run into a new problem. I was using it today, and went to the washroom. As I was returning,

  • Is it possible to pass parameters from a html to webforms ?

    i4m looking for a possiblity to pass (user-defined) parameters from a html page (which includes the applet call + the standart parameters etc.) to the webform. after passing how to find them inside my webforms ... thx in advance regards null

  • AQ dequeue using JMS

    Hello All, I am trying to dequeue a message using the JMS . i am able to connect to the AQ . I set the Message type as JMS text message . when i start the receiver it give's me ADT payload Exception. Can some one guide we with a tutorial or article w

  • Iphone restore error 23

    Hi I am having quite a big problem with my iPhone I have an iPhone 3G, It won't switch on, when I plug it into a power source the apple logo appears and then the phone screen goes black after about 30 secs. I read about a DFU mode or something, when