Is it possible to read Essbase Substitution variables from ODI?

Is it possible to read Essbase Substitution variables from ODI?

Hi,
You can do it with custom code, if you have a read of a blog I wrote :- http://john-goodwin.blogspot.com/2009/11/odi-series-planning-11113-enhancements.html
About half way through I go into reading essbase sub vars using the essbase java API.
Cheers
John
http://john-goodwin.blogspot.com/

Similar Messages

  • How to get essbase substitution variable in ODI

    Hi All,
    I have a problem that I need to get the substitution variable from Essbase /EAS to work on some SQL statement in ODI.
    How can I do in ODI ???
    Thanks for all ..
    Thomas

    Hi,
    If you read my blog post :- http://john-goodwin.blogspot.com/2009/11/odi-series-planning-11113-enhancements.html
    In the post there is a section on retrieving essbase substitution variables and using them in ODI.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Setting Essbase substitution variable thru ODI

    Hello Friends,
    We have some procedures in ODI that call maxl scripts to unlock app, clear data and agg. But how do we set Substitution variable in Essbase?
    Any feedbacks are appreciate...
    Thank You.

    Thanks John.
    - We created a maxl script with the statement below
    alter system set variable 'ActMon' 'Feb';
    - Created a procedure in ODI to call the maxl
    the procedure is working...but we still have to manually edit the maxl script every month to change the current month value.
    How about this?
    We have a oracle table in ODI schema which has month column populated. can we use that month column data and some how set the Essbase Sub var?

  • 11.1.1.6.11  /  Essbase Substitution Variables / RPD Init Block / Dynamic Variables

    11.1.1.6.11  /  Essbase Substitution Variables / RPD Init Block / Dynamic Variables
    How do I update the Init Block which is populated with the Essbase Substitution variables.   This is dynamically created the first time I import an Essbase cube and is populated with the Substitution variables when it is first imported into the RPD.   If later on new Substitution variables are added, they are not being reflected in the Init Block or its dynamic variables.  I have done the re-import of the data source with no change to the Init Block Dynamic Variables.   How do I get these new Substitution variables imported?
    It appears that the only way is to delete it from the Physical Layer, however this deletes any changes I have made to Cube in the physical layer.

    So delete it from the Physical Layer, change the Substitution Variables associated with the cube.   Import it back into the physical layer.   It does NOT delete existing Init Block Dynamic variables that no longer exist as Substitution variables.  

  • Is it possible to increase the substitution variable value length?

    Hi,
    Is it possible to increase the substitution variable value length to higher value? I checked the SQL User Guide (http://download.oracle.com/docs/cd/B19306_01/server.102/b14357/apa.htm) and it says that the limit is 240 characters.
    i just want to know any workaround for this issue?
    Thanks.

    Hi,
    Basically I have a script contains SQL statement (eg: select c,b,a.........from table a.... group by a,b and order by b c) and I have another shell script that will read the whole entire SQL statement
    In my shell script, i do it in this way.
    sqlplus -S test/test@testdb $SQL statement and i hit the following issue
    string beginning ""select c...." is too long. maximum size is 239 characters. {code}                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Use of Essbase substitution variables in filename of a MaxL report script

    Hey guys.
    Is there a way that I can embed the value of one or more Essbase substitution variables in the filename of a report script in a MaxL command?
    I'm running a report script that uses sub. vars for entities and accounts and based on which of those members are set in the variables I want the filenames to include those member names. I'm looking for a way to include the &varName in the filename using the export database command.
    THANKS!

    Not really.
    If you want to do a lot of string mangling in a script outside of the report script, you can use DISPLAY VARIABLE:
    MAXL> display variable CurMo;
    application         database            variable            value
    +-------------------+-------------------+-------------------+-------------------
                                             CurMo               MayRegards,
    Robb Salzmann

  • Changing substitution variables through ODI

    Hi John!
    We using ODI for loading data, before load we have to clear data.
    I have 2 questions regarding this issue:
    1. Can I change substitution variables through ODI
    2. Can I execute BR in Essbase.cmd
    Regards
    Sasha

    Hi,
    1. You can call maxl to update the substitution variables, either using the pre-maxl options in the KMs
    or you can execute an OS command through an ODI procedure
    2. I am not sure what you are asking, are you asking whether you can execute BRs through ODI, if so have a read of my last blog where I covered how to do it.
    You can execute BRs by using the command line launcher, have a read of the blog anyway because it goes through the command line launcher.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Is it possible to read a mySQL database from an ABAP report?

    We have some information stored in a mySQL database which is now required on ABAP reports.
    Is it possible to read the mySQL database from an ABAP report? I'm still a bit confused on that.
    So far I have setup DBCO with information about the mySQL server using MMS as the DBS because mySQL was not an option. I have made sure we have the latest dbmssslib.dll installed.
    When I try to run the following code
    EXEC SQL.
        CONNECT TO :con
    ENDEXEC.
    I get error: SQL Server does not exist or access denied.
    Then I have tried to connect using the function CHECK_CONNECTION_SDB.
    I get the following messages in the return table:
    1     OS-AppServ:Windows NT
    2     dbmcli_neg: no_client_software
    3     dbmrfc_c_neg: no_client_software
    4     dbmrfc_s_neg: no_client_software
    5     sql_neg
    6     work_proc: 1
    Does anyone know what I need to do to connect to the mySQL database.
    Thank you
    Karen

    Thank you for your reply. I've gone through all the documentation you sent and much more and I'm still not sure what the problem is.
    One thing that concerns me is that this all relates to MS SQL server and I'm trying to link to a mySQL database. Is this even possible?
    Some posts talk about changing Oracle settings and having J2EE installed. Is this necessary to connect to a mySQL database via ABAP?
    Which user should I enter into DBCO? Is it the mySQL server user or a SAP user? Does the person in charge of the mySQL database need to add any permissions for SAP to access the database or is that done by the user in DBCO?
    Does anyone have any more advice?
    Thank you
    Karen
    Also, does anyone know what the messages from the CHECK_CONNECTION_SDB function mean
    1 OS-AppServ:Windows NT
    2 dbmcli_neg: no_client_software
    3 dbmrfc_c_neg: no_client_software
    4 dbmrfc_s_neg: no_client_software
    5 sql_neg
    6 work_proc: 1
    Edited by: Karen Dean on Oct 6, 2009 4:44 AM

  • StringTokenizer to read in 4 variables from the command point

    Hi,
    I need to set up the Java StringTokenizer to read in 4 variables
    from a command prompt. It should be in the following format:
    X variable1 variable2 variable3where
    (is the command prompt)X (is either +, -, *, /, c, or e)
    variable1 variable2 and variable3 are integers.
    I would appreciate any answers that would help me find the way!
    Thanks in advance.

    Thank you for the code snippet, but the program does not function that way. Ie, it does not accept
    arguments when the program is first run, only after the program has excecuted.
    The program is to enter a simple command prompt, and await instructions in the form X int1 int2 int3
    where X can be c (convert the number int3 from number base int1 to number base int2), e (exit the
    program), +,-,/,* (add, subtract, divide or mutilply int2 to/by int3 in number base int1). Here is an example
    of the what the program execution should look like:
    c:\programming\java nbc
    > + 10 23 45 // Add 23+45 in base10
    68 // Write the answer on a new line and prompt
    - 16 5A 2C // Subtract 5A-2C in base 162E // Write the answer on a new line and prompt
    c 15 7 2E // Convert 2E in base 15 to base 762
    e // End of programc:\programming\
    My problem is, I do not know how to convert the first token to a variable that can be used to carry out one of
    the above mentioned procedures. For example, the first token taken from the command c 15 7 2E is "c".
    As I understand it, "c" is simply a string, and this cannot be used in logical procedures such as:
    int procedure = 0;
    if(operator == "c")
         procedure = 0;  //then use this variable
    }else
    if(operator == "e")
        System.exit(0): //quit the program
    Also, how can I set up a while loop to continuesly
    prompt the user for an instruction until "e" is entered?import java.io.*;
    import java.util.*;
    import java.util.StringTokenizer;
    public class blerk
         public static void main(String[] args) throws IOException
              InputStreamReader stdin = new InputStreamReader(System.in);
              BufferedReader br = new BufferedReader(stdin);
              boolean e = true;
              String str = "";
              String symbol = "";
              int value0 = 0;
              int value1 = 0;
              int value2 = 0;
              System.out.print(">");
              str = br.readLine();
              StringTokenizer st = new StringTokenizer(str, " ");
              int i = 0;
              int option = 0;
              while (st.hasMoreTokens())
                   switch(i)
                        case 0:
                             symbol = st.nextToken();
                             // This part is obviously not correct. How can this be implemented to select and store the operating procedure the user enters?
                             if(symbol = "e")
                                  System.exit(0);
                             }else
                             if(symbol = "c")
                             }else
                             if(symbol = "+")
                                  option =
                        break;
                        case 1:
                             value0 = Integer.parseInt(st.nextToken());
                        break;
                        case 2:
                             value1 = Integer.parseInt(st.nextToken());
                        break;
                        case 3:
                             value2 = Integer.parseInt(st.nextToken());
                        break;
                        default:
                             System.out.println("format: >operator x y z");
                        break;
                   i++;
              System.out.println(symbol + value0 + value1 + value2); //test
    Any advice would be most appreciated.
    Benjamin.

  • Essbase server - automatic change of substitution variable from SQL

    Hi,I would like to automaticaly change the substitution variable in Essbase Server. Is it posible to change the substitition variable from external source e.g. SQL statement?Simple sample:I would like to assign value "2003" to "CurYear" substitution variable. But value "2003" I would like to get from SQL:"select year(current date) from table".There are commands in Esscmd and MaxL Shell, see bellow.Esscmd command:CREATEVARIABLE "CurYear" "localhost" "" "" "2003";MaxL Shell:alter system set variable CurYear '2003';Is it possible to get the value '2003' from SQL and pass this value to Esscmd command or MaxL Shell?My system:Windows 2000 Professional Service pack 4Essbase at 6.5.3 levelThanks,Grofaty

    You can create a text file from the SQL server that writes the command like"CREATEVARIABLE "CurrYear" "Servername" "AppName" "DBName" "2005";then you can create a schedule job that would run this script which can update the variable. CREATEVARIABLE creates/replaces the current variable.

  • Using an essbase substitution variable in dataexport command in a BR

    Hi,
    I have created a calc script to export data using DATAEXPORT, and to define the filename an essbase variable.
    Here all right
    I copy this code to a business rules to run it from a business rules, but I have a problem with the essbase variable, when I validate it, it gives me the error:
    Detail:Encountered "&FileNm" at line 28, column 26.
    Was expecting:
    My essbase variable is set to:
    "e:\Hyperion\products\Essbase\EssbaseServer\app\TMPGB\dataexportCustomerY2.txt"
    in double quote
    How anyone use in a Business rules with the command dataexport an essbase substitution variable

    So it works in a calc script and not a BR, I know BR's sometimes don't always act exactly the same as calc scripts and you occassionally hit issues like this.
    What version are you using because I have a feeling I have tested this in the past and I am sure it worked.
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • Essbase substitution variable used for SQL Dimension load-URGENT

    Hi All,
    I am creating one dimension through SQL Dimension load rule writing by parent child build rule. The SQL query is like below---
    distinct trim(dist_mobile),trim(ret_mobile) from dist_retailer al1 where al1.proc_dt=to_date(&Proc_date,'dd/mm/yyyy')
    When I fixed the value of proc_date (e.g.- '27/09/2008') then it is retrieving data properly, but when I try to make the same as a essbase variable as shown above (to give user the priviledge to select for which date data will be fetched from RDBMS to create the dim) and after setting the aforesaid value of that variable in essbase subs var screen and click 'OK/Retrieve' in rule,it is returning no rows executing the query as well as no error coming.
    I guess in query nothing is wrong but the subs variable part is not working. Can anybody please give some insight to resolve the problem.
    In this context, I would like to mention that I will have to use substitution variable in some other rule file also to automate the load process. How can I use essbase subs variable in SQL load rule? Could you please show me a proper summarise query illustrating how to use the subs var in aforesaid purpose for the sake of understanding?
    Thanks in advance.

    Hi,
    Sorry for delayed response. Appreciate your inputs. At last I have found out the solution which is as below----
    distinct trim(dist_mobile),trim(ret_mobile) from dist_retailer al1 where al1.proc_dt=to_date('&Proc_Dt','dd/mm/yyyy')
    after setting the substitution variable as Proc_Dt and set the value as 27/09/2008 (without any quotation mark or such sign) now I checked and now it is retrieving fine.
    Thanks & Regards.

  • Essbase Substitution Variables

    Hi All,
    I went through the docs. but not able to find an answer to the following query.
    What is the maximum number of substitution variable that we can create for an application??
    We use nearly 30 variables for a application to handle security. So i wanted to know whether there is a limit for the variables?
    Your inputs would be of great help. Thanks!!

    I can tell you in my 12 years with Essbase, I have never heard of anyone having issues using as many subvars as they need. Your best bet is to just go ahead and just try them out. To create them should not take much time at all.
    John Conlee
    Oracle Practice Manager - Analytic Vision

  • Sychronisation AD - OID: Is it possible to read the user password from AD?

    Hi.
    We are using the Oracle Internet Directory shipped with the Oracle 9i Database Rel. 2 (9.2.0.1).
    I try to synchronise the user accounts from AD to OID using JAVA JNDI. I'm able to read all necessary user information except the user password (MD5 value). Even if I connect to the AD using SSL, it's not possible to read the attribute userPassword.
    Is anybody out there who got this work or knows a way (may also be by the use of another programming language or tool) to get the user password out of AD? Is this possible? How does the Oracle Integration Agents accomplish this?
    Thanks in advance.
    Hermann S.

    Hermann,
    I am working with this as well, though from AS10g, not RDBMS. According to the OID Administrator Guide chapter 43, page 43-52:
    <snip>
    Synchronizing passwords from Microsoft Active Directory to Oracle Internet Directory is not possible in the Oracle Application Server 10g release because passwords in Microsoft Active Directory are not accessible by LDAP clients. However, if a deployment requires passwords to be available in Oracle Internet Directory, then the following two methods are recommended:
    Build a custom plug-in for Microsoft Active Directory that captures a password change and synchronizes it with Oracle Internet Directory
    Manage Active Directory passwords from the Oracle environment. This enables passwords to be available in both Oracle Internet Directory and Microsoft Active Directory because the Active Directory connector can synchronize passwords from Oracle Internet Directory to Microsoft Active Directory.
    </snip>
    As10g can however look up the password in AD using the "Active Directory External Authentication Plug-In". This is documented in the same chapter.
    Hope this helps,
    Jens

  • Reading a global variable from tomcat with JNDI. Example not working

    Hi you can help me to make this example work?
    Context initCtx = new InitialContext();
    Context envCtx = (Context)initCtx.lookup("java:comp/env");
    Object o = envCtx.lookup("testvariable");
    <GlobalNamingResources>
    <Environment name="testvariable" type="java.lang.Boolean" value="false"/>
    Nice greetings Christian

    I found out that in addition to having the JNDI lookup code, you have to
    - have the environment variable declared in the app server configuration
    - have a resource-env-ref entry in your webapp module
    - have the application container bind your named variable with the global variable
    I am using tomcat 5.5, and have done the following. with success.
    the following example uses the default sample environment variable in the tomcat server.xml
    in tomcat server.xml:
    <GlobalNamingResources>
    <Environment
    name="simpleValue"
    type="java.lang.Integer"
    value="30"/>
    </GlobalNamingResources>
    in my application's web.xml:
    <resource-env-ref>
    <description>Test read resource environment variable</description>
    <resource-env-ref-name>simpleValue</resource-env-ref-name>
    <resource-env-ref-type>java.lang.Integer</resource-env-ref-type>
    </resource-env-ref>
    in my META-INF/context.xml (or otherwise, in tomcat's context deployment configuration)
    <ResourceLink name="simpleValue" global="simpleValue"
    type="java.lang.Integer"/>
    Note: in theory, the named resource by your web app could be different from the global environment variable, but here they are the same 'simpleValue'
    This is the really important step, that with out it, nothing works.,
    the context.xml is known to work with tomcat when it exists in META-INF/context.xml inside the .war file (i use war files to deploy, but you should be able to create META-INF/context in an unpacked webapp directory too, and tomcat will find it.,
    I can not say what it is like for other app servers, but this mapping step is the critical point that i discovered after A LOT of hair pulling.
    then, make use of it, i created a jndiTest.jsp:
    <%@ page import="javax.naming.Context" %>
    <%@ page import="javax.naming.InitialContext" %>
    <%@ page import="javax.naming.NamingException" %>
    <%
    try {
    Context initCtx = new InitialContext();
    Context ctx = (Context) initCtx.lookup("java:/comp/env");
    Object o = ctx.lookup("simpleValue");
    %>
    <%=o%><br>
    <%
    catch (NamingException ex) {
    System.err.println(ex);
    %>
    since my server.xml defines the value for 'simpleValue' to be 30, this page displays 30

Maybe you are looking for

  • Error while creating equipment BOM (IB01)

    hi guys, while creating equipment BOM (IB01) i am getting this error, while adding components. 'Material type NLAG cannot be used with item category (plant 1000)'. regards chinta

  • CIF blocks with multiple R/3 systems

    Hi,       We are in SCM V5 and we have two R/3 systems connected to one APO system. Theya re two different BSGs, with totally different integration models as well. We are using APO outbound queues for both the R/3 systems. The question is, does a CIF

  • Can  approval workflow in GRC  be avoided

    Hi All i  have  following query Following are the steps 1) I am using Oracles Identity Management  . 2) User data iam fetching from OIM 3) Iam using SAP GRC 5.3 ( CUP ) 4)  I am using  SAPGRC_AC_IDM_SUBMITREQUEST web service  for request Type ( eg )

  • Servlet filter in portal irj?

    Hi, I am trying to create and deploy a servlet filter in portal irj. Here is what I have done: 1. Created filter class(TestFilter.java). 2. Created a jar file for the above TestFilter.class. 3. Copied the jar file to C:\usr\sap\DW1\JC00\j2ee\cluster\

  • DBMS_XSLPROCESSOR and xsl:import

    Hi all! I'm using Oracle 9.2 and DBMS_XSLPROCESSOR to transform my XML to HTML. I build XML using DBMS_XMLDOM methods, build stylesheet using dbms_xslprocessor.newstylesheet, then try to transform it using DBMS_XSLPROCESSOR.processXSL. It work fine.