How to use object type collection in my function?

Hi,
I want to declare Object type collection with in my function like same a Record type collection. But it is saying error like below
PLS-00540: object not supported in this context.
Can anyone tell me how can i resolve this? I don't want to go with create object type functionality.
Thanks

Hi below is my full query.
SELECT  czci.config_hdr_id,
        czci.config_rev_nbr,
        asoqla.quantity,
         (SELECT 
                node_desc.LOCALIZED_STR
             FROM   CZ_LOCALIZED_TEXTS node_desc,
                    CZ_PS_NODES ps_nodes,
                    CZ_CONFIG_ITEMS czci1
            WHERE   czci1.config_hdr_id = asoqld.config_header_id
            AND     czci1.config_rev_nbr = asoqld.config_revision_num
            AND    node_desc.INTL_TEXT_ID = ps_nodes.INTL_TEXT_ID
            AND     NVL(node_desc.LANGUAGE,userenv('LANG')) = userenv('LANG')
            AND     czci1.PS_NODE_ID = ps_nodes.PERSISTENT_NODE_ID
             AND    ps_nodes.DEVL_PROJECT_ID = (SELECT MAX(DEVL_PROJECT_ID) FROM CZ_PS_NODES WHERE PERSISTENT_NODE_ID = czci.PS_NODE_ID)
            AND czci.PARENT_CONFIG_ITEM_ID IN (SELECT sub_sub.CONFIG_ITEM_ID FROM CZ_CONFIG_ITEMS sub_sub
                                                    WHERE sub_sub.CONFIG_HDR_ID = asoqld.config_header_id
                                                    AND sub_sub.CONFIG_REV_NBR = asoqld.config_revision_num
                                                    AND      sub_sub.PS_NODE_NAME = 'fittings')) fitting_material,
         (SELECT 
                node_desc.LOCALIZED_STR
             FROM   CZ_LOCALIZED_TEXTS node_desc,
                    CZ_PS_NODES ps_nodes,
                    CZ_CONFIG_ITEMS czci
            WHERE   czci.config_hdr_id = asoqld.config_header_id
            AND     czci.config_rev_nbr = asoqld.config_revision_num
            AND    node_desc.INTL_TEXT_ID = ps_nodes.INTL_TEXT_ID
            AND NVL(node_desc.LANGUAGE,userenv('LANG')) = userenv('LANG')
            AND     czci.PS_NODE_ID = ps_nodes.PERSISTENT_NODE_ID
             AND    ps_nodes.DEVL_PROJECT_ID = (SELECT MAX(DEVL_PROJECT_ID) FROM CZ_PS_NODES WHERE PERSISTENT_NODE_ID = czci.PS_NODE_ID)
            AND czci.PARENT_CONFIG_ITEM_ID IN (SELECT sub_sub.CONFIG_ITEM_ID FROM CZ_CONFIG_ITEMS sub_sub
                                                    WHERE sub_sub.CONFIG_HDR_ID = czci.CONFIG_HDR_ID
                                                    AND sub_sub.CONFIG_REV_NBR = czci.CONFIG_REV_NBR
                                                    AND      sub_sub.PS_NODE_NAME = 'tubing')) tubing_material,
        NVL((SELECT czci.item_val
         FROM cz_config_items czci
         WHERE     czci.config_hdr_id = asoqld.config_header_id
         AND czci.config_rev_nbr = asoqld.config_revision_num
         AND czci.value_type_code <> 4
         AND czci.ps_node_name = 'control_circuit_name'),
         (SELECT 
                node_desc.LOCALIZED_STR
             FROM   CZ_LOCALIZED_TEXTS node_desc,
                    CZ_PS_NODES ps_nodes,
                    CZ_CONFIG_ITEMS czci
            WHERE   czci.config_hdr_id = asoqld.config_header_id
            AND     czci.config_rev_nbr = asoqld.config_revision_num
            AND    node_desc.INTL_TEXT_ID = ps_nodes.INTL_TEXT_ID
            AND NVL(node_desc.LANGUAGE,userenv('LANG')) = userenv('LANG')
            AND     czci.PS_NODE_ID = ps_nodes.PERSISTENT_NODE_ID
             AND    ps_nodes.DEVL_PROJECT_ID = (SELECT MAX(DEVL_PROJECT_ID) FROM CZ_PS_NODES WHERE PERSISTENT_NODE_ID = czci.PS_NODE_ID)
            AND czci.PARENT_CONFIG_ITEM_ID IN (SELECT sub_sub.CONFIG_ITEM_ID FROM CZ_CONFIG_ITEMS sub_sub
                                                    WHERE sub_sub.CONFIG_HDR_ID = czci.CONFIG_HDR_ID
                                                    AND sub_sub.CONFIG_REV_NBR = czci.CONFIG_REV_NBR
                                                    AND      sub_sub.PS_NODE_NAME = 'pneumatic_schematics'))
         ) schematic_name
FROM    aso_quote_lines_all asoqla,
        aso_quote_line_details asoqld,
        cz_config_items czci
WHERE   asoqla.quote_header_id = 58455
AND     asoqla.item_type_code = 'MDL'
AND     asoqla.quote_line_id = asoqld.quote_line_id 
AND     asoqld.config_header_id = czci.config_hdr_id
AND     asoqld.config_revision_num = czci.config_rev_nbrBelow is my explain plan
call     count       cpu    elapsed       disk      query    current        rows
Parse        1      0.11       0.11          0          0          0           0
Execute      2      0.01       0.01          0          0          0           0
Fetch        3      0.06       0.06          0       3429          0          19
total        6      0.18       0.18          0       3429          0          19That's what i am planning to write each select queries in a pipelined function then join all the functions. If i run one each query it is giving less query fetch
Thanks

Similar Messages

  • How to use Object types with inheritance in design editor

    Does anyone know how to implement Oracle object sub types in Design editor.
    Is there a way of using the Database design transformer to convert entities to Object types rather than tables?
    Thanks in anticipation
    David

    What database and connection type are you using? Are you connecting the report directly to the database, or trying to assign the datasource to object data?
    It sounds like you might be trying to use a linked list, collection or other C# construct to pass your data in. This currently isn't supported by the Crystal Reports SDK. You can use a DataSet or a DataTable, and possibly also an IDataReader depending on which version of Crystal Reports you're referencing in your project. Of course you can also connect directly to the database, even if the database isn't on the same machine as the application.
    The way to show master records with detail information is through the use of subreports and linked subreport parameters. Linked subreports take their parameter value from a record in the main report, so that only the data appropriate to that master record is displayed. The guys over in the [report design|SAP Crystal Reports; forum can help you out with this if you have questions on the specifics.

  • How to use table type in bulk collect

    Hi experts,
    How to use table type in bulk collect see the procedure used( oracle 10g)
    and error is
    PLS-00597: expression 'REQ_REC' in the INTO list is of wrong type
    CREATE OR REPLACE PROCEDURE SAMPLE_SP IS
    TYPE TYP_A AS OBJECT
    ( COLMN1 TABLE1.COLM1%TYPE,
    COLMN2 TABLE1.COLM2%TYPE,
    COLMN3 TABLE1.COLM3%TYPE
    TYPE REC_A IS TABLE OF TYP_A;
    REQ_REC A_REC;
    CURSOR REQ_CUR IS SELECT COLM1,COLM2,COLM3 FROM TABLE1 WHERE <CONDITION>;
    BEGIN
    OPEN REQ_REC;
    LOOP
    EXIT WHEN REQ_REC%NOTFOUND;
    FETCH REQ_REC BULK COLLECT INTO REQ_REC LIMIT 1000;
    FOR I IN 1..REQ_REC.COUNT
    LOOP
    <insert statement>
    END LOOP;
    COMMIT;
    END LOOP;
    END SAMPLE_SP;
    Many thanks,
    Kalinga

    ok but that is not an issue..
    Hi experts,
    How to use table type in bulk collect see the procedure used( oracle 10g)
    and error is
    PLS-00597: expression 'REQ_REC' in the INTO list is of wrong type
    CREATE OR REPLACE PROCEDURE SAMPLE_SP IS
    TYPE TYP_A AS OBJECT
    ( COLMN1 TABLE1.COLM1%TYPE,
    COLMN2 TABLE1.COLM2%TYPE,
    COLMN3 TABLE1.COLM3%TYPE
    TYPE REC_A IS TABLE OF TYP_A;
    REQ_REC A_REC;
    CURSOR REQ_CUR IS SELECT COLM1,COLM2,COLM3 FROM TABLE1 WHERE <CONDITION>;
    BEGIN
    OPEN REQ_CUR;
    LOOP
    EXIT WHEN REQ_REC%NOTFOUND;
    FETCH REQ_REC BULK COLLECT INTO REQ_REC LIMIT 1000;
    FOR I IN 1..REQ_REC.COUNT
    LOOP
    <insert statement>
    END LOOP;
    COMMIT;
    END LOOP;
    END SAMPLE_SP;
    Many thanks,
    Kalinga
    Message was edited by:
    Kalinga

  • Help needed: modeling master-detail relationship using Object types

    I would like to use object types to model a master-detail relationship. For e.g.
    create or replace type detail_t as object
    (id number,
    name varchar2(20)
    create or replace type details_t as
    table of detail_t
    create or replace type master_t as object
    (id number,
    name varchar2(20),
    details details_t
    If I don't use database object-tables, how can I return multiple master rows of the type above from a PL/SQL procedure? Can I return a cursor of some sort?
    I'm using Oracle 8.1.7.
    Thanks,
    Niranja

    Niranjan,
    After the object types are defined, your data would come from either object tables or object views. In your case, to get multiple master rows, simply query the object view.
    Regards,
    Geoff

  • How to use live type in motion 4

    how to use live type in motion 4

    There is a LiveType (or LiveFonts) content section in the Library in Motion 4 (but NOT Motion 5 - LiveType is obsolete, much to my chagrin...) - but you can still import LiveType projects into Motion 4 just as you could in Motion 3 - a simple drag'n'drop from the finder will do; or use Import from the file menu.

  • How to use Reference type of Data Element

    Hi guys, is there anyone could give me a trace how to use reference type of data element.
    More details i'm going to reach is:
    I create 2 tables:
    eq.
    1. table ZFIRST has field X with data element ZFX (Data element i declared).
    2. table ZSECOND has field Y.
    Here at field Y (second table) I'm going to declare a new data element say it ZFY, but in ZFY I'm going to use the data element as i declared before (ZFX). Is it possible if I do it using reference type data element (SE11)?
    I already did this way, but I got error :
    Field Y: Reference ZFX to class w/o interface cannot be used in DB table ZSECOND
    What does it mean?. Did I miss something about using reference data element type?.
    This error occurs when I activate ZSECOND table. However in creating ZFY (reference) to data element ZFX, there is no error occur.
    The point is I need to RE-declared existing data element and ot put existing data element(ZFX) to my current table (ZSECOND).
    Any helpful will be highly appreciated.
    Thanks.
    Edited by: dinivian dondi on Nov 4, 2010 8:30 AM

    Field Y: Reference ZFX to class w/o interface cannot be used in DB table ZSECOND
    What does it mean?. Did I miss something about using reference data element type?.
    Apparently system doesn't allow you to type a transparent table field with deep type. This refers to references and tables types as components. The RDBMS (Relational DB Management System) cannot interpret this componenets correclty and mapp them to TABLEs in DB.
    So I am affraid you won't be able to type table component with reference to other data element.
    The point is I need to RE-declared existing data element and ot put existing data element(ZFX) to my current table (ZSECOND).
    Sorry but I don't get it, could you please explain this more clearly. Maybe then we can think of some workaround for you.
    Regards
    Marcin

  • How to use LABVIEW to collect wireless network camera (with video server) video.

    How to use LABVIEW to collect wireless network camera (with video server) video.I would like to use LABVIEW for a wireless network camera (IP Camera comes with the video server module)the client program.Will the ability to achieve?If feasible, how to do, there are examples, thank you.

    I believe NI Vision is what you are looking for. 

  • How to return object  type from external c procedure ?

    Hello all,
    I'm trying for the first time to return an object type as the return value of an external stored procedure (in C ).
    I don't have any issue to use an object type parameter for the function but not to return one to the caller.
    each time I try I get "ORA-03113: end-of-file on communication channel" and the connection is dropped.
    Thanks for any help,
    Roye Avidor
    here is the code :
    => object type
    SQL>create or replace type address as object ( age number, salary float );
    => address typ file
    CASE=SAME
    TYPE address as address
    => building the dependences structures.
    $>ott userid=scott/tiger intype=address.type code=c hfile=address.h
    => the package description
    create or replace package userTypeDefined_PKG
    is
    function getAddr( addr address ) return address;
    end;
    create or replace package body userTypeDefined_PKG
    is
    function getAddr( addr address ) return address
    AS LANGUAGE C
    NAME "addr"
    LIBRARY userTypeDefinedLib
    WITH CONTEXT
    PARAMETERS
    ( CONTEXT,
    addr,
    addr INDICATOR STRUCT ,
    return address,
    return INDICATOR STRUCT
    end;
    => The C code for the library in
    address* addr(OCIExtProcContext ctx, address address_obj, address_ind address_obj_ind, address_ind ret_ind){
    unsigned int tt;
    OCIEnv *envh;
    OCIError *errh;
    OCISvcCtx *svch;
    sword err;
    address* ret = NULL;
    int inum = 69;
    float fnum = 12.34;
    /* get OCI Environment */
    err = OCIExtProcGetEnv(ctx, &envh, &svch, &errh) ;
    /* allocate space for return sturcture*/
    ret = (address *)OCIExtProcAllocCallMemory(ctx, sizeof(address));
    /* set the AGE value */
    if ( OCINumberFromInt ( errh, &inum, sizeof(inum), OCI_NUMBER_SIGNED, &(ret->AGE) ) == OCI_ERROR )
    OCIExtProcRaiseExcp(ctx,(int)1476); // raise 1476 is fail
    /* set the SALARY value */
    if ( OCINumberFromReal ( errh, &fnum, sizeof(fnum), &(ret->SALARY) ) == OCI_ERROR )
    OCIExtProcRaiseExcp(ctx,(int)1477);// raise 1477 is fail
    // set the indicators for the structure as not null
    ret_ind->atomic = OCIIND_NOTNULL;
    ret_ind->AGE = OCI_IND_NOTNULL;
    ret_ind->SALARY = OCI_IND_NOTNULL;
    return (ret);
    }

    The return indicator should be declared as double pointer, and need to be allocated in the function body.

  • How to use Output Transmission Medium 8 (Special Function)

    Hi All,
    May I get how to use output transmission medium 8(Special Function) in Output Determination.

    Hi,
       configure output type with transmission medium 8
        in nace transaction and assign it to driver program
        and so that entry exist in table tnapr and use
       RSNAST00 program to send output as email.
      Before you have create entry in va02->header-output->
      with processsing status 0 . 
    Regards
    amole

  • How to use union statement with declare & set function?

    Hi Experts,
            i  have small query about how to use union statement with declare & set function?
    Example as below :
    DECLARE @name AS date
    Declare @name2  AS date
    /* SELECT FROM [2013].[dbo].[OINV] T0 */
    /* WHERE */
    SET @name = /* T0.DocDate */ '[%1]'
    SET @name2 = /* T0.DocDate */ '[%2]'
    select  '2013',t5.U_salmannm,t1.CardName,t2.sumapplied as CollectionAmount,t2.DcntSum ,t3.DocTotal as InvoiceTotal,
    datediff(dd,t3.DocDate,t1.Docdate) as Days
    from 2013.dbo.orct t1
    inner join 2013.dbo.RCT2 t2 on t1.DocNum = t2.DocNum
    left join 2013.dbo.oinv t3 on
    t3.docentry = t2.baseAbs
    inner join 2013.dbo.ocrd t4 on t1.Cardcode = t4.CardCode
    inner join [2013].[dbo].[@CQ_RTSM] t5 on t4.U_BeatCode = t5.U_RoutCode
    where t2.DcntSum <> 0.000000 and t3.DocDate between [%1] and [%2]
    Union
    /* SELECT FROM [2014].[dbo].[OINV] T0 */
    /* WHERE */
    SET @name = /* T0.DocDate */ '[%1]'
    SET @name2 = /* T0.DocDate */ '[%2]'
    select  '2014',t5.U_salmannm,t1.CardName,t2.sumapplied as CollectionAmount,t2.DcntSum ,t3.DocTotal as InvoiceTotal,
    datediff(dd,t3.DocDate,t1.Docdate) as Days
    from 2014.dbo.orct t1
    inner join 2014.dbo.RCT2 t2 on t1.DocNum = t2.DocNum
    left join 2014.dbo.oinv t3 on
    t3.docentry = t2.baseAbs
    inner join 2014.dbo.ocrd t4 on t1.Cardcode = t4.CardCode
    inner join [2014].[dbo].[@CQ_RTSM] t5 on t4.U_BeatCode = t5.U_RoutCode
    where t2.DcntSum <> 0.000000 and t3.DocDate between [%1] and [%2]

    You have to create stored procedure in SQL only .
    Like u must have create for Crystal .
    You can execute procedure in query manager but you have to enter parameter manually..
    example
    Exec @Test '20140101' '20140501'
    Every time user has to enter it manually in yyyymmdd format in case of date parameters.
    Example
    Create Proc [@Test]
    as begin
    DECLARE @name AS date
    Declare @name2  AS date
    /* SELECT FROM [2013].[dbo].[OINV] T0 */
    /* WHERE */
    select  '2013',t5.U_salmannm,t1.CardName,t2.sumapplied as CollectionAmount,t2.DcntSum ,t3.DocTotal as InvoiceTotal,
    datediff(dd,t3.DocDate,t1.Docdate) as Days
    from 2013.dbo.orct t1
    inner join 2013.dbo.RCT2 t2 on t1.DocNum = t2.DocNum
    left join 2013.dbo.oinv t3 on
    t3.docentry = t2.baseAbs
    inner join 2013.dbo.ocrd t4 on t1.Cardcode = t4.CardCode
    inner join [2013].[dbo].[@CQ_RTSM] t5 on t4.U_BeatCode = t5.U_RoutCode
    where t2.DcntSum <> 0.000000 and t3.DocDate between @Name and @Name2
    Union
    /* SELECT FROM [2014].[dbo].[OINV] T0 */
    /* WHERE */
    select  '2014',t5.U_salmannm,t1.CardName,t2.sumapplied as CollectionAmount,t2.DcntSum ,t3.DocTotal as InvoiceTotal,
    datediff(dd,t3.DocDate,t1.Docdate) as Days
    from 2014.dbo.orct t1
    inner join 2014.dbo.RCT2 t2 on t1.DocNum = t2.DocNum
    left join 2014.dbo.oinv t3 on
    t3.docentry = t2.baseAbs
    inner join 2014.dbo.ocrd t4 on t1.Cardcode = t4.CardCode
    inner join [2014].[dbo].[@CQ_RTSM] t5 on t4.U_BeatCode = t5.U_RoutCode
    where t2.DcntSum <> 0.000000 and t3.DocDate between
    between @Name and @Name2
    end

  • How to use "url.openStream()" . What this function does?

    how to use "url.openStream()" . What this function does?
    Edited by: sahil1287 on Apr 16, 2009 10:02 PM

    http://java.sun.com/javase/6/docs/api/java/net/URL.html#openStream()
    http://java.sun.com/docs/books/tutorial/networking/urls/readingWriting.html

  • How to use objects as a message type in WSDL?

    How can I use object as a type for the message in WSDL?
    For example, I want to achieve something like this:
    <message name="DBConnection">
    <part name="conn" type="???"/>
    </message>
    In the above example, for any operation getConnection(), the return type would be an object of the type Connection.
    Any suggestions ?
    Thanks,
    Dhaval

    Hi,
    Listed below is the step by step intructions to configure the Nokia device as a modem to a mac.
    Steps:
    Connecting your Mac to the internet is convenient and easy with your a compatible Nokia S60 device. You'll need a Nokia S60 device that supports a 2G or 3G data connection (such as GPRS or HSDPA), a compatible Mac (with the latest OS X), a USB cable for your Nokia device or a Bluetooth-enabled Mac, and a network subscription with your mobile service provider.
    To set up your device you'll need to know your operator's Access Point Name (APN) and have the packet data service enabled. For help with this please contact your operator.
    In Settings select and open Connection >Select and open Packet data > Select and open Access point >Type in your operator's Access Point Name
    Exit Settings. Your device is now ready to be used as a modem for your Mac!
    Bluetooth Connection: Pairing between Mac and Device using bluetooth, follow the instruction from here: http://europe.nokia.com/get-support-and-software/download-software/device-as-a-modem/connect-to-your...
    Note: Preferred mode is USB as it much faster than Bluetooth.
    Connect the device and then go to System preferences- >Network- >Select Device (Nokia XXX)
    Click on Advanced Tab > Modem tab
    - Vendor : Nokia
    -Model:GPRS (GSM/3G)
    -Telephone Number: *99***1# (contact your operator to get this settings)
    -APN: airtelgprs.com (contact your operator to get this settings)
    CID: 1
    Once connected it will be highlighted in green.
    Hopefully this helps.
    Cheers
    Sandy
    Message Edited by sandy2410 on 30-Mar-2009 04:52 AM
    Helpful information, then dont forget to hit the kudos star :-) Or say it accepted solution and thanks

  • How do I use Object Type

    Hi,
    I have the following object type
    create or type address_type as object
    (street varchar2(10), no varchar2(10));
    and table: create table test(id integer, address address_type)
    How can I insert values in my table test using apex?
    Thank you

    Hi,
    Both the above suggestions do not work
    I have say an ITAB of type SPFLI.
    How do I convert this data into xstring type?
    Also does my ITAB have to be a specific type for me to get this to work?
    Cheers
    Kiran

  • How can I use object type in Jdeveloper 11g?

    Dear friends
    I made some object types(Database layer) and each one refer to functions or procedures to generate table or view, for instance in one of my project I could make a View Object with this function and generate a table:
    Select * from table (genarate_emp(2019))
    In this sample I used a static value (2019) and I did it perfectly, but I want to make a table with dynamic value for instance I would like to set partial trigger of this view object and get dynamic value from the other view object.
    Please help me if you have any suggestions.
    Best regards,
    Babak Saraie

    Hi Babak
    It's a common requirement on posting to this forum that you describe which version of JDeveloper you're using and what technologies (obviously ADF BC in this case).
    For making the static value dynamic within your View Object, are you familiar with the View Object bind variables/bind parameters? This will allow you to define a named variable in your VO that you can set programmatically or even let the user set. Play around with those first and see if they solve one part of your problem, then come back to the forum for the second part.
    Regards,
    CM.

  • How to use Object Class:orclDbServer in OID

    Not sure if i have posted in the correct forum, I am quite new to OID
    I am planning to use orclDbServer Object Class, but not sure how to use, i have searched in Google, and Oracle Documentation, there are so little information about this, there are only:
    Object Class: orclDbServer
    Description: Defines the attributes for database service entries
    Attributes: orclNetDescName, orclVersion
    Below is the ldif file i created for add one entry with object class orclDBServer:
    dn: cn=orclDBServer_test, cn=OracleContext, dc=ldapcdc, dc=lcom
    changetype: add
    objectclass: top
    objectclass: orclDBServer
    cn: orclDBServer_test
    orclNetDescName: (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST=10.182.114.121)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = oh112)))
    after i use below command to add this entry:
    ldapadd -h localhost -p 389 -D "cn=orcladmin" -w welcome1 -f test_add.ldif
    then use ldapsearch to search:
    ldapsearch -h localhost -p 389 -b "dc=lcom" "objectclass=orclDBServer"
    the result is like below:
    cn=orclDBServer_test, cn=OracleContext, dc=ldapcdc, dc=lcom
    cn=orclDBServer_test
    orclnetdescname=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST=10.182.114.121)(PORT = 1521))(CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = oh112)))
    objectclass=top
    objectclass=orclDBServer
    objectclass=orclService
    It seems it added a line for me:
    objectclass=orclService
    Is there anything wrong with my ldif file when i want to use orclDbServer?
    Edited by: ening on Jan 5, 2010 9:31 PM

    Hi,
    if you are having main controller and sub-controller then you may need to use below coding to use application class reference.
    *Data declaration
      DATA:  obj_cntrl        TYPE REF TO cl_bsp_controller2,
             obj_sub_cntrl   TYPE REF TO z_cl_sub_cntl,
             application TYPE REF TO z_cl_application.
    *Get the controller
      CALL METHOD obj_main_cntrl->get_controller   "obj_main_cntrl is the object of main controller
        EXPORTING
          controller_id       = 'SUB'   "Controller ID
        RECEIVING
          controller_instance = obj_cntrl  .
      obj_sub_cntrl ?= obj_cntrl  .
      application ?= obj_sub_cntrl ->application.
    or simply use below code in your controller method.
      application ?= me->application.
    Thnaks,
    Chandra

Maybe you are looking for