Question about shared application modules

Hello,
I read the part in the developer guide but I still have some questions.
1) The dev guide states that shared app modules use a different configuration.
I assume this is the <appmod>Shared configuration?
2) Where is this defined? Can this be changed?
3) I understand there are two type of ‘scopes’ session and application. I’m using application for static lists, but I do not understand what the session scope is for? Is there any reason to use this scope over a normal application module?
4) We have a system which uses VPD in an ‘odd’ way. We use it to set the current working year. Because the data is bound to years. Is it possible to use a session scoped shared module for this? And when I changed the current year (Context being set via the app module) to refresh all the session scoped shared module’s views?
-Anton

Anton,
Yes, you can jump aroundd as you like.
You just can't use view links between VO's based on different db schema tables.
Nesting AM's doesn't help there, the DB connection of the top-level AM will be used.
Why don't you create synomyms for the tables in the other schema?
Steven Davelaar,
JHeadstart Team.

Similar Messages

  • Question about multiple application modules.

    Hello,
    Suppose I have 2 database schema’s. For both schemas I have 1 application module. All view objects are in the same project.
    For each application module I have an application definition.
    Is it possible to link between these two applications? Because sometimes these database schema’s link to each other and you would like to jump from one application directly to the other.
    For example you have orders locates in 1 DB schema and customers in another DB schema.
    You would want to jump from the order directly to the customer details in the second schema.
    Is this possible? Or do I need to make nested application modules etc?
    I can find very little info about this; the JHS def guide does not offer much information about multiple application modules etc.
    -Anton

    Anton,
    Yes, you can jump aroundd as you like.
    You just can't use view links between VO's based on different db schema tables.
    Nesting AM's doesn't help there, the DB connection of the top-level AM will be used.
    Why don't you create synomyms for the tables in the other schema?
    Steven Davelaar,
    JHeadstart Team.

  • Question about the Application Module in bc4j

    Hi all,
    I've been playing with JDeveloper9i for a little ovar a week only and have been trying to get access to a BC4J View Object in order to execute a runtime specific query on it, by passing 2 user input values to the object, and setting the WHERE clause by a call to the setWhereClause() method on the View Object. The only way i could come across to get hold of the View Object was to create an Application Object (in this case its called Bc4jModule) and then to use a call to a custom method in the Application Module Implementation which i created and set to be a Client Method.
    The code is as follows:
    In the Application Module (Bc4jModuleImpl)
    public int authenticateUser(String strLogin, String strP_Word)
    getUsersView().setWhereClause(" LOGIN='" + strLogin + "' AND P_WORD='" + strP_Word + "'");
    System.out.println(getUsersView().getWhereClause());
    getUsersView().executeQuery();
    return getUsersView().getRowCount();
    In the JClient panel (JButton action):
    Bc4jModule app = (Bc4jModule)panelBinding.getApplicationModule();
    int n = app.authenticateUser(txtUser.getText(), txtPassword.getText());
    System.out.println("Number of rows queried = " + n);
    I would like to know if this is the best way of doing a custom query on the Entity Object or is there some other way that i'm missing?

    The best way would be to:
    [list=1]
    [*]Design a view object in JDeveloper which has bind variables for the parameters you need to pass in at runtime. For example, your WHERE clause for your view object would look like:
    LOGIN = :0 and P_WORD = :1[*]Add an instance of that view object definition to your application module
    [*]Write your custom AppModule method like this:
    public boolean authenticateUser(String strLogin, String strP_Word)
      getUsersView().setWhereClauseParams(new Object[]{strLogin,strP_Word});
      getUsersView().executeQuery();
      return getUsersView().first() != null;
    }[list]

  • Questions about shared maps

    Hi,
    I have some questions about shared maps. Our Olite Applications has 96 tables. On these 96 tables, 54 tables are tables with DISABLED DML = UID. So, change on the client database are not uploaded to the server. Some of those tables have no where clause and some have a where clause which is the same where clause for all.
    Is it true to say I could put all those tables as shared maps?
    Are they automatically shared because DISABLED DML = UID?
    What would be the advantages of putting those publications items as shared maps?
    Thanks for your help.

    Thanks for your help.
    I looked into CMP$ tables and CLID$$CS is not 0 but egal to my usersnames. I use a java program to create my items and publications.
    I also found in the table C$ALL_TEMPLATE_ITEMS a COLUMN named SHARED and they are all with the value N. So I think they are not shared.
    I think I found where in the API I should make the table shared. It is in the addPublicationItem procedure of the Class ConsolidatorManager. I will try it.
    If we want all users to have all the table data, must we use the groups you talked about?
    If yes, how do i define those groups?
    Thanks

  • View Objects in the shared application module is not refreshing

    Hi ,
    I have view objects defined shared apps module. This view objects are used for creating lovs which won't change very frequently. I have set the AutoRefresh=true for this view objects. I do have a UI to update the underline table for these lovs. The view objects defined in the shared application module is not getting reflected even I add a new value in the database. Is there any way to refresh these lovs as soon as its added to db?
    Thanks
    Suneesh

    I will explain my scenario ;
    I have a view object(ViewA) where I have defined many LOVs for different attributes. Thes LOVs are using the shared application module's view object (shared_view1,shared_view2...etc) as List DataSource. Where exactly I need to set the auto refresh property=true. Currently I have set all of my shared apps view objects's(shared_view1,shared_view2...etc) autorefresh property=true.Do I need to use the autorefresh =true in the ViewA ?
    What is the concept of autorefresh=true ? Wiill it refresh automatically the view object nexttime i am accessing the page after the db inserts ? Is there any time delay there ? if there is it something configurable ?
    Thanks
    Suneesh

  • Verifying a Shared Application Module

    I have been looking at Shared Application Modules; I have created a small test application that utilizes a Shared Application Module. I would like to ensure that my implementation is OK, e.g., verify that only one instance of the Shared Application Modules is created. How can I do this?
    In some forum, someone said that he tried to do this by “monitor the Application Pool “. How do I do this?
    Thanks

    You can test this from the AM tester. Enable Debugoutput to Console as described here.
    IF you use a VO instance from a shared AM as an LOV you will see the LOV query being printed only once.
    Also refer to http://www.oracle.com/technetwork/developer-tools/adf/learnmore/87-lov-using-shared-am-444769.pdf for the idea

  • Question about the function module (RFC_READ_TABLE)

    Dear everyone
    Could I ask you a question about the function module (RFC_READ_TABLE)?
    I was asked if it's possible to create a report which compares the data between different SAP systems (both production systems).
    Now, the easiest way would be to use the function module (RFC_READ_TABLE) within a SAP infoset query (SQ01 type query).
    But I heard the rumor that using the function module (RFC_READ_TABLE) is not advisable due to the security reason.
    However, I am not exactly sure what sort of security problems this function module can possibly have...
    Would you help me on this?
    I also would like to know if using "remote enabled module" type function module can always overcome this possible security issue.
    Or, are there any points that I need to be careful about even when I use "remote enabled module" function module?
    Thank you very much in advance.
    Takashi

    Dear Fred-san
    Thank you very much for your support on this.
    But, may I double check about what you mentioned above?
    So, what you were mentioning was that if some user executes the query with
    the function module (RFC_READ_TABLE), under the following conditions, he can access to
    the HR data even when he does not have the authorizations for HR transactions?
    <Conditions>
    1. the user has the authorization for HR database tables themselves
    2. RFC_READ_TABLE is called to retrieve the data from HR database
    <example>
    Data: LF_HR_TABLE like  DD02L-TABNAME value 'PA0000'.
    CALL FUNCTION 'RFC_READ_TABLE'
       EXPORTING
        query_table                = LF_HR_TABLE
      TABLES
       OPTIONS                    =
       fields                     =
       data                       =    .
    But then, as long as we call this function module for a non-critical tables such as
    VBAP (sales order) or EKKO (purchase order) within our query, it wouldn't seem to be
    so security risk to use RFC_READ_TABLE...
    Besides, each query (infoset query) has got the concept of user groups, which limits
    the access to the queries within the user group.
    ※If someone does not belong to the user group, he cannot execute the queries within that
       user group, etc
    So, my feeling is that even infoset queries does have authorization concept...
    Would you give me your thought on this?
    I also thank you for your information for SCU0.
    That is an interesting transaction
    Kind regards,
    Takashi

  • Combo LOV search on VO exposed on Shared Application Module

    Hello,
    My Jdev version 11.1.1.6. Technology stack is ADF BC and ADF faces.
    I have a generic lookup table that provides static list of values for many pages. Most lookup types have short list of values i.e. 15-20 and are implemented as selectOneChoice but some are 100+ and are implemented as Combo LOVs.
    This lookup VO has been exposed on Application level Shared Application Module and all LOVs are implemented on data model side.
    The problem is with Combo LOV search functionality. If I try to search on column, putting X%, it returns all values and I noticed that no query is sent to database which means it has all the data already cached on application server and returning all rows from there.
    If I change the LOV's Base VO [i.e. lookupVO] to regular [non-shared] then it perfectly searches as per entered criteria and returns correct rows.
    Do I need to set something on VO (or some where) to return filtered records from memory?
    My BC objects extends custom framework extn classes. Can something be done in custom framework etxn classes affecting only where it is required and not affecting other VOs [non-shared] functionality?
    Please help.
    Thanks,
    Jai

    Pratap,
    Thank you for the response.
    The reason I need to use new xxCO on the page is this.
    Seeded page CheckoutLinesPG.
    It has advanced table on it where every column has it's one external region.
    The new LOV region xxRN is put on a page also under this table new column.
    1. When a requester (seeded region on the seeded page) is changed then my xxLOV should reflect the change and be populated according to what is selected in the Requester LOV.
    2. When one-time address is added (another seeded region on the seeded page) my xxLOV should be disabled, when one time address taken out - enabled again.
    So xxCO should apply to the whole page.
    The VO behind advanced table PoRequisitionLinesVO is extended with 2 additional attributes and will substitute, the new xxVO is under xxAM data model.
    All works fine with my methods in the seeded RequisitionAM which I get a handle to in the xxCO. But I don;t know how to get the handle to the xxAM if I put my methods there.
    Thanks,
    Anatoliy
    P.S. just fyi - I know it is not the recommended approach but what I did for now I put all calls into the controller - in the controller I can get a handle to root AM, through that I am getting a handle to xxVO which (!) is substituted during runtime with my xxVO. But if you can figure out how to get a handle to xxAM in my case it will be great.
    Edited by: asmirnov on Mar 24, 2009 2:04 PM

  • Sharing Application Module view Instances

    hi,
    I read the sharing application module instances but I didn't understand the difference of Application level shared Application Module and session level shared Application Module.
    Give the simple answer to this one.
    Regards,
    Ragu.

    To summarize what the documentation says: Session-scoped shared app module would only be accessible to a single user (session), whereas application-scoped shared app module can be shared by all users.
    John

  • LOV doesn't apply view critera working with shared application module.

    Hi,
    I have a shared application module to share lovs between applications.
    These lovs have bind variables in the where clause and in view criterias.
    When i use these shared lovs, if i select in the view accessor, more than one view criteria to be applied in the view accessor, all rows are selected, it seems that any view criteria are applied or they are applied with an OR operator, althougt in the view accesor indicate that they will be add with an AND operator.
    thanks!

    I also have a similar problem. View criteria dos not applied in LOV from shared AM. Workaround - in base VO view row implementation for base love attr setter add re-query for LOV view accessor:
    ViewObject vo = getSharedAM_RefItem1_1().getViewObject();
    vo.applyViewCriteria(vo.getViewCriteriaManager().getViewCriteria("RefItemViewCriteria"));JDeveloper 11.1.1.6 (Build JDEVADF_11.1.1.6.0_GENERIC_111205.1733.6192.1)
    Edited by: VitalyCoder on 25.02.2013 10:53

  • Shared applications modules

    Hi,
    I've been reading the section about shared AM in the developer's guide, however I found explanations rather incomplete.
    I would like to know how to do the following:
    1. Use a shared AM from the user interface, a.k.a. have a data control referring to an application or session scoped shared AM. I am aware that I can change the configuration name in the DataBindings.cpx file, however there are no ways to specify the instance name as defined in the "Model" project Business Components properties.
    2. Use a shared AM from another AM, a.k.a. define a nested AM as a reference to an application or session scoped shared AM. Inspecting the source xml file for an AM definition, I see that nested AM are defined as AM usages, a.k.a. like a shared AM definition is an AM usage. So, if I specify the usage name of a shared AM and change the "SharedScope" to be "1" (session) or "2" (application), will it work as I expect it?
    3. Use a shared AM from code. In this case, I would like to known how to retrieve an instance of a shared AM from its instance name wherever my code is located. I may be in an EntityObject, ViewObject or elsewhere.
    4. How do I create dynamically a shared AM instance? Either as a nested AM from a root AM or from scratch (if that is possible).
    Shared AM looks like an extremely nice feature, let us exploit them! :-)
    Thanx!
    Olivier

    Thank you for your answer Blaise.
    I agree that creating shared AM dynamically seem to contradict their purpose, but I'm really looking to know how things work and where I can push that feature.
    I hope you found out how we can access shared AM with code as it seems to me that the feature is completely underexploited.
    What if I'd like to "cache" other stuff at the AM level?
    What if I'd like to access a shared AM from another AM to access shared data?
    What if I'd like to show in my UI a drop-down with cached lookup data and I can't use the LOV feature?
    I can think of plenty of scenarios where I would use it.
    Thanx!
    Olivier

  • Newbee questions about XE application builder

    Hi
    I find that Oracle support someting that we can use to build some real database driven applications
    i have some questions about it :
    1-Does this application builder differ from Oracle 10g R2 Application builder ? i means is it limited ?
    2-Does any one use it to build a real world application that works some where in some business place ?
    3-what is its behind code and technology , does it use JSF and managed Beans ? how i can see the generted codes ?
    Thanks

    Hello,
    Here's the link to the Application Express Forum Oracle Application Express (APEX)
    You should also look at the Application Express OTN page, http://www.oracle.com/technology/products/database/application_express/index.html there is howtos tutorials all sorts of good stuff.
    Carl

  • Sharing application modules

    Hi,
    I have an application (ADF) running on Oracle AS. Lets call it Application A. This application comprises of about 10 projects (modules).
    I am creating a new webservice that uses some of the application modules, view objects and entity objects of Application A. I will be deploying this webservice as a separate application on the same Oracle AS.
    Is there someway for my webservice to use Application A's app modules, view objects and entity objects without physically including them in the webservice ear/war. This will help me keep my code in-sync.
    Thanks.

    Hi Frank,
    We (colleague of Nilesh) unfortunately can't wait for 11g esp. because you can't give a release date.
    The problem we are facing is that we see the same queries hitting the database over and over again. So caching these queries for a 'longer' period of time would save us a lot of round trips to the database.
    The data we want to cache is releasable stable, the data we select is separated from the data we insert. So we can store the data over a longer period of time.
    But as I understand it, there is no solution that would solve such a usecase? (Other then using a different framework/ building a custom solution)
    Message was edited by:
    Thijs Vonk

  • Question about managing application licenses together with netboot

    Hello
    So far I had made no experience with an MacOSX Server netboot configuration but we plan to introduce it in some weeks. Therefore we are "wondering" how management/assignment of application licenses is working in a netboot configuration. Normally in a local MacOSX configuration licenses for application are in generally assigned on the application (some are bound to a certain user name, others to the CPU ID) and is valid for all users login to the same computer. How and at which time are application licenses (for example MS Office 2004, Adobe Acrobat etc.) assigned in a netboot environment?
    Many thanks in advance for any clarification and with best regards, André Müller

    Hi Andre,
    Is this a technical or legal question Either way it is an interesting question about a major grey-area, and I wonder if anyone has the right answer.
    Boiling your question down to specifics, it could be...
    I have 15 individual Photoshop serials. I want to run Photoshop off a NetBoot image for 15 simultaneous users. Can I install one serial on the image, and allow 15 users to open Photoshop simultaneously. What if I want to install the image on 20 machines, but only 15 users will ever use Photoshop simultaneously.
    There is a technical answer and a legal answer to the question. I don't know if there is a 'right' answer since multi-user installations of titles that are technically possible under NetBoot may not be allowed legally under the user license agreement you committed to on breaking the seal on the software. And these agreements are different for different countries.
    Here's the technial answer. Sometime before OSX server 10.0, when Apple introduced netboot technology, developers were advised not to perform network scans checking for duplicate serial numbers when aps start up.
    In practice this means you can install software title on your image, activate with a serial number, and it will not conflict with the other identical versions of the same application on other images on the network.
    FileMaker Pro is the only software I am aware of that doesn't play by these rules, altthough it no longer checks when the applicaton starts, but when any FMPro network activity is started.
    Here's the leagl answer. It depends on the title and the country you are in. The legality is definded under the eulas for the titles concerned. I don't know if the leaglity has ever been tested in a court of law in any country in this context.
    The easy way to do the right thing for some titles it to purchase a multi-user serial number, ie. a single number which will work for 5 or 10, 20, 50... etc. users. Fore example, FileMaker has a volume licensing serial number which I beleieve can be purchased in increments of 10 users. However, not all titles offer this option, though, and it's difficult if you need 12 copies and have to buy 20.
    Sassafras software http://www.sassafras.com/ sells Keyserver, which may be an appropriate solution. Keyserver tracks installations and authenticates serial numbers to ensure no more than the licensed number of copies can be run at the same time.
    I don't think I've answerede your question for you but hope to have expanded the contxt of the question for other suggestions.
    Good luck,
    b.

  • Question about evictor, application performance, and log growth

    Hello,
    I've got an application that using two BDB environments, one with critical data and one with data that can be reconstructed, just for the sake of backup convenience. For a while, I was getting OutOfMemoryErrors with increasing frequency. This caused the app to crash without closing the databases or the environment until the recovery time was around 30 minutes. After reading through many of the posts here and trying various workarounds, I got to a state where that stopped happening. I think that what did that fixed is was decreased the cache sizes.
    Then, I was seeing what appeared to be evictor deadlocks. The application would hang for thirty minutes before a monitoring script that I've got would detect that no work was being done and would restart the application. Another round of searching ensued and I seem to have gotten it to a state where it doesn't run out of memory or deadlock anymore.
    After getting rid of all these issues and letting it run for four or five days, the size of one of the critical BDB environment was 550GB. Since it was almost filling the drive, I moved it aside and created a new BDB for the app to use. Now, I'm trying to figure out what happened. It looks like the BDB contains about 15G of actual data.
    It seems like everything starts out fine and then, somehow, it starts to collapse under the weight of itself. I'd like to figure out what type of abuse I may be guilty of that could cause this.
    Here's a little bit about my application:
    First (critical) BDB environment:
    - add only, no deletes
    - two databases
    - average data sizes are 1k and 11k respectively
    - average key sizes are around 80 and 16 bytes respectively
    - almost no locality of reference to access pattern in either
    - minimal lookups, mostly used as an archive
    - cache size is 1MB
    - 8 threads reading/writing, 40 threads reading only
    Second (reconstructable) BDB environment:
    - six databases
    - five databases are mostly add with purges of two-week-old data
    - one database has frequent adds and deletes
    - lots of lookups, things are likely to be looked up shortly after they're added
    - cache size is 64MB
    - 40 threads reading/writing
    On both environments,I've set je.evictor.forcedYield=true.
    I'm running the JVM with:
    -Xmx1800m
    -Dje.adler32.chunkSize=8192
    -XX:+UseMembar
    JVM version is:
    java version "1.6.0_01"
    Java(TM) SE Runtime Environment (build 1.6.0_01-b06)
    Java HotSpot(TM) Server VM (build 1.6.0_01-b06, mixed mode)
    BDB version is 3.2.23
    OS/Kernel is:
    Linux app2 2.6.9-42.0.10.ELsmp #1 SMP Fri Feb 16 17:17:21 EST 2007 i686 i686 i386 GNU/Linux
    So, my question is:
    What could cause the critical database (especially with no deletes) to grow to 550GB when there's only 15GB of data in it? It was my understanding that the cleaner should take care of any unused log file cruft. It seems like the log files grow faster as the performance gets worse. I have no idea which is the cause or the effect.
    And, I guess the real question is how can I prevent this in the future?
    Thanks,
    -Justin

    For the record, the problem was that the user's cache size was too small for the size of the database thereby creating a large number of records in the log when eviction of dirty records occurred. The cleaner was unable to keep up with the log load.
    Note to readers: eviction of dirty records causes records to be written to the log. JE has to evict to somewhere and the log is what it uses.
    Charles Lamb

Maybe you are looking for