Sharing view objects across application modules

Our application uses multiple application modules because of the complex functional requirements. We have come across sharing view objects among application modules. I want to understand the best practice, sharing view object instances across application modules. These view objects can be based on Entity Objects also.
Please let me know if there any suggestions.
Thanks,
Satya

Hi Satya,
You won't be able to share view objects between application modules, but what you can do is to share the bind variables between application modules, if each of your module contains the 'common' view object.
A solution for sharing data between application modules is provided on this blog: http://andrejusb.blogspot.co.uk/2012/05/solution-for-sharing-global-user-data.html
You can use this approach to share bind variables between AM's and re-query the same data.
Hope this helps,
Florin Marcus
www.redsamuraiconsulting.com

Similar Messages

  • Sharing of Objects across applications

    Hi,
    Is it possible to reference an object initialized by another application?
    For example, I have a Logger object that I instantiated from App1. Then I decided to come up with App2. I want to use in App2, the same logger innstance I am using in App1. Of course, assuming that App1 is running. If not, App2 shall create the Logger object and when App1 is run, App1 now shall reference the Logger object App2 created.
    I guess what I am pointing out here is how sharing of objects across application can happen in Java.

    There is no direct support for this in JVM - you cannot reference object created by JVM#1 from JVM#2 playing fair game =)
    If you need 100% pure JAVA solution the only way to do it is to use
    networking, either RMI (as it was already suggested) or coding your own TCP protocol. Main drawback - it'll be slow.
    For faster access you'll need to use JNI and some sort of interprocess communication method - shared memory/messages/etc. This might be faster (there will be no TCP/IP marshaling) but it'll be more combersome to support it for different OS.

  • Can I operate the view object outside application module?

    I publish a Application Module into Oracle 8i Server. When I operate the view object in a class that published in Oracle 8i Server.
    It raise a remoteException. Can I operate the view object outside application module?

    Hi,
    The application module is the main point of contact for the ViewObject and EntityObject classes. It handles things like the connection pooling and other coordination aspects.
    You need to go through the app module to access the ViewObject class methods.

  • Can Designer generate ADF Entity Objects, View Objects and Apps Module ?

    Hi all,
    On what way can Designer integrate with JDeveloper (+ ADF) ?
    Can Designer generate ADF Entity Objects, View Objects and Apps Module ?
    Thank you for your help,
    xtanto

    Designer itself has no direct integration with JDeveloper. However, there are three options. First of all, you can get a JDeveloper extension (download this separately) that lets you create a Connection to a Designer repository. From that Connection you can find modules that you defined in Designer and generate Entity and View objects for the tables and columns that you used in those modules, and an Application Module. It does not create JSPs or other user interface objects.
    Another option is to buy JHeadstart from Oracle. This contains a set of code generators and ADF extensions that include an ability to get information from a Designer repository. JHeadstart works fine for non-Designer users too, but was built by the same people who wrote Designer Headstart - they know the repository API intimately.
    The third option is to download Oracle Designer Extension Builder (ODEB) which was just recently made available. This is a product of a collaboration between Designer users from the Oracle Development Tools Users Group (ODTUG) and Oracle to extend the capabilities of Designer with user written tools and utilities. You could use ODEB to write your own generators for ADF Business Components. Or you could wait and see if someone else in the user community does this. I hope that you or whoever does such a generator will be willing to share it with us all.

  • Calling stored procedures from entity object and application module

    Hello
    I've put in place an EntiyImpl base class containg helper methods to call stored procedures.
    I now need to call stored procedures from the application module.
    Apart from creating an application module base class and duplicating the helper method code is there a way
    to share the helper methods for calling stored procedures between the entity impl and application module impl ?
    Regards
    Paul

    Does the helper code depend on features of a particular entity object instance, beyond its database transaction?
    If so, I'm not sure I see how it could be used from an application module class.
    If not, here's what you do:
    Step 1:
    Parametrize the database transaction--you might even want to. So instead of
    protected myHelperMethod(Object someParam) {
    DBTransaction trans = getDBTransaction();
    change this to
    protected myHelperMethod(DBTransaction trans, Object someParam) {
    Step 2: make the method public and static--once you parameterize the DBTransaction, you should be able to do this.
    public static myHelperMethod(DBTransaction trans, Object someParam) {
    Step 3: Remove the method from your EntityImpl base class into a utility class:
    public abstract class PlSqlUtils {
    private PlSqlUtils() {}
    public static myHelperMethod(DBTransaction trans, Object someParam) {
    When you want to call the method from an application module, entity object, or even view object class, call
    PlSqlUtils.myHelperMethod(getDBTransaction(), paramValue);
    Unlike Transaction.executeCommand(), this lets you provide functionality like setting procedure parameter values, retrieving OUT parameter values, etc.
    Hope this helps,
    Avrom

  • Connection object from application module

    hi
    i was wondering if there is someway to retrieve the Connection object from the application module. something like:
    java.sql.Connection conn = appMod.getConn();
    i'm using JDeveloper 9.0.3.4
    Thanks in advanced
    Vitor

    Take a look at
    http://radio.weblogs.com/0118231/2004/01/30.html#a232
    Sascha

  • Adding the view Link to Application Module

    Hi Guys ,
    How do we add a view link to a Application Module
    i followed the instructions in dev guide but its aint working for me .
    Thanks
    Tom...

    Tom,
    The procedure you have followed is the correct one. So do you mean that when you do the shuttle, nothing happens in the data model window? Any message or warning?
    --Shiv                                                                                                                                                                                                                                                                                                                                                                       

  • Obteain connection object from application module

    Hello
    I am working with ADF 10g using BC4j , I am in application module implementation class, how can I obtain the java.sql.connection object used by my application module?

    to execute prepared statements follow
    http://download-uk.oracle.com/docs/html/B25947_01/bcadvgen005.htm#sm0297
    to access the SQL connection itself (for whatever reason)
    Re: how to get connection from adf bc?
    Frank

  • Set max fetch size on application module

    Is there a way to set max fetch size on application module level, rather then setting it for every view object separately? I don't want to allow any of my view objects in application module to fetch more then 1000 rows.

    Hi,
    Tools-->... contains option for setting rows in batches of... , but doesn't contain option for setting max fetch size. I guess I'll have to do it in implementation class for view objects... Thanks anyway
    Dragana

  • Which view object classes should be used by managed bean in ViewController?

    I just like to find out which java implementation classes created for a view object should be referenced in a managed bean on the UI side.
    For my view object InfoVO, I can create the following classes:
    View Object class: InfoVOImpl
    View Row class: InfoVORowImpl
    View Row Client Interface: InfoVORow
    View Row Client Class: InfoVORowClient
    Currently, I use InfoVOImpl and InfoVORowImpl in my managed bean so that I can use the getter methods conveniently to access the attributes with proper data types.
    I am not sure when I should use InfoVORow and InfoVORowClient instead of InfoVORowImpl.
    What are the context and reasons for using InfoVORow or InfoVORowClient instead of InfoVORowImpl?

    Hi,
    all of these are wrong. If you want to access a method exposed on a ViewObjectImpl class, the you expose the method as a clientMethod (or clientInterface) in the Java options for the View Object (or Application Module if the method is on AMImpl). You should avoid using implementation classes directly in the managed bean. If you need to access a View Object, use its interface ViewObject. If you need anything more specific than that, expose a method on the client interface after which you can access it through the binding layer.
    Frank

  • Get JBO-27023 exception when programmatically inserting in view object

    I am using Jdev 11 R2 (11.1.2.3.0) JSF2 & Facelet
    In some use case I require to read information from some external source (a web service in this case)
    and Programmatically insert into Oracle DB
    I use below code to get view object from application module
    //from ADFUtils
         public static ApplicationModule getApplicationModuleForDataControl(String name) {
    return (ApplicationModule)JSFUtils.resolveExpression("#{data." + name + ".dataProvider}");
         public static ViewObject getViewObject(String appModCtrlNam, String viewObjCtrlNam) {
    ApplicationModule am = getApplicationModuleForDataControl(appModCtrlNam);
    return am.findViewObject(viewObjCtrlNam);
         ViewObjectImpl testVW =
    (ViewObjectImpl)ADFUtils.getViewObject("AppModuleDataControl", "View1");
    Row testRow = testVW.createRow();
         testRow.setAttribute("property1",value1);
         testRow.setAttribute("property2",value1);
         testRow.setAttribute("property3",value1);
         testRow.setAttribute("property4",value1);
         testVW.insertRow(testRow);
         and finally commit bounded task flow
         TaskFlowUtils taskFlowUtils = new TaskFlowUtils();
    taskFlowUtils.commitTaskFlow();
         public void commitTaskFlow() {
    getDataControlFrame().commit();
    public DataControlFrame getDataControlFrame() {
    BindingContext bindingContext = oracle.adf.controller.binding.BindingUtils.getBindingContext();
    String dataControlFrameName = bindingContext.getCurrentDataControlFrame();
    DataControlFrame dataControlFrame = bindingContext.findDataControlFrame(dataControlFrameName);
    return dataControlFrame;
         There are some inner objects so I need to repeat this logic for some other view objects (don't put it here to make post shorter)
         Every thing is OK but when number of record I read from that external source increased I will receive
         JBO-27023: Failed to validate all rows in a transaction.
         And system can not commit transaction
         What I mean about the increase in number of records is totaly 50 records not 10000 records
         I mean if I run my method with 3-5 records it is working fine , if I run it with 50 records I will receive JBO-27023
         I am using a method in application module to get sequence from DB and transaction in bounded task flow defined as "Always Begin New Transaction"
         Any idea where is wrong or what is work around?
         Thanks
         Mohsen

    Hi Frank
    I saw that blog from Jobinesh as he mentioned
    public String someAction() {
    BindingContainer bindings = getBindings();
    OperationBinding ob = bindings.getOperationBinding("doSomething");
    Object result = ob.execute();
    if (!ob.getErrors().isEmpty()) {
    return "error";
    return "success";
    But in my use case I need to insert into view objects programmatically not executing a method in app module
    What is they best way of doing this?Should I put this inserts as method in app module?
    and where I can find new version of ADFUtils?
    Appreciate your comments
    Regards
    Mohsen

  • View object sharing between task flows

    Hi,
    I two view objects one should not share the data between bounded task flows and another view object should share the data between the two task flows.
    view's can attach diffrent application module also. how can i configure the AM properties or task flow properties to achieve the same.
    Reg,
    Brahma B.

    thanks Frank,
    My shared view object may be updatable. if am in one task flow there i will modify one column in VO then navagate to other task flow, there based on previous modified column i will change another column data and send to entity to update that data to DB. in case of view updation i didn't require any transaction change also like making dirty and undirty.
    you mean i need to set the AM in Application scope or session scope in project properties correct? even if am setting the AM in session or application scope when am running the application for diffrent task flows with begin New transaction my preparesession method at AM level is getting invoked for every task flow so the transaction is new correct? so data also not getting shared between task flows even am giving the session or application scope for AM.
    Reg,
    Brahma B.
    Edited by: BRM on Nov 28, 2011 3:26 AM

  • Sharing Functions Across Applications(containers)

    Can anyone help with a final word on sharing functions between
    applications?
    I have read many conflicting accounts on the ability in 6i to share
    objects across application systems through the use of common functions,
    global process steps, referencing, or shortcuts. Best case scenario, I
    would like to share functions across containers, include these functions
    in multiple process models, and be able to create process flows between
    functions. Is this possible? Is the bug 1787721 which doesn't allow
    common functions across applications a true bug, or is this the new
    functionality in 6i?
    Thanks for the help.

    Hi Cynthia,
    If I understood, you want to know what the steps you need to
    follow to share a object, but before it, you need to know a
    basic new characteristc at the Designer6i.
    The basic characteristc that you must know is that you don't
    share objects to application from other one anymore, you create
    a reference to other objects in another Application from other
    one that already exists. Althoug you must pay attention that you
    can create references to objects between applications when they
    are in the same Workarea.
    It's too simple.
    Put the cursor on the Application that want to create reference
    from a previous existing object. Choose the option "Create
    Reference". Choose the object that you want to reference (Use
    the filter if you want) and than it will be work.
    I hope that I had to help you.
    Regards,
    Marcos Vinmcius B. Xavier
    E-mail : [email protected]

  • Can not extend an application module

    I have been trying to extend an application module in AP. At first when I created the new am and clicked on the extends button the window did not include any of the payment modules, just the ones from the tutorial. I tried a bunch of things to get the payments module (PsrAM) to appear in the window. I finally changed the path for an application module in the Base Classes screen to oracle.apps.ap.payments.psr.server.PsrAMImpl. Now it appears in the window for selection however, when I select it I get the message: Unable to extend from this object. Application Module oracle.apps.ap.payments.psr.server.PsrAM has an invalid view instance TemplateFullVO1. The code was copied right from the server and I can run the application in jDeveloper so I doubt that it is actually invalid.
    First was I right in changing the base classes to point to it? And if I should not have done that then how do I get the am to appear on the screen to extend from.
    Second, do I need to fix that before I worry about the error message?
    Glad for any help you can give me.

    Dennis
    1) when you try to extend any file you should get the calls files from sever which releated to your extend file and also placed in your jdev myclass folder.
    2) in myprojects folder create your custom path placed your java files (which you get class files from server you need to convert to java those files need to place).
    then you falow the steps bellow.
    - Identify the requried AM for extension
    - download all the requried class & xml files from server
    - configure the JDev in local PC for extension
    - create new AM, which extends the existing AM
    - do the requried changes in AM java file. (Override the methods in new AM for functionality change)
    - specify the subtution for new AM & existing AM in project .jpx file
    - compile the newly created java files to class files
    - copy .class & .xml files back to server as per the package strecture
    - import the .jpx file to server MDS repository
    - test changes
    please let me know if any required.
    Regards,
    Chandra

  • ADF panel executes all queries in the application module.

    Hi all,
    I have created an ADF Panel, which allows the user to run a few simple queries against an Oracle database done using ADF view objects and ADF view links and ADF application module.
    As I add more functionality meaning more available queries meaning more ADF views and ADF view links, running the Application Modules becomes slower.
    Let’s say the application module AM1 is made of 30 different view links. And application module AM2 is made of another 30 view links.
    Now let’s say that ADF Panel1 references 8 view links from AM1, but it appears that all 30 view links that make up Application Module AM1 are executed before returning the result sets of the 8 view links referenced in ADF Panel1. Let me also underline the fact that each view link in Application Module AM1 can be executed independently, so the question is how I can make Jdev not to run all 30 queries in view links in the Application Module AM1 when ADF Panel1 is executed, but just the 8 that are referenced in the ADF panel1.
    I hope I made my question understood.
    Your inputs are greatly appreciated.
    Thanks.
    Bobby A.

    Hi,
    if this is what you see then you should file a bug because certainly its not the way it is designed to work. Note that in JDeveloper 11g - you don't specify the release you are on - the iterators by default are set to refresh deferred. Only iterators that belong to a PageDef file are executed when the page loads (you can suppress this by setting a refresh condition). Other queries are not executed
    Frank

Maybe you are looking for

  • BO 4.1+ IE9 document link in webi?

    Hello All, We are using BO 4.1 & IE8 previously. Recently we upgraded the version of IE8 to IE9. When I open Master - Detail Reports, the tool is not behaving properly and its not opening up the detail report when clicked from master report. Is there

  • VPRS Cost vs Goods Issue Cost Mov. 653

    Hi experts, i have this problem: 1) i make a Sales Order type credit note request using VA01 in reference to an invoice. 2) the VRPS condition comes from the original invoice and that is ok. 3) the system works with average cost 4) when i do the good

  • Why can´t i use face time call with on my ipod touch with ios6

    Why can´t i use face time call with on my ipod touch with ios6

  • Any confirmed working USB2.0 audio interfaces with latest macbook pro (haswell USB3.0)?

    I recently got a new macbpook pro 15" 2GHz i7 (Haswell) As far as I can tell my USB audio interface just doesn't work with the new USB3.0 ports. My Echo Audio Echo2 interface simply doesn't work, no sound in or out, but does show up in preferences. I

  • Javascript and sql select statement

    I am working in html db in the 10 g environment. I'm trying to create an "auto suggestion function" that predicts values as the user enters characters into a text field. I've gotten it to work by hard coding the values in the function, ie: states. bt