ODI 12 c: concept of Variable

Hello

Could you please tell me when are we at the stage of variable declaration in a package.

Thank you

SM

Hi SM,.

  • You must declare a variable in a package when the given variable is not explicitly used to arm, refreshing or evaluate its value

    • When you want the value of the variable passed as a parameter when running a scenario

      • 'Note that you can only use the variables in the name of resource to a data store in a scenario when the variable was declared.

The link:

http://docs.Oracle.com/CD/E21764_01/integrate.1111/e12643/procedures.htm#CHDFGAIG

An example:

https://blogs.Oracle.com/dataintegration/entry/using_parameters_in_odi_the_dy_1

Tags: Business Intelligence

Similar Questions

  • ODI and parameters of interactive variables...

    Hi all

    first of all, I would like to tanks all the guys who helped me with my previous problem! I need to know how to close the message and assign it the answers correct and useful!

    In the meantime, I have another question for you all:

    (1) is it possible in an ODI procedure (or one of its modules) to generate a popup window that you ask a value of a certain variable and use it to run a specific scenario?

    (2) I know that it is possible to run a specific scénarion using a web service. Is it possible to use some variables specified in the web service in the script which will be executed using this feature?

    Thanks a lot for all your help and if you have some additional questions in order to better understand my problem please feel free to ask.

    Good day


    Ben

    Hi Ben,

    When you opened the thread to see someone answers it opens the possibility to check the status... and in the top of the page, has a check box to indicate whether the thread is resolved.

    Tells you about:

    (1) Yes, it's possible but not functional once it's open only where ODI (officer or development) is installed. To resolve this problem, use the metadata browser. It's a 'Operator' browser that allows to launch the ODI process from anywhere.

    (2) Yes, it is not only possible, but a natural behavior. In the help installed with ODI, take a look in the Guide of the Oracle Data Integrator user where there is a detailed description of how to make...

    This help you?

    Cezar Santos
    http://odiexperts.com

  • ODI scenario failure during the passage of variables as parameters in the scenarios of the child

    I have defined a script in such a way that the variables in this scenario will pull data from other tables of configuration and pass those values as parameters to another this scenario in the first scenario of parent. I tested in DEV and DEV, test environments that are shared with the same topology with repositories different works. It has worked well. But when I moved the code to the QA environment, then I get the following error message. While attemption to run the scenario with the following command,

    Execution code:

    OdiStartScen '-SCEN_NAME = XXXXX ""-SCEN_VERSION =-1 ""-LOG_LEVEL = 5 ""-PROJECT_NAME. "" "" PASS = # PROJECT NAME. V_PASS""-PROJECT_NAME.» DB_URL = #PROJECT_NAME. V_DB_URL""-PROJECT_NAME.» DB_SCHEMA = #PROJECT_NAME. V_DB_SCHEMA""-PROJECT_NAME.» DB_LINK = # PROJECT NAME. V_DB_LINK""-PROJECT_NAME.» DB_USER = # PROJECT NAME. V_DB_USER ".

    Error message:

    oracle.odi.oditools.OdiToolInvalidParameterException: error when setting the parameters on the tool

    at com.sunopsis.dwg.function.SnpsFunctionBase.getCoreOdiTool(SnpsFunctionBase.java:618)

    at com.sunopsis.dwg.function.SnpsFunctionBase.getSunopsisApi(SnpsFunctionBase.java:494)

    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.executeOdiCommand(SnpSessTaskSql.java:1431)

    at oracle.odi.runtime.agent.execution.cmd.OdiCommandExecutor.execute(OdiCommandExecutor.java:44)

    at oracle.odi.runtime.agent.execution.cmd.OdiCommandExecutor.execute(OdiCommandExecutor.java:1)

    at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)

    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)

    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)

    at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:558)

    at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:464)

    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)

    at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1889)

    to oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$ 2.doAction(StartScenRequestProcessor.java:580)

    at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)

    at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor.doProcessStartScenTask(StartScenRequestProcessor.java:513)

    to oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$ StartScenTask.doExecute (StartScenRequestProcessor.java:1066)

    at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)

    to oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$ 2.run(DefaultAgentTaskExecutor.java:82)

    at java.lang.Thread.run(Thread.java:662)

    Caused by: java.lang.Exception: disagreement quote...!

    at com.sunopsis.core.SnpsObject.extractParametersLine(SnpsObject.java:174)

    at com.sunopsis.dwg.function.SnpsFunctionBase.getCoreOdiTool(SnpsFunctionBase.java:580)

    ... 18 more

    The variable values for this new environment a probably double-quotes ("") or a special character which is to 'break' the command line. Use this trick ODI to understand all the variables values used in this step and use the values of the test in a procedure separate with just values, not variables:

    http://devepm.com/2014/02/28/execution-variables-trick-for-old-versions-of-ODI/

    It will be useful.

  • Parameter IN or OUT to missing index: 1 using the variable date ODI.

    Hello

    I created the variable of data type date as EXTRACT_FROM_TS and also the default value for this.
    Now I use this variable as a filter in the source table in the design of the Interface as below...
    LAST_UPDATE_DATE > = #p_extract_from_ts where LAST_UPDATE_DATE is the field in the source database with date data type not null not forced...
    I have lkm hv used SQL for Oracle...

    Above variable refresh and interface scenario running one after another in ODI package...
    Variable gets refresh every time successfully, but Interface fails at the step of loading data... error message as below...


    ODI-1227: SrcSet0 (load) task fails on the source of ORACLE R12DEV connection.
    Caused by: java.sql.SQLException: parameter IN or OUT to missing index: 1
    + oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:1890) +.


    If we remove the filter LAST_UPDATE_DATE > = #p_extract_from_ts, then it works well...

    I do not know why this error pops up on adding filter... Please help on this...


    Thank you
    Roshan Y

    Hello

    put a step DECLARATION above all. After that in my opinion, it is better to put a TO_CHAR().

    Try putting your variable in text mode and change your filter in

    TO_CHAR (LAST_UPDATE_DATE, 'YYYYMMDDHHMI') > = TO_CHAR(#PROJ.) P_EXTRACT_FROM_TS, "YYYYMMDDHHMI")

    In your operator if you click on the variable whose value you see?

  • ODI-17511: no value to the variable

    I have a variable in cooling (togetfilename) mode interface
    After going through the loop (processed all files) then this drive is getting the following error

    I used this link to make this loop condition
    http://www.odigurus.com/2011/05/multiple-files-single-target-table.html


    How to stop this stop error smoothly and get the package run (I use e-mail that the judgment, but the operator said error on this step)
    ODI-1226: Step GetTheFileName fails after 1 attempt(s).
    ODI-1236: Error while refreshing variable ACTIVITIES.FILE_NAME.
    Caused By: java.lang.Exception: ODI-17511: No value to be set to variable 'ACTIVITIES.FILE_NAME'.
         at oracle.odi.runtime.agent.execution.sql.RefreshVariableExecutor.execute(RefreshVariableExecutor.java:70)
         at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:1)
         at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:50)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlV.processTask(SnpSessTaskSqlV.java:410)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlV.treatTask(SnpSessTaskSqlV.java:240)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:558)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:464)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2093)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:1889)
         at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$2.doAction(StartScenRequestProcessor.java:580)
         at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
         at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor.doProcessStartScenTask(StartScenRequestProcessor.java:513)
         at oracle.odi.runtime.agent.processor.impl.StartScenRequestProcessor$StartScenTask.doExecute(StartScenRequestProcessor.java:1066)
         at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
         at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
         at java.lang.Thread.run(Thread.java:662)
    Any help would be greatly appreciated.

    Thank you

    Hello

    You can add an additional variable with the number of lines and validation against 0 i.e. If count (X) > 0 then loop and reduce the number of 1 for each iteration.
    Or you can add the KB of this variable path to your odisendemail

    concerning
    Anthony

  • ODI variable

    HI friends,

    I just wanted to know how to make the senario below.

    I need to create a variable of the ODI in ODI
    Can I fill the variable in the PL/SQL function call, so that the value will go to variable ODI.


    Thank you
    Lony

    Hi Lony,
    You mean you want to store a value from your code to the odi variable plsql. Right? If so, it is not possible to directly. You must Access the underlying table that contains the variable and the value. Then, you can change the value in the table.

    Alternatively if you use jython or java beanshell code then stores this value to a java variable. Now, assign the value of java variavle to the variable of the odi in set mode.

    like odi_variable =<@java_variable@>

  • Whence ODI stores its values variable if type is text

    Hi all

    I've already lost my time of 2 to 3 just try to find "where ODI stores its value for variables if type is text. "SNP_VAR" is certainly not the answer.

    I tried one of the following ways:

    (1) can't find that no matter what tat column that can contain more than 400 characters in my working repository.
    (2) seek to implement Oracle disk track to discover sql get questions when we hit the Refresh button on the ODI variable. Does anyone know how to trace sqls pilot?

    Kind regards
    Amit

    Hi Amit,

    When it's a text variable it is stored in SNP_EXP_TXT in the documents as necessary once the text is 'broken' in blocks of 256 characters long. This means that if the variable has a 700-character text, you will find 3 files to SNP_EXP_TXT.

    This help you?

  • ODI 11 g - Multi user development environment configuration

    Hi all

    1. in a business environment, what is the correct way of installing ODI (like having ODI server in Unix machine where the FMW & WLS and Client are installed in the computer of each developer, which connects to the single master & repository for development work)? Could you please provide the exact steps to follow?

    2. is it possible to install just ODI with Designer on a Windows Server and the developers remote access ODI at the same time for their development activities? If so, could you please tell me some documents?

    3. I have a development environment with a master & repositories of work and a test environment with another master & repositories work (performance only). During work & master of initial deployment of repositories of the development environment is exported and imported into the environment of test and all the scenarios are exported from dev as solutions and imported in test. Now, I would like to know, if there are changes to existing objects or new components of ODI (as a model, interface, variable, packages, etc.) added, we have to synch - upward dev to test repositories?

    Please help me to get said.

    Thank you
    MT

    Perfect, since you have the same logical patterns that will work.

  • documents on the variable of presentation need...

    Hello world

    I'm hurt on the concepts of variable presentation, so I really need some basic documents or links to the site on variables of presentation to learn with examples will be truly grateful.

    Concerning
    s

    Hello

    You should not initialize by using an inot block, when you apply a prompt value by clicking the Go/apply button, variable presentation will get initialized using the prompt value.

    Kind regards
    DpKa

  • trouble with variable refresh

    Hi all fans of ODI,

    I have a project variable, text, value data type default 'something' that contains a query (to refresh button) valid (that get 1 deposit the registration form).
    After press the button refresh in the story I get the error message:

    java.lang.Exception: error: no value to assign to this variable for DefDate:null

    Someone has an idea, what does that mean?
    Thaks a lot, have a good day
    Gejza

    Hi Gejza,

    Yes according to the Bos says, you need to get the value by default when you "use" this variable in packages/procedures. During the standalone test ODI will be "run" this query in the Backend and retrieve the result.

    It seems odd, even if you have 1 row in the underlying table, and still you get this error. U can do a safe/cross check if recording still exist in the underlying table as such and the logic diagram points to the correct schema?

    Thank you
    Guru

  • updating of a variable in a procedure

    Hello!

    I know this thread has already posted several times, but I am doing everything as it is explained and it still does not work.

    I created the variable STARTDATE: TEXT, the most recent value and a package with following steps:

    (1) declare the Variable STARTDATE
    (2) update the Variable STARTDATE
    (3) procedure

    The procedure uses the variable, but does not recognize it.

    Update Table1 set eof_timestamp_2 = eof_timestamp_1 where eof_timestamp_1 > = to_date ('#ODS.) STARTDATE ',' dd.mm.yyyy hh24:mi:ss')

    Thanks for help
    Marcin

    It should work... seems that ODI is not translating the variable.

    Let me suggest something to debug this variable...

    Creat a step before update like:

    Technology: Java BeanShel
    Check ignore error checkbox

    Command:

    throw new Exception ("' \n\n is the value of the variable: #STARTDATE \n\n '")

    This command should show if ODI can recognize the variable inside the procedure.

    Run and tell me what you have to tab performance (operator)

    Cezar Santos
    [www.odiexperts.com]

  • Scenario with variables

    Hello

    I need to create a scenario of an ODI procedure, using a variable as input param. Need for clarification on the steps I followed.

    I project
    (1) created a variable (last value) [* sessionID *] with nothing @ the refreshing tab (IE without any query schema /)
    (2) created ODI procedure and used the variable as #sessionID
    (3) generated the scénarion and chose the sessionID as variable while generating the script

    Project2
    (1) generated a package
    (2) a variable created [* sessId *]; to capture the sessionID-> select < % = odiRef.getSession ("SESS_NO") % > double
    (3) dragged this variable as in the package
    (4) dragged the interface
    (5) dragged the generated script project 1
    (6) now, to pass the value (sessId) scenario, what are the steps to follow?
    To use additional variables; Select the project variable [project1], [* sessionID *] and value as [#* sessId *]


    Thank you
    Is

    Published by: Is916 on September 6, 2009 22:48

    Published by: Is916 on September 6, 2009 22:48

    Hello

    I'm very well thank you.

    Yes, you can create a Variable overall (just like the project variable) and at runtime, you can call it with the prefix #GLOBAL.

    This value of the global variable will be used in all projects in your work to rest, and you can Declare/refresh/evaluate/get entry when you run in your package if necessary.

    Makes sense?

    Thank you
    G

  • ODI: connecting to Sybase

    Hi, I can't connect to Sybase in the topology Manager
    I use the following driver jdbc: com.sybase.jdbc2.jdbc.SybDriver and my jdbc:sybase:Tds:10.44.1.78:5025/csddb URL
    on the definition tab, I entered user/password and "Server (database server).
    Here, I have a question: what I shiuld enter the field "Server (database server). I tried the name of the database, the computer name, leave blank

    In my ODI DesignerI can see 10.1.3.4.5 version
    In my manager topology ODI is 10.1.3.4.0

    Can you also explain to me how ODI work with JDBC drivers. ODI use the CLASSPATH environment variable? I'm interested in how I can add a new JDBC driver to use.
    I downloaded ASE Developer Edition 15. I found there jconn3.jar and \com\sybase\jdbc3\jdbc\SybDriver.class
    I understand that this is a new version of com.sybase.jdbc2.jdbc.SybDriver
    If I add jconn3.jar in the CLASSPATH, I'll be able to use this driver or should I do something else?

    Thank you

    The error you get suggests that ODI don't end class dthe to which you are referring - try to use com.sybase.jdbc3.jdbc.SybDriverrather as the one that you use to see if a difference. I suggest that you should have stopped and started ODI since putting the jdbc driver jar file in the odi/drivers directory (even though I'm sure you have..)
    Craig

  • How to acquire the values of CFP 1800 use FP read via RS 232?

    Hello

    We have an application in which there is a provision of the redundancy of the system. By redundancy, I want to say that I have a CFP-2120 and a host PC. Both are accquiring real-time AI module using concept shared Variable values. Each of these variables is linked with a particular channel of the Module & will acquire the data automatically. Initially when the system is Ok, the PC acquires data from the PSC 1800 using ethernet. Now, suppose that the ethernet connection has been lost, now that the PC will not be able to acquire. At this point, I want my PC to acquire data from the PSC 1800 using RS 232. In this case the binding of the variable with channel won't be of such use. I think that in this case, what I can do is to accquire data .vi FP READ and update the variable by plugging the variable for each channel.

    What else will be the solution. Can someone tell me if my colleague and I are on the right track or if the best solution is here, please share with us.

    The move will be highly appreciated.

    Thank you best regards &,.

    Samriddh Sarbalhi

    Hello

    You're going in the right direction for creating redundancy for you system controller PSC.

    Here is the link for system redundancy with two components:

    http://zone.NI.com/DevZone/CDA/EPD/p/ID/5997

    I hope that this should help.

    Anuj Bhansali

    AE

    NEITHER the India

  • Error with Oracle data integration tool

    Hello

    I try to call a scenario odi since a package and I need to pass variables dynamically. the code is

    OdiStartScen '-SCEN_NAME = #v_ScenName ""-SCEN_VERSION = #v_ScenVersion ' '-SYNC_MODE = 1 "#v_AddlVariables".

    #v_AddlVariables organizes values for multiple variables.

    the code is to throw an error:

    oracle.odi.oditools.OdiToolInvalidParameterException: error when setting the parameters on the tool

    at com.sunopsis.dwg.function.SnpsFunctionBase.getCoreOdiTool(SnpsFunctionBase.java:618)

    at com.sunopsis.dwg.function.SnpsFunctionBase.getSunopsisApi(SnpsFunctionBase.java:494)

    at com.sunopsis.dwg.dbobj.SnpSessTaskSql.executeOdiCommand(SnpSessTaskSql.java:1431)

    at oracle.odi.runtime.agent.execution.cmd.OdiCommandExecutor.execute(OdiCommandExecutor.java:44)

    at oracle.odi.runtime.agent.execution.cmd.OdiCommandExecutor.execute(OdiCommandExecutor.java:1)

    I tried to call the same command by replacing the variable (#v_AddlVariables) with its values and the code begins to work.

    the following goes to work when I give the values of the variables:

    OdiStartScen '-SCEN_NAME = #v_ScenName ""-SCEN_VERSION = #v_ScenVersion ' '-SYNC_MODE = 1 ""-.v_InterchangeId < PROJ_CODE > = 750 ""-< PROJ_CODE >. ' "» "v_FileName = BTRAIL1TRX01Aug201531Aug2015.csv" «-.v_filepath=/nfs/paldata/interfaces/emdw_landing/mycost/train_booking/incoming< PROJ_CODE >.



    Please help me solve this problem, as a similar code is already running in ODI 10 G. Can't understand why this gap in 11G


    ODI Version: 11.1.1.9.0

    Yes you are right, I found the solution so far. There is a problem with the analysis in ODI.

    Variable names are not any question (by variable names are case-sensitive in ODI 11.1.1.9.0)

    Solution:

    OdiStartScen '-SCEN_NAME = #v_ScenName ""-SCEN_VERSION = #v_ScenVersion ' '-SYNC_MODE = 1 "#v_AddlVariables".

    Here odi is not expected a variable, it waits for a command in the form of

    OdiStartScen "-SCEN_NAME = #v_ScenName" "-SCEN_VERSION = #v_ScenVersion '"-SYNC_MODE = 1 ""-= value .var_name ' "»

    so, I changed the format of the command to

    OdiStartScen '-SCEN_NAME = #v_ScenName ""-SCEN_VERSION = #v_ScenVersion ' '-SYNC_MODE = 1 ""-project_code #. "". " #var_name = #var_value.

    that is to put all my requirements for entry into the different variables solved the problem.

    ODI 11 G is really better understand some features that were already working in ODI 10 G. It's like finding the solution once more

Maybe you are looking for