REF TYPE 사용 예제

제품 : SQL*PLUS
작성날짜 : 2004-04-26
REF TYPE 사용 예제
=================
. 오브젝트 reference 할 수 있는 값을 가지는 데이터 타입
. 오브젝트와 오브젝트의 관계 표현에 유용
< sample >
-- object table 생성, data insert
SQL> insert into address_tbl values ('55 Madison Ave', 'Madison',
'WI', '53715') ;
SQL> insert into address_tbl values (address('2 Avocet Drive',
'Redwood Shores', 'CA', '95054' ));
SQL> select value(p) from address_tbl p;
ADDRESS('55 Madison Ave', 'Madison', 'WI', '53715')
ADDRESS('2 Avocet Drive', 'Redwood Shores', 'CA', '95054')
-- ref의 값을 특정 table로 제한
SQL> create table address_ref_tbl
( empno number,
address_ref ref address scope is address_tbl);
-- Insert
SQL> insert into address_ref_tbl
select 10, ref(p) from address_tbl p where state = 'WI';
SQL> insert into address_ref_tbl values (20, null);
SQL> update address_ref_tbl
set address_ref = (select ref(p) from address_tbl p
where state = 'CA')
where empno = 20 ;
-- Select
SQL> select * from address_ref_tbl;
10 0000220208910A3F700F3811D3A2300010A4F93C83910A3F6F0F381 ....
20 000220208910A3F710F3811D3A2300010A4F93C83910A3F6F0F3811 ...
-- ref가 가리키는 object를 select
SQL> select empno, deref(address_ref) from address_ref_tbl;
10 ADDRESS('55 Madison Ave', 'Madison', 'WI', '53715')
20 ADDRESS('2 Avocet Drive', 'Redwood Shores', 'CA', '95055')
-- ref가 가리키는 object의 attribute를 select
SQL> select p.address_ref.zip from address_ref_tbl p;
53715
95054
-- reference하는 오브젝트의 값이 변한 경우 -> select 결과도 따라 변한다.
SQL> update address_tbl set zip = '95055' where zip= 95054;
SQL> select empno, deref(address_ref) from address_ref_tbl;
10 ADDRESS('55 Madison Ave', 'Madison', 'WI', '53715')
20 ADDRESS('2 Avocet Drive', 'Redwood Shores', 'CA', '95055')
-- update
SQL> update address_ref_tbl set address_ref =
(select ref(p) from address_tbl p where zip ='95055')

Suresh,
In the same documentation you will find that,
a REF points to a row with an OID column (system-generated or primary-key based). 'Dereferencing' a REF is accomplished by using simple dot notation. A user doesn't have to perform explicit join operation to access the referenced object.
Regards,
Geoff
Dear Experts
A REF is a logical "pointer" to a row object. It is an Oracle built-in datatype. REFs and collections of REFs model associations among objects--particularly many-to-one relationships--thus reducing the need for foreign keys.
How the ref type can reduce the need for foreing keys.
Could any body help in this regards with examples.
Suresh

