Access another workspace object

I am working in a workspace "a" as a developer. Another developer is working in his workspace "b". Both workspaces are in one database. I have to access a table (which is in workspace b) from workspace "a". Can it be possible?

Hi Bill,
You can't access each others APEX objects but you can both access the same tables. The tables are database/schema specific and are not restricted to use only in APEX. In the application definition you can define the "Parse as Schema". Set that to the same schema that your colleague is working on. If you can not the other schema, you'll need to log into the APEX administration (workspace = INTERNAL) and grant yourself access to that schema.
Martin

Similar Messages

  • Access another schema object

    In my application,there is a database connection to a schema and and I have created entities and views from the available tables in that schema.According to my requirement, I need to access a table from a different schema.
    How can I do that?
    Please help
    Regards
    SK

    Specify the schema prefix in the SELECT query.
    SELECT * from OE.CATALOG

  • How can i access all the objects of one schema from another schema

    Dear All,
    How can i access all the objects(Tables,Views,Triggers,Procedures,Functions,Packages etc..) and do the modifications of one schema from another schema (Without using synonyms concept).
    Thanks in advance,
    Mahi

    First of all, synonyms only help you easy reference the object. It doesn't have any implication of object privilege.
    As long as you have proper privilege on target object. You can access it with or without synonyms.
    Assuming you have proper privilege of objects, you can use following command to assume schema owner.
    ALTER SESSION SET CURRENT_SCHEMA = Schema_owner

  • ORA-34492: Analytic workspace object cubename _STORED does not exist.

    I am having issues accessing cube data from a user other than where the AW was built.
    Following is what I have done in User-1:
    1. Create two AW's in User-1 : AW-1 and AW-2.
    2. Create all objects in these two AW's
    3. AW-2 is dynamically attached on attaching AW-1 by using PERMIT startup programs. Please refer Attaching multiple AW's
    4. Refreshed both AW's to load data
    5. ALLCOMPILE - no errors.
    6. Created some SQL views on User-1 which basically query the underlying cube views. I also have some queries using the olap_table option.
    7. All my querries work fine in User-1. I can access data from AW-1 and AW-2.
    However, we give access to the above SQL views through an abstract user: User-abs. In 10g, all we did was grant select privs to all the User-1.AW$ tables and also on all the sql views. This would let User-abs get data from the cubes in User-1.
    I am not able to get User-abs to do the same in 11g. We encounter an error mentioning that the workspace object <cubename>_STORED does not exist. The cubename it is referring to exists in AW-2.
    I granted select privs on all AW$ tables, dimension views, cube views and the abstracted sql views but the error persists.
    I tried searching this forum but could not find any helpful leads. Any help will be greatly appreciated.
    Thanks!
    Database - 11.2.0.1
    AWM - 11.2.0.2.0A

    I can think of two possible problems. First, you may not be properly qualifying the owner name when you refer to the object. This can be important when refering to objects owned by other schemas. For example instead of 'my_cube_stored' you would say 'user-1.aw-2!my_cube_stored'. You should also be careful about the order in which you attach the AWs. Do you want AW-2 attached first or last? Use the LAST keyword on AW ATTACH to control this.
    Another possibility is that you have added additional logic to PERMIT_READ over and above the 'aw attach' comand. I was able to recreate the error with the following code in a new AW called TEST_AW in the GLOBAL schema.
    DEFINE PERMIT_READ PROGRAM BOOLEAN
    PROGRAM
    aw attach global.global
    show global.global!units_cube_stored
    return true
    ENDAttaching TEST_AW in RO mode as any user gives me the following error.
    ORA-34492: Analytic workspace object GLOBAL.GLOBAL!UNITS_CUBE_STORED does not
    exist.
    ORA-06512: at "SYS.DBMS_AW", line 93
    ORA-06512: at "SYS.DBMS_AW", line 122
    ORA-06512: at line 1Here is the documentation for PERMIT_READ
    >
    PERMIT_READ
    A PERMIT_READ program is a program that you can create and that Oracle OLAP checks for by name when an AW ATTACH read-only command executes. Depending on the value returned by the program, Oracle OLAP executes the code within the program after attaching the analytic workspace. Depending on the statements in the permit_read program the user is granted or denied access to specific objects or sets of object values. Within permit_read program, you can specify PERMIT commands that grant or restrict access to individual workspace objects. All of the objects referred to in a given permit_read must exist in the same analytic workspace.
    >
    Note, especially, the restriction in the last sentence. This means that a PERMIT_READ program in AW1, for example, cannot refer to objects in AW2. So this is why my PERMIT_READ doesn't work. The AUTOGO does not have these restrictions, but as we know from the forum post you cited, AUTOGO is broken in 11.2.0.1. You can move forward to 11.2.0.2 where AUTOGO is fixed, but there is workaround, which is to add a PERMIT_READ program to the second AW to do the work. For example, if I add this PERMIT_READ to GLOBAL and remove the 'show' command from the PERMIT_READ in TEST_AW, then everything works as expected.
    DEFINE PERMIT_READ PROGRAM BOOLEAN
    PROGRAM
    if aw(attached 'test_aw')
    then do
    show global.global!units_cube_stored
    doend
    return true
    END

  • Problem with Dynamically accessing EJB Class objects in WL 7.0 SP1

    I am trying to build a component which has the ability to instantiate and execute
    an known EJB method on the fly.
    I have managed to build the component but when I try and execute it I get a ClassNotFoundException.
    I know that the EJB I am trying to invoke is deployed and available on the server,
    as I can see it in the console, I also seen to have been able to get the remote
    interface of the object, my problem occurs when I try and access the class object
    so I can perform a create on the object and then execute my method
    The code I have written is below:
    private Object getRemoteObject(Context pCtx, String pJNDIName, String pHomeBean)
    throws Exception {
         String homeCreate = "create";
         Class []homeCreateParam = { };
         Object []homeCreateParamValues = {};           
    try {  
    //This call seems to work and doesn't throw an exception     
    Object home = pCtx.lookup(pJNDIName);
    //However this call throws a java.lang.ClassNotFoundException
    Class homeBean = Class.forName(pHomeBean);
    Method homeCreateMethod = homeBean.getMethod(homeCreate,homeCreateParam);
    return homeCreateMethod.invoke(home, homeCreateParamValues);
    } catch (NamingException ne) {             
    logStandardErrorMessage("The client was unable to lookup the EJBHome.
    Please make sure ");
    logStandardErrorMessage("that you have deployed the ejb with the JNDI
    name "+pJNDIName+" on the WebLogic server ");
    throw ne;
    } catch (Exception e) {
    logStandardErrorMessage(e.toString());
    throw e;     
    Any advice would be really appreciated, I'm fast running out of ideas, I suspect
    it has something to do with the class loader but I'm not sure how to resolve it
    Regards
    Jo Corless

    Hello Joanne,
    Congratulations! I'm very happy that you've managed to fix your problem. It's
    always essential to understand how to package applications when deploying on BEA
    WebLogic. Usually, by throwing everything into an EAR file solves just about all
    the class loader problems. :-) Let us know if you have any further problems that
    we can assist you with.
    Best regards,
    Ryan LeCompte
    [email protected]
    http://www.louisiana.edu/~rml7669
    "Joanne Corless" <[email protected]> wrote:
    >
    >
    I've fixed it!!!!!!!!
    Thanks to everyone who gave me help!!!!
    The class loader was the culprit which is what I suspected all along.
    As soon
    as I put the 2 jar files I was using into an EAR file the problem went
    away!!!!!
    Thanks again
    Jo Corless
    "Ryan LeCompte" <[email protected]> wrote:
    Hello Joanne,
    As Mr. Woollen mentioned, I also believe it's a problem with the class
    loader.
    You need to be careful how you arrange your EJBs, because WebLogic has
    a specific
    method in which it loads classes in an EAR, JAR, and WAR file(s). Please
    refer
    to http://dev2dev.bea.com/articles/musser.jsp for more information about
    BEA WebLogic
    class loading mechanisms and caveats. Also, try printing out the various
    methods
    that are available on the object that was returned to you via reflection.
    For
    example, use the getMethods() method, which returns an array of Method
    objects
    that you can subsequently cycle through and print out the various method
    names.
    This way you can discover if the class found/returned to you is indeed
    the one
    you intend to locate.
    Hope this helps,
    Ryan LeCompte
    [email protected]
    http://www.louisiana.edu/~rml7669
    Rob Woollen <[email protected]> wrote:
    I believe the issue is the home interface class for this EJB is not
    available in the class loader which is doing the reflection.
    If you do:
    getClass().getClassLoader().loadClass(homeInterfaceClassName)
    I suspect it will fail. Reflection still requires that the class be
    loadable.
    -- Rob
    Joanne Corless wrote:
    Hi Slava,
    If I make my code look like you describe below I get a compliationerror telling
    me that
    home.getMethod() is not recognised (no such method)
    If I change it slightly and use
    Method homeCreateMethod =
    home.getClass().getMethod(homeCreate,homeCreateParam);
    The code will compile OK but when executed it still throws a NoSuchMethodException
    Any ideas ?
    Thanks for your help so far
    Regards
    Jo Corless
    Your code should look like
    Object home = pCtx.lookup(pJNDIName);
    Method homeCreateMethod =
    home.getMethod(homeCreate,homeCreateParam);
    return homeCreateMethod.invoke(home, homeCreateParamValues);
    Regards,
    Slava Imeshev
    "Joanne Corless" <[email protected]> wrote in message
    news:[email protected]...
    Hi Ryan,
    I also wanted to mention that if you do a "header search" in this
    particular
    newsgroup
    with the search query as "reflection", you will see many previousmessages
    regarding
    reflection and EJBs. I believe you could learn a lot from thedifficulties
    that
    others have faced and solved.I tried that and although there was a number of similar cases noneof them
    actually
    seem to fix my issue. Thanks for the suggestion though
    Are the EJBs that you are trying to access accessible via your
    system
    classpath?
    Try to avoid having them accessible via the main system classpath,and
    only bundle
    them in your appropriate EJB jar files (contained in an EAR file,for
    example).Maybe I should have laid the problem out a little clearer.
    I have a number of EJB's bundled up in a JAR file which is hot deployedto
    the
    server. Within this first JAR file is an EJB (SSB) component that
    needs
    to
    be
    able to invoke a known method on another EJB. This second EJB may
    or
    may
    not be
    within the first JAR file but it also will be hot deployed.
    The component trying to invoke the method on the 2nd EJB has to
    be
    able to
    create
    an instance of the 2nd EJB without actually knowing anything bar
    a
    JNDI
    Name which
    is passed in at runtime.
    I can get as far as doing the
    Object home = pCtx.lookup(pJNDIName);
    This returned a class with the name
    "com.csc.edc.projects.allders.httppostoffice.postman.PostmanBean_mp8qy2_Home
    Impl_WLStub"
    My problem seems to occur when I try and invoke the create method
    Method homeCreate = home.getClass().getMethod("create", new Class[0]);
    My code throws a java.lang.NoSuchMethodException at this point so
    I
    am
    unable
    to progress to the next step of :
    Object bean = homeCreate.invoke(home, null);
    So I can return the instantiated bean back to the calling client.
    Why am I getting the NoSuchMethodException, is is because I am gettinga
    stub
    back rather than the home interface and if so how do I get the truehome
    interface
    from the bean
    Thanks in advance
    Jo Corless

  • How can I access another class in a MembershipRule's Expression

    Hello,
    I want to create an InstanceGroup using Module Microsoft.SystemCenter.GroupPopulator.
    I need to collect all Logical Disks which contain an MS SQL DB Log File.
    I would start as follows:
    <DataSource ID="DS" TypeID="SC!Microsoft.SystemCenter.GroupPopulator">
      <RuleId>$MPElement$</RuleId>
      <GroupInstanceId>$Target/Id$</GroupInstanceId>
      <MembershipRules>
        <MembershipRule>
          <MonitoringClass>$MPElement[Name="Windows!Microsoft.Windows.LogicalDisk"]$</MonitoringClass>
          <RelationshipClass>$MPElement[Name="MSIL!Microsoft.SystemCenter.InstanceGroupContainsEntities"]$</RelationshipClass>     
    <Expression>
            <And>
      <!--
       First Expression
      -->
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <Property>$MPElement[Name="Windows!Microsoft.Windows.LogicalDevice"]/Name$</Property>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
      <!--
        How can I access another class's properties ? 
      -->
                    <GenericProperty>$MPElement[Name="SQL!Microsoft.SQLServer.2008.DBLogFile"]/Drive$</GenericProperty>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
              <Expression>
                <SimpleExpression>
                  <ValueExpression>
                    <HostProperty>
                      <MonitoringClass>$MPElement[Name="Windows!Microsoft.Windows.Computer"]</MonitoringClass>
                      <Property>PrincipalName</Property>
                    </HostProperty>
                  </ValueExpression>
                  <Operator>Equal</Operator>
                  <ValueExpression>
                    <GenericProperty>$MPElement[Name="SQL!Microsoft.SQLServer.2008.DBLogFile"]/Drive$</GenericProperty>
                  </ValueExpression>
                </SimpleExpression>
              </Expression>
            </And>
          </Expression>
        </MembershipRule>
      </MembershipRules>
    </DataSource>
    In the first expression you "see" my question:
    I want to compare the LogicalDisk's Name Property with the DB Log File's Drive property.
    But how can I access the DB Log File's Drive property in this MembershipRule ?
    Furthermore LogicalDisk and DB Log File must be hosted on the same Windows Computer.
    Would be great if somebody could help.
    Thanks
    Sebastian

    Hi Niki,
    thanks for the idea, but that will not work. $Target/Id$ refers always to the group to be discovered.
    On last week end I was given following idea, hope it will work:
    Step 1
    Collect all the DB SQL Logfile Objects and write computername (PrincipalName?) and Driveletter into a textfile, line by line. Shouldn't be a problem, PowerShell is your friend.
    Step 2
    Read the file from Step 1, build discovery data for each disk drive as object of class "Logical Disk (Server)",
    and then discover the containment-relationships from those Logical Drive(Server) Objects to the InstanceGroup.
    Perhaps I must do it for the OS-Version related Disks, because I need the target classes  of the Logical Disk Freespace monitors. Some more work. "Risks": I donot know the discovery algorithm for the Logical Disk(Server) Objects, but a "deep
    dive" into the MPs should help.
    Thanks to all, who have read.
    I will inform you about progress and success
    sebastian

  • Dump - Access using NULL object reference is not possible!!!

    Hi,
    I'm using the BCS class for sending HTM format email so i use the below code for that its working,
    DATA: gr_document      TYPE REF TO cl_document_bcs,
    gr_document = cl_document_bcs=>create_document(
                          i_type    = 'HTM'
                           i_text    = t_html
                           i_importance = '5'
                           i_subject = gc_subject ).
    Next task is to send the image so i'm creating an another object to the same class, below code
    *Image from MIME
    DATA: o_mr_api         TYPE REF TO if_mr_api.
    DATA is_folder TYPE boole_d.
    DATA l_img1 TYPE xstring.
    DATA l_img2 TYPE xstring.
    DATA l_loio TYPE skwf_io.
    DATA: lo_document   TYPE REF TO cl_document_bcs.
    IF o_mr_api IS INITIAL.
       o_mr_api = cl_mime_repository_api=>if_mr_api~get_api( ).
    ENDIF.
    CALL METHOD o_mr_api->get
       EXPORTING
         i_url              = '/SAP/PUBLIC/ZDEMO/tick.png'
       IMPORTING
         e_is_folder        = is_folder
         e_content          = l_img1
         e_loio             = l_loio
       EXCEPTIONS
         parameter_missing  = 1
         error_occured      = 2
         not_found          = 3
         permission_failure = 4
         OTHERS             = 5.
    CALL METHOD o_mr_api->get
       EXPORTING
         i_url              = '/SAP/PUBLIC/ZDEMO/Delete.png'
       IMPORTING
         e_is_folder        = is_folder
         e_content          = l_img2
         e_loio             = l_loio
       EXCEPTIONS
         parameter_missing  = 1
         error_occured      = 2
         not_found          = 3
         permission_failure = 4
         OTHERS             = 5.
    *Convert XSTRING to ITAB
    DATA :lt_hex1 TYPE solix_tab,
           lt_hex2 TYPE solix_tab,
           ls_hex LIKE LINE OF lt_hex1,
           lv_img1_size TYPE sood-objlen,
           lv_img2_size TYPE sood-objlen.
    CLEAR : lt_hex1, lt_hex2, ls_hex, lv_img1_size, lv_img2_size.
    WHILE l_img1 IS NOT INITIAL.
       ls_hex-line = l_img1.
       APPEND ls_hex TO lt_hex1.
       SHIFT l_img1 LEFT BY 255 PLACES IN BYTE MODE.
    ENDWHILE.
    WHILE l_img2 IS NOT INITIAL.
       ls_hex-line = l_img2.
       APPEND ls_hex TO lt_hex2.
       SHIFT l_img2 LEFT BY 255 PLACES IN BYTE MODE.
    ENDWHILE.
    *Findthe Size of the image
    DESCRIBE TABLE lt_hex1 LINES lv_img1_size.
    DESCRIBE TABLE lt_hex2 LINES lv_img2_size.
    lv_img1_size = lv_img1_size * 255.
    lv_img2_size = lv_img2_size * 255.
    *Attach Images
    clear: lo_document.
    lo_document->add_attachment(
       EXPORTING
         i_attachment_type     =  'png'                  " Document Class for Attachment
         i_attachment_subject  =  'img1'                " Attachment Title
         i_attachment_size     =  lv_img1_size           " Size of Document Content
         i_att_content_hex     =  lt_hex1  " Content (Binary)
    lo_document->add_attachment(
       EXPORTING
         i_attachment_type     =  'png'                  " Document Class for Attachment
         i_attachment_subject  =  'img2'                " Attachment Title
         i_attachment_size     =  lv_img2_size           " Size of Document Content
         i_att_content_hex     =  lt_hex2  " Content (Binary)
    but it throws the dump " Access using NULL object reference is not possible"  when i tries to access for method add_attachment...
    Thanks,
    Siva

    Yes there is commit work after that, Below code
          gr_document = cl_document_bcs=>create_document(
                           i_type    = 'HTM'
                            i_text    = t_html
                            i_importance = '5'
                            i_subject = gc_subject ).
    *Image from MIME
    DATA: o_mr_api         TYPE REF TO if_mr_api.
    DATA is_folder TYPE boole_d.
    DATA l_img1 TYPE xstring.
    DATA l_img2 TYPE xstring.
    DATA l_loio TYPE skwf_io.
    DATA: lo_document   TYPE REF TO cl_document_bcs.
    IF o_mr_api IS INITIAL.
       o_mr_api = cl_mime_repository_api=>if_mr_api~get_api( ).
    ENDIF.
    CALL METHOD o_mr_api->get
       EXPORTING
         i_url              = '/SAP/PUBLIC/ZDEMO/tick.png'
       IMPORTING
         e_is_folder        = is_folder
         e_content          = l_img1
         e_loio             = l_loio
       EXCEPTIONS
         parameter_missing  = 1
         error_occured      = 2
         not_found          = 3
         permission_failure = 4
         OTHERS             = 5.
    CALL METHOD o_mr_api->get
       EXPORTING
         i_url              = '/SAP/PUBLIC/ZDEMO/Delete.png'
       IMPORTING
         e_is_folder        = is_folder
         e_content          = l_img2
         e_loio             = l_loio
       EXCEPTIONS
         parameter_missing  = 1
         error_occured      = 2
         not_found          = 3
         permission_failure = 4
         OTHERS             = 5.
    *Convert XSTRING to ITAB
    DATA :lt_hex1 TYPE solix_tab,
           lt_hex2 TYPE solix_tab,
           ls_hex LIKE LINE OF lt_hex1,
           lv_img1_size TYPE sood-objlen,
           lv_img2_size TYPE sood-objlen.
    CLEAR : lt_hex1, lt_hex2, ls_hex, lv_img1_size, lv_img2_size.
    WHILE l_img1 IS NOT INITIAL.
       ls_hex-line = l_img1.
       APPEND ls_hex TO lt_hex1.
       SHIFT l_img1 LEFT BY 255 PLACES IN BYTE MODE.
    ENDWHILE.
    WHILE l_img2 IS NOT INITIAL.
       ls_hex-line = l_img2.
       APPEND ls_hex TO lt_hex2.
       SHIFT l_img2 LEFT BY 255 PLACES IN BYTE MODE.
    ENDWHILE.
    *Findthe Size of the image
    DESCRIBE TABLE lt_hex1 LINES lv_img1_size.
    DESCRIBE TABLE lt_hex2 LINES lv_img2_size.
    lv_img1_size = lv_img1_size * 255.
    lv_img2_size = lv_img2_size * 255.
    *Attach Images
    create object lo_document type cl_document_bcs.
    lo_document->add_attachment(
       EXPORTING
         i_attachment_type     =  'png'                  " Document Class for Attachment
         i_attachment_subject  =  'img1'                " Attachment Title
         i_attachment_size     =  lv_img1_size           " Size of Document Content
         i_att_content_hex     =  lt_hex1  " Content (Binary)
    lo_document->add_attachment(
       EXPORTING
         i_attachment_type     =  'png'                  " Document Class for Attachment
         i_attachment_subject  =  'img2'                " Attachment Title
         i_attachment_size     =  lv_img2_size           " Size of Document Content
         i_att_content_hex     =  lt_hex2  " Content (Binary)
           "Add document to send request
           CALL METHOD gr_send_request->set_document( gr_document ).
           TRY.
             CALL METHOD gr_send_request->SET_SEND_IMMEDIATELY
               EXPORTING
                 I_SEND_IMMEDIATELY = 'X'.
    *    CATCH CX_SEND_REQ_BCS INTO BCS_EXCEPTION .
    **Catch exception here
           ENDTRY.
           DATA: LO_SENDER TYPE REF TO IF_SENDER_BCS VALUE IS INITIAL.
           TRY.
             LO_SENDER = CL_SAPUSER_BCS=>CREATE( SY-UNAME ). "sender is the logged in user
    * Set sender to send request
             gr_send_request->SET_SENDER(
             EXPORTING
             I_SENDER = LO_SENDER ).
    *    CATCH CX_ADDRESS_BCS.
    ****Catch exception here
           ENDTRY.
           "Send email
           CALL METHOD gr_send_request->send(
             EXPORTING
               i_with_error_screen = 'X'
             RECEIVING
               result              = gv_sent_to_all ).
           IF gv_sent_to_all = 'X'.
             WRITE 'Email sent!'.
           ENDIF.
           "Commit to send email
           COMMIT WORK.
           "Exception handling
         CATCH cx_bcs INTO gr_bcs_exception.
           WRITE:
             'Error!',
             'Error type:',
             gr_bcs_exception->error_type.
       ENDTRY.

  • Imlementing synchronized access to shared objects in LabVIEW OOP

    Many objects in object-oriented programming have an
    identity, such as a file, a front-panel object or a hardware device.
    These objects cannot be modelled using present LabVOOP (LabVIEW Object Oriented Programming) objects as
    LabVOOP objects gets copied as wire is branched; multiple different
    wires cannot all represent a single object. This issue has been
    irritating the community of LabVIEW users since the release of LabVOOP
    a few months ago.
    It seems that there is a huge demand for
    objects with unique identity i.e. by-reference objects in LabVIEW. The
    central problem why LabVOOP propably doen't have these objects is the
    difficulty in implementing synchronized access to these objects from
    multiple parallel threads. The problem of synchronized access can be
    divided into two different separate topics. First how the
    sychronization should be implemented in LabVIEW runtime engine. Second
    how this synchronization mechanism should be visible to the developer.
    I'd like to start this thread to discuss these two issues.
    Synhronization under the hood
    Traditionally
    people talk about locking of an object and about get-modify-set pass
    when accessing the object. Locking is traditionally done by acquiring a
    mutex for an object, modifying the object and releasing the mutex so
    that other threads can access the same object instance. This is how
    inter-thread synchronization is traditionally done. However, besides
    the mutex based locking, the computer science community has innovated
    also different kinds of methods on synchronizing the access to objects.
    One way to get object-level synchronization is modify the
    runtime engine so that it only allows a single method of a synchronized
    object to run at any time. This mechanism of syncrhonization is
    implemented in programming languages like O'Haskell, which is a Haskell
    variant with object orirented features.
    Also different
    transactional mechanisms[1,2] have been successful. In transactional
    mechanisms multiple threads are allowed to access a synchronized object
    simultaneously. As each method accessing an object commits their
    changes, they verify that no other object has modified the object
    simultaneously in a manner than would break the transaction. If such a
    modification has occurred, everything is rolled back. Transactional
    mechanism do not suit to every possible situation as not everything can
    be rolled back. For example it's hard to roll back an action that
    somehow modifies the physical world.
    User experience of synchronization
    How
    the synchronization is generally implemented in LabVIEW shouldn't be
    directly visible to the developer end-user. The developer should
    understand the general concepts of synchronization to take full
    advantage of it, but in general the synhronization mechanism should be
    integrated directly to development environment. There should in general
    be no need to acquire a mutex by calling acquire mutex node but instead
    the end-user should be able to specify which data needs synhronized
    access in more sophisticated way.
    In the following I propose a
    mechanism of integrating the synchronized access of by-ref objects to
    the development environemnt of LabVIEW. The proposal is very
    preliminary but I hope it breaks the ice and the community would start
    innovating in how should NI implement the syncrhonization support in
    the user interface of LabVIEW.
    Wire level synchronization
    Only
    methods can access object private data members. In synchronized access
    to the object, it's the methods accessing the private data members that
    need to be synchronized. The private data members are accessed by
    applying unbundle node to the class wire and data is written back to
    the object using bundle node.
    What I propose is the following.
    An unbundle node could either be normal or "synchronized". A
    synchronized unbundle would guarantee the access to the private data
    members in synchronized manner. All data wires originating from
    synchronized unbundle would be of synchronized type, in a little
    similar manner as a dynamic dispatch wire is of special dynamic
    dispatch type. Such a wire must evetually be connected to a bundle
    node. When the wire is bundled back to the originating object, the
    synchronization requirement is released.
    These synchronized
    wires would look somewhat different from normal wires so that the
    developer instantly knows that the wire is synchronized. The developer
    can branch the wire, but only one wire branch can own the synchronized
    type. The developer could easily select which wire would be
    syncrhonized by Ctrl+clicking the wire. Such a wire can be considered
    as a combination of a data and a mutex, even though mutexes don't need
    to be the underlying synchronization method. The wire just guarantees
    that there is a mechanism in the runtime engine that makes sure the
    access to the wire data is synchronized.
    There is a need to wire
    data originating from a non-synchronized wire to a synchronized wire so
    that it can replace the private data member of the class. This is
    accomplished with a new node similar to bundle node, that would allow
    replacing the data in a syncrhonized wire with some data originating
    from a non-synchronized wire.
    The synchronized wire can be
    connected to a front panel controls of special syncrhonized type. This
    way the synchronized wire can originate from a method and allow passing
    the synchronized data to the calling VI and back to another method.
    This is practical for example in a situation when the developer wants
    to run different analyzes to a data class but don't want to rewrite all
    the existing data analysis tools as class members. So the developers
    writes a syncrhonization acquiring getData method that let's the
    calling VI to access the syncrhonized data. Then the developer passes
    this data to an analysis VI and passes the result back to a setData
    method that writes the result back to the class wire.
    There
    will probably be technical problems in allowing the user to connect
    such a synchronized wire to all existing VIs since these VIs. Therefore
    the programming model for all nodes that do not support such
    synchronized wires will be branching the wire and passing the
    non-synchronized wire branch to the node and then bundling the result
    back to the synchronized wire.
    To increase performance and
    decrease unnecessary buffer copies when a syncrhonized wire is
    branched, if the syncrhonized wire continues directly to the new bundle
    synchronized wire node, no buffer copy is made.
    Discussion
    The
    syncrhonized access to a by-ref LabVOOP objects can be implemented in
    multiple ways by National Instruments. The synchronized access should
    be divided to two different and independent parts: 1) the user
    experience of synchronization and 2) the runtime engine synchronization
    mechanisms. As LabVOOP objects have special properties compared to
    other LabVIEW data types, optimal user experience can be gained by
    designing the user experience specifically for LabVOOP objects. From
    user experience point-of-view this syncrhonization mechanism may not
    work for other data types. Separating object syncrhonization from
    synchronization of other data types is advantageous also for other
    reasons. Due to the fact that object data can only be accessed via
    object methods, more advanced synchronization methods may be used with
    objects than can be used with other data types. O'Haskell
    synchronization implementation is an example of this. Integrating the
    synchronization directly to the user interface allows NI to change the
    mehcanisms under the hood, when computer science comes up with more
    advanced methods. Therefore NI could begin with traditional and quite
    easy mutex-based synchronization and later move to more advanced
    perhaps transaction based syncrhonization methods or even combinations
    of multiple different methods.
    I hope this topic generates
    discussion that would help NI to implement an excellent synchronization
    mechanism in LabVOOP. I hope that all talented individuals in the
    community participate this discussion to help NI to reach this goal. I
    also hope that if you just have time, it would be great if you could
    surf the computer science resources to find out what kinds of new
    techniques there exists for synchronizing access to shared resources. A
    Large community may find much more innovative solutions than a few engineers at NI. Let's give NI the power of open source design
    Tomi Maila

    Hello Tomi,
    First, thank you for taking the time to write such a well
    though-out suggestion.  Are you familiar
    with the “LabVIEW Object-Oriented Programming: The Decisions Behind the Design”
    document?  I think the reason we chose to implement a ‘by
    value’ strategy, is that is more in line with the LabVIEW programming paradigm
    of dataflow, and would make sense to most of our LabVIEW users.
    I think your suggestion is interesting, and it does
    highlight the need to think outside of the conventional LabVIEW box and look to
    some of the innovative things other languages do.  However, I think we all agree that
    synchronization takes careful planning and extra work for the programmer.  Even with an ‘ideal’ solution I see no way
    around this.  For LabVIEW users today,
    one great way to get synchronized ‘by reference’ semantics with your objects is
    to use a single-element queue to pass your object.  The queue itself is passed ‘by reference’ and
    is inherently synchronized!  The does
    have the disadvantage of adding one more small layer of complexity to your
    program, but some complexity would have to be introduced in any situation.  The other disadvantage with this is that it
    is not always an intuitive way to implement your program and requires some
    amount of LabVIEW knowledge before one would generally come across this
    technique.
    In any case, I appreciate the time and effort you put in to
    your suggestion.  Please make sure that
    you submit the suggestion formally through the NI Product Suggestion Center so
    that it can be reviewed by some of the decision makers here.
    Thanks again,
    Travis M
    LabVIEW R&D
    National Instruments

  • ORA-34492: Analytic workspace object __XML_GET_FULLTOAW_NAME does not exist

    Hi,
    We are experiencing the following error when trying to retrieve data from the OLAP layer in our front-end:
    ORA-34492: Analytic workspace object __XML_GET_FULLTOAW_NAME does not exist.
    to be more specific, the following happens:
    We are using the Oracle OLAP Java api's to query the analytical workspace. We create a Source object that contains the joins we want. This source is prepared and committed via the TransactionProvider class. Via the DataProvider we then create an SQLCursorManager and generate the SQL and execute it via JDBC.
    We were able to execute it without problems on an XP development platform. When switching to another platform that we use, it gives the following error messages:
    (platform with the error is Linux x86-64; more version info further down)
    Caused by: java.sql.SQLException: ORA-34492: Analytic workspace object __XML_GET_FULLTOAW_NAME does not exist.
    ORA-06512: at "SYS.OLAPIMPL_T", line 23
    ORA-06512: at "SYS.OLAPIMPL_T", line 17
    ORA-06512: at line 4
    at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305)
    at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272)
    at oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:626)
    at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:113)
    at oracle.jdbc.driver.T4CStatement.execute_for_describe(T4CStatement.java:352)
    at oracle.jdbc.driver.OracleStatement.execute_maybe_describe(OracleStatement.java:894)
    at oracle.jdbc.driver.T4CStatement.execute_maybe_describe(T4CStatement.java:384)
    at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:984)
    at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1124)
    Platform/version info that produces the error:
    Linux x86-64
    Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
    PL/SQL Release 10.2.0.3.0 - Production
    CORE     10.2.0.3.0     Production
    TNS for Linux: Version 10.2.0.3.0 - Production
    NLSRTL Version 10.2.0.3.0 - Production
    OLAP A patch for 10.2.0.3 is applied.
    Platform where this works without problems:
    Windows XP
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE 10.2.0.1.0 Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    Any info on resolving this issue is greatly appreciated!
    Thanks,
    Ed

    Hi Keith,
    Yesterday I actually fully rebuilt/redeployed the AW. (I only patched our 10.2.0.3 installation with the OLAP A patch very recently.) Even the AW's tablespace was recreated, just to make sure everything was gone. Redeployment of the OLAP objects from OWB control center went without any problems.
    Let me answer your questions one by one below.
    1) How did you build the AW?
    We use OWB. The only thing I used AWM for is to actually create the AW. Once created, I use OWB to design and deploy. The front-end developers use AWM sometimes for viewing data in the OLAP objects. (I use OWB or AWM for that.)
    2) Can you connect to the AW via AWM, if so can you use the Data Viewer option to view:
    a) each dimension and check you can drill up and down.
    b) each cube
    I have been playing around a bit with the dim's and cubes in the AWM by right-clicking and selecting view data ... (that's the data viewer option?) and encountered no problems.
    3) You are using the OLAP API directly, what sort of application are you building - Java Client, JSP, Applet and are you using BI Beans?
    We are building a JSP type application, but so far only servlet code is being executed as the failure occurs on issuing the query. We are not using BI BEans.
    Thanks for your feedback!
    grts,
    Ed

  • WebDynpro Abap MSS: Access via "NULL" object reference not possible

    hi,
    My customer send me the following link to Appraisal Documents (Manager) MSS
    http://server.sap.portal:1810/sap/bc/webdynpro/sap/HAP_START_PAGE_POWL_UI_MSS/
    http://a.imageshack.us/img685/5959/mss3.jpg (logon in Costumer SAP System)
    http://a.imageshack.us/img225/4008/mss4.jpg (Appraisal Documents (Manager) MSS run succesful)
    Link that also run by the SICF in my customer is correct.
    But when I run in my SAP System see the following error
    http://a.imageshack.us/img715/5355/mss1j.jpg (SCIF in my SAP System)
    http://a.imageshack.us/img44/5346/mss2.jpg (SCIF - test service)
    http://a.imageshack.us/img840/1677/mss2b.jpg (Error, without window logon)
    <b> Access via "NULL" object reference not possible</b>
    Other question is:  In what part of MSS is this option? because the ESS is in Career and Jobs / Appraisals Documents
    http://a.imageshack.us/img683/9900/careerjob3.jpg (Employee Self Service / Career and Jobs / Appraisals Documents)
    thanks for your posts and answer
    Ivan

    Hello
    The most important information is (again) missing: which object reference is initial ("NULL")?
    The ABAP dump will tell you.
    Below I show an example how this can happen (and be avoided):
    LOOP AT lt_accountings INTO ls_accounting.
      lo_po_account ?= ls_accounting-accounting.
    ENDLOOP.
    " QUESTION: Are you sure that lo_po_account hold an instance ???
    " If LO_PO_ACCOUNT is empty the following statement will give you the dump.
    ls_mepoaccounting = lo_po_account->get_data( ).
    " And that is how to avoid this (at least the dump. Whether your logic is still ok is another matter...)
    CHECK ( lo_po_account IS BOUND ).
    ls_mepoaccounting = lo_po_account->get_data( ).
    Regards
      Uwe

  • Track the qeries that accessed a particular object during a time period

    HI,
    I have a list of objects on my schema and i need to track the list of sql queries by different users that accessed by object during this time period.
    i haven't enabled any auditing yet.
    is there any way i can get that list of queries and their schemas that accessed those particular objects during a particular time period.
    Can someone guide me please.
    Thanks in advance.
    Philip.

    Too bad you don't have a version number. Oracle functionality changes from version to version and in some versions you can do this and in some you can not.
    Look here for one way to accomplish the task:
    http://www.psoug.org/reference/dbms_fga.html
    Here for another:
    http://www.psoug.org/reference/audit_vault.html
    Here for another:
    http://www.psoug.org/reference/dbms_logmnr.html
    Consider posting more information when asking questions in the future.

  • Access another list in SharePoint controldisplay template

    Hi All,
    I would like to know if it is possible to access another SharePoint list items in a control or item display template using Client object model or REST services. Can someone please confirm me? Thanks.
    Regards,
    SC Vinod
    Blog: http://sharesilver.wordpress.com/

    Hi Mike,
    I'm not asking for implementing COM or REST services in a CEWP but in the display templates of a Content search web part.
    Regards,
    SC Vinod
    Blog: http://sharesilver.wordpress.com/

  • Error(Access via 'NULL' object reference ) in link to action

    Hi,
          I have a table-VBAK with "LinkToAction" is one of my column,Once i click  that action,i want to call one more table-VBAP  in the "TablePopin".
    <b>OnAction of "LinkToAction"</b>
    I called the another Table(VBAP)-"TablePopin" with the help of following code,
    <u>context_element->set_attribute( name = 'SELECTED_POPIN' value = 'TABLEPOPIN' ).</u>
      Now i want to fill the VBAP-Table.
    So <b>OnAction of "LinkToAction"</b>.
    i called the
    method ONACTIONOPEN_POPIN .
    DATA:
        NODE_VBAK1                          TYPE REF TO IF_WD_CONTEXT_NODE,
        ELEM_VBAK1                          TYPE REF TO IF_WD_CONTEXT_ELEMENT,
        STRU_VBAK1                          TYPE WD_THIS->ELEMENT_VBAK1,
        wa_vbap type vbap,
        itab_vbap like table of wa_vbap.
    navigate from <CONTEXT> to <VBAK1> via lead selection
      NODE_VBAK1 = WD_CONTEXT->GET_CHILD_NODE( NAME = 'VBAK1' ).
    @TODO handle not set lead selection
      IF ( NODE_VBAK1 IS INITIAL ).
      ENDIF.
    get element via lead selection
      ELEM_VBAK1 = NODE_VBAK1->GET_ELEMENT(  ).
    @TODO handle not set lead selection
      IF ( ELEM_VBAK1 IS INITIAL ).
      ENDIF.
      ELEM_VBAK1->GET_STATIC_ATTRIBUTES(
        IMPORTING
          STATIC_ATTRIBUTES = STRU_VBAK1 ).
    if stru_vbak1 is not initial.
    select * from vbap into table itab_vbap where vbeln = STRU_VBAK1-vbeln.
    endif.
    context_element->set_attribute( name = 'SELECTED_POPIN' value = 'TABLEPOPIN' ).
    endmethod.
    i set the break point and check it.once it enter into the following area of the above code,i am getting error like <b>Access via 'NULL' object reference</b>
    <b>ELEM_VBAK1->GET_STATIC_ATTRIBUTES(
        IMPORTING
          STATIC_ATTRIBUTES = STRU_VBAK1 ).</b>
    Now my problem is,i want to fill the VBAP-Table in my "TablePopin".Once i click the "LinktoAction" in my Main Table.
    can any body share your ideas.
    Thanks in Advance,
    Regards,
    Ravi.

    Hi Ravi,
    Have you filled in the node_vbak1 with some elements? Lets say in a supply function or wddoinit etc.?
    Just check that. After that, make sure you have IntializeLeadSelection property set to true for the node_vbak1.
    Hope this helps.
    Regards,
    Neha

  • Accessing another variable from another application

    I was wonder how I can access another variable form another application?
    For example: I want to access :P4_EMPLOYEE_NAME from app ID 104 when I am doing is from an activity in page 2 on app ID 142.
    I had a search before, but I am looking for an unambiguous response.

    Greg - About all you can do is call the function htmldb_util.fetch_app_item(p_item => 'F104_ITEM', p_app => '104'). The application you call this function in must be sharing a session with the application from which you are fetching the item, both applications must belong to the same workspace, and the item you name in the argument must be defined as an application-level item in the fetched-from application.
    Scott

  • Accessing via an object

    Hi Guys...
    I am trying to access a shared object declared in a certain function, from another function. I am having
    difficulty doing so. My code are as follows:
    //Constructor code
    public function EventTest()
       var ET:EventTest = new EventTest();
       //..Other code
       doLocalSO();     
    private function doLocalSO()
       username_so = SharedObject.getLocal("UserName", "/" ); 
       //... Other code
       Connection();
    private function Connection()
       rtmpGo = "rtmp://compName/projName";
       nc = new NetConnection( );  
       nc.connect(rtmpGo, ET.doLocalSO.username_so)
    I am getting the following error:
    EventTest.as, Line 69 1120: Access of undefined property ET.
    I am bascially trying to acccess 'username_so' in the connection function. Where am I going wrong? Hope someone can
    advise. Thanks.

    i assume you showed snippets from two or more classes.  what code is in what class?

Maybe you are looking for