odiRef.getTable ("L", "TARG_NAME", "A") returns 'DEFAULT' in 12 ODI

Hello, could you like to help me?

I used ODI before 11, I upgraded my deposit to version 12. I have a problem. Each auxiliary (LKM, IKM) table a name as I have$ _0DEFAULT, $ _DEFAULT, instead CAN I _0TABLE_NAME $ and C$ _0TABLE_NAME.

I have this expression in my LKM module:

<%=snpRef.getTable("L", "COLL_NAME", "W")%>

And I get this substitution:

MY_SCHEMA.C$_0DEFAULT

I have this expression in my LKM module:

odiRef.getTable("L","TARG_NAME","A")

And I get this substituition:

MY_SCHEMA.DEFAULT

What should I do to fix this? How can I get the name of the table 12 ODI?

Thank you in advance.

Hi Pavel,

It seems that the alternative api code now uses the name of the Dataset, rather than the name of the source table. For all mappings of converts the name of the Dataset has the default value. If you need the name to be unique, you can easily move around by setting the parameter "Use of unique temporary objects" tab in the physical as described in https://blogs.oracle.com/dataintegration/entry/odi_12c_parallel_target_table. Or, if you know the names of work tables as you ran him through the steps KM, you can write a simple Groovy script to change the name of the Dataset in each map to be something unique.

At this point, I'm not sure that there is another option in addition to convert the mapping with a mapping based on the flow of real life than the Dataset.

Kind regards

MIchael Rainey

Tags: Business Intelligence

