Dependant objects for tables

Is there any way to find out that how many dependants or associated objects exists for single or all the tables of one particular schema?
I wish to know that name of index,constraints,trigger,procedure,functions, packages etc. for the table.

Use this query and change the object_name that you want look for dependencies.
SELECT type
,name
,owner
,'SOFT'
,'REFERENCED'
,NULL
FROM SYS.DBA_DEPENDENCIES
WHERE referenced_type = 'TABLE'
AND referenced_owner = 'BRCAPDB2'
AND referenced_name = 'AGENCIA_TB'
AND type != 'UNDEFINED'
and type != 'MATERIALIZED VIEW'
UNION
SELECT 'TRIGGER'
,trigger_name
,owner
,'HARD'
,'ON_OBJECT'
,NULL
FROM SYS.DBA_TRIGGERS
WHERE table_owner = 'BRCAPDB2'
AND table_name = 'AGENCIA_TB'
AND trigger_name NOT IN
(SELECT log_trigger
FROM SYS.DBA_SNAPSHOT_LOGS
WHERE log_owner = 'BRCAPDB2'
AND master = 'AGENCIA_TB')
UNION
SELECT 'INDEX'
,index_name
,owner
,'HARD'
,'ON_OBJECT'
,NULL
FROM SYS.DBA_INDEXES
WHERE table_owner = 'BRCAPDB2'
AND table_name = 'AGENCIA_TB'
AND index_type != 'IOT - TOP'
AND index_type != 'LOB'
UNION
SELECT 'TABLE'
,other.table_name
,other.owner
,'HARD'
,'FK_REF_OBJECT'
,other.constraint_name
FROM SYS.DBA_CONSTRAINTS this
,SYS.DBA_CONSTRAINTS other
WHERE this.constraint_name = other.r_constraint_name
AND this.owner = 'BRCAPDB2'
AND this.table_name = 'AGENCIA_TB'
AND other.constraint_type = 'R'
AND other.r_owner = this.owner;
Best Regards,
Paulo Portugal.

