How to use generic action in ODI?

I create new Action (Topology.Generic Action), for example, "DELETE TABLE", that contains 1. <%=odiRef.disableReferringFKs( )%> and 2. DELETE FROM ...
If I want to perform this Action for any table before load data, what must I do?
Where can I perform this in ODI? May be in Packages or in "Generic DDL" for model?
I couldn't find this information((

Hi Pani,
my experience is that you can best use a procedure to do table deletions on either your source, staging or target schema.
view the oracle users guide / reference guide for details.
Where to perform? In the designer, create a project, open the first folder and there you'll find the procedures.
Right click it and insert a procedure. But again, check the docs, which I believe are delivered with your installation.
By the way, you can add the procedure in a package to have it executed before any other steps start.
Good luck!
Rudy Oosterling
Edited by: user10081313 on 21-jan-2010 7:54

Similar Messages

  • How to use same actions for differ pop-up

    Hi gurus,
    I am using 2 popup in a view.same popup's having same buttons 'Yes', 'No'.when i use 1st one i have to create an action for that Yes button where i put my code for that particular Action.
    But when i used 2nd one the action define for that is not acceptable with differ name.it takes only standard one.
    Now my Query is : How to use same actions for differ pop-up buttons with in a similar view?Where i put my code.
    Plz sugges me.
    <b>Points will be sured.</b>
    Sanket sethi

    Hi,
    Take one integer value attribute in the context of view
    when you r performing action on POP1 set it's value to 1
    when you r performing action on POP2 set it's value to 2
    create one method which receives integer argument, say diaplay(int a)
    In the action call display(wdContext.currentContextElement().get<intvariable>()) by passing the value in the context attribute
    in display() method, Check the value of integer variable..
    if it is 1 then perform action related to POP1
    if it is 2 then perform action related to POP2
    Regards
    LakshmiNarayana

  • How to use same actions for differ pop-up buttons

    Hi gurus,
    I am using 2 popup in a view.same popup's having same buttons 'Yes', 'No'.when i use 1st one i have to create an action for that Yes button where i put my code for that particular Action.
    But when i used 2nd one the action define for that is not acceptable with differ name.it takes only standard one.
    Now my Query is : How to use same actions for differ pop-up buttons with in a similar view?Where i put my code.
    Plz sugges me.
    <b>Points will be sured.</b>
    Sanket sethi

    Hi ,
    u can use the method SUBSCRIBE_TO_BUTTON_EVENT of the IF_WD_WINDOW interface ... to handle the event fired by the popup .....used this method after creating the popup window ...
    regards
    Yash

  • How to use GROUP BY  in ODI

    how to use GROUP BY in ODI tool

    Hi ,
    you can combine the insert stamt with the select ....so that in the target u will get a single line .....
    SQL&gt; select * from prop_details;
    PROPERTY RELAVANTD NOTICES
    10100 25-JAN-09 30
    10100 03-JAN-09 30
    10100 02-DEC-08 20
    10100 01-DEC-08 10
    10100 31-DEC-08 20
    10101 10-JAN-09 10
    10101 20-JAN-07 15
    10101 30-DEC-08 45
    10101 20-FEB-08 35
    10101 31-JAN-09 25
    10 rows selected.
    SQL&gt; select PROPERTY,max(RELAVANTDATE),SUM(NOTICES) from PROP_DETAILS GROUP BY P
    ROPERTY;
    PROPERTY MAX(RELAV SUM(NOTICES)
    10101 31-JAN-09 130
    10100 25-JAN-09 110
    SQL&gt;

  • How to use the action OnExpandAll on UI element Tree

    Hi, experts .
    I am in WDA developing project and developing the screen which has Tree .
    I want to expand all nodes when users click the button on the head of Tree .
    I copied the application `WDT_TREE` and created Tree of my application successfully .
    And I created the action OnExpandAll on my Tree and tried to create the function to expand all nodes .
    But I do not know how to use the action OnExpandAll .
    I can see the button to start action OnExpandAll on the head of Tree .
    I am trying to write logic in the action . But it does not work successfully .
    (In my tree , when I click the button for OnExpandAll , all nodes are outputted on root node .
    Because my logic is wrong ... )
    Please give me any hints .
    Masao

    Hi
    As your case it is a recursive node.
    then you have to create method and call it recursively for the expanall functionality.
    do it like this.
    create an attribute the node FOLDER
    name = 'ISEXPANDED'
    type = WDY_BOOLEAN.
    Now bind the property expanded of treenode FOLDER UI to this attribute.
    now go to the methods tab and create one method say name ZEXPANDALL.
    in thsi method make one importing parameter of type ( type ref to ) if_wd_context_node. and name NODE.
    then write the following code in this method.
    method ZEXPANDALL .
    DATA ELT TYPE WDR_CONTEXT_ELEMENT_SET.
    DATA EL TYPE REF TO IF_WD_CONTEXT_ELEMENT.
    data nd type ref to if_wd_context_node.
    data nds type WDR_CONTEXT_CHILD_MAP.
    data chld type wdr_context_child.
    data nf type ref to if_wd_context_node_info.
    data name type string.
    ELT = node->GET_ELEMENTS( ).
    LOOP AT ELT INTO EL.
      EL->SET_ATTRIBUTE(
      NAME = 'ISEXPANDED'
      VALUE = ABAP_TRUE
      data parent_key type string.
    EL->get_attribute( exporting name = 'TEXT' importing value
    = parent_key ).
    * create the child nodes
        create_node(
          exporting
            cur_element = EL
            parent_key  = parent_key ).
    nds = el->get_child_nodes( ).
    loop at nds into chld.
      nd ?= chld-node.
      nf = nd->get_node_info( ).
    name  = nf->get_name( ).
    if name eq 'FOLDER'.
      zexpandall(                             "recursive call
      nd
    endif.
      endloop.
      ENDLOOP.
    endmethod.
    NOw go to your eventhandler created for action expandall.
    there write the following code.
    method ONACTIONEXPANDALL .
    DATA lo_nd TYPE REF TO if_wd_context_node.
      lo_nd = wd_context->get_child_node( 'FOLDER' ).
      ZEXPANDALL( lo_nd ).
    endmethod.
    thats it.
    Thanks
    sarbjeet singh

  • How to use Report Action.?

    How to use Report Action in OSB?
    How to Report the messages in the database of a system?
    I already have done RCU installation.
    IN RCU we know how to mention schema names but how to mention correct tablename where Reports gets stored is still a grey area..
    Kindly,Suggest
    Aryashree......

    Please refer -
    http://docs.oracle.com/cd/E21764_01/doc.1111/e15867/reporting.htm
    http://jvzoggel.wordpress.com/2012/01/18/osb_tracing_report_action/
    Regards,
    Anuj

  • How to use Generic Object Services(GOS) for each table control record.

    Dear Expert,
                       I am using generic object services for document attachment but i am facing a problem while attaching document to a table control row. my requirement is to attach separate document for each and every row of table control but  i am unable to attach document row wise of the table control.for each row GOS should display corresponding attached document not all the attached document.
    Thanks in Advanced
    Bhuwan Tiwari
    Edited by: BHUWAN TIWARI on Feb 8, 2011 4:16 PM
    Edited by: BHUWAN TIWARI on Feb 8, 2011 4:16 PM

    You haven't explained what object and object key you're using, nor have you provided any indication of how you implemented the GOS attachment functionality.  You need to provide more information to resolve an issue like this.

  • How to use dual table in ODI in source side for nested queries?

    Hi,
    Any idea how to use dual table in source for more than once. I want to build a ODI interface for the following source query
    SELECT ACTV_TYP.ACTV_TYP_SRC_CD, ACTV_TYP.ACTV_TYP, PORT_ACTV_TYP.PORT_ACTV_TYP_SRC_CD, PORT_ACTV_TYP.PORT_ACTV_TYP, SFT_DLT_STS.SFT_DLT_STS_SRC_CD, SFT_DLT_STS.SFT_DLT_STS
    FROM
    SELECT LOW_VALUE PORT_ACTV_TYP_SRC_CD, MEANING PORT_ACTV_TYP
    FROM CUSTOMS.DOMAIN_ALLOW_COLUMNS_VALUES
    WHERE TABLE_NAME = 'BRKR_PORTS'
    AND COLUMN_NAME = 'WORK_PORT_TYPE') PORT_ACTV_TYP,
    (SELECT LOW_VALUE SFT_DLT_STS_SRC_CD, MEANING SFT_DLT_STS
    FROM CUSTOMS.DOMAIN_ALLOW_COLUMNS_VALUES
    WHERE TABLE_NAME = 'BANKS'
    AND COLUMN_NAME = 'REC_STATUS') SFT_DLT_STS,
    (SELECT 1 ACTV_TYP_SRC_CD, '?????' ACTV_TYP FROM DUAL
    UNION ALL
    SELECT 2 ACTV_TYP_SRC_CD, '???????' ACTV_TYP FROM DUAL) ACTV_TYP
    Regards

    If the below query is equivalent , it seems you don't need dual table at all , just default the values in the interface.
    You are using dual tables to populate values ACTV_TYP.ACTV_TYP_SRC_CD, ACTV_TYP.ACTV_TYP values. Look at your query in the following manner :
    SELECT '1', '?????', PORT_ACTV_TYP.PORT_ACTV_TYP_SRC_CD, PORT_ACTV_TYP.PORT_ACTV_TYP, SFT_DLT_STS.SFT_DLT_STS_SRC_CD, SFT_DLT_STS.SFT_DLT_STS
    FROM
    SELECT LOW_VALUE PORT_ACTV_TYP_SRC_CD, MEANING PORT_ACTV_TYP
    FROM CUSTOMS.DOMAIN_ALLOW_COLUMNS_VALUES
    WHERE TABLE_NAME = 'BRKR_PORTS'
    AND COLUMN_NAME = 'WORK_PORT_TYPE') PORT_ACTV_TYP,
    (SELECT LOW_VALUE SFT_DLT_STS_SRC_CD, MEANING SFT_DLT_STS
    FROM CUSTOMS.DOMAIN_ALLOW_COLUMNS_VALUES
    WHERE TABLE_NAME = 'BANKS'
    AND COLUMN_NAME = 'REC_STATUS') SFT_DLT_STS
    UNION
    SELECT 2 , '??????', PORT_ACTV_TYP.PORT_ACTV_TYP_SRC_CD, PORT_ACTV_TYP.PORT_ACTV_TYP, SFT_DLT_STS.SFT_DLT_STS_SRC_CD, SFT_DLT_STS.SFT_DLT_STS
    FROM
    SELECT LOW_VALUE PORT_ACTV_TYP_SRC_CD, MEANING PORT_ACTV_TYP
    FROM CUSTOMS.DOMAIN_ALLOW_COLUMNS_VALUES
    WHERE TABLE_NAME = 'BRKR_PORTS'
    AND COLUMN_NAME = 'WORK_PORT_TYPE') PORT_ACTV_TYP,
    (SELECT LOW_VALUE SFT_DLT_STS_SRC_CD, MEANING SFT_DLT_STS
    FROM CUSTOMS.DOMAIN_ALLOW_COLUMNS_VALUES
    WHERE TABLE_NAME = 'BANKS'
    AND COLUMN_NAME = 'REC_STATUS') SFT_DLT_STS
    Now you can use dataset to make UNION.

  • How to use "Insert action"

    Hi, experts:
      I am facing one problem.
      I try to use system action "insert action" to insert a new row into table view from a form view,
      I have assign "To" to the target table in the Insert action properties.
      When test program, table view did add a new row after click insert button in the form view, but all cell value are blank.
      Any hints would be very appreciate.
      Thanks.
      Best regards,
      Nick.

    Hi Nick,
    I think you are trying to use the fields on the From View to insert the rows with those values in the table View using the 'INSERT' action. You have also configured the 'TO' field of the 'INSERT' action to point to your Target Table View.
    By default the INSERT Action will insert a blank row. In order to populate the values in the table, do the following:
    1.Right Click your Target Table View.
    2. Select 'Define Data'
    3. For each field in the table set the default value to the corresponding field from the source 'Form view'
                 For doing this Double Click the 'fx' button in the Default Value column
                 Open 'Data Fields'
                 Open Your Source Form view
                 Double Click the required field
                 Clcik Ok
    3. Save, Compile and Deploy the Application
    Regards,
    Ajay

  • How to use the "Actions" in Photoshop Elements 11

    I am wanting to use the "Actions" in Photoshop Elements 11.  But when I get the actions box up, it is only showing a small list of effects to use.  The tutorials I have checked into all show a very long list of actions. When I click on the little arrow and click on "load actions", I am getting nothing. Everything is blank.  It says "No items match your search."  Please help! 

    To use the existing actions, try the following:
    1. Open one of the Action Sets, in this example Special Effects is the Action Set, by pressing the small arrow beside the set name.
    2. Then click on the name of the Action, in this example Faded Ink is the Action name.
    3. Then press the Play button to run the action.

  • How to use dynamic action to fill multi item on a page ?

    Hi..
    I want to fill multi items on a page so I build a dynamic action ( Execute PL/SQL Code ) to do it .The problem is that when the page loads I can't see any data and I tried to see the session values using debug and I found data. Moreover when I save the row I got these data saved.
    So what is the magic there?
    Thanks

    Firstly, to get the multi-select populated with "pre-selected" values the easiest approach is to use Computation or Process at a process point On Load Before Header or After Header or Before Regions.
    All you need to do is populate your "Select List " page Item with : (colon) separated list of selected values. E.g is you want A,B and C out of A,B,C,D,E selected then get A:B:C into the Page Item.
    If you have used Dynamic Actions, what is your event on which the action fires? For Dynamic-Actions the page (HTML DOM) needs to be existing , so it must fire after the page has loaded.
    Regards,

  • How to perform loop action in ODI

    hi all,
    i want to implement a function which fetches data from 3 tables and then inserts into one table
    but the problem is there with the loop.
    the function contains a loop and i dont know how to implement a loop in odi.
    anyone can give a solution.
    regards,
    prateek.

    hi guru,
    yes i have fk between the tables but i am not able to understand that how to apply the exit condition and how to tell the interface that if the exit condition is not satisfied then again loop back.
    can you please explain this in detail.
    thanks and regards,
    prateek sharma.
    Edited by: user11116379 on May 21, 2009 5:32 AM

  • How to Use Dynamic Action ?

    Dear All,
    i am using Apex 4.1 Ver.
    i need return value in text Area Item when i select any Value in Select List.
    i have One select List Item :p1_template_id and one text Area Item P1_template_description .
    Select List Code
    SELECT TEMPLATE_NAME D, TEMPLATE_ID R FROM TEMPLATE_MAS  ORDER BY TEMPLATE_NAME
    Table Name
    CREATE TABLE  "CRM_CAM_TEMPLATE_MAS"
       (     "TEMPLATE_ID" VARCHAR2(50) NOT NULL ENABLE,
         "TEMPLATE_NAME" VARCHAR2(500) NOT NULL ENABLE,
         "DESCRIPTION" CLOB
          CONSTRAINT "CRM_CAM_TEMPLATE_MAS_PK" PRIMARY KEY ("TEMPLATE_ID") ENABLE
    /i want to Value of DESCRIPTION Column in to Text Area Item when i select Template ID from Select List .
    How can i do this with Dynamic Action or any other Way ?
    How can i do this ?
    Thanks
    Vedant

    Hi Kiran,
    i have done it with Text Area but when i change text Area with Rich Text Editor then it's not Working.
    How can i do this with Rich Text Editor.
    My Code
    Application Process
    DECLARE
       v_mgr  VARCHAR2(4000);
       CURSOR cur_c
       IS
    SELECT DESCRIPTION FROM TEMPLATE_MAS WHERE TEMPLATE_ID =:TEMPLATE_ITEM ;
    BEGIN
       FOR c IN cur_c
       LOOP
          v_mgr := c.DESCRIPTION;
       END LOOP;
       OWA_UTIL.mime_header ('text/xml', FALSE);
       HTP.p ('Cache-Control: no-cache');
       HTP.p ('Pragma: no-cache');
       OWA_UTIL.http_header_close;
       HTP.prn ('<body>');
       HTP.prn ('<desc>this xml genericly sets multiple items</desc>');
       HTP.prn ('<item id="P1_SUMMARY">'||v_mgr|| '</item>');
       HTP.prn ('</body>');
    EXCEPTION
       WHEN OTHERS
       THEN
          OWA_UTIL.mime_header ('text/xml', FALSE);
          HTP.p ('Cache-Control: no-cache');
          HTP.p ('Pragma: no-cache');
          OWA_UTIL.http_header_close;
          HTP.prn ('<body>');
          HTP.prn ('<desc>this xml genericly sets multiple items</desc>');
          HTP.prn ('<item id="P1_SUMMARY">'||SQLERRM||'</item>');
          HTP.prn ('</body>');
    END;
    Java Script
    <script language="JavaScript" type="text/javascript">
    <!--
    function pull_multi_value(pValue){
        var get = new htmldb_Get(null,html_GetElement('pFlowId').value,
        'APPLICATION_PROCESS=TEMPLATE_ITEM1',0);
    if(pValue){
    get.add('TEMPLATE_ITEM',pValue)
    }else{
    get.add('TEMPLATE_ITEM','null')
        gReturn = get.get('XML');
        if(gReturn){
            var l_Count = gReturn.getElementsByTagName("item").length;
            for(var i = 0;i<l_Count;i++){
                var l_Opt_Xml = gReturn.getElementsByTagName("item");
    var l_ID = l_Opt_Xml.getAttribute('id');
    var l_El = html_GetElement(l_ID);
    if(l_Opt_Xml.firstChild){
    var l_Value = l_Opt_Xml.firstChild.nodeValue;
    }else{
    var l_Value = '';
    if(l_El){
    if(l_El.tagName == 'INPUT'){
    l_El.value = l_Value;
    }else if(l_El.tagName == 'SPAN' &&
    l_El.className == 'grabber'){
    l_El.parentNode.innerHTML = l_Value;
    l_El.parentNode.id = l_ID;
    }else{
    l_El.innerHTML = l_Value;
    get = null;
    //-->
    </script>
    HTML Form Element Attributes
    onChange="pull_multi_value(this.value)";
    For Riich Text Editor i have changed these value in Application Process and table column data Type
    v_mgr  clob;
    DESCRIPTION Column Type Clob
    How can i do this with Rich text Editor /
    Thanks                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • How to use Update Statement in ODI Procedure

    Hi,
    How can I use an update statement inside an ODI procedure.
    Thanks

    Hi,
    You do not need the BEGIN and END. ODI procedures are free text, so you can simply write your update statement, as you would in toad/sql developer etc etc. Just make sure you set the Technology and the logical schema. It is how ever best practice to also use the API:
    <%=odiRef.getSchemaName("YOUR_LOGICAL_SCHEMA_NAME", "D")%>. to prefix tables. This way, you select data from different schema's in the same instance (as long a your user has the correct privs).
    Cheers
    Bos
    Edited by: Bos on Jun 22, 2011 3:09 PM

  • How to use oracle partition in ODI

    hi all,
    i have a oracle database with daily partition. partition syntex is tbl_abc partition(20090909), now i want to use it in interface..
    kindly tell the way...
    Regard
    Naseer

    Hi Naseer,
    How are you?
    ODI doesnt support partition. You can do a work around for that by creating a VIEW out of that partition name, reverse it in ODI and use that as a source.
    Like,
    CREATE TABLE sales_range
    (salesman_id NUMBER(5),
    salesman_name VARCHAR2(30),
    sales_amount NUMBER(10),
    sales_date DATE)
    PARTITION BY RANGE(sales_date)
    PARTITION sales_jan2000 VALUES LESS THAN(TO_DATE('02/01/2000','DD/MM/YYYY')),
    PARTITION sales_feb2000 VALUES LESS THAN(TO_DATE('03/01/2000','DD/MM/YYYY')),
    PARTITION sales_mar2000 VALUES LESS THAN(TO_DATE('04/01/2000','DD/MM/YYYY')),
    PARTITION sales_apr2000 VALUES LESS THAN(TO_DATE('05/01/2000','DD/MM/YYYY'))
    create view sales_jan200 as select * from sales_range PARTITION (sales_jan2000);
    Makes sense?
    Thanks,
    G

Maybe you are looking for

  • Is Adobe Drive being retired & replaced?

    We are working through an implementation of AEM Assets in a cloud-based environment with Adobe managed services (Amazon hosting).  Our Adobe implementation team is having problems getting Adobe Drive to work in the hosted model.  They recently told u

  • OBIEE 11g Report-When drilling down to lower level, totals are not matching

    Hi All, I am creating a report in Analytics 7.9.6.3 , OBIEE 11g - Let's say Budget Cost/Actual Cost based on the Date Dimension Have selected the Fiscal Year Dim, Fact Budget Cost, Fact Actual Cost FY BCost ACost 2011 100 120 2012 150 140 Total 250 2

  • Iphone 4 Can't "find" Wifi

    Hey all. I had an iPhone 3gs with iOS 4 installed, and it was able to connect to my wifi network. When I bought the iPhone 4, it can no longer connect to my wifi. For reference, MAC filtering is NOT on. Also, I am NOT broadcasting the SSID of my wifi

  • How do I transfer contacts from 3G to 3Gs?

    I thought for some reason my phone numbers would transfer over from my 3G to the 3Gs but they didn't.. i tried putting my old sim in and "importing contacts" but didnt work anyone? Thanks!!

  • Two styles showing

    I've got two styles showing for what should be a numbered list. Note in the image attached the highlighted text has NumberedList2 and BoldName assigned to it. How to fix? Secondly, why are the styles shown in 2 places--in the upper left corner and al