Similar Questions

  • &lt; % = odiRef.getTable ("L", "TARG_NAME", "W") % &gt; returns the unwanted quotes

    IKM we have code like this:


    < % if (odiRef.getOption("REJECTTABLE").equals("1")) {% > REJECTED DATA AS TABLE < % = odiRef.getTable ("L", "TARG_NAME", "W") % > _REJECT < %} % >}

    DISMISSED the DATA AS TABLE " ""EDAStaging""". " SMAAirBDAJobStatus "" "_REJECT

    Double quotes see the place for some things and not for others, how to ensure that they are never returned?

    Too bad, if I check the case-sensitive objects under language it seems to fix the problem.  Thank you.

  • How can I return 'Default' Firefox (topic: config) without losing all my modules and Persona settings?

    I changed a couple of parameter in previous versions, to speed things up. These parameters have been "inherited" from version 6.x which I think has more need.
    I want to return my Firefox settings by default, (processing pipeline, server calls etc) but don't want to lose my Add-ons, Extensions or Persona settings.
    Is this possible?
    My Firefox will REALLY slow and crashes often

    cordially.
    Paul Wade
    PulpKult...

    Creating a profile will return all of your default settings of Extension/add-ons, you will need to re - install the Extensions/additional custom modules in the new profile

    Most of the settings that you have probably set different values are in about: config, then filter = network.http (I watch 24 elements in Firefox 6, all with the 'status' = default)

    • Those that are displayed in the lower panel in fat and as a user set are items that have been modified by you and/or an extension/add-on.
    • You can right-click on these elements, in your case those typically shown as "whole" types and choose "Reset".
    • Those who re - appear after restart of Firefox are possibly be changed/added by an Extension; There were / are many extensions to change these settings
    • After "Reset", not with an empty value (there should be none in network.http unless you added), will be deleted when you restart Firefox. those are elements that are not the default set of preferences hidden in your version.
    • Make a list of what you change hidden preferences (topic: config) so that you can reverse these changes later if needed.
    • List of preferences network.http: _ http://kb.mozillazine.org/Firefox: _FAQs_:_About:config_Entries #Network.
      • The list is not entirely current or complete, but is the best we have at this moment
      • Do not add new products to your preferences, unless you know what you're doing
      • Do not delete all the elements of your preferences, unless you know what you're doing
    • See: http://kb.mozillazine.org/About:config

    If this answer solved your problem, please click 'Solved It' next to this response when connected to the forum.

  • change changed to better visual performance, don't like, how I return default

    I changed the Visual effects for best performance do not like the installer how to return to the default configuration

    Just go back in the performance Options and select "let Windows choose what's best for my computer.

    To join the performance Options with right-click on desktop and select properties then click on the Advanced tab and then click the parameters of Performance.

    If you had custom settings and if you have done no other major changes since you have changed the setting you can use system restore to return the unit to its previous settings.

    John

  • Name of the network-WRT610N returns default linksys

    Hi all, in the last two months, the name of network for my router id is returned back to linksys a couple of times, with the loss of the password.  Any ideas of what can cause that?  Thanks for any help.

    With the age of the router the NVRAM may be done from the low.  In this case the router resets to factory settings.  Upgrade or re Flash the firmware of the router.  Power cycle and reconfigure return from scratch.   Place the router on a UPS System.  If it keeps happening it can go wrong.

  • How can I return default windows games in windows 8?

    I'm not find some popular games such as cards, chess etc. in windows 8 that were in Windows 7.

    However, it will appear in windows 8.1? and cannot find all of these games incorporated into windows to store free?

    Hello

    You are currently using Windows 8?

    Windows 8.1 includes new features and other changes in the Windows store, but the apps that are available in the store will remain unchanged, except that the number of available applications is still growing.

    Open the store and search for the game you are interested in.

    Concerning

  • Server default file in ODI

    Hi all

    I am currently working on the ODI tutorials.

    By mistake I deleted the file default FILE_GENERIC database server in the physical archicture of the workshop of nav of topology.

    How can I add back this default server for files?

    I have ODI11g on my laptop.

    Please suggest

    Rgds
    S

    Just create new server FILE_GENERIC data with jdbc details below

    com.sunopsis.jdbc.driver.file.FileDriver

    JDBC:SNPs:DBFile

  • table space by default for repositories ODI

    We need to allocate spaces for repositories master and work table. Are there any recommended size?

    Hello

    Repository master are really small, I usually ask for 500 MB and never saw the problem...

    Repositories of work depends on your process quantity and frequency over time to keep the sessions without purging.

    For a "large" environment to follow one year session log, I recommend about 5 GB... (a generic number)

    No sense?

    Cezar Santos
    http://odiexperts.com

  • ODI 11 g - dynamic and Flexible Code generation

    <$

    String V_COND;

    V_COND = 'Y ';

    If (V_COND.equals("Y"))

    {$> EMP.} {DEPTNO in (select deptno source.dept) <$} else

    {$> EMP.} {DEPTNO = 70 <$}

    $>

    Kindly help me it's java jython code and I wrote this code in the tab filter interface odi and it works fine but the problem is I want to call the function of database in this code that returns a value that is assigned in the v_cond variable that I took and then I'll use that more far , in if condition that I use if (V_COND.equals("Y"))

    Mr. FPonte ...

    If I write this command

    MY_TABLE_NAME - "<%=odiRef.getTable("L","TARG_NAME","D")%>". »

    while making variable or procedure then will he be executed.

  • Columns null ODI SCD

    Hi all

    I am using SDC KM in my interface. Insert in I$ Code is below.

    So there is a problem of performance because where clause. My target table has hundrand of millions of documents.

    or (s. [column] IS NULL and t [column] IS NULL)


    I want to use NVL function instead where clause.

    I can change the code like this:

    where < %=odiRef.getColList ("',' nvl (to_char (t. [column]), 'x') \t= nvl (to_char ([EXPRESSION]), 'x') ', '\n\tand\t', ' ', 'SCD_NK'") % >

    But how do I handle Datatype question? I mean if the data type is character so it should be: nvl(column,'-')

    If it is number nvl (column,-99)

    If this is the Date then nvl (column, to_date('01.01.1900','dd,mm.yyyy'))

    is it possible to use another function, method, or function NVL like that?

    Similarly, I don't want to use clause or.

    I also watched this discussion.

    Join CPC IKM (null) problem

    Insert / * + APPEND * / into < % = odiRef.getTable ("L", "INT_NAME", "A") % >

    (

    < % = odiRef.getColList ("", "[column] ',' \n\tclick ', ','" (((SCD_NK ou SCD_INS ou SCD_UPD) and!)) "") ("(TRG) and REW)") % >

    < % = odiRef.getColList ("", "[column] ',' \n\tclick", "," "(SCD_START et REW)") % >

    IND_UPDATE

    )

    Select *.

    de)

    < % for (int i = odiRef.getDataSetMin (); i < = odiRef.getDataSetMax (); i ++) {% >}

    < %=odiRef.getDataSet (i, "Operator") % >

    Select < % = odiRef.getOption ("OPTIMIZER_HINT") % > < % = odiRef.getPop ("DISTINCT_ROWS") % >

    < %=odiRef.getColList (i,' ', ' [EXPRESSION] \t [column] ", ', \n\tclick","," "(((SCD_NK ou SCD_INS ou SCD_UPD) and!))") ("(TRG) and REW)") % >

    < % if (odiRef.getColList (i,' ","D"," "," ","(SCD_START and REW)") .length ()! = 0) {}

    If (odiRef.getColList (i,"", "[EXPRESSION]", ', \n\tclick ",",","(SCD_START and REW)") .length ()! = 0) {}

    out. Print (odiRef.getColList (i,' ', ' [EXPRESSION] \t [column] ", ', \n\tclick","", "(SCD_START et REW)" "));

    } else {}

    out. Print (odiRef.getColList (i,' ","sysdate",", \n\tclick ', ',', "(SCD_START et REW)" "));

    }

    } % >

    < % if (odiRef.getDataSet (i, "HAS_JRN").equals("1")) {% >}

    JRN_FLAG IND_UPDATE

    < %} else {% >}

    'I' IND_UPDATE

    < %} % >

    < % = odiRef.getFrom (i) % >

    where (1 = 1)

    < % = odiRef.getJoin (i) % >

    < % = odiRef.getFilter (i) % >

    < % = odiRef.getJrnFilter (i) % >

    < % = odiRef.getGrpBy (i) % >

    < % = odiRef.getHaving (i) % >

    < %} % >

    * p

    where does NOT EXIST)

    Select 'x '.

    < % = odiRef.getTable ("L", "TARG_NAME", "A") % > T

    where < %=odiRef.getColList ("","t. [column] \t= s. [column]", "\n\tand\t", "", "SCD_NK") % >

    < %=odiRef.getColList ("and\t", "((S. [column] = T.[COL_NAME]) or (s. [column] IS NULL and t. [column] IS NULL)) ', '\n\t\tand\t', ' ', ' ((SCD_UPD OR SCD_INS) AND REW) AND!" ") TRG AND! SCD_NK") % >

    < %=odiRef.getColList ("and\t", "\t= 1","\nand\t","","SCD_FLAG")% [column] > ")

    < %=odiRef.getColList ("and\t", "[column] \t= to_date ('01 - 01-2400', ' mm-dd-yyyy')","\nand\t","","SCD_END")% >) ")

    )

    Kind regards

    AETL

    Hi aetl,.

    It is an interesting question!

    I think you can get away with it using decode like this: DECODE (col1, col2, 1, 0) = 1

    Decode considers them two nulls as being equal, for the string, numbers and dates.

    So instead of

    where <%=odiRef.getColList("","nvl(to_char(T.[COL_NAME]),'x')\t= nvl(to_char([EXPRESSION]),'x')", "\n\tand\t", "", "SCD_NK")%>
    

    You can try:

    where <%=odiRef.getColList("","decode(to_char(T.[COL_NAME]),to_char([EXPRESSION]),1,0) = 1", "\n\tand\t", "", "SCD_NK")%>
    

    I would like to know if it works.

    Best regards

    JeromeFr

  • Ud1 does not work in ODI 12 c

    Any help about 12 c on UD1 ODI does not.

    When I'm with UK instead of UD1, it is capable of producing the code correctly.  However, when I use UD1, the code happens vacuum as below. Any help please?

    Update < % = odiRef.getTable ("L", "TARG_NAME", "A") % >

    the value < % = odiRef.getColList ("",") [Column] (', '\n\tand\t', ' ', "(UD1)") % > = SYSDATE

    When there is)

    Select 'X '.

    < % = odiRef.getTable ("L", "INT_NAME", "A") % >

    < % = OdiRef.getInfo ("DEST_TAB_ALIAS_WORD") % > I

    where < % = odiRef.getColList ("", odiRef.getTable ("L", "TARG_NAME", "A") +)

    ". ("[Column] \t= i., [column]", '\n\t\tand\t', ' ', 'UK') % >

    and IND_UPDATE = ')

    Update < table_name_edited >

    value = SYSDATE

    When there is)

    Select 'X '.

    of < table_name_edited >

    I have

    where < table_name_edited >. LOC_ID = I.LOC_ID

    and IND_UPDATE = ')

    Need to map the column with a dummy value, then the ODI will use the column.

  • CSV to Oracle - (integration) fails on ORACLE connection target

    Hello

    I'm trying to load data from a csv file into Oracle db by ODI.

    Here are the steps I followed:

    1 created the physical schema FILE

    1 created the physical schema and an Oracle data server in the physical Architecture

    2 - creation and related to logical schemas

    3 created the corresponding data models and the shops

    wheat to display the contents of CSV data and target in ODI table.

    4 - creating the interface, add csv as source and oracle table as the target

    5 used "LKM File to SQL" and "IKM SQL append" (FLOW_CONTROL is false)

    When I run the interface, the session starts while I'm getting the wrror following in operator:

    ODI-1228: ARIBA_G1 (integration) task fails on ORACLE DEV_DW connection target.

    Caused by: java.sql.SQLException: SQL92 no token taken in charge at position: 116

    at oracle.jdbc.driver.OracleSql.handleODBC(OracleSql.java:1319)

    at oracle.jdbc.driver.OracleSql.parse(OracleSql.java:1190)

    at oracle.jdbc.driver.OracleSql.getSql(OracleSql.java:341)

    at oracle.jdbc.driver.OracleSql.getSqlBytes(OracleSql.java:649)

    at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:217)

    at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1079)

    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1466)

    at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3752)

    at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3937)

    at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1535)

    at oracle.odi.runtime.agent.execution.sql.SQLCommand.execute(SQLCommand.java:163)

    at oracle.odi.runtime.agent.execution.sql.SQLExecutor.execute(SQLExecutor.java:102)

    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.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2906)

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

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

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

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

    to oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$ 2.doAction(StartSessRequestProcessor.java:338)

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

    at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:272)

    to oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$ 0 (StartSessRequestProcessor.java:263)

    to oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$ StartSessTask.doExecute (StartSessRequestProcessor.java:822)

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

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

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

    This is the section of Code:

    BeanShell script error: source file: online assessment: "if (odiRef.getUserExit("FLOW_CONTROL").equals("1")) {out.print ("\ninsert int... ": Typed variable declaration: error in calling the method: getDataSetMin() method not found in class 'com.sunopsis.dwg.snpreference.SnpReferenceInterne': line: 25: in file: online assessment:" if (odiRef.getUserExit("FLOW_CONTROL").equals("1")) {out.print ("\ninsert int... (": odiRef .getDataSetMin)
    Info OSB: insert new lines to the line: column 0: columnNo
    If (odiRef.getUserExit("FLOW_CONTROL").equals("1")) {out.print ("\ninsert into\t");
    out. Print (odiRef.GetTable ("L", "TARG_NAME", "A"));
    out. Print ("\n (\n\tclick");
    out. Print (odiRef.getColList ("", "[column] ',' \\n\\t ', ' ', '((INS and!")) (("(TRG) and REW) '));
    out. Print ("\n\tclick");
    out. Print (odiRef.getColList ("," "[column]", ', \\n\\t ', ' ', ' ((INS and TRG) and REW) '));
    out. Print ("\n") \nselect\t");
    out. Print (odiRef.getColList ("", "[column] ',' \\n\\t ', ' ', '((INS and!")) (("(TRG) and REW) '));
    out. Print ("\n\tclick");
    out. Print (odiRef.getColList (","[EXPRESSION]", ', \\n\\t ', ' ', ' ((INS and TRG) and REW) '));
    out. Print ("\nfrom\t");
    out. Print (odiRef.GetTable ("L", "INT_NAME", "A"));
    out. Print ("\n");
    } else {out.print ("\ninsert into\t");
    out. Print (odiRef.GetTable ("L", "TARG_NAME", "A"));
    out. Print ("\n (\n\tclick");
    out. Print (odiRef.getColList ("", "[column] ',' \\n\\t ', ' ', '((INS and!")) (("(TRG) and REW) '));
    out. Print ("\n\tclick");
    out. Print (odiRef.getColList ("," "[column]", ', \\n\\t ', ' ', ' ((INS and TRG) and REW) '));
    out. Print ("\n") \n\nselect\n ");
    out. Print (odiRef.getColList ("", "[column] ',' \\n\\t ', ' ', '((INS and!")) (("(TRG) and REW) '));
    out. Print ("\n");
    out. Print (odiRef.getColList (","[EXPRESSION]", ', \\n\\t ', ' ', ' ((INS and TRG) and REW) '));
    out. Print ("\nFROM (\t\n");
    for (int i = odiRef.getDataSetMin (); i < = odiRef.getDataSetMax (); i ++) {out.print ("\n");
    out. Print (odiRef.getDataSet (i, "Operator"));
    out. Print ("\nselect \t");
    out. Print (odiRef.getPop ("DISTINCT_ROWS"));
    out. Print ("\n\tclick");
    out. Print (odiRef.getColList (i,"", "[EXPRESSION] [column]", ', \\n\\t ', ' ', '((INS and!)) (("(TRG) and REW) '));
    out. Print ("\nfrom\t");
    out. Print (odiRef.getFrom (i));
    out. Print ("\nwhere\t");
    If (odiRef.getDataSet (i, "HAS_JRN").equals("1")) {out.print ("\n\tJRN_FLAG <>has ' \t");}
    } else {out.print("\t(1=1)\t");}
    } out.print ("\n");
    out. Print (odiRef.getJoin (i));
    out. Print ("\n");
    out. Print (odiRef.GetFilter (i));
    out. Print ("\n");
    out. Print (odiRef.getJrnFilter (i));
    out. Print ("\n");
    out. Print (odiRef.getGrpBy (i));
    out. Print ("\n");
    out. Print (odiRef.getHaving (i));
    out. Print ("\n");
    } out.print ("\n)"); "
    out. Print (odiRef.GetInfo ("DEST_TAB_ALIAS_WORD"));
    out. Print ("ODI_GET_FROM\n\n");
    } out.print ("\n");

    ORIGINAL TEXT *.
    < % if (odiRef.getUserExit("FLOW_CONTROL").equals("1")) {% >}
    Insert into < % = odiRef.getTable ("L", "TARG_NAME", "A") % >
    (
    < % = odiRef.getColList ("", "[column] ',' \n\tclick ', ' ', '((INS and!") ("(TRG) and REW)") % >
    < % = odiRef.getColList ("," "[column]", ', \n\tclick ', ' ', ' ((INS and TRG) and REW) ") % >
    )
    Select < % = odiRef.getColList ("", "[column] ',' \n\tclick ', ' ', '((INS and!") ("(TRG) and REW)") % >
    < % = odiRef.getColList (","[EXPRESSION]", ', \n\tclick ', ' ', ' ((INS and TRG) and REW)") % >
    < % = odiRef.getTable ("L", "INT_NAME", "A") % >
    < %} else {% >}
    Insert into < % = odiRef.getTable ("L", "TARG_NAME", "A") % >
    (
    < % = odiRef.getColList ("", "[column] ',' \n\tclick ', ' ', '((INS and!") ("(TRG) and REW)") % >
    < % = odiRef.getColList ("," "[column]", ', \n\tclick ', ' ', ' ((INS and TRG) and REW) ") % >
    )

    Select
    < % = odiRef.getColList ("", "[column] ',' \n\tclick ', ' ', '((INS and!") ("(TRG) and REW)") % >
    < % = odiRef.getColList (","[EXPRESSION]", ', \n\tclick ', ' ', ' ((INS and TRG) and REW)") % >
    DE)
    < % for (int i = odiRef.getDataSetMin (); i < = odiRef.getDataSetMax (); i ++) {% >}
    < %=odiRef.getDataSet (i, "Operator") % >
    Select < % = odiRef.getPop ("DISTINCT_ROWS") % >
    < %=odiRef.getColList (i,"", "[EXPRESSION] [column]", ', \n\tclick ', ' ', '((INS and!) ("(TRG) and REW)") % >
    < % = odiRef.getFrom (i) % >
    where < % if (odiRef.getDataSet (i, "HAS_JRN").equals("1")) {% >}
    JRN_FLAG <>would be "< other %} {% > (1 = 1) < %} % >}"
    < % = odiRef.getJoin (i) % >
    < % = odiRef.getFilter (i) % >
    < % = odiRef.getJrnFilter (i) % >
    < % = odiRef.getGrpBy (i) % >
    < % = odiRef.getHaving (i) % >
    < %} % >
    ) < % = OdiRef.getInfo ("DEST_TAB_ALIAS_WORD") % > ODI_GET_FROM

    < %} % >

    Any suggestions are appreciated.

    Mike

    Hi Sara,.

    No, no error or bad files.

    In fact, the data is moved correctly into the temporary table created by ODI, but not the final target table.

    I discovered the reason if the knowledge modules imported were of another ODI installation!

    I made sure to import the good KM and it worked.

    Thank you!

  • Join CPC IKM (null) problem

    Hi all
    I ve a SCD table. This table contains information of people and people id is PK. When the information of a person changes, new line is inserted and the current flag is updated. But I have a problem with null columns.
    My query checks the difference between source and target colums, it cannot match the null columns. I can solve this problem NVL but I d like to add null null my target table columns columns.

    I use the sub expression to search for a line has changed.



    and NOT EXISTS)
    Select 'x '.
    < % = odiRef.getTable ("L", "TARG_NAME", "A") % > T
    where < %=odiRef.getColList ("","t. [column] \t= [EXPRESSION]", "\n\tand\t", "", "SCD_NK") % >
    < %=odiRef.getColList ("and\t", "(([EXPRESSION] = t. [COL_NAME]))", "\n\t\tand\t", "", "((SCD_UPD OR SCD_INS) AND REW) AND!" ") TRG AND! SCD_NK") % >
    < %=odiRef.getColList ("and\t", "\t= 1","\nand\t","","SCD_FLAG")% [column] > ")
    < %=odiRef.getColList ("and\t", "[column] \t= to_date ('01 - 01-2400', ' mm-dd-yyyy')","\nand\t","","SCD_END")% >) ")
    )


    How can I convert all nvl and char data types in this expression to a match between the columns.
    (IE nvl (to_char (targetcolumn1), '-1') = nvl (to_char (sourcecolumn1), '-1'))


    All the expression:


    Insert / * + APPEND * / into < % = odiRef.getTable ("L", "INT_NAME", "A") % >
    (
    < % = odiRef.getColList ("", "[column] ',' \n\tclick ', ','" (((SCD_NK ou SCD_INS ou SCD_UPD) and!)) "") TRG))') % >
    < % = odiRef.getColList ("", "[column] ',' \n\tclick ', ',',"(SCD_START)"") % >
    IND_UPDATE
    )
    < % / * QUERY WITHOUT GROUPBY * / if (odiRef.getGrpBy () .length () == 0) {% >}
    Select < % = odiRef.getOption ("OPTIMIZER_HINT") % > < % = odiRef.getPop ("DISTINCT_ROWS") % >
    < % = odiRef.getColList ("", "[EXPRESSION] ',' \n\tclick ', ','" (((SCD_NK ou SCD_INS ou SCD_UPD) and!)) "") TRG))') % >
    < % if (odiRef.getColList ("", "D", "", "", "(SCD_START)" "). length()!) = 0) {}
    If (odiRef.getColList ("", "[EXPRESSION] ',' \n\tclick ', ',', '(SCD_START)'"). length()!) = 0) {}
    out. Print (odiRef.getColList ("", "[EXPRESSION] ',' \n\tclick ', ',',"(SCD_START)""));
    } else {}
    out. Print (odiRef.getColList ("", "sysdate ',' \n\tclick ', ',',"(SCD_START)""));
    }
    } % >
    < % if (odiRef.getPop("HAS_JRN").equals("0")) {% >}
    'I' IND_UPDATE
    < %} else {% >}
    JRN_FLAG
    < %} % >
    < % = odiRef.getFrom () % >
    where (1 = 1)
    < % = odiRef.getJoin () % >
    < % = odiRef.getFilter () % >
    < % = odiRef.getJrnFilter () % >
    and NOT EXISTS)
    Select 'x '.
    < % = odiRef.getTable ("L", "TARG_NAME", "A") % > T
    where < %=odiRef.getColList ("","t. [column] \t= [EXPRESSION]", "\n\tand\t", "", "SCD_NK") % >
    < %=odiRef.getColList ("and\t", "(([EXPRESSION] = t. [COL_NAME]))", "\n\t\tand\t", "", "((SCD_UPD OR SCD_INS) AND REW) AND!" ") TRG AND! SCD_NK") % >
    < %=odiRef.getColList ("and\t", "\t= 1","\nand\t","","SCD_FLAG")% [column] > ")
    < %=odiRef.getColList ("and\t", "[column] \t= to_date ('01 - 01-2400', ' mm-dd-yyyy')","\nand\t","","SCD_END")% >) ")
    )
    < %}; % >
    < % / * If GROUPBY IS USED (s) * / if (odiRef.getGrpBy () .length () > 0) {% >}
    Select *.
    de)
    Select < % = odiRef.getOption ("OPTIMIZER_HINT") % > < % = odiRef.getPop ("DISTINCT_ROWS") % >
    < % = odiRef.getColList ("", "[EXPRESSION] ',' \n\tclick ', ','" (((SCD_NK ou SCD_INS ou SCD_UPD) and!)) "") ("(TRG) and REW)") % >
    < % if (odiRef.getColList ("", "D", "", "", "(SCD_START and REW)" ") .length ()! = 0) {}
    If (odiRef.getColList ("", "[EXPRESSION] ',' \n\tclick", ",", "(SCD_START and REW)" ") .length ()! = 0) {}
    out. Print (odiRef.getColList ("", "[EXPRESSION] ',' \n\tclick ', ',',"(SCD_START et REW) '));
    } else {}
    out. Print (odiRef.getColList ("", "sysdate ',' \n\tclick ', ',',"(SCD_START et REW) '));
    }
    } % >
    < % if (odiRef.getPop("HAS_JRN").equals("0")) {% >}
    'I' IND_UPDATE
    < %} else {% >}
    JRN_FLAG
    < %} % >
    < % = odiRef.getFrom () % >
    where (1 = 1)
    < % = odiRef.getJoin () % >
    < % = odiRef.getFilter () % >
    < % = odiRef.getJrnFilter () % >
    < % = odiRef.getGrpBy () % >
    < % = odiRef.getHaving () % >
    ) S
    where does NOT EXIST)
    Select 'x '.
    < % = odiRef.getTable ("L", "TARG_NAME", "A") % > T
    where < %=odiRef.getColList ("","t. [column] \t= [EXPRESSION]", "\n\tand\t", "", "SCD_NK") % >
    < %=odiRef.getColList ("and\t", "(([EXPRESSION] = t. [COL_NAME]))", "\n\t\tand\t", "", "((SCD_UPD OR SCD_INS) AND REW) AND!" ") TRG AND! SCD_NK") % >
    < %=odiRef.getColList ("and\t", "\t= 1","\nand\t","","SCD_FLAG")% [column] > ")
    < %=odiRef.getColList ("and\t", "[column] \t= to_date ('01 - 01-2400', ' mm-dd-yyyy')","\nand\t","","SCD_END")% >) ")
    )
    < %}; % >


    THX.

    >

    How can I convert all nvl and char data types in this expression to a match between the columns.
    (IE nvl (to_char (targetcolumn1), '-1') = nvl (to_char (sourcecolumn1), '-1'))

    Just wrap a Column / EXPRESSION strands according to your example in your message:
    Like this:

    where< %="odiRef.getColList" ("nvl="" «, »="" (to_char="" (t.="" [column]),="" « x »)="" \t="nvl(to_char([EXPRESSION]),'x') »," « \n\tand\t »,="" « »,="" « scd_nk »)="" %="">

    continue for the rest of the where clause.

  • Interface - value in the target field change on insert/update

    Hello

    For an interface, I use the module knowledge - incremental update of the IKM Oracle.

    He is running in insert / update of fashion.

    In the target of the interface table, there is a the target field (column) that I want to give a value based on exploitation.

    If the file is new and inserted into the target table - the field in the record should get the value "INSERT".

    -Similarly, if an existing record in the target table is updated - the field of the record should get the value "UPDATE".

    Any ideas on how you can do it?

    Thank you.

    You just need to customize your KM. Its can be done in many ways. Here is one approach.
    Change the existing lines of your update. Then change as below. But make you your own customization without hard coding.
    Here is codes, the fraction of the total code used in the KM steps.

    ){"?>(
         <%=odiRef.getColList("", "T.[COL_NAME]", ",\n\t", "", "((UPD AND (NOT UK) AND (NOT TRG)) AND REW)")%>
    *, COL_FLAG. *
    ) =
    (
    Select < %="odiRef.getColList" ("«,="" « s.="" [column] », »,="" \n\t\t\t »,="" « »,="" « ((upd="" et="" (pas="" uk)="" et="" (pas="" trg))="" et="" rew) »)="" %=""> *, "UPDATE."
    of< %="odiRef.getTable" ("l",="" "int_name",="" "w")="" %="" >="">
    where< %="odiRef.getColList" ("",="" "t.="" [column]="S." [column]",="" "\n\t\tand\t",="" "",="" "uk")="" %="">
    )

    Similarly for new lines inserted

    insert into <%=odiRef.getTable("L","TARG_NAME","A")%> T
    (
         <%=odiRef.getColList("", "[COL_NAME]", ",\n\t", "", "((INS AND (NOT TRG)) AND REW)")%>
         <%=odiRef.getColList(odiRef.getColList(",", " ", "", "", "((INS and !TRG) and REW)"), "[COL_NAME]", ",\n\t", "", "((INS AND TRG) AND REW)")%>
    *, COL_FLAG. *
    )
    Select< %="odiRef.getColList" (" »,="" « [column]="" «, »="" \n\t »,="" « »,="" « ((ins="" et="" (pas="" trg))="" et="" rew) »)="" %="">
    < %="odiRef.getColList" (odiref.getcollist="" («, »,="" "«,="" « »,="" « »,="" « ((ins="" and !="" trg)="" et="" rew) »),="" « [expression]="" «, »="" \n\t »,="" « »,="" « ((ins="" and="" trg)="" et="" rew) »)="" %="">*, "INSERT."

    of <%=odiRef.getTable("L","INT_NAME","W")%> S

    It should work. Your target must have the column as "COL_FLAG" and do nothing for this column in the map interface.
    Thank you

  • odiRef.getColList ("", "[column]", ",", "", "UK") can not get column names

    creating index < %=odiRef.getTable("L",_"INT_NAME",_"W").replaceAll ((char) 34+"\Q%INT_PRF"+odiRef.getInfo("TARG_NAME") + \E "" + (char) 34, (char)34+"%INT_PRF"+odiRef.getInfo("TARG_NAME")+"_IDX"+(char)34) % >
    on < % = odiRef.getTable ("L", "INT_NAME", "W") % > (< % = odiRef.getColList ("", "[column]", ",", "", "UK") % >)
    < % = odiRef.getUserExit ("FLOW_TABLE_OPTIONS") % >

    Copy the following code generates this sql:

    creating index ODI_DEV. I _TARGET_TABLE_IDX $
    on ODI_DEV. I HAVE$ _TARGET_TABLE)
    NOLOGGING


    you see, that there is no column name after statement...
    I have no problems with other functions of the odi...

    What is the problem you think?

    Yes... Otherwise, the column list will be empty for the create index statement

Maybe you are looking for

  • paper loads of pages, then freezes

    all of a sudden, my copy of pages does not load a document that I worked before I use the pages.  It opens then the spinning wheel is displayed and I have no other alternative but to force exit pages.  Does not happen when I send it to my version of

  • installation of WMP11 on windows media center 2002 problem

    I tried to install Windows media player 11 ((WMP11) WMP11) on windows XP media center edition 2002 worm, pass program copy of windows validation and display the following message: "Installation cannot continue, one or more of the following problems h

  • View and edit the photos.

    I have win 7. New user! In Win xp there were two Microsoft Photo viewers.  The one who allowed you to see and rotate and delete. The other works in the same way, but you clicked on FIX the top and right side open with different mounting possibilities

  • Ranging from 32-bit to Windows 7 pro 64, how disk partitions will react?

    Hello I have a 250 GB hard drive, 2 partitions on it: C:\ for programs, installation and user of the files, with windows 7 Pro 32-bit installed on it. The other partition D:\ is for files (music, photos, documents, etc.). Those who are not two separa

  • BlackBerry Smartphones BBMessenger and my refurbished phone!

    Hello. I just got my "new" refurbished manufacturer phone to replace my old, who out crapped on me. I reinforced my phone, transfer all files on my new phone and was able to install all my old applications (facebook, MSN, WeatherEye, etc.) but for th