Similar Messages

  • Customizing Object for table TB019?

    Hello all,
    Can you please tell me the Customizing Object for table TB019? The only object I could find was DNL_CUST_CUST3 but this includes TB020 and not TB019.
    Rgds
    Priyanka

    Hi!
    I think you already found the object. It is the TB020 that triggers the override. It is very often so that the language dependent tables are the ones being transferred.
    A genereal methodology to figure out which load object is involved for a specific R/3-table is to go to transactionse16 in CRM and check the SMOFTABLES-table.
    The field R3TABNAME is where you put in your R/3-table. It also allows generic searches such as TB0*.
    BR
    /fredric

  • Unable to create Entity objects for tables in TimesTen database using ADF

    Hi,
    I am not able to create Entity and View objects for tables in TimesTen database using ADF. I have installed TimesTen client on my machine.
    I have created a database connection by using connection type as "Generic JDBC" and giving driver class and JDBC URL. I am attaching screen shot of the same.
    I am right clicking on Model project and selecting New option after that I am selecting ADF Business components and in it I am selecting Business components from tables and there I am querying for tables.I am getting list of tables and when I am trying to create a Entity object from the table after clicking finish Jdev is closing by itself giving an error.
    Can anyone please help me how to create Entity objects for tables using TimesTen as database.I might be missing some jars or the way I am creating connection might be wrong or any plugins required to connect to TimesTen.

    What is the actual error being given by Jdev? Are you sure that the JDBC connection is using the TimesTen JDBC driver JAR and not some other JDBC driver or the Generic JDBC/ODBC bridge?
    Is ADF even supported with TimesTen?
    Chris

  • Lock object for table KNVP and KNVK

    Hello Friends,
    Can you please tell me the standard lock object for the table KNVP and KNVK.
    Thank and regards,
    Kuldeep

    Hi
    see this and do accordingly
    Lock objects are use in SAP to avoid the inconsistancy at the time of data is being insert/change into database.
    SAP Provide three type of Lock objects.
    - Read Lock(Shared Locked)
    protects read access to an object. The read lock allows other transactions read access but not write access to
    the locked area of the table
    - Write Lock(exclusive lock)
    protects write access to an object. The write lock allows other transactions neither read nor write access to
    the locked area of the table.
    - Enhanced write lock (exclusive lock without cumulating)
    works like a write lock except that the enhanced write lock also protects from further accesses from the
    same transaction.
    You can create a lock on a object of SAP thorugh transaction SE11 and enter any meaningful name start with EZ Example EZTEST_LOCK.
    Use: you can see in almost all transaction when you are open an object in Change mode SAP could not allow to any other user to open the same object in change mode.
    Example: in HR when we are enter a personal number in master data maintainance screen SAP can't allow to any other user to use same personal number for changes.
    Technicaly:
    When you create a lock object System automatically creat two function module.
    1. ENQUEUE_<Lockobject name>. to insert the object in a queue.
    2. DEQUEUE_<Lockobject name>. To remove the object is being queued through above FM.
    You have to use these function module in your program.
    check this link for example.
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    tables:vbak.
    call function 'ENQUEUE_EZLOCK3'
    exporting
    mode_vbak = 'E'
    mandt = sy-mandt
    vbeln = vbak-vbeln
    X_VBELN = ' '
    _SCOPE = '2'
    _WAIT = ' '
    _COLLECT = ' '
    EXCEPTIONS
    FOREIGN_LOCK = 1
    SYSTEM_FAILURE = 2
    OTHERS = 3
    if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    Normally ABAPers will create the Lock objects, because we know when to lock and how to lock and where to lock the Object then after completing our updations we unlock the Objects in the Tables
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    purpose: If multiple user try to access a database object, inconsistency may occer. To avoid that inconsistency and to let multiple user give the accessibility of the database objects the locking mechanism is used.
    Steps: first we create a loc object in se11 . Suppose for a table mara. It will create two functional module.:
    1. enque_lockobject
    1. deque_lockobject
    before updating any table first we lock the table by calling enque_lockobject fm and then after updating we release the lock by deque_lockobject.
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    GO TO SE11
    Select the radio button "Lock object"..
    Give the name starts with EZ or EY..
    Example: EYTEST
    Press Create button..
    Give the short description..
    Example: Lock object for table ZTABLE..
    In the tables tab..Give the table name..
    Example: ZTABLE
    Save and generate..
    Your lock object is now created..You can see the LOCK MODULES..
    In the menu ..GOTO -> LOCK MODULES..There you can see the ENQUEUE and DEQUEUE function
    Lock objects:
    http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    Match Code Objects:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/41/f6b237fec48c67e10000009b38f8cf/content.htm
    http://searchsap.techtarget.com/tip/0,289483,sid21_gci553386,00.html
    See this link:
    http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
    Check these links -
    lock objects
    Lock Objects
    Lock Objects
    Regards
    Anji

  • Archiving object for tables GLPCC and GLPCO

    Hi All,
      GLPCA table stores the actual line items in PCA and GLPCT table stores the totals records of PCA.
    What are the transactions which get affected in regular course by these tables?
       GLPCC - EC-PCA: Transaction Attributes
       GLPCO - EC-PCA: Object Table for Account Assignment
    There is no archiving object for the tables GLPCC and GLPCO when checked in DB15. What is the alternative for archiving the entries in those tables?
    Thanks in advance
    Regards
    Anupama

    Hello Anupama,
    The standard archiving objects for PCA are EC_PCA_ITM & EC_PCA_SUM. Most of the data is archived with above two objects.  Hence it would be better to use given archiving object. About 80% of data can be archived through standard archiving objects.
    For more information you may read SAP Data Management Guide.
    Regds
    Ambadas

  • Lock object for table EKES

    Hi experts,
    I developed a function module to update the confirmations tab of a PO on ME22N screen. Now, I want to have a lock object in the FM so that a user cant make changes while this FM is in use. I do not know if there is any standard lock object for this purpose. I created a lock object in SE11 'EZEKES' since table EKES corresponds to vendor confirmations details. The Enqueue function was called into the program. The code is below:
    CALL FUNCTION 'ENQUEUE_EZPHLOCK'
    EXPORTING
       MODE_EKES            = 'E'
       MANDT                = SY-MANDT
       EBELN                = ponumber
    EXCEPTIONS
       FOREIGN_LOCK         = 1
       SYSTEM_FAILURE       = 2
       OTHERS               = 3
    The problem is, i'm not able to have a lock on the confirmations tab when the FM is in use. Is there any problem with the lock object i have created. The lock mode is Exclusive,Cumulative.
    Please help me with this.

    Code:
    ""Local Interface:
    *"  IMPORTING
    *"     REFERENCE(PONUMBER) TYPE  EKKO-EBELN
    *"  TABLES
    *"      ITAB STRUCTURE  UEKES
    TABLES: EKES, EKKO.
      DATA: BEGIN OF I_EKKO OCCURS 0,
            EBELN LIKE EKKO-EBELN,
            END OF I_EKKO.
      DATA: X LIKE EKES-ETENS.
      data: i_tab like itab occurs 0 with header line.
      move itab[] to i_tab[].
      DATA: i_ekes LIKE uekes OCCURS 0 WITH HEADER LINE.
      SELECT EBELN FROM EKKO INTO TABLE I_EKKO WHERE EBELN = PONUMBER.
      IF NOT I_EKKO[] IS INITIAL.
        SELECT  * FROM EKES INTO TABLE I_EKES
        FOR ALL ENTRIES IN I_EKKO
      WHERE EBELN = I_EKKO-EBELN.
      ENDIF.
      select single etens from ekes into x WHERE EBELN = PONUMBER.
      x = x + 1.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    DATA: VARKEY LIKE RSTABLE-VARKEY.
      CALL FUNCTION 'ENQUEUE_E_TABLE'
       EXPORTING
        MODE_RSTABLE         = 'E'
         TABNAME              = EKES
         VARKEY               = VARKEY
        X_TABNAME            = ' '
        X_VARKEY             = ' '
        _SCOPE               = '2'
        _WAIT                = ' '
        _COLLECT             = ' '
      EXCEPTIONS
        FOREIGN_LOCK         = 1
        SYSTEM_FAILURE       = 2
        OTHERS               = 3
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
        LOOP AT I_TAB. "WHERE EBELN = PONUMBER.
        READ TABLE I_TAB.
        LOOP AT i_ekes WHERE ebelp EQ ITAB-EBELP "itemnumber
                          AND ebtyp EQ 'LA'.
          i_ekes-menge = ITAB-MENGE. "quantity.
          i_ekes-kz   = 'U'.
          i_ekes-eindt = ITAB-EINDT. "deldate.
          I_EKES-XBLNR = ITAB-XBLNR.
          i_ekes-erdat = sy-datum.
          i_ekes-ezeit = sy-uzeit.
          MODIFY i_ekes.
        ENDLOOP.
      ENDLOOP.
      IF sy-subrc NE 0.
        LOOP AT I_TAB. "WHERE EBELN = PONUMBER.
          READ TABLE I_TAB.
          LOOP AT i_ekes WHERE ebelp EQ ITAB-EBELP "itemnumber
                         AND ebtyp EQ 'AB'.
            i_ekes-menge = ITAB-MENGE. "quantity.
            i_ekes-ebtyp = 'LA'.
            i_ekes-kz   = 'I'.
            i_ekes-etens   = x.
            i_ekes-eindt = ITAB-EINDT. "deldate.
            I_EKES-XBLNR = ITAB-XBLNR.
            i_ekes-erdat = sy-datum.
            i_ekes-ezeit = sy-uzeit.
            APPEND i_ekes.
          ENDLOOP.
        ENDLOOP.
      ENDIF.
    To update the confirmations tab
      CALL FUNCTION 'ME_CONFIRMATION_UPDATE'
        EXPORTING
          I_EBELN = PONUMBER
        TABLES
          XEKES   = i_ekes[].
            YEKES         = I_EKES[].
      IF SY-SUBRC = 0.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
      ENDIF.
    CALL FUNCTION 'DEQUEUE_E_TABLE'
    EXPORTING
      MODE_RSTABLE       = 'E'
       TABNAME            = EKES.
       VARKEY             = VARKEY
      X_TABNAME          = ' '
      X_VARKEY           = ' '
      _SCOPE             = '3'
      _SYNCHRON          = ' '
      _COLLECT           = ' '
    ENDFUNCTION.

  • Authorization object for table

    Hi All,
    I have created a table in Se11 and not allowing maintance generator.
    Can any one please suggest if I am not allowing table maintaince then how I can attach authorization object to the tabe.
    Thanks,
    Sandeep.

    Hi sandy,
    1.  I am not allowing table maintaince
        If u are not allowing the table for maintenance,
       then authorisation group is NOT REQUIRED.
    2. Authorisation group is required only,
       in case where we allow table maintenance thru sm30.
      (other wise there is no use of authorisation group for table)
    regards,
    amit m.

  • Error while working with POP-IN object for Table UI

    Hi Expert,
    I am creating a pop-in for one column of table UI. I have a LinkToAction object to open pop-in. i have some lable and input fields in pop-in. I dont know the flow to display the pop-in and where should i assign data to pop-in fields. how system will know which row i am clicking? Please help to know all details. I have a lots of questions.
    I am able to create link on the column and when i am clicking on link i am getting below error.
    "Node VIEW_VAL.1.POP_IN does not contain any elements" but i have attributes in node POP-_N.
    Please help me.
    Thanks and Regards,
    Anil
    Details from ST22----
    An exception occurred which is explained in detail below.
    The exception, which is assigned to class 'CX_WDR_ADAPTER_EXCEPTION', was not
    caught and
    therefore caused a runtime error.
    The reason for the exception is:
    Adapterfehler im  INPUT_FIELD "INPUT_FIELD01" des Views
    "Z_BP_GENERAL.VIEW_VAL": Context-Bindung des Properties VALUE kann nicht
    aufgelöst werden: Node VIEW_VAL.1.POP_IN does not contain any elements
    The occurrence of the exception is closely related to the occurrence of
    a previous exception "CX_WD_CONTEXT", which was raised in the program
    "CL_WDR_CONTEXT_NODE===========CP",
    specifically in line 9 of the (include) program
    "CL_WDR_CONTEXT_NODE===========CM00R".
    The cause of the exception was:
    Node VIEW_VAL.1.POP_IN does not contain any elements

    hi,
    Use this code in OnAction of LinktoAction UI element.
    This code will give you index of the row from which Link to Action is Triggered.
    <cn_popin> is my node binded to Table.
    data: lr_element type ref to if_wd_context_element.
    DATA ls_cn_popin TYPE wd_this->element_cn_popin.
    lr_element = wdevent->get_context_element( 'CONTEXT_ELEMENT' ).
    get all declared attributes
      lr_element->get_static_attributes(
        IMPORTING
          static_attributes = ls_cn_popin ).
    data lv type I.
    lv = lr_element->GET_INDEX( ).
    Finally you have the index in varialbe lv.

  • Searching for Archiving Object for table COMH PP-PI messages header

    Hallo,
    i am faced to archive records from table COMH (PP-PI message headers).
    And searched SMP, SDN, Dataguides but i could not find any objects or delete-reports for this table.
    Could anyone give input on how to get rid of the records in COMH?
    with regards
    ingo

    Hello Ute,
    thanks for your informations.
    We are going to start RCOCB009 as batchjob periodical, once per month, to get rid of elder messages.
    with regrads
    ingo

  • SRM 7.0 authorization objects for table maintenance

    Hi guys,
    I wanted to know how authorization objects work in SRM.
    I created a custom table which key filed is company code (BUKRS). And in the table maintenance view I have to add an authorization object based on the company code.
    Is it possible to do that in SRM?
    Thanks!!

    Hi,
    Authorization concept is same for all ABAP based application. Do you have any issue in SRM?
    Regards,
    Masa

  • Adapter object for table smorelation

    hi experts,
    do you know the use of table smorelation? i can not see any data in that table in crm.
    is it used by BP hierarchy? if yes then which adapter object to be used to download data in this table?
    any help will be reqrded.
    thanks,
    sagar.

    Hi Prabhu,
    Suppose customer specific (Y & Z) Transaction/Sales-Document types and customer specific item categories are created in CRM or ECC. These cannot be downloaded via any(initial, delta n synchronization) of the downloads. We have to do this manually as there is no standard adapter object available for these.
    So as the item category determination. It should be done manually.
    In ECC Item category determination, we need sales document type (say ZOR) and item category (say ZTAN). These will not be replicated or downloaded to CRM.
    So we need to create them manually in CRM and also the item category determination should be done manually.
    If any sales-document-type / Transaction-Type or item category is created newly in ECC/CRM in production environment, item category determination should be done manually in ECC and CRM for those newly created ones after creating them in CRM and ECC.
    Pls don't forget to reward points if it helps
    Vikas

  • Creating Buisness Object for Table

    Hello Gurus,
    I want to create Buisness Object to Custom Table ZCCUST.
    Can i create the Buisness Object to Custom Table?
    Please let me know the procedure?
    Thanks and regards,
    zubera

    Hi,
        Refer
    https://forums.sdn.sap.com/click.jspa?searchID=8905975&messageID=3775856
    Regards

  • Dependent objects for Message Type

    Hi,
    I have a message type which contains a lot of Data Types. It is a big structure. Now I have to see all Data Types used in this Message Type. How can I generate such a list?
    Thanks.

    Hi,
    To get the List, you have to create a new Namespace, copy that Message Type using [Copy Object and check With All Dependend Objects] to this new Name space. Under data type, you'll get all the data types , just select all of them and copy (ctrl+c) and paste in excel.
    Thanks.
    Ritu

  • To get Lock object for Standard Table

    Hi all,
    i want to update table FKK_GPSHAD,so i need corresponding lock object for this table.can any one sughgest me the solution for this.
    Thanks in advance,...

    Hi,
    Lock objects are use in SAP to avoid the inconsistancy at the time of data is being insert/change into database.
    SAP Provide three type of Lock objects.
    Read Lock(Shared Locked)
    protects read access to an object. The read lock allows other transactions read access but not write access to
    the locked area of the table
    Write Lock(exclusive lock)
    protects write access to an object. The write lock allows other transactions neither read nor write access to
    the locked area of the table.
    Enhanced write lock (exclusive lock without cumulating)
    works like a write lock except that the enhanced write lock also protects from further accesses from the
    same transaction.
    You can create a lock on a object of SAP thorugh transaction SE11 and enter any meaningful name start with EZ Example EZTEST_LOCK.
    Use: you can see in almost all transaction when you are open an object in Change mode SAP could not allow to any other user to open the same object in change mode.
    Example: in HR when we are enter a personal number in master data maintainance screen SAP can't allow to any other user to use same personal number for changes.
    Technicaly:
    When you create a lock object System automatically creat two function module.
    1. ENQUEUE_<Lockobject name>. to insert the object in a queue.
    2. DEQUEUE_<Lockobject name>. To remove the object is being queued through above FM.
    You have to use these function module in your program.
    check this link for example.
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    tables:vbak.
    call function 'ENQUEUE_EZLOCK3'
    exporting
    mode_vbak = 'E'
    mandt = sy-mandt
    vbeln = vbak-vbeln
    X_VBELN = ' '
    _SCOPE = '2'
    _WAIT = ' '
    _COLLECT = ' '
    EXCEPTIONS
    FOREIGN_LOCK = 1
    SYSTEM_FAILURE = 2
    OTHERS = 3
    if sy-subrc 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    Normally ABAPers will create the Lock objects, because we know when to lock and how to lock and where to lock the Object then after completing our updations we unlock the Objects in the Tables
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    purpose: If multiple user try to access a database object, inconsistency may occer. To avoid that inconsistency and to let multiple user give the accessibility of the database objects the locking mechanism is used.
    Steps: first we create a loc object in se11 . Suppose for a table mara. It will create two functional module.:
    1. enque_lockobject
    1. deque_lockobject
    before updating any table first we lock the table by calling enque_lockobject fm and then after updating we release the lock by deque_lockobject.
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    GO TO SE11
    Select the radio button "Lock object"..
    Give the name starts with EZ or EY..
    Example: EYTEST
    Press Create button..
    Give the short description..
    Example: Lock object for table ZTABLE..
    In the tables tab..Give the table name..
    Example: ZTABLE
    Save and generate..
    Your lock object is now created..You can see the LOCK MODULES..
    In the menu ..GOTO -> LOCK MODULES..There you can see the ENQUEUE and DEQUEUE function
    Lock objects:
    http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/cf/21eea5446011d189700000e8322d00/content.htm
    Match Code Objects:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/41/f6b237fec48c67e10000009b38f8cf/content.htm
    http://searchsap.techtarget.com/tip/0,289483,sid21_gci553386,00.html
    See this link:
    http://www.sap-img.com/abap/type-and-uses-of-lock-objects-in-sap.htm
    Check these links -
    lock objects
    Lock Objects
    Lock Objects
    Please reward points if useful.
    Regards
    Rose

  • Help needed in Identifying dependent objects

    Hi all,
    Basically I need to identify the object related to Integration which is not there in one of our software product under development as compare to other(existing) already developed so that we can apply them in the product being developed.
    I need to find these below from few of the packages given to me
    &#61550;     dependent packages/functions to read and update data
    1)     Tables
    2)     Packages
    3)     Triggers
    4)     Views
    5) Jobs
    I would request you to help me in carrying out this faster, I have plsql Developer tool, how to start with so that i m not mess up with and complete it faster.
    Regards,
    Asif.

    Thankx Pierre Forstmann.
    Dear All,
    Can any one help me in identifying all dependent objects for one object.
    Will this works for me I found from the above link provided,
    as for the time being I do not have the dba priviliges...
    If I am able to get the dba prviliges will this code works for me to get the
    required information....
    Regards,
    AAK.
    SQL>
    create or replace type myScalarType as object
    ( lvl number,
    rname varchar2(30),
    rowner varchar2(30),
    rtype varchar2(30)
    Type created.
    SQL> create or replace type myTableType as table of
    myScalarType
    Type created.
    SQL>
    SQL> create or replace
    function depends( p_name in varchar2,
    p_type in varchar2,
    p_owner in varchar2 default USER,
    p_lvl in number default 1 ) return myTableType
    AUTHID CURRENT_USER
    as
    l_data myTableType := myTableType();
    procedure recurse( p_name in varchar2,
    p_type in varchar2,
    p_owner in varchar2,
    p_lvl in number )
    is
    begin
    if ( l_data.count > 1000 )
    then
    raise_application_error( -20001, 'probable connect by loop,
    aborting' );
    end if;
    for x in ( select /*+ first_rows */ referenced_name,
    referenced_owner,
    referenced_type
    from dba_dependencies
    where owner = p_owner
    and type = p_type
    and name = p_name )
    loop
    l_data.extend;
    l_data(l_data.count) :=
    myScalarType( p_lvl, x.referenced_name,
    x.referenced_owner, x.referenced_type );
    recurse( x.referenced_name, x.referenced_type,
    x.referenced_owner, p_lvl+1);
    end loop;
    end;
    begin
    l_data.extend;
    l_data(l_data.count) := myScalarType( 1, p_name, p_owner, p_type );
    recurse( p_name, p_type, p_owner, 2 );
    return l_data;
    end;
    Function created.
    SQL>
    SQL> set timing on
    SQL>
    SQL> select * from table(
    cast(depends('DBA_VIEWS','VIEW','SYS') as myTableType ) );
    ---select * from table(cast('USER_VIEWS') as myTableType ) );
    LVL     RNAME          ROWNER          RTYPE
    1     DBA_VIEWS     SYS               VIEW
    2     TYPED_VIEW$ SYS               TABLE
    2     USER$          SYS               TABLE
    2     VIEW$          SYS               TABLE
    2     OBJ$          SYS               TABLE
    2     SUPEROBJ$ SYS               TABLE
    2     STANDARD SYS               PACKAGE
    7 rows selected.
    Elapsed: 00:00:00.42
    SQL>
    SQL>
    SQL> drop table t;
    Table dropped.
    Elapsed: 00:00:00.13
    SQL> create table t ( x int );
    Table created.
    Elapsed: 00:00:00.03
    SQL> create or replace view v1 as select * from t;
    View created.
    Elapsed: 00:00:00.06
    SQL> create or replace view v2 as select t.x xx, v1.x yy from
    v1, t;
    View created.
    Elapsed: 00:00:00.06
    SQL> create or replace view v3 as select v2.*, t.x xxx, v1.x
    yyy from v2, v1, t;
    View created.
    Elapsed: 00:00:00.07
    SQL>
    SQL>
    SQL> select lpad(' ',lvl*2,' ') || rowner || '.' || rname ||
    '(' || rtype || ')' hierarchy
    2 from table( cast(depends('V3','VIEW') as myTableType ) );
    HIERARCHY
    OPS$TKYTE.V3(VIEW)
    OPS$TKYTE.T(TABLE)
    OPS$TKYTE.V1(VIEW)
    OPS$TKYTE.T(TABLE)
    OPS$TKYTE.V2(VIEW)
    OPS$TKYTE.T(TABLE)
    OPS$TKYTE.V1(VIEW)
    OPS$TKYTE.T(TABLE)
    8 rows selected.
    Message was edited by:
    460425

Maybe you are looking for