Pass the value of a variable in a KM Option

Hi Gurus,
We have developped a LKM using existing DBlinks to extract data. Since we are not allowed to created DBlinks ourselves on the source DBs, we have added an option in the KM to specify the name of the DBlink that should be used.
It worked well because we only had the prod context.
Now we have a Dev and Test context for some dataservers. Our idea was to put a variable DBL_NAME as the option value and refresh it in a package. The dblink name is store in a table with its associate context name and we retrieve the context using the Substitution API : SELECT value from PARAM WHERE param = '<%=odiRef.getContext("CTX_NAME")%>'
As the value of option DBLINK_NAME we put #PROJECT.DBL_NAME.
However at runtime the variable is not resolved so its name appears instead of its value : +... from MIN.DATASTORE@#PROJECT.DBL_NAME DATASTORE where     (1=1)+.
Do you have any idea of the cause of the behavior ?
We are working with ODI 11.1.1.5.
Here is the code of our KM :
create or replace view <%=odiRef.getObjectNameDefaultPSchema("L",  "" , "W")%><%=odiRef.getInfo("COLL_NAME")%>
+(+
     +<%=odiRef.getColList("", "[CX_COL_NAME]", ",\n\t", "", "")%>+
+)+
as select     <%=odiRef.getPop("DISTINCT_ROWS")%>
     +<%=odiRef.getColList("", "[EXPRESSION]", ",\n\t", "", "")%>+
+from     <%=odiRef.getSrcTablesList("", "[SCHEMA].[RES_NAME]@"+"odiRef.getOption("DBLINK_NAME")"+" [POP_TAB_ALIAS]", ", ", "")%>+
+where     (1=1)+
+<%=odiRef.getFilter()%>+
+<%=odiRef.getJrnFilter()%>+
+<%=odiRef.getJoin()%>+
+<%=odiRef.getGrpBy()%>+
+<%=odiRef.getHaving()%>+
Thanks in advance for your help.
Regards

Hi Michael,
Thanks a lot for your answer! It could be a workaround.
However sometimes we have a lot of different sources that doesn't need a different dblink for each context and only one source that has 3 different dblinks (one for each context). If I could avoid to create a lot of useless variable, it would be nice.
Does someone know if it is possible to put the value of a variable as a KM option ?
Regards

Similar Messages

  • How to pass the values to stored proc using presentation variable in OBIEE

    Need your help regarding in resolving an issue in OBIEE 10.1.3.4.1
    There are 6 reports say ‘A’,’B’,’C’,’D’,’E’,’F’ in the same subject area.
    The reports are being configured with prompts using either the repository/presentation variables.
    One of the reports say ‘A’ has been configured to pass the values using presentation variables from the prompt in Advanced Tab of the report request to the stored procedure defined in the Execute Before Query section of the connection pool.
    After running another report ‘B’ in the same subject area, upon visiting the report ‘A’ view display error is being seen ( Please have a look below screen shot for your reference) .
    Speculate the issue is around presentation variables of report ‘A’ getting initialized even before running the report.
    Appreciate your earliest advise as this is a prod issue.

    Hi Prasad,
    I got your note, you should not use Session variable syntax to call presentation variable.
    you should use like @{AIC_PROJ_PLAT_SEQ_NO}
    One more thing: first test the variable AIC_PROJ_PLAT_SEQ_NO value then try to pass to SP.
    Hope this helps

  • Not able to get the value of ODI Variable when i pass thru Option

    Hi,
    I have ODI variable called prev_etl_run_date which will hold the last successful etl run date. I want to use the value of this variable in one of my KM step.
    But i don’t want to use directly in my KM. So I passed the variable name thru KM Option.
    I intend to use the variable’s value in the KM step, as shown below:
    <%=odiRef.getOption("MY_OPTION_1")%>
    Here I am expecting the value of the variable, but here I am only getting the variable name only.
    Is there any substitution method available in ODI KM , please help me to solve this issue.
    Thanks
    nidhi

    ODI options are not intended for run time parameters. They are like design choices or debugging flags or parameters that can be specified in code template. Previous ETL run time stamp is hardly a design choice.
    On the other hand, it is really a bad practice to put a variable inside KM directly. That creates a dependency that you can easily avoid by putting a filter using that variable in the interface.

  • Unable to pass the values to stored proc using presentation variable in OBI

    Hi All,
    Need your help regarding in resolving an issue in OBIEE 10.1.3.4.1
    There is an OBIEE requirement whereby two prompts need to be defined.
    1.     Textbox prompt
    2.     Drop-down prompt
    The dropdown values should be populated using textbox prompt. So, we have used presentation variable in textbox prompt and passing the same to select query of drop-down.
    Until this step, the report works just fine.
    Now, the value in both textbox and drop-down needs to be passed to stored proc.
    While trying to pass the values by using the presentation variable, the following error comes-up saying
    Session variable has no value definition.
    Note:Although the corresponding session variable has been set to default value,still the error appears.
    Please advise.
    Regards,
    Prasad

    "Session variable has no value definition" I'm assuming typo error and it should be presentation variable.
    Set default value for presentation variable that may work

  • To pass the values through variable in JDBC adapter

    Hello,
    We are working in JDBC adapter. Currently we have written the select statement in JDBC sender adapter to select all the values from the table in SQL SERVER.
    Instead of this, Can we use a variable and pass the values in there from XI in order to select the records from the table based on values in the variable?
    Expecting Advice!
    Thanks,
    Lakshmi.

    Hi krishnan,
    You can use the JDBC receiver adapter to acheive a select using variables. Here you create a canonical XML format(your XSD) based on which the JDBC receiver adapter issues a select and returns you the response. chk this url in help site http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm for the canonical format.
    However u lose the flexibility of polling the table at regular tables available with sender adapter. Also you need an event(a message) to trigger this select query execution, since it is a receiver CC config.
    -Saravana

  • Passing the values between two pages

    hi all,
    I am trying to pass the value from one page to another page. by referring the Link
    http://www.youtube.com/watch?v=4eyzBiIf5MM&feature=related
    I have created the code based on the demo. it is deployed without any issues. but when i press the hyperlink from the first page it is not moving to the second page.
    Regards
    C.Karukkuvel

    Hi john,
    My Requirement is to create a ADF page based on the Human Task with the Default payload. In that page when the user presses the empid link field, It will show all the information related to the employee id in a separate page.
    so ,
    1. i have created the View Object based on the Query with where clause
    2. Create a bind variable for the where clause
    3.Created s new page for displaying the employee details
    4.drag and drop the both the pages (employee details, default page created by human task) into the adfcconfig file.
    5.drag and drop the Execute with params into the adfcconfig file
    6.wire it from human task page --> execute with params--> Employee details page
    7.change the employee field in that human task page to a link field.
    8.drag and drop the set property listener to that employee field.
    Testing
    Enter the input values for the Web service, logging to the BPM worklist, double click that task .it is showing the details when I press the employee id it is not navigating to the employee details page.
    Thanks in advance
    C.Karukkuvel

  • Passing the values in Recipe  PLM WEBUI

    Created a new tab for Recipe via customization in PLM Web UI. But I am not able to  create new fields in the screen and pass the values.
    Please let me know the configuration steps and how to pass the values to PLM Web UI

    Hi Shailesh
    You will have to create 'New Selection' in either Row/Columns (wherever you wish to display the Key Figures) or you could also create a 'Restricted Key figure'.
    In  the First Selection / RKF.. select the ey Figure for  'No of Employee' and then select the Characteristic for the From/To Period (0I_FPER).
    In the second Selection / RKF..select the Key Figure for the Amount and then select the Char for the From/To Period (0I_FPER).
    If there is any other characteristic which is used for identifying the Employees that have resigned, (say for Eg. Employee Status could be 0 for resigned employee, a hypothetical case), select the char. for Employee status with the value '0' and include it in both the selections / RKFs and you will get the desired results.
    Pl remember, if you select a period variable with a range (i.e. from and to values within the same variable)  , then you will get only one column for 'Amount' and the value in this column will be for value for the period.
    If you want Amount for From and To values to appear in two different columns , the do not select variable with a 'range'. Instead select two variables with single value , one each from From and To.  (However, I am not sure if you requirement wants From and To in two different columns, although, you are saying so !!!). If you select two variable (say for eg. ZPERIOD1 and ZPERIOD2 then in your selections you will not use 0I_FPER instead the new variables).
    Hope you find the answer useful.
    Regards
    Umesh

  • Passing the values from the graph when we use Navigate to the BI Content

    Hi,
    The following are the problems which we are facing when navigating to the other BI report.
    1)When using the “Navigate to BI content” action the values are not getting passed to the detail report from the graph. Is there any limitation or any alternative to make it work?
    When I click on the Bar graph I need to pass the corresponding period and the dimension (EX: Operating Unit – Vision Services R+D) to the detail report.
    2)I have tried using the “Navigate to Web page” action. I am able to pass the values but the page is getting opened in another window. I want that page to be opened in the same window so that my presentation variable values are not lost.
    3)When I click on the bar graph, I am able to pass the values period and operating unit. But my presentation variable values are lost. I want to retain them.
    Please help me out in achieving this scenario.
    Thanks,
    Chaithanya

    Hi,
    In the column properties give the navigation to other reports from the interaction tab and make a chart with the column and in the dashboard -->edit dashboard-->in the section where the report is placed--->give 'drill in place'.
    Regards
    MuRam
    NOTE: Please mention if this resolved your problem/still facing and close the thread.

  • How can I pass the value to another frame?

    Hi all,
    The following is part of my coding of a frame. Once i click on the jButton2, the selected value will be stored into a variable named NAME and the value will be displayed by a label in same frame. At the same time, a new frame named TESTING3 will be set to visible.
    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt)
    // TODO add your handling code here:
        String name = (String)jList1.getSelectedValue();
        jLabel1.setText(name);       //display the value in a label in same frame
        new testing3().setVisible(true);     //a new frame set to visible
    }      Question: How can I pass the value to TESTING3 frame and display it on that frame?
    Thanks,
    ning.

    just make an archive that save that variable and them get them from de clase were you save it
    public class sav {
    String n;
    public sav {
    n="";
    public void addn(String x){
    n=x;
    public String shown(){
    return n;
    and them save it from the frame
    sav sun = new sav();
    sav.addn(f);
    them call it from the other frame
    sav sin = new sav();
    String s = sin.shown();
    label.setText(s);
    and i think thats you want to do if its not please explain me better
    bye

  • How can i pass the value one from to another form?

    hi all
    how can i pass the value one from to another form  with out use it when ever i want to needed this value that ican useit?
    like i have two fields U_test1 and U_test2  table name @AUSR
    that i have  four form  A! , A2,A3,A4    please tell me in details....?

    Hi,
    U can assign the values to some variables and access then in ur required forms.
    Vasu Natari.

  • How to get the value of a variable defined in javascript in JSP

    how to get the value of a variable defined in javascript in/through JSP????

    In Javascript you can use the DOM to access the input element and set it's value before submitting the form. Then it's value will just be passed.

  • Change the value of a variable used in a View query

    I am using JDeveloper 11g to develop a simple portlet application which displays data loaded from database. I am displaying the data by dragging the ViewObject from the AppModuleDataControl to the View.jspx page and selecting the option ADF Read-only Table. My ViewObject has a single variable :empId. Now is it possible to change the value of this variable with a value that comes from the request object. On the internet I found the following code:
            FacesContext facesContext = FacesContext.getCurrentInstance();
            Application app = facesContext.getApplication();
            ExpressionFactory elFactory = app.getExpressionFactory();
            ELContext elContext = facesContext.getELContext();
            ValueExpression valueExp =
            elFactory.createValueExpression(elContext, "#{data.AppModuleDataControl.dataProvider}",
            Object.class);
            ApplicationModule am = (ApplicationModule)valueExp.getValue(elContext);
            ViewObject emplVO;
            emplVO = am.findViewObject("EmployeeView1");
            emplVO.setNamedWhereClauseParam("empId", "1");I have put this code in the public void processAction(ActionRequest request, ActionResponse response) method. However this does not work when I deploy it.
    Does anyone know if the above code is correct in this case and if there is a better way how I can set this up?

    Hi there:
    Did you add a break point and debug the code to see what is the value for the :empid parameters passed in to your view object?
    If you are sure you have passed in the correct value for ":empid" parameter, then do the following:
    String amDef = "yourAmDef";
    String config = "yourConfig";
    ApplicationModule am =
    Configuration.createRootApplicationModule(amDef,config);
    ViewObject emplVO;
    emplVO = am.findViewObject("EmployeeView1");
    emplVO.setNamedWhereClauseParam("empId", "1");
    empVO.executeQuery();
    which will execute your view object with the new bind variable value and refresh the view.
    Please mark my answer as 'Correct' if it solves your problem, or 'Helpful' if it does.
    Thanks,
    Alex
    Edited by: Alexbie on 27-Aug-2010 8:52 AM

  • Can you change the value of a variable that is reset by a parameter?

    Sorry if this is simple but I just crashed a package and can't do an autopsy. I suspect I sent it into an infinite loop. I know you can't change the value of any passed in parameters. What I tried to do was have the parameter set the value of a variable
    and then I tried to change the value of the variable. Is that even allowed?
    I was trying to do this:
    MyCheckVariable = MyParameter (which equals true)
    (some cool stuff happens)
    MyCheckVariable = False
    I hit F5 and my package turned into the Energizer Bunny. Is the way I try to reset the variable the culprit?

    This is a prototype so I just created a project parameter and set it to true. In the real world the parameter will be used to control an optional part of the process because on a re-run after error that part doesn't have to be ran again.
    So when I say MyCheckVariable = MyParameter (which equals true) in reality what I actually have is in the variables window I'm using an expression and it looks like this in the variables window
    name = runDownload
    Scope = Package
    Data Type = Boolean
    Value = True (but greyed out)
    Expression = @[$Project::param_runDownload]

  • Passing JavaScript values to JSP variables

    Can any body correct the follwing code
    <Script language="JavaScript">
    function test( x )
    <%
    int num = x;
    num = num * 2;
    %>
    v.value = "<%out.print(num);%>";
    <input type="button" name="b" value="test" onClick="test(5)">
    <input type="text" name="v" value="0">
    In short, I am trying to pass JavaScript value to JSP variable. I hope that it is possible to do that. If it is possible then how can I do it. I want to assing the variable x passed to the JavaScript function called test to the JSP variable called num.
    Regards,
    Ageel

    Thank you for your reply,,,
    I think then the only way to do it is to post the
    value on the server and then use request.getParameter
    method in jsp code
    but the question now how can I post values to the
    server using JavaScript without reloading the pageyes... you can to it by create a new popup window which will submit the value to server after page was loaded... then, server return a value to the same window in html/jsp page which then using javascript to set it back to the opener and close up the window... however, this is not a good choice unless you have no other alternative...
    >
    There is other possible solution
    if I can get the text field value from the same page
    without reloading it that would work fine and will
    solve my problem, is it possible?yes... you can get the value from the textfield...
    for example :
    function showValueInTextField()
        alert(document.forms[0].elements["mytextfieldname"].value);
    >
    My final question> can jsp change things on the same
    page without reloading it. I mean can it work like
    JavaScript so that I can use it's internal functions
    instead of using java script :S
    not really know what you trying to say here...

  • Job scheduling(passing the values to the child program)

    when i'm trying to schedule a background job(using job_open job_submit and job_close) i'm passing the values of the selection screen(parent program) to my child program using set parameter id. And trying to get the values using get parameter id in the cild program.
    But the values of the parent program are not being passed to the child program what may be the cause for it?

    rathan,
    Why con't you use
    SUBMIT... [VIA SELECTION-SCREEN]
    [USING SELECTION-SET <var>]
    [WITH <sel> <criterion>]
    [WITH FREE SELECTIONS <freesel>]
    [WITH SELECTION-TABLE <rspar>].
    When you start an executable program, the standard selection screen normally appears, containing the selection criteria and parameters of both the logical database connected to the program and of the program itself (see Direct Execution - Reports). When you start an executable program using SUBMIT, there are various additions that you can use to fill the input fields on the selection screen:
    SUBMIT... [VIA SELECTION-SCREEN]
    [USING SELECTION-SET <var>]
    [WITH <sel> <criterion>]
    [WITH FREE SELECTIONS <freesel>]
    [WITH SELECTION-TABLE <rspar>].
    These options have the following effects:
    VIA SELECTION-SCREEN
    The selection screen of the called executable program (report) appears. If you transfer values to the program using one or more of the other options, the corresponding input fields in the selections screen are filled. The user can change these values. By default, the system does not display a selection screen after SUBMIT.
    USING SELECTION-SET <var>
    This option tells the system to start the called program with the variant <var>.
    WITH <sel> <criterion>
    Use this option to fill individual elements <sel> of the selection screen (selection tables and parameters). Use one of the elements <criterion>:
    <op> <f> [SIGN <s>], for single value selection
    If <sel> is a selection criterion, use <op> to fill the OPTION field, <f> to fill the LOW field, and <s> to fill the SIGN field of the selection table <sel> in the called program.
    If <sel> is a parameter, you can use any operator for <op>. The parameter <sel> is always filled with <f>.
    [NOT] BETWEEN <f1> AND <f2> [SIGN <s>], for interval selection
    <f1> is transferred into the LOW field, <f2> into the HIGH field, and <s> into the SIGN field of the selection table <sel> in the called program. If you omit the NOT option, the system places the value BT into the OPTION field; if you use NOT, the system fills OPTION with NB.
    IN <seltab>, transferring a selection table
    This addition fills the selection table <sel> in the called program with the values of the table <seltab> in the calling program. Table <seltab> must have the structure of a selection table. Use the RANGES statement to create selection tables.
    WITH FREE SELECTION <freesel>, user dialog for dynamic selections
    To use this option, the called program must be connected to a logical database that supports dynamic selections. In the calling program, use the function modules FREE_SELECTIONS_INIT and FREE_SELECTIONS_DIALOG. They allow the user to enter dynamic selections on a selection screen. One export parameter of these function modules has structure RSDS_TEXPR from the RSDS type group. Transfer the values of this export parameter by means of the internal table <freesel> of the same structure to the called report.
    WITH SELECTION-TABLE <rspar>, dynamic transfer of values
    You need an internal table <rspar> with the Dictionary structure RSPARAMS. The table then consists of the following six fields:
    SELNAME (type C, length 8) for the name of the selection criterion or parameter
    KIND (type C, length 1) for the selection type (S for selection criterion, P for parameter)
    SIGN, OPTION, LOW, HIGH as in a normal selection table, except that LOW and HIGH both have type C and length 45.
    This table can be filled dynamically in the calling program with all of the required values for the selection screen of the called program. If the name of a selection criterion appears more than once, the system creates a multiple-line selection table for that criterion in the called program. If the name of a parameter appears more than once, the system uses the last value. Note that LOW and HIGH have type C, so that the system executes type conversions to the criteria of the called program. This is important for date fields, for example. Before your program is used in a live context, you should check it using the VIA SELECTION-SCREEN addition.
    Except for WITH SELECTION-TABLE, you can use any of the above options several times and in any combination within a SUBMIT statement. In particular, you can use the WITH <sel> option several times for one single criterion <sel>. In the called program, the system appends the corresponding lines to the selection tables used. For parameters, it uses the last value specified. The only combination possible for the WITH SELECTION-TABLE option is USING SELECTION-SET.
    If the input fields on the selection screen are linked to SPA/GPA parameters, you can also use this technique to pass values to the selection screen (see Passing Data Between Programs).
    The following executable program (report) creates a selection screen containing the parameter PARAMET and the selection criterion SELECTO:
    REPORT  demo_program_submit_rep1.
    DATA number TYPE i.
    PARAMETERS      paramet(14) TYPE c.
    SELECT-OPTIONS  selecto FOR number.
    The program DEMO_PROGRAM_SUBMIT_REP1 is called by the following program using various parameters:
    REPORT demo_program_submit_sel_screen NO STANDARD PAGE HEADING.
    DATA: int TYPE i,
          rspar TYPE TABLE OF rsparams,
          wa_rspar LIKE LINE OF rspar.
    RANGES seltab FOR int.
    WRITE: 'Select a Selection!',
    SKIP.
    FORMAT HOTSPOT COLOR 5 INVERSE ON.
    WRITE: 'Selection 1',
         / 'Selection 2'.
    AT LINE-SELECTION.
      CASE sy-lilli.
        WHEN 4.
          seltab-sign = 'I'. seltab-option = 'BT'.
          seltab-low  = 1.   seltab-high   = 5.
          APPEND seltab.
          SUBMIT demo_program_submit_rep1 VIA SELECTION-SCREEN
                          WITH paramet eq 'Selection 1'
                          WITH selecto IN seltab
                          WITH selecto ne 3
                          AND RETURN.
        WHEN 5.
          wa_rspar-selname = 'SELECTO'. wa_rspar-kind = 'S'.
          wa_rspar-sign = 'E'. wa_rspar-option = 'BT'.
          wa_rspar-low  = 14.  wa_rspar-high = 17.
          APPEND wa_rspar TO rspar.
          wa_rspar-selname = 'PARAMET'. wa_rspar-kind = 'P'.
          wa_rspar-low  = 'Selection 2'.
          APPEND wa_rspar TO rspar.
          wa_rspar-selname = 'SELECTO'. wa_rspar-kind = 'S'.
          wa_rspar-sign = 'I'. wa_rspar-option = 'GT'.
          wa_rspar-low  = 10.
          APPEND wa_rspar TO rspar.
          SUBMIT demo_program_submit_rep1 VIA SELECTION-SCREEN
                          WITH SELECTION-TABLE rspar
                          AND RETURN.
      ENDCASE.
    Pls. reward if useful...

Maybe you are looking for