Similar Messages

  • XML for format REF types

    Hey all, I am stuck trying to develop a java program that uses XMLSave to insert an XML file in to an object table. One of the attributes of the table is ref to another object type. The XMLinsert is choking on this, asking for a 'reftype' attribute in the XML. When I put one in (just guessing), it gives NULL pointer exception. !!?! has anyone done this? Is there documentation ANYWHERE that talks about XML representation of REFs to objects????
    -Gireesh

    Hey all, I am stuck trying to develop a java program that uses XMLSave to insert an XML file in to an object table. One of the attributes of the table is ref to another object type. The XMLinsert is choking on this, asking for a 'reftype' attribute in the XML. When I put one in (just guessing), it gives NULL pointer exception. !!?! has anyone done this? Is there documentation ANYWHERE that talks about XML representation of REFs to objects????
    -Gireesh

  • Performance problem with sproc and out parameter ref cursor

    Hi
    I have sproc with Ref Cursor as an OUT parameter.
    It is extremely slow looping over the ResultSet (does it record by record in the fetch).
    so I have added setPrefetchRowCount(100) and setPrefetchMemorySize(6000)
    pseudo code below:
    string sqlSmt = "BEGIN get_tick_data( :v1 , :v2); END;";
    Statement* s = connection->createStatement(sqlStmt);
    s->setString(1, i1);
    // cursor ( f1 , f2, f3 , f4 , i1 ) f for float type and i for interger value.
    // 5 columns as part of cursor with 4 columns are having float value and
    // 1 column is having int value assuming 40 bytes for one rec.
    s->setPrefetchRowCount (100);
    s->PrefetchMemorySize(6000);
    s->registerOutParam(2,OCCICURSOR);
    s->execute();
    ResultSet* rs = s->getCursor(2);
    while (rs->next()) {
    // do, and do v slowly!
    }

    Hi,
    I have the same problem. It seems, when retrieving cursor, that "setPrefetchRowCount" is not taking into account by OCCI. If you have a SQL statement like "SELECT STR1, STR2, STR3 FROM TABLE1" that works fine but if your SQL statement is a call to a stored procedure returning a cursor each row fetching need a roudtrip.
    To avoid this problem you need to use the method "setDataBuffer" from the object "ResultSet" for each column of your cursor. It's easy to use with INT type and STRING type, a lit bit more complex with DATE type. But until now, I'm not able to do the same thing with REF type.
    Below a sample with STRING TYPE (It's assuming that the cursor return only one column of STRING type):
    try
      l_Statement = m_Connection->createStatement("BEGIN :1 := PACKAGE1.GetCursor1(:2); END;");
      l_Statement->registerOutParam(1, oracle::occi::OCCINUMBER, sizeof(l_CodeErreur));
      l_Statement->registerOutParam(2, oracle::occi::OCCICURSOR);
      l_Statement->executeQuery();
      l_CodeErreur = l_Statement->getNumber(1);
      if ((int) l_CodeErreur     == 0)
        char                         l_ArrayName[5][256];
        ub2                          l_ArrayNameSize[5];
        l_ResultSet  = l_Statement->getCursor(2);
        l_ResultSet->setDataBuffer(1, l_ArrayName,   OCCI_SQLT_STR, sizeof(l_ArrayName[0]),   l_ArrayNameSize,   NULL, NULL);
        while (l_ResultSet->next(5))
          for (int i = 0; i < l_ResultSet->getNumArrayRows(); i++)
            l_Name = CString(l_ArrayName);
    l_Statement->closeResultSet(l_ResultSet);
    m_Connection->terminateStatement(l_Statement);
    catch (SQLException &p_SQLException)
    I hope that sample help you.
    Regards                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Ejb-ref error when deploying a previously working ear on weblogic 8.1

    when deploying an ear module on weblogic 8.1 i get the following error:
    The ejb-link 'CustomessagingBrick.jar/CustomMessaginBrick' declared in ejb-ref
    or ejb-local-ref 'ejb/Service2' in the application module 'cmbrick.war' could
    not be resolved. The target EJB for the ejb ref could not be found.
    The ear is composed of two sub-modules:
    CustomMessaginBrick.jar
    cmbrick.war.
    The same ear was deployed on weblogic 6.1.
    Every reference in the ear seems in the right place so i am really clueless.
    Hereafter i include the relevant portions of the deployment descriptors.
    the web.xml for cmbrick.war contains the following data:
    <ejb-local-ref>
    <ejb-ref-name>ejb/Service2</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local-home>com.hutchison3g.core.brick.custom.messaging.CustomMessagingBrickLocalHome</local-home>
    <local>com.hutchison3g.core.brick.custom.messaging.CustomMessagingBrickLocal</local>
    <ejb-link>CustomMessagingBrick</ejb-link>
    </ejb-local-ref>
    its weblogic.xml file is the following:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN"
    "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
    <weblogic-web-app>
    <reference-descriptor>
    <ejb-reference-description>
    <ejb-ref-name>ejb/Service2</ejb-ref-name>
    <jndi-name>Service2</jndi-name>
    </ejb-reference-description>
    </reference-descriptor>
    </weblogic-web-app>
    while the weblogic-ejb-jar for CustomMessaging bricks contains the following:
    <weblogic-enterprise-bean>
    <ejb-name>CustomMessagingBrick</ejb-name>
    <stateless-session-descriptor>
    <pool>
    </pool>
    <stateless-clustering>
    </stateless-clustering>
    </stateless-session-descriptor>
    <transaction-descriptor>
    </transaction-descriptor>
    <enable-call-by-reference>True</enable-call-by-reference>
    <jndi-name>Service2</jndi-name>
    </weblogic-enterprise-bean>....

    when deploying an ear module on weblogic 8.1 i get the following error:
    The ejb-link 'CustomessagingBrick.jar/CustomMessaginBrick' declared in ejb-ref
    or ejb-local-ref 'ejb/Service2' in the application module 'cmbrick.war' could
    not be resolved. The target EJB for the ejb ref could not be found.
    The ear is composed of two sub-modules:
    CustomMessaginBrick.jar
    cmbrick.war.
    The same ear was deployed on weblogic 6.1.
    Every reference in the ear seems in the right place so i am really clueless.
    Hereafter i include the relevant portions of the deployment descriptors.
    the web.xml for cmbrick.war contains the following data:
    <ejb-local-ref>
    <ejb-ref-name>ejb/Service2</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local-home>com.hutchison3g.core.brick.custom.messaging.CustomMessagingBrickLocalHome</local-home>
    <local>com.hutchison3g.core.brick.custom.messaging.CustomMessagingBrickLocal</local>
    <ejb-link>CustomMessagingBrick</ejb-link>
    </ejb-local-ref>
    its weblogic.xml file is the following:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN"
    "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
    <weblogic-web-app>
    <reference-descriptor>
    <ejb-reference-description>
    <ejb-ref-name>ejb/Service2</ejb-ref-name>
    <jndi-name>Service2</jndi-name>
    </ejb-reference-description>
    </reference-descriptor>
    </weblogic-web-app>
    while the weblogic-ejb-jar for CustomMessaging bricks contains the following:
    <weblogic-enterprise-bean>
    <ejb-name>CustomMessagingBrick</ejb-name>
    <stateless-session-descriptor>
    <pool>
    </pool>
    <stateless-clustering>
    </stateless-clustering>
    </stateless-session-descriptor>
    <transaction-descriptor>
    </transaction-descriptor>
    <enable-call-by-reference>True</enable-call-by-reference>
    <jndi-name>Service2</jndi-name>
    </weblogic-enterprise-bean>....

  • Examples of hwo to insert an XML file into a field which is of type CLOB

    I am trying to use the following command, but it does not work, due to a type issue, anyone have another example?
    INSERT INTO TEST VALUES (xmltype(bfilename('c:\', 'c:\test.xml') , nls_charset_id('AL32UTF8')));

    I get the following error, probably means the file referenced is not available...
    SQL Error: ORA-22806: not an object or REF
    22806. 00000 - "not an object or REF"
    *Cause:    An attempt was made to extract an attribute from an item that is
    neither an object nor a REF.
    *Action:   Use an object type or REF type item and retry the operation.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           

  • Abap Objects and table type

    Hi,
    The following is a public attribute in the class CL_MEREP_SYNCBO_META
    data FIELD_GROUPS type MEREP_TSYNCBO_FIELD_GROUP read-only .
    MEREP_TSYNCBO_FIELD_GROUP  is a table type having ref type CL_MEREP_SYNCBO_FIELD_GROUP (which is a class)
    What is the meaning of such table type?
    Regards,
    Ravi

    Hi Ravi,
    It simply means that any data object that is declared using this table type will be able to hold the objects (actually object-references) of that class.
    You can think of it as an array of pointers (to objects).
    Regards,
    Anand Mandalika.

  • ejb-local-ref where to put this tag in ejb-jar.xml ??

    I have an ejb-jar.xml that looks like this. I have had no problem with remote interfaces. Now I want the bean to have a local interface too.
    Just let me know where the tag I have mentioned for the <ejb-local-ref> has to be put into.
    When I compile this file it throws me an error which i have shown below the output of the ejb-jar.xml file
    <ejb-jar>
    <enterprise-beans>
    <entity>
    <ejb-name>IDMaster</ejb-name>
    <home>maxateev.mondial.brg.idmaster.IDMasterHome</home>
    <remote>maxateev.mondial.brg.idmaster.IDMaster</remote>
    <local-home>maxateev.mondial.brg.idmaster.IDMasterLocalHome</local-home>
    <local>maxateev.mondial.brg.idmaster.IDMasterLocal</local>
    <ejb-class>maxateev.mondial.brg.idmaster.IDMasterEJB</ejb-class>
    <persistence-type>Container</persistence-type>
    <ejb-local-ref>
    <ejb-ref-name>ejb/IDMasterLocalHome</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <local-home>maxateev.mondial.brg.idmaster.IDMasterLocalHome</local-home>
    <local>maxateev.mondial.brg.idmaster.IDMasterLocal</local>
    </ejb-local-ref>
    <prim-key-class>java.lang.String</prim-key-class>
    <reentrant>False</reentrant>
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>IDMaster</abstract-schema-name>
    <cmp-field>
    <field-name>idPrefix</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>idValue</field-name>
    </cmp-field>
    <primkey-field>idPrefix</primkey-field>
    <query>
         <query-method>
              <method-name>findAllIDMasters</method-name>
              <method-params/>
         </query-method>
         <ejb-ql><![CDATA[SELECT OBJECT (f) FROM IDMaster as f]]></ejb-ql>
    </query>
    </entity>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>IDMaster</ejb-name>
         <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>
    I have also added the following tag in the weblogic-jar.xml
    <local-jndi-name>IDMasterEJB.IDMasterLocalHome</local-jndi-name>
    Just let me know whether I am correct
    On compilation (using ant utility) the error thrown is like this :
    ejbc:
    [java] ERROR: Error parsing 'ejb-jar.xml' line 47: The content of element type "entity" must ma
    tch "(description?,display-name?,small-icon?,large-icon?,ejb-name,home?,remote?,local-home?,local?,e
    jb-class,persistence-type,prim-key-class,reentrant,cmp-version?,abstract-schema-name?,cmp-field*,pri
    mkey-field?,env-entry*,ejb-ref*,ejb-local-ref*,security-role-ref*,security-identity?,resource-ref*,r
    esource-env-ref*,query*)".
    [java] ERROR: ejbc found errors
    [java] Java Result: 1
    Kindly Help !!!
    Thanks n regards
    Sajiv

    This should take care of it
    <ejb-jar>
    <enterprise-beans>
    <entity>
    <ejb-name>IDMaster</ejb-name>
    <home>maxateev.mondial.brg.idmaster.IDMasterHome</home>
    <remote>maxateev.mondial.brg.idmaster.IDMaster</remote>
    <local-home>maxateev.mondial.brg.idmaster.IDMasterLocalHome</local-home>
    <local>maxateev.mondial.brg.idmaster.IDMasterLocal</local>
    <ejb-class>maxateev.mondial.brg.idmaster.IDMasterEJB</ejb-class>
    <persistence-type>Container</persistence-type>
    <ejb-local-ref>
    <ejb-ref-name>ejb/IDMasterLocalHome</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <local-home>maxateev.mondial.brg.idmaster.IDMasterLocalHome</local-home>
    <local>maxateev.mondial.brg.idmaster.IDMasterLocal</local>
    </ejb-local-ref>
    <prim-key-class>java.lang.String</prim-key-class>
    <reentrant>False</reentrant>
    <cmp-version>2.x</cmp-version>
    <abstract-schema-name>IDMaster</abstract-schema-name>
    <cmp-field>
    <field-name>idPrefix</field-name>
    </cmp-field>
    <cmp-field>
    <field-name>idValue</field-name>
    </cmp-field>
    <primkey-field>idPrefix</primkey-field>
    <ejb-local-ref>
    <ejb-ref-name>ejb/IDMasterLocalHome</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <local-home>maxateev.mondial.brg.idmaster.IDMasterLocalHome</local-home>
    <local>maxateev.mondial.brg.idmaster.IDMasterLocal</local>
    </ejb-local-ref>
    <query>
    <query-method>
    <method-name>findAllIDMasters</method-name>
    <method-params/>
    </query-method>
    <ejb-ql><![CDATA[SELECT OBJECT (f) FROM IDMaster as f]]></ejb-ql>
    </query>
    </entity>
    </enterprise-beans>
    <assembly-descriptor>
    <container-transaction>
    <method>
    <ejb-name>IDMaster</ejb-name>
    <method-name>*</method-name>
    </method>
    <trans-attribute>Required</trans-attribute>
    </container-transaction>
    </assembly-descriptor>
    </ejb-jar>

  • Web.xml question -- ejb-ref

    Can anyone explain the reasons for using the <ejb-ref> tag in the web.xml file?
    Currently, I have a context-param that matches a param-name to a param-value. My code looks up the param-value and, via JNDI, gets the EJB referenced.
    Does the <ejb-ref> tag provide an easier, more standard method for doing this or is it there just to show that particular EJB is referenced?
    Any information would be very helpful.

    Thanks, but this makes no sense to me. Why should a
    web app be different than any other app? Why make a
    special tag?
    Is this tag required? Is it possible to use an EJB
    without it or is this someone required?Your webapp can access the ejb without this tag at all but using its jndi name. This tag (<ejb-ref>) is just a standard way of accessing ejb's within the webapp.
    For eg. consider this WEB.XML,
    <ejb-ref>
    <description>Reference to DEPT bean</description>
    <ejb-ref-name>EJB-DeptRecord</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <home>com.test.DeptHome</home>
    <remote>com.test.DeptRemote</remote>
    </ejb-ref>
    You can lookup like this using the ejb-reference name.
    Context ctx = new InitialContext();
    Object obj = ctx.lookup("java:comp/env/EJB-DeptRecord"); <-------
    Since JNDI names usually have directory structure (eg. /test/ejb/..),
    this ejb-ref tag provides a convenient way to do the lookup without the jndi-name cluttering up your code.

  • CREATE DATA TYPE TABLE

    Hi Colleagues,
    regarding my IDOC viewer project I'm facing a question regarding the SAP release. I started with some success on Release 471, now I tried to continue on 46C.
    CREATE DATA gr_ref
      TYPE lvc_t_fcat."STANDARD TABLE OF LVC_S_FCAT.
    works in both releases, while
    CREATE DATA ls_seg_dat-ref
      TYPE STANDARD TABLE OF (<edid4>-segnam).
    compiles on 471, but generates syntax error in 46C.
    The error message "Unable to interpret "TABLE". Possible causes of error: Incorrect spelling or comma error."
    does not help too much.
    Does this mean that there is no way to create tables dynamically on release 46C?
    Hope for a solution!
    regards,
    C.

    Hello,
    the only possibility I found was to use available table types in the dictionary. This works on a 4.6C system:
      DATA: lf_type(20)          TYPE c VALUE 'MARA',
            lf_table_type(20)    TYPE c VALUE 'MARA_TAB'.
      DATA: wa_data              TYPE REF TO data,
            lt_data              TYPE REF TO data.
      FIELD-SYMBOLS: <structure> TYPE ANY,
                     <field>     TYPE ANY,
                     <table>     TYPE TABLE.
      CREATE DATA wa_data TYPE (lf_type).
      ASSIGN wa_data->* TO <structure>.
      ASSIGN COMPONENT 'MATNR' OF STRUCTURE <structure> TO <field>.
      <field> = 'My Material'.
      CREATE DATA lt_data TYPE (lf_table_type).
      ASSIGN lt_data->* TO <table>.
      APPEND <structure> TO <table>.
    Little curious: An internal table type defined with "TYPES ty_mara_tab TYPE TABLE OF mara" is not accepted by CREATE DATA, but the dictionary type is. So even generating a little top include dynamically with the needed type as a table type will not work on 4.6C
    Best regards,
    Stefan Kozlowski

  • Type conflict during dynamic method call.

    While executing the following program I get the error "Type conflict during dynamic method call.":
    DATA: container_r  TYPE REF TO object,
          grid_r       TYPE REF TO object,
          itab_saplane TYPE TABLE OF saplane.
    * IMPORTANT NOTE: class names must be in UPPER CASE
    DATA: str_cnt TYPE seoclsname VALUE 'CL_GUI_CUSTOM_CONTAINER',
          str_gui TYPE seoclsname VALUE 'CL_GUI_ALV_GRID',
          meth_name TYPE STRING VALUE 'SET_TABLE_FOR_FIRST_DISPLAY'.
    TYPE-POOLS abap.
    DATA: ptab    TYPE abap_parmbind_tab,
          wa_ptab LIKE LINE OF ptab,
          ref     TYPE REF TO data.
    CREATE OBJECT container_r TYPE (str_cnt)
      EXPORTING container_name = 'CUSTOM_CONTROL1'. " Name of the custom control area (UC!)
    * Construct parameter itab
    GET REFERENCE OF container_r INTO ref.
    wa_ptab-name  = 'I_PARENT'.  " Must be upper-case
    wa_ptab-value = ref.
    INSERT wa_ptab INTO TABLE ptab.
    *   EXPORTING i_parent = container_r.
    CREATE OBJECT grid_r TYPE (str_gui)
      PARAMETER-TABLE ptab.
    SELECT * FROM saplane INTO CORRESPONDING FIELDS OF TABLE itab_saplane.
    * Cannot call set_table_for_first_display directly...
    CALL METHOD grid_r->(meth_name)
      EXPORTING I_STRUCTURE_NAME = 'SAPLANE'  " Type of the rows in the internal table  (UC!)
      CHANGING  IT_OUTTAB = itab_saplane.     " The internal table itself
    CALL SCREEN 100.
    Any help would be appreciated!

    Hi ...
    Apologies ... for confusion ... actually both are required ...
    the type 'E' as well as CL_GUI_CONTAINER.
    The below code worked for me ...
    check out how I cast it to the parent class type ...
      DATA : lv_container   TYPE seoclsname VALUE 'CL_GUI_CUSTOM_CONTAINER',
             lv_control     TYPE seoclsname VALUE 'CL_GUI_ALV_GRID',
             lv_method      TYPE string VALUE 'SET_TABLE_FOR_FIRST_DISPLAY',
             lt_par_tab     TYPE abap_parmbind_tab,
             ls_param       LIKE LINE OF lt_par_tab,
             lref_cont      TYPE REF TO cl_gui_container,
             lv_data        TYPE REF TO data.
    CREATE OBJECT lref_container
          TYPE
            (lv_container)
          EXPORTING
            container_name = 'ALV_AREA'.
        ls_param-name = 'I_PARENT'.
        ls_param-kind = 'E'.
        lref_cont ?= lref_container.
        GET REFERENCE OF lref_cont INTO lv_data.
        ls_param-value = lv_data.
        INSERT ls_param INTO TABLE lt_par_tab.
    **  Now create ALV Control.
        CREATE OBJECT lref_alv_ctrl
          TYPE
            (lv_control)
          PARAMETER-TABLE
            lt_par_tab.
    **  Set table for 1st display
        DATA : lv.
        lv = lref_alv_ctrl->mc_fc_print.
        CALL METHOD lref_alv_ctrl->(lv_method)
          EXPORTING
            i_structure_name = 'T001'
          CHANGING
            it_outtab        = lt_company.
    Cheers
    Edited by: Varun Verma on Aug 12, 2008 4:19 PM

  • FM for Variable and there type used in program .

    Hi Expart,
                   Is there is any FM which return all the variable with there ref type (Data element ,C,id,t... like that ) when we pass the program name . i only know about RS_PROGRAM_INDEX which return all variable with in pgm .
    and how to used FM " RS_PROGRAM_INDEX _SOURCE " It's may also return the variable and type .
    Plz Plz help to get this
    Thanks
    Raju

    Hi,
    TYPES:
      BEGIN OF my_struct,
        comp_a type i,
        comp_b type f,
      END OF my_struct.
    DATA:
      my_data   TYPE my_struct,
      descr_ref TYPE ref to cl_abap_structdescr.
    FIELD-SYMBOLS:
      <comp_wa> TYPE abap_compdescr.
    START-OF-SELECTION.
      descr_ref ?= cl_abap_typedescr=>describe_by_data( my_data ).
      WRITE: / 'Typename     :', descr_ref->absolute_name.
      WRITE: / 'Kind         :', descr_ref->type_kind.
      WRITE: / 'Length       :', descr_ref->length.
      WRITE: / 'Decimals     :', descr_ref->decimals.
      WRITE: / 'Struct Kind  :', descr_ref->struct_kind.
      WRITE: / 'Components'.
      WRITE: / 'Name              Kind   Length   Decimals'.
      LOOP AT descr_ref->components ASSIGNING <comp_wa>.
        WRITE: / <comp_wa>-name, <comp_wa>-type_kind,
                 <comp_wa>-length, <comp_wa>-decimals.
      ENDLOOP.
    Thanks &regards,
    ShreeMohan

  • Can't get MEJB with J2EE1.4 Ref Impl

    Hello,
    I'm trying to obtain the Management EJB with the J2EE 1.4 Reference Implementation but I am receiving a ClassCastException. Is this not implemented to JSR 77 spec yet? Here is my code snippet:
    String MEJB = "ejb/mgmt/MEJB";
    ManagementHome managementHome = null;
    Context context = new InitialContext();
    Object obj = context.lookup(MEJB);
    // this next line causes the Exception -- I investigated and the 'obj' is a sun CORBA object WHY?
    managementHome = (ManagementHome)PortableRemoteObject.narrow(obj,ManagementHome.class);
    Thanks
    Mark Lepak

    OK here is the info for accessing MEJB using a jsp thru j2ee web module.
    01. create index.jsp
    <%@ page import='javax.naming.*' %>
    <%@ page import='javax.rmi.PortableRemoteObject' %>
    <%@ page import='javax.management.j2ee.ManagementHome' %>
    <%@ page import='javax.management.j2ee.Management' %>
    <%@ page import='javax.management.*' %>
    <%= "start mejbJsp <br>" %>
    <%
    Management mejb = null;
    try {
    InitialContext ic = new InitialContext();
    out.println("in mejbJSP: obtained ic ...<br>");
    Object objRef = ic.lookup("ejb/mgmt/MEJB");
    out.println("in mejbJSP: objRef = " + objRef + " <br>");
    ManagementHome home =
    (ManagementHome)PortableRemoteObject.narrow(objRef,
    ManagementHome.class);
    out.println("in mejbJSP: home = " + home + " <br>");
    mejb = home.create();
    out.println("in mejbJSP: MEJB default domain = " +
    mejb.getDefaultDomain() + " <br>");
    } catch (Exception ex) {
    out.println(ex.getMessage());
    %>
    <%= "end mejbJsp <br>" %>
    02. Since MEJB is secured we need to provide the corresponding security info in the descriptors . Following are the sample descriptor entries which include security and basic authentication.
    02.01. web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <description>no description</description>
    <display-name>mejbJsp</display-name>
    <servlet>
    <description>mejb jsp example</description>
    <display-name>mejbJsp</display-name>
    <servlet-name>mejbJsp</servlet-name>
    <jsp-file>/index.jsp</jsp-file>
    </servlet>
    <ejb-ref>
    <ejb-ref-name>ejbs/mejb</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <home>javax.management.j2ee.ManagementHome</home>
    <remote>javax.management.j2ee.Management</remote>
    <ejb-link>MEjbBean</ejb-link>
    </ejb-ref>
    <security-constraint>
    <web-resource-collection>
    <web-resource-name>Basic Realm</web-resource-name>
    <url-pattern>/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
    <role-name>admin-role</role-name>
    </auth-constraint>
    </security-constraint>
    <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>Basic Realm</realm-name>
    </login-config>
    <security-role>
    <description>The admin role</description>
    <role-name>admin-role</role-name>
    </security-role>
    </web-app>
    02.02. sun-web.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE sun-web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Sun ONE Application Server 8.0 Servlet 2.4//EN" "http://www.sun.com/software/sunone/appserver/dtds/sun-web-app_2_4-0.dtd">
    <sun-web-app>
    <context-root>mejbjsp</context-root>
    <class-loader delegate='true'/>
    <ejb-ref>
    <ejb-ref-name>ejbs/mejb</ejb-ref-name>
    <jndi-name>ejb/mgmt/MEJB</jndi-name>
    </ejb-ref>
    <security-role-mapping>
    <role-name>admin-role</role-name>
    <group-name>asadmin</group-name>
    </security-role-mapping>
    </sun-web-app>
    03. Package the above into a war module and deploy it.
    asadmin> deploy mejb_jsp.war
    04. Invoke the jsp using a web browser, say http://<host-name>:<port>/mejbjsp
    When login window pops up, you may enter user name and password which has asadmin role.

  • Ejb-ref and JNDI lookup problem

    Hi,
    I use WLS6.1sp2. I created one EntityBean and SessionBean jar files. I tried to
    use session bean to refer entity bean, I failed. The details are as following:
    In EntityBean's weblogic-ejb-jar.xml, I set:
    <jndi-name>cabin.CabinHome</jndi-name>
    In sessionbean's ejb-jar.xml
    <ejb-ref>
    <ejb-ref-name>ejb/CabinHome</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <home>com.titan.cabin.CabinHome</home>
    <remote>com.titan.cabin.Cabin</remote>
    </ejb-ref>
    In sessionbean's weblogic-ejb-jar.xml
    <reference-descriptor>
         <ejb-reference-description>
              <ejb-ref-name>ejb/CabinHome</ejb-ref-name>
              <jndi-name>ejb/CabinHome</jndi-name>
         </ejb-reference-description>
    </reference-descriptor>
    At sessionbean's client, I use
    javax.naming.Context jndiContext = getInitialContext();
    Object obj = jndiContext.lookup("java:comp/env/ejb/CabinHome");
    When I run client file, I get the following error message:
    - with nested exception:
    [javax.naming.LinkException:  [Root exception is javax.naming.NameNotFoundException:
    Unable to resolve ejb.CabinHome Resolved: '' Unresolved:'ejb' ; remaining name
    'CabinHome']; Link Remaining Name: 'ejb/CabinHome']>
    javax.naming.LinkException: . Root exception is javax.naming.NameNotFoundException:
    Unable to resolve ejb.CabinHome Resolved: '' Unresolved:'ejb' ; remaining name
    'CabinHome'
         <<no stack trace available>>
    --------------- nested within: ------------------
    javax.ejb.EJBException
    - with nested exception:
    [javax.naming.LinkException:  [Root exception is javax.naming.NameNotFoundException:
    Unable to resolve ejb.CabinHome Resolved: '' Unresolved:'ejb' ; remaining name
    'CabinHome']; Link Remaining Name: 'ejb/CabinHome']
         at com.titan.travelagent.TravelAgentBean.listCabins(TravelAgentBean.java:45)
         at com.titan.travelagent.TravelAgentBean_a4c3ph_EOImpl.listCabins(TravelAgentBean_a4c3ph_EOImpl.java:37)
         at com.titan.travelagent.TravelAgentBean_a4c3ph_EOImpl_WLSkel.invoke(Unknown
    Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
         at weblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java:93)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
         at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:22)
         at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
         at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    ####<Feb 1, 2002 11:32:40 PM PST> <Info> <Management> <dj> <travelServer> <ExecuteThread:
    '14' for queue: 'default'> <system> <> <140009> <Configuration changes for domain
    saved to the repository.>
    Do you know what's wrong? how to fix this problem?
    Thanks in advance.
    DJ

    Slava,
    I took "cabin." out from weblogic-ejb-jar.xml, I got the same error.
    DJ
    "Slava Imeshev" <[email protected]> wrote:
    Hi DJ,
    I think you don't need "cabin." in weblogic-ejb-jar.xml :
    <jndi-name>cabin.CabinHome</jndi-name>
    Regards,
    Slava Imeshev
    "DJ" <[email protected]> wrote in message
    news:[email protected]...
    Hi,
    I use WLS6.1sp2. I created one EntityBean and SessionBean jar files.I
    tried to
    use session bean to refer entity bean, I failed. The details are asfollowing:
    In EntityBean's weblogic-ejb-jar.xml, I set:
    <jndi-name>cabin.CabinHome</jndi-name>
    In sessionbean's ejb-jar.xml
    <ejb-ref>
    <ejb-ref-name>ejb/CabinHome</ejb-ref-name>
    <ejb-ref-type>Entity</ejb-ref-type>
    <home>com.titan.cabin.CabinHome</home>
    <remote>com.titan.cabin.Cabin</remote>
    </ejb-ref>
    In sessionbean's weblogic-ejb-jar.xml
    <reference-descriptor>
    <ejb-reference-description>
    <ejb-ref-name>ejb/CabinHome</ejb-ref-name>
    <jndi-name>ejb/CabinHome</jndi-name>
    </ejb-reference-description>
    </reference-descriptor>
    At sessionbean's client, I use
    javax.naming.Context jndiContext = getInitialContext();
    Object obj = jndiContext.lookup("java:comp/env/ejb/CabinHome");
    When I run client file, I get the following error message:
    - with nested exception:
    [javax.naming.LinkException:  [Root exception is
    javax.naming.NameNotFoundException:>> Unable to resolve ejb.CabinHome Resolved: '' Unresolved:'ejb' ; remaining>name>> 'CabinHome'; Link Remaining Name: 'ejb/CabinHome']>
    javax.naming.LinkException: . Root exception isjavax.naming.NameNotFoundException:
    Unable to resolve ejb.CabinHome Resolved: '' Unresolved:'ejb' ; remainingname
    'CabinHome'
    <<no stack trace available>>
    --------------- nested within: ------------------
    javax.ejb.EJBException
    - with nested exception:
    [javax.naming.LinkException:  [Root exception is
    javax.naming.NameNotFoundException:>> Unable to resolve ejb.CabinHome Resolved: '' Unresolved:'ejb' ; remaining>name>> 'CabinHome'; Link Remaining Name: 'ejb/CabinHome']
    atcom.titan.travelagent.TravelAgentBean.listCabins(TravelAgentBean.java:45)
    atcom.titan.travelagent.TravelAgentBean_a4c3ph_EOImpl.listCabins(TravelAgentBe
    an_a4c3ph_EOImpl.java:37)
    atcom.titan.travelagent.TravelAgentBean_a4c3ph_EOImpl_WLSkel.invoke(Unknown
    Source)
    at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:298)
    atweblogic.rmi.cluster.ReplicaAwareServerRef.invoke(ReplicaAwareServerRef.java
    :93)
    atweblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:267)
    atweblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:2
    2)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    ####<Feb 1, 2002 11:32:40 PM PST> <Info> <Management> <dj> <travelServer><ExecuteThread:
    '14' for queue: 'default'> <system> <> <140009> <Configuration changesfor
    domain
    saved to the repository.>
    Do you know what's wrong? how to fix this problem?
    Thanks in advance.
    DJ

  • Ejb-ref errore when deploying a previously working ear on weblogic 8.1

    when deploying an ear module on weblogic 8.1 i get the following error:
    The ejb-link 'CustomessagingBrick.jar/CustomMessaginBrick' declared in ejb-ref
    or ejb-local-ref 'ejb/Service2' in the application module 'cmbrick.war' could
    not be resolved. The target EJB for the ejb ref could not be found.
    The ear is composed of two sub-modules:
    CustomMessaginBrick.jar
    cmbrick.war.
    The same ear was deployed on weblogic 6.1.
    Every reference in the ear seems in the right place so i am really clueless.
    Hereafter i include the relevant portions of the deployment descriptors.
    Thanks in advance!
    Greets,
    Luca
    the web.xml for cmbrick.war contains the following data:
    <ejb-local-ref>
    <ejb-ref-name>ejb/Service2</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local-home>com.hutchison3g.core.brick.custom.messaging.CustomMessagingBrickLocalHome</local-home>
    <local>com.hutchison3g.core.brick.custom.messaging.CustomMessagingBrickLocal</local>
    <ejb-link>CustomMessagingBrick</ejb-link>
    </ejb-local-ref>
    its weblogic.xml file is the following:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN"
    "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
    <weblogic-web-app>
    <reference-descriptor>
    <ejb-reference-description>
    <ejb-ref-name>ejb/Service2</ejb-ref-name>
    <jndi-name>Service2</jndi-name>
    </ejb-reference-description>
    </reference-descriptor>
    </weblogic-web-app>
    while the weblogic-ejb-jar for CustomMessaging bricks contains the following:
    <weblogic-enterprise-bean>
    <ejb-name>CustomMessagingBrick</ejb-name>
    <stateless-session-descriptor>
    <pool>
    </pool>
    <stateless-clustering>
    </stateless-clustering>
    </stateless-session-descriptor>
    <transaction-descriptor>
    </transaction-descriptor>
    <enable-call-by-reference>True</enable-call-by-reference>
    <jndi-name>Service2</jndi-name>
    </weblogic-enterprise-bean>....

    The issue is that WLS 6.1 didn't really support ejb-links properly. An
    ejb-link should allow you to link a webapp or an ejb to another EJB
    without requiring additional information or a global JNDI name on the
    target EJB.
    WLS 8.1 is following your ejb-link and telling you there's not enough
    information.
    You have 2 options:
    1) Remove the <ejb-link>...</ejb-link> from your web.xml. You'll be
    using just an ejb-reference at that point, but you've already included
    the necessary information in the weblogic.xml that we can locate the EJB
    via its global jndi-name
    or
    2) Change the ejb-link to be
    <ejb-link>CustomMessaginBrick.jar#CustomMessagingBrick</ejb-link>
    If you wanted to, you could then remove the reference info from the
    weblogic.xml
    -- Rob
    luca wrote:
    when deploying an ear module on weblogic 8.1 i get the following error:
    The ejb-link 'CustomessagingBrick.jar/CustomMessaginBrick' declared in ejb-ref
    or ejb-local-ref 'ejb/Service2' in the application module 'cmbrick.war' could
    not be resolved. The target EJB for the ejb ref could not be found.
    The ear is composed of two sub-modules:
    CustomMessaginBrick.jar
    cmbrick.war.
    The same ear was deployed on weblogic 6.1.
    Every reference in the ear seems in the right place so i am really clueless.
    Hereafter i include the relevant portions of the deployment descriptors.
    Thanks in advance!
    Greets,
    Luca
    the web.xml for cmbrick.war contains the following data:
    <ejb-local-ref>
    <ejb-ref-name>ejb/Service2</ejb-ref-name>
    <ejb-ref-type>Session</ejb-ref-type>
    <local-home>com.hutchison3g.core.brick.custom.messaging.CustomMessagingBrickLocalHome</local-home>
    <local>com.hutchison3g.core.brick.custom.messaging.CustomMessagingBrickLocal</local>
    <ejb-link>CustomMessagingBrick</ejb-link>
    </ejb-local-ref>
    its weblogic.xml file is the following:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN"
    "http://www.bea.com/servers/wls810/dtd/weblogic810-web-jar.dtd">
    <weblogic-web-app>
    <reference-descriptor>
    <ejb-reference-description>
    <ejb-ref-name>ejb/Service2</ejb-ref-name>
    <jndi-name>Service2</jndi-name>
    </ejb-reference-description>
    </reference-descriptor>
    </weblogic-web-app>
    while the weblogic-ejb-jar for CustomMessaging bricks contains the following:
    <weblogic-enterprise-bean>
    <ejb-name>CustomMessagingBrick</ejb-name>
    <stateless-session-descriptor>
    <pool>
    </pool>
    <stateless-clustering>
    </stateless-clustering>
    </stateless-session-descriptor>
    <transaction-descriptor>
    </transaction-descriptor>
    <enable-call-by-reference>True</enable-call-by-reference>
    <jndi-name>Service2</jndi-name>
    </weblogic-enterprise-bean>....

  • [CS6][JS]XML cross-ref to InDesign hyperlinks

    Hi guys,
    I'm trying to import xml and create hyperlinks with xml cross-references for tables, figures, and references. So i'm planning to create a script to select the certain xml elements and create hyperlink destination based on id attributes value then search for all xml elements citation in the body pertaining to those elements then create new hyperlink and link to them. Can you point me to the right direction please.
    TIA.
    -CharlesD

    Hi,
    Thanks for the reply. I started something and I hope it might be of interest to somebody:
    var myDocument = app.documents.item(0);
    var myRoot = myDocument.xmlElements.item(0);
    var myRefs = myRoot.evaluateXPathExpression("//ref");        //references element
    var myFigs = myRoot.evaluateXPathExpression("//fig");        //figures element
    var myXrefs = myRoot.evaluateXPathExpression("//xref");    //citations element
    var myTagsToLink = [myRefs, myFigs];
    createAllDest(myTagsToLink);
    createLink(myXrefs);
    //Loop through all tags that need to be referenced and call the
    //function that will create the new hyperlink destination
    function createAllDest(allTags){
        for(var i=0;i<allTags.length;i++)
            try
                createDest(allTags[i]);
            catch(e){}
    function createLink(whatTag){
        for(var i=0;i<whatTag.length;i++)
            try
                var myContent = whatTag[i].texts[0];
                var myType = whatTag[i].xmlAttributes.itemByName("ref-type").value;
                var myDest = whatTag[i].xmlAttributes.itemByName("rid").value;
                myHyperlinkURL = myDocument.hyperlinkTextDestinations.itemByName(myDest);
                myHyperlinkSource = myDocument.hyperlinkTextSources.add(myContent);
                myDocument.hyperlinks.add(myHyperlinkSource,myHyperlinkURL,{name: myDest});
                //alert(myDest);
                if (myType == "bibr"){
                    //alert("This is reference");
                    myContent.appliedCharacterStyle = "ref-citation";
                else if (myType == "fig"){
                    //alert("This is figure");
                    myContent.appliedCharacterStyle = "fig-citation";
            catch(e){}
    // Create new hyperlink destination function
    function createDest(whatTag){
        for(var i=0;i<whatTag.length;i++)
            try
                // select the text of the element
                var myContent = whatTag[i].texts[0];
                // get the id of the destination
                var myAtt = whatTag[i].xmlAttributes.itemByName("id").value;
                // add the id of the destination to the list of the document's text hyperlink destination
                var anchor = app.documents[0].hyperlinkTextDestinations.add(myContent);
                // set the text's hyperlink destination's name to that of the id
                anchor.name = myAtt;
                //alert(myContent);
            catch(e){}

Maybe you are looking for

  • Using Creative MediaSource - No Track Ye

    Hi, I don't know if this is the right place to post this but I'm looking for some answers on this and here goes... I've got a Creative Nomad Jukebox Zen Xtra player that's a few years old and I'm using Creative MediaSource .0.85. Whenever I want to r

  • Legend in graph

    Hello , I am unable to get the Legend for my graph in my application in NetWeaver2004s though I have done soem settings via chart designer. Can anyone tell me the settings to be done to get this? Thanks & regards, Uma.

  • Maintaining attributes in PPOMA_BBP

    HI ALL, i newly installed my PC SRM5.0 with ECC6.0. i am assigining the attributes in root org level.but iam unable to see that assigned attributes in *overview tab,*also in inheritence tab. what is the problem. please tell me the solution for this i

  • Firefox wont load gamesite past 70 percent but internet explorer is ok. whats wrong?

    firefox wont load forge of empires gamesite past 70% but internet explorer does but my progress is lost. I want to use firefox. what can I do?

  • Combining tracks and breaking up tra

    Can anyone teach me how I can combine several tracks into one track? My issue is that I have a CD that has 42 tracks, many less than a minute long. On the CD box itself they are grouped into seven grou ps. If you are listening to the entire CD the fa