ODI SNP tables

Which of the SNP tables do hold data for the filters applied on the Source Datastore? If possible please mention the column names too.
Which of the SNP tables do hold data for the column expressions(e.g. case when/decode etc.) for the target datastore ? If possible please mention the column names too.

Rashmik wrote:
Which of the SNP tables do hold data for the filters applied on the Source Datastore? If possible please mention the column names too.
select txt from odi_work.snp_txt where i_txt in
(select i_txt_sql from odi_work.SNP_POP_CLAUSE where i_pop=<your interface id> and clause_type=3);
Which of the SNP tables do hold data for the column expressions(e.g. case when/decode etc.) for the target datastore ? If possible please mention the column names too.select txt from odi_work.snp_txt where i_txt in
(select i_txt_map from odi_work.SNP_POP_Col where i_pop==<your interface id> )

Similar Messages

  • ODI SNP_EXP_TXT table empty

    Hello,
    I am using ODI 11.1.1.6.3_GENERIC_120508.0956, with Oracle DB, Oracle Database 11g Enterprise Edition Release 11.2.0.3.0.
    I am trying to get the error messages in my database, and from what I read from documentation and the Web, the best way is to use metadata ODI SNP tables.
    Specifically, to get the error message, the SNP_EXP_TXT table.
    Now, I am running my package from the Production environment, and when it finishes, the SNP_EXP_TXT table is empty.
    However,  the SNP_SESSION, SNP_STEP_LOG, SNP_SESS_TASK and others similar are all full.
    Also, I noticed that all tables containing TXT in the name are empty, besides SNP_EXP_TXT_HEADER.
    Does anyone have any idea why the SNP_EXP_TXT table is empty? Is there any good documentation on these tables I can find answer in?
    Thanks!

    I have overcome this issue by using the SNP_STEP_LOG table, which has the error message in the  ERROR MESSAGE (CLOB) column, by using a dbms substring function.
    But I would still like to know why the SNP_EXP_TXT is not populated.
    If  anyone has any insight, it would be much appreciated.

  • To Find out Source datastore in ODI interfaces using SNP tables

    Hi,
    Could you please let me know how to find out Source datastore(s) in ODI interfaces using SNP tables ?
    Regards,
    Rashmik

    Please use below query...Just pass the interface name..
    SELECT C.TABLE_NAME AS "Target Table Name",
         A.COL_NAME AS "Target Field Name",
         Wm_Concat(G.SOURCE_DT) AS "Target Data Type",
         Wm_Concat(G.LONGC) AS "Target Data Length",
         Wm_Concat(TXT) AS "Transformation Rule",
         Wm_Concat(DISTINCT F.TABLE_NAME) AS "Source Table Name",
         Wm_Concat(D.COL_NAME) AS "Source Field Name",
         Wm_Concat(D.SOURCE_DT) AS "Source Data Type",
         Wm_Concat(D.LONGC) AS "Source Data Length"
    FROM
         SNP_POP_COL A JOIN SNP_TXT_CROSSR B ON A.I_TXT_MAP=B.I_TXT
         JOIN SNP_POP C ON A.I_POP=C.I_POP
         JOIN SNP_TXT E ON A.I_TXT_MAP=E.I_TXT AND B.I_TXT=E.I_TXT
         LEFT OUTER JOIN SNP_COL D ON B.I_COL=D.I_COL
         LEFT OUTER JOIN SNP_TABLE F ON F.I_TABLE= D.I_TABLE
         LEFT JOIN SNP_COL G ON A.I_COL=G.I_COL
    WHERE POP_NAME = 'XXXXXXX'
    GROUP BY C.TABLE_NAME,A.COL_NAME ORDER BY 1
    Edited by: KaushikPatel on Apr 18, 2013 6:52 AM

  • Number of SNP tables created during master and work repository creation

    Hi All,
    I would like to know how many SNP tables are created during Master and work repository creation in
    10.1.3.5 v as I remember it was around 147 in earlier version .
    Any help will be appreciated
    regards,
    Palash Chatterjee

    Hi Palash ,
    ODI master repository have 58 SNP tables
    where as work repository have 88 SNP tables
    So in total 146 SNP tables are created during Master and work repository creation in
    10.1.3.5 .
    Thanks,
    Sutirtha

  • Odi-REV tables

    hii
    I have done some reverse engineering ,in the work/master repository "SNP_REV_FOR_TABLE" contains the list of tables reverse engineered.What does "IND_REV" column in that table mean??
    My all other "SNP_REV%" tables are empty.
    What information gets populated into them
    Is there any document ,which gives information on SNP tables,as to what gets stored in them??

    Hello,
    I think this is not possible since this temporary interface can be the source of several interface, so it can't be dropped : http://askankit.blogspot.com/2011/04/when-temporary-is-not-temporary.html
    But you can call a procedure at the end of your package execution to drop all temporary tables.
    Alternatively, you can use temporary interfaces as Derived table (sub-select). See second part of this article : http://www.rittmanmead.com/2011/06/odi-11g-new-mapping-and-interface-features-part-1 .
    Regards

  • Need help on ODI error table

    Hi all,
    I need to know following things
    1) I have created open few tools and if business validation fails it throws OpenToolExecutionException with some error code now I want to check in which SNP_ table it goes and how cud I track my error info.
    2)
    In other way where these error messages are stored when any scenario execution fails.
    snp_sess_task_log and SNP_STEP_LOG and SNP_SESS_STEP all are having
    one entry I_TXT_TASK_MESS in which table these messages are present
    3)
    Please let me know the names of scenario execution error tracking tables so that I can used them for notification purpose when any scenario fails.
    3)
    I want to know how operator showing this error code as I have inserted
    oracle.odi.sdk.opentools.OpenToolExecutionException: 5000
         at com.nucleus.acom.odi.opentool.tool.OdiProductTransferOpenTool.callOracleSP(OdiProductTransferOpenTool.java:240)
         at com.nucleus.acom.odi.opentool.tool.OdiProductTransferOpenTool.execute(OdiProductTransferOpenTool.java:124)
         at com.sunopsis.dwg.function.SnpsOpenToolFunction.actionExecute(SnpsOpenToolFunction.java)
         at com.sunopsis.dwg.function.SnpsOpenToolFunction.execute(SnpsOpenToolFunction.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execIntegratedFunction(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlS.treatTaskTrt(SnpSessTaskSqlS.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.i(e.java)
         at com.sunopsis.dwg.cmd.h.y(h.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Thread.java:595)

    Hi Santos,
    Is it possible to use the same in OpenTool as I am invoking these steps one by one using invocation API.
    So in that case I wrote a java class as a controller and few Open Tool .
    * Condition is like we are executing steps one by one from that controller class .
    if the previous step caused exception then I use to stop all the other steps those are the successor of the same.
    * Open tool may throw some OpenToolExecutionException which depends on some businees validation and also some common java exception .
    how to use this API odiRef.getPrevStepLog() in my java code and where.
    could you please send me code for that one
    regards,
    palash Chatterjee

  • Odi-target table-primary key

    hi,
    is it compulsory to have a primary key constraint in the target table in odi.
    Can we have a target table without any primary key constraint?

    Hi,
    Yes u can have target table without PK.
    Only for IKM Incremental Update u need to define Update key (which may not be persist in back end). For IKM Control append u no need to have PK defined.
    Thanks,
    Guru

  • ODI E$ tables

    Hi All,
    Suppose in production any support person need to digging in ODI problems.
    E$ tables provided by ODI which will show error records.
    How we can grant the E$ table access to production support.
    As soon as table will be created by ODI grnrates public access for the tables.
    Will this requires KM changes.
    Plz suggest.
    Thanks a lot for your help.
    Sandeep

    Iam working on it
    I will let you know after i finished it
    Thanks guru
    Ram Kumar Lanke
    www.odiguru.com

  • ODI: Using Table Name in Dynamic filters

    We have a requirement, where the filters have to be dynamically generated and applied on the source system data stores.
    The requirement can be best explained by the below example.
    I have EMPLOYEE and DEPARTMENT table as the source datastores and EMP_DEPT (flat table) as the target datastore.
    The filter condition will be updated now and then by the admin in a table. They would like to run the integration interface with the condition mentioned in the table.
    Metadata table and sample data: (DY_FILTERS)
    TABLE_NAME | INTERFACE_NAME | CONDITION
    EMPLOYEE | EMP_DEPT | EMPLOYEE.EMPLOYEE_NAME LIKE 'A%'
    DEPARTMENT | EMP_DEPT | DEPARTMENT.DEPARTMENT_ID = 10
    So now the interface has to run with the conditions 'EMPLOYEE.EMPLOYEE_NAME LIKE 'A%' and DEPARTMENT.DEPARTMENT_ID = 10.
    To achieve, the best possible solution I can think of is, I have defined a variable for the dynamic filter and under the refresh section and I am planning to use the following query:
    SELECT CONDITION FROM DY_FILTERS WHERE INTERFACE_NAME = <%=odiRef.getPop("POP_NAME")%> AND
    TABLE_NAME = ***************.
    I was able to pick the interface that is currently involved by using getPop() method where as I dont have clue for getting the table name.
    Please share with me, if you have answer. Also if you have any other way to achieve this, please share the same.
    Note: The actual scenario is more complex than the example given above. But the crux of the requirement is very well covered in the example.
    Edited by: 986046 on Feb 14, 2013 2:06 PM

    Hi,
    If you've only one source datastore in your interface, you can retrieve it's name with <%=odiRef.getSrcTablesList("[RES_NAME]", "")%>.
    If you have more than one source it will list all you sources.
    However I can't see when you plan to refresh your variable. getSrcTablesList won't work before/after the interface execution.
    Regards,
    JeromeFr

  • ODI Error Table and Error Message (Oracle CKM) & Max number of errors

    Greetings,
    i am two questions that i hope you can give me some hints.
    -> Within an ODI Interface, while on tab 'verifications' i choose 100% of maximum allowed errors (pressing checbox % and typing 100), this does not allows errors at all, Instead, i see in Operator that the Interface failed because it reached the maximum allowed errors.
    -> The tricky one: I was looking in Oracle CKM, and i cannot find any information about where odiref.getFK("MESS") is contructed. Is the output of this method call changeable? Where this Error Message is build and how can i customize it?
    Thanks for your help,
    Best regards

    Hi avin,
    -> Within an ODI Interface, while on tab 'verifications' i choose 100% of maximum allowed errors (pressing checbox % and typing 100), this does not allows errors at all, Instead, i see in Operator that the Interface failed because it reached the maximum allowed errors.
    Ans: Problem is with interface execution got error out but not for reached the maximum allowed errors, for your clarification can you please delete old session error from operator and try to execute interface, (Expected result may be error out session in operator but not for reached maximum allowed errors)
    -> The tricky one: I was looking in Oracle CKM, and i cannot find any information about where odiref.getFK("MESS") is contructed. Is the output of this method call changeable? Where this Error Message is build and how can i customize it?
    Ans: http://gerardnico.com/doc/odi/webhelp/en/ref_api/getfk.html --> will give detail info on odiref.getFK()
    Note: For more details, please go thru the URL: http://www.groenenberg.nu/Oracle_Doc/AS_11.1.1.5/integrate.1111/e12645.pdf :)
    Regards,
    Phanikanth

  • ODI & Interface tables

    Hi,
    I'm having trouble with the scheduler, when I schedule the import of the metadata into the hyperion interface tables the scheduler brings in only one record. But when I execute manually it imports all the record.
    Is there anything I'm missing?
    Any help will be verymuch appreciated.
    Thanks

    Here's an SQL query to display the list of INTERFACES that are in a PACKAGE, with the target datastore and its logical schema :
    Replace odi_work by your own work schema :
    select
    projet.project_code as Projet_Code,
    dossier.folder_name as Folder,
    pack.pack_name as Package,
    etape.nno as Step_Number,
    interf.pop_name as Interface ,
    interf.lschema_name as Target_Logical_Schema,
    target.res_name as Target_Table
    FROM
    odi_work.SNP_PACKAGE Pack
    inner join odi_work.SNP_FOLDER dossier on dossier.i_folder = pack.i_folder
    inner join odi_work.SNP_PROJECT projet on projet.i_project = dossier.i_project
    inner join odi_work.SNP_STEP etape on etape.i_package = pack.i_package
    inner join odi_work.snp_pop interf on interf.i_pop = etape.i_pop
    inner join odi_work.snp_table target on target.i_table = interf.i_table
    Where 1=1
    and pack.pack_name = 'name of package'
    order by
    projet.project_code,dossier.folder_name,pack.pack_name , etape.nno

  • Which SNP table store information about LoadPlan and scenario within it.(parallel or serial)

    I've to query when I save my loadPlan for and scenario within it along with information how those scenario execute either parallel or serial.
    Fetch information even before they start.
    Also can Two scenario or LoadPlan have same name in single work repository.

    You can get the information from repository documentation on oracle support - https://support.oracle.com/epmos/faces/DocumentDisplay?id=1903225
    Names must be unique for load plans, same for scenarios although they can be versioned.

  • Table changes in database are not captured in ODI model level

    Hi All,
    Can any one help me how to fix the bug in ODI.
    Table changes in database are not captured in ODI model level.
    Thanks in advance

    I created the interface which is running successfully.
    Now i did some changes in target table(data base level).
    I reversed the updated table in model section. Till here its ok
    The table which is updated in the model section is not automatically updated in the interface.
    I have to drop the existed datastore in the interface and and re do the entire process of bringing the updated datastore, mapping,etc..
    Please tell the any alternate way.
    Regards
    suresh

  • How to convert microsoft excel to odi table

    I have data in Microsoft excel file and i want that data in odi in table format. how can i get it?

    Refer
    http://bhabaniranjan.com/microsoft-excel-as-a-source-and-a-target-as-oracle-in-odi-11-1-1-6/
    Thanks

  • How to avoid Sequence Gapping in ODI Interface

    I have an employee table and a job map table in oracle based on the employee type/group and job type/group I need to pick up the sequence, generate id
    and update employee id of employee table using ODI
    employee table job table
    name type group id type group sequencename seqmin seqmax
    pat 1 1 1 1 seq1 1 10
    dan 1 2 1 2 seq2 30 40
    john 1 3 1 3 seq3 20 100
    when I select the sequence using if condition or case statement or decode and call the sequence <%=snpRef.getObjectName( "L" , "My_SEQ" , "D" )%>.nextval
    the sequences are creating gaps for every call.as the sequence is incrementing internally for every wrong mapping. How should I get rid of these gaps.
    In oracle database we call functions in the case condition.These functions consists of the seq.nextval code and the unwanted incremental gapping is avoided.
    But in the case of ODI how can we get this.
    Thanks,
    Vikram

    I am facing this issue when I execute on the source or staging area.When I try toexecute on the target,the ODI
    doesn't allow me to execute and gives the following warning
    "A mapping executed on the target cannot reference source columns. Move this mapping on the source or the staging area.     Target Column Employeeid"
    In my case I am using IKM Oracle Incremental update
    the source datastore is employee table, job table and target is copy of employee table(as i need to update the employee id column with sequence numbers by picking the right sequence from job table,sequence name column)

Maybe you are looking for