Binding variables of application class in bsp application.

Hi,
I know it is possible to bind the variables of model class like "//MODEL/VARIABLE" but is it possible to bind the variables of applicaiton class?
Thanks and regards,
Santosh.

You have to remember that BSP evolved over several releases.  In 6.10 BSP released with no support for MVC - just the Application class. The application class was simply the way to share values between views and store them between requests in stateful applications.  It doesn't support any data binding.  In 6.20 BSP began to support MVC with the introduction of controller classes and model classes.  You data bind UI elements directly to model attributes only.  There is no concept of context.
WD is completely different in that you only data bind UI element to the a context. The MVC structure is much cleaner because the view layout never has visibility to the model (regardless of what you consider the model). 
Over time the assistance class has become the defacto standard for models in WDA, because unlike WDJ there is no direct model object.  It originally was intended mostly as a way of having text elements for WDA components.  However it is still perfectly acceptible to use service calls (proxy objects, function modules, class methods) as your model. I personally prefer to always wrap calls to my service object up in an assistance class for clear design.

Similar Messages

  • Best Practice for setting bind variable when application loads

    I am using JDeveloper 11.1.2.3.
    When my application loads, the first unbounded page has a table populated by a named query.
    I would like to set the parameter used by the named query when the page loads, to populate the initial data that is displayed.
    What is the best practice for a solution to this issue?

    user6003393 wrote:
    I am using JDeveloper 11.1.2.3.
    When my application loads, the first unbounded page has a table populated by a named query.
    I would like to set the parameter used by the named query when the page loads, to populate the initial data that is displayed.
    What is the best practice for a solution to this issue?Hi,
    You can set the bind variable on VO by overriding prepareSession() method in Application Module check this http://docs.oracle.com/cd/E37975_01/web.111240/e16182/bcservices.htm#sthref357
    Setting bind variable on runtime http://docs.oracle.com/cd/E37975_01/web.111240/e16182/bcquerying.htm#CHDECJHD
    Zeeshan

  • Search parameter type with bind variable

    For Search type parameter in Oracle BI Publisher, if the List of values (SQL Query) contains bind variable, then application keep on searching. Any suggestions ?.
    Thanks in advance.
    Edited by: 966132 on 17-Oct-2012 22:23

    I don't think the search-type parameter works properly. It doesn't seem to function in our OBIEE 11g (11.1.1.5 + BP3). When you use a query that retrieves both the descriptive string and the numeric ID, the search box does correctly show the descriptive string. However, after selecting one of the choices, the actual data query returns nothing.
    Furthermore, the extra steps required to search take longer than scrolling through a very long list of values, the normal way. Good idea, bad implementation, no surprise.

  • XSU doesn't support bind variables - how dumb is that?

    I am using XSU to generate XML from a SQL statement using class OracleXMLQuery. Either I am blind or stupid or there is no support for bind variables in this class! I have used DBMS_xmlquery in PL/SQL before and this does support bind variables, I naturally assumed the Java equivalent would also have this. The lack of bind variable support means a huge performance hit as every single SQL statement will be treated as unique and will require hard parsing on the server!
    Is there another Java XML utility I can use for generating XML from a SQL statement that does support bind variables? I have trawled through the Oracle documentation and I am getting very confused and lost.
    Thanks,
    Steve

    makaidog,
    Read get rid of community toolbar: Apple Support Communities.

  • How to use bind variables in JSP applications ?

    Hi,
    How will i use bind variables in jsp applicaions ?
    Any links that give a clear understanding ?
    TIA,
    jj

    Hi,
    Try this link, this may help you.
    http://www.oracle-base.com/articles/misc/WebScriptingForOracle.php
    Thanks

  • How to Find Controller class of  BSP application for particular Iview

    Hi  All,
    Any one please  help me  to find a Controlller class of BSP for an  I view.
    http://Host Name :Port No/sap/bc/gui/sap/its/wosm-cr-->this is for sap retail,
    My requirement  is to change some source code in that particular iview.
    i goine with SE80 Tcode
    with package called WOSM>ITS service>Topic 90-->which contain Mime Objects,Html Templates.
    but i dint find any
    Point will be given!!!

    Hi All,
    My question is where should i find Controller class ?
    i gone with Tcode  SE80>packages>WOST>ITS service>WOSM>Topic90>which contain Mime Objects,HTML Templates.
    i dint find any controller class.
    regards
    Naresh

  • ManagedBean and Bind Variables in ADF applications

    Situation with Target Unreachable, 'TestBean'.
    ManagedBean: TestBean, parameter objectId
    ViewObject: sql-based: select * from someobject where id = :objectId
    Unbounded taskflow with the one page: Start.jspx
    Bounded TaskFlow "TestTaskFlow" with pagefragments: ButtonView.jsff and ObjectCard.jspx (as dialog).
    On the ButtonView there is a button with: action="dialog:OBJECT", actionListener.
    ActionListener handler I create by using the JDev Wizard. And the record was appeared in the adfc-config.xml. Is it correct? since the button is in the Taskflow. So in the taskflow there is no records about managed beans. May be it is Ok.
    Than, on the ObjectCard.jspx add ExecuteWithParams VO method, and set bind variable from the managedbean attribute. and get an error:
    SEVERE: Server Exception during PPR, #1
    javax.servlet.ServletException: Target Unreachable, 'TestBean' returned null
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:270)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:181)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:279)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:239)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:196)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:139)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at oracle.security.jps.wls.JpsWlsFilter.doFilter(JpsWlsFilter.java:102)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:65)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(Unknown Source)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: javax.faces.el.EvaluationException: Target Unreachable, 'TestBean' returned null
         at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:58)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1227)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:183)
         at oracle.adf.view.rich.component.fragment.UIXRegion.broadcast(UIXRegion.java:142)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.broadcastEvents(LifecycleImpl.java:754)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:282)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:175)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         ... 27 more
    Than I add this managedbean in the Taskflow too. There is no exception, but bind variables has not been set.

    Hi,
    most likely the managed bean got created in the adfc-config.xml file. If then it has a scope of pageFlowsScope, then it cannot be found. Move the managed bean or use it with a scope of requestScope or backingBeanScope
    Frank

  • Application Variables in application.cfm and asp

    If anyone could provide some insight into using application
    variables declared in application.cfm, but retrieved in asp code,
    it would be appreciated.
    GOAL: Retrieve values into an asp page from application
    variables in application.cfm.
    PROCESS: Defined the variables in application.cfm. On an asp
    page, defined the application variable in Window -> Bindings.
    The application variables defined in the source code show up.
    Attempt to retrieve the application variable in the asp page by
    using the command: var_destination = Application("var_name")
    It seems like whatever I try, the variable is empty. After
    looking around on the web, I also saw that the equivalent to
    application.cfm in asp is global.asa. I also tried setting up this
    file, along with the variables, did the binding, and used the same
    commands, and also was not able to retrieve any application
    variables.
    What am I missing?

    What am I missing?
    That ColdFusion and ASP.NET are different applications and do
    not share
    the same memory addresses So they are going to each have
    their one
    "application" variables.
    Blue Dragon has implemented CFML as an ASP.NET language so
    that one
    could write ColdFusion that runs on the ASP.NET framework and
    would then
    use the same memory locations with their server.
    Otherwise you are going to have to write your own sharing
    tool. Some
    code that can read the desired variables from one code base
    and pass it
    to the other code base through forms, web services or some
    other manner.

  • Environment Variables of Application Server

    Hi,
    I would like to know whether we have any option to get the environment variables of Application server. Just like how we can get the environment variables of Presentation server using the Method ENVIRONMENT_GET_VARIABLE of class CL_GUI_FRONTEND_SERVICES.
    Thanks
    Sarves S V K

    Resolved by self.
    Answer:
    I found the function module SXPG_CALL_SYSTEM which will help me in my case.
    Provide 'ENV' in the command and we will get all the Environment variables of Application Server.
    Thanks.

  • View with Bind Variable and ADF table

    Hi all,
    Please note what i have noticed. I created a view with a bind parameter, overriden the prepareSession of my Application Module to set the bind parameter and execute the query. I then created a simple jsf page and included the view as an adf read-only table. When i run the page, the prepareSession is called, sets the bind parameter, however the selected record of the table is always the second record (Not the first record).
    This behaviour can be reproduced with the HR schema. Please follow the below instructions for reproducing the problem.
    1. Create a Fusion Web Application (ADF).
    2. Create business components from tables.
    3. Create a new connection with the HR schema.
    4. Import the Departments table as an entity and then click finish.
    5. Create a view based on the Departments entity.
    6. Modify the Query to include a where clause (where DDepartmentsEO.DEPARTMENT_NAME LIKE :BindParam)
    7. Provide an order by clause (DepartmentsEO.DEPARTMENT_ID DESC)
    8. Creata a bind variable named "BindParam" of type string.
    9. Create an Application Module and include the view object.
    10. Open the Application Module Class and override the prepareSession method
    11. include the following code after super.prepareSession(session):
    ViewObject myView = this.getDepartments1();
    myView.setNamedWhereClauseParam("BindParam", "%");
    myView.executeQuery();
    12. Create a jsf page
    13. Drag the view object on the page as an adf read-only table, selecting the Row Selection, Sorting and Filtering
    14. Run the page.
    You will see that instead of the first record being selected, the second record in the table is selected.
    Can anyone please help me?
    Thank you

    First of all i would like to thank you for replying to my thread.
    Secondly, i would like to inform you that the example that i have provided is just for REPRODUCTION purposes.
    The real scenario has to do with setting the where clause with the authenticated user so that the view will query for data only associated with the authenticated user.
    The only way to overcome this behaviour is to include a view action (namedWhereClause in the page definition)
    However, this is not how i want to implement this. This was working properly in 10g

  • ADF - ViewObject (with Bind Variable) Bind to Table- JDeveloper 10.1.3 EA

    Hi all,
    1.- This is the situation:
    In JDeveloper 10g 10.1.3 EA I have two JSP JSF Pages with bind automatically coponents (backing bean).
    - In the first page I can select a value from a list. Then, when I press the "Accept" ADF Command Button, the selected value is stored in a property called "rutEntidad" of a Session Managed Bean and the Flow Control is passed to the second page.
    - In the second page I have an ADF Table (called tablePolizas) bind to a ViewObject (I drop the ViewObject from the Data Control Palette to the Page - ADF Read-Only Table ). The ViewObject has a Bind Variable called RUT_ENTIDAD. When this page is loaded, value in the rutEntidad property of Session Managed Bean is passed to the ViewObject in order the ADF Table show filtered data . Also in this page there is a "back" ADF Command Button to the first page. The filter mechanism is performed in the getTablePolizas method in the backing bean of the second page, like this:
    //**** The backing bean of the second page *****
    package cl.bicevida.view.backing;
    public class CrearUsuario {
    private CoreTable tablePolizas;
    public CoreTable getTablePolizas() {
    DCBindingContainer dcbc;
    DCControlBinding cb;
    String rutEntidad;
    FacesContext ctx =FacesContext.getCurrentInstance();
    ValueBinding vb =
    ctx.getApplication().createValueBinding("#{SessionManager.rutEntidad}");
    rutEntidad = vb.getValue(ctx).toString();
    dcbc = this.getBindingContainer();
    cb = dcbc.findCtrlBinding("VoPolizasAsociadasEntidadExterna1");
    ViewObject vo = cb.getViewObject();
    vo.setNamedWhereClauseParam("RUT_ENTIDAD", rutEntidad);
    vo.executeQuery();
    return tablePolizas;
    2.- And this is the problem:
    The first time all works fine... then I press the "back" ADF Command Button to the first page (and NOT the back button of the browser). The second time, if the numbers of rows returned by the ViewObject is different than the first time, the application throws this message (but not crash):
    validation - JBO-29000: Unexpected exception caught: oracle.jbo.JboException, msg=JBO-35007: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[1 ]
    validation - JBO-35007: Row currency has changed since the user interface was rendered. The expected row key was oracle.jbo.Key[1 ]
    Well, I had read the "Generic Approach for Back-Button-Friendly Web Rowset Paging" article of Steve Muench in http://www.oracle.com/technology/products/jdev/tips/muench/paging/index.html
    but I think here have another problem.
    3.- The questions:
    Which is the cause of this problem?
    How I can solve it?
    What another way I can programmatic pass a parameter to a ViewObject connected to a table?
    Thanks!!!

    Another thing: the used strategy to obtain a binding container is explained by Steve Muench http://www.oracle.com/technology/products/jdev/tips/muench/1013eabinding/index.html:
    Next, you can use JDeveloper's Overview tab of the faces-config.xml file editor to configure a managed property. Define the managed property name as bindingContainer to match the property in your bean, and set the class to the fully-qualified name of the DCBindingContainer class. You can use the (Browse...) button to quickly locate the class using the new JDeveloper 10.1.3 class browser. Just type in the first few letters of the DCBindingContainer name, and then select the class. Edit the new managed property and set its Value to the JSF EL expression: #{bindings}.
    ************************

  • Where clause with Bind Variable in ViewObject

    As per recomendations from Jdev team they say that using Bind varialbles in where clause will improve the performance (Option 1) But it is causing us to create more view objects.
    Example : Lets say we have a View Object EmpVO
    Option 1:
    ViewObject vo=context.getViewObject("EmpVO");
    vo.setWhereClause("EMPNO=?");
    vo.setWhereClauseParam(0,st);
    (or)
    Option 2:
    vo.setWhereClause("EMPNO="+st);
    If we want to use same View Object "EmpVO" in another Action Class
    ViewObject vo1=context.getViewObject("EmpVO");
    vo1.setWhereClause("DEPTNO=?");
    vo1.setWhereClauseParam(0,str);
    It this case it throws an error saying BIND VARIABLE already exits. So we have to make another View Object.
    Where as if we did not use bind variable but used Option 2 approach the same view object can be used in multiple pages.(at the expense of performance as per Jdev team)
    Are we doing something wrong here or are there other ways to use the same view object when using bind variable in where clause.
    Thanks

    I haven't been using BC4J for a while, but I seem to recall that the recommendations are that you don't set the where clause at runtime: You're supposed to define your view with the bind parameter already in it.
    So you'd probably define an EmpsForEmpNoVO and type "EMPNO = ?" in the where box. (There are other ways of finding a single row/entity and one of those may well be more efficient. Perhaps a better example of where you might want a view of employees is WHERE DEPTNO = ?.)
    IIRC, all instances of a particular type of view share the same definition, so you have to be careful if you alter that at runtime. However, I think everything's set up so that you can have many different (and separate) resultsets for a single view (instance) - meaning that it's possible to "run" a view for (e.g.) two different ids. (It's definitely possible to create two different instances of a view from its definition - and the resultsets will definitely be separate then. I think there's a "create" method on the application module; I remember that "find..." always returns the same instance of the view.)
    Hope that's a push in the right direction (since no-one else had replied - and I hope not too much has changed since 9.0.3)....
    Mike.

  • Functionality loss when 'Using Query Bind Variables in Advanced Search

    Regarding: 'Using Query Bind Variables in Quick or Advanced Search'
    The functionality to do the following is lost when I use bind variables in the Advanced Search:
    "Result matches all conditions"
    "Result matches any condition"
    "Case Sensitive?"
    Is there a way to Search with Detail groups but to keep the above functionality?

    Hi,
    Your application module impl java class extends the JHeadstart class JhsApplicationModuleImpl. THe latter declares a method:
    public void advancedSearch(String viewObjectUsage,java.util.ArrayList arguments,Boolean allConditionsMet).
    In your application module impl java override the advancedSearch method where you can include your own custom code before invoking the super method:
    super.advancedSearch(viewObjectUsage,arguments,allConditionsMet);
    The 'arguments' parameter is an arraylist of QueryCondition objects. You can set several properties for QueryCondition objects such as case-sensitity, operators etc.
    Regards,
    Ibrahim

  • TO_DATE and bind variables in SQLJ

    Hi all
    I need to convert a date, in string format using TO_DATE in an INSERT INTO contained in a sqlj class. The reason for this is I am reading in data from a pipe delimited file created by a MUMPS application. (Don't ask:)).
    This works fine if I use the date in the function during testing i.e
    :SOMEVAL,
    TO_DATE('21-04-2003',DD-MON-YYYY'),
    :SOMEOTHERVAL,
    I though want to use a bind variable containing the date read in from the file.
    :SOMEVAL,
    TO_DATE(':DOB','DD-MON-YYYY'),
    :SOMEOTHERVAL,
    When I do the second example, I get a missing comma error at run time. Am I asking SQLJ to do somthing it can't or do I have the syntax wrong... I hope its the latter. I can find examples of both of the above but not combined in one statement.
    Neil

    I believe you merely need to get rid of the quotes around :DOB in your second statement.
    Justin

  • VO - bind variable in where clause problem

    Hi
    I have Jdeveloper 12. I successfully connected to mySQL database which works in Oracle mode (PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, NO_TABLE_OPTIONS, NO_FIELD_OPTIONS, NO_AUTO_CREATE_USER)
    Next I created EO, VO (screenshot) and finally AM.
    when I run Application Module and enter bind variable value I receive error (screenshot):
    oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation.  Statement: SELECT EO_TMP.create_date,         EO_TMP.id,         EO_TMP.name FROM autoid.advert EO_TMP WHERE EO_TMP.id = :var1
    ## Detail 0 ##
    java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).
    Doesn anybody know hot to fix this issue?
    Regards.

    I decided to check if it is a mySQL driver so I've performed the same query using a below code and it works. This is definitely model configuration issue.
    Connection con = null;
    try{
    Class.forName( "com.mysql.jdbc.Driver" ).newInstance();
    con = DriverManager.getConnection("jdbc:mysql://localhost/sakila?user=root&password=1qaz2wsx");
    String selectSQL = "SELECT actor_id,first_name,last_name,last_update FROM actor WHERE actor_id = ?";
    PreparedStatement preparedStatement = con.prepareStatement(selectSQL);
    preparedStatement.setInt(1, 4);
    ResultSet rs = preparedStatement.executeQuery();
    while (rs.next()) {
    String userid = rs.getString("ACTOR_ID");
    String username = rs.getString("FIRST_NAME"); 
    System.out.println(userid); 
    System.out.println(username); 
    }catch (Exception e){
    System.out.println(e.toString());  

Maybe you are looking for

  • How to monitor a file in oracle

    Hi, I am running a job using DBMS_job package where the job should look for a file.If the file exists only job should run.Can i use these dependencies in dbms_job package?? What is the syntax for utl_file to monitor a file wehter it exists or not Tha

  • I'm using 10.6.8 and upgraded facetime to 1.0.4 and now it won't work 1

    Facetime kept saying it was connecting then hanging up so I looked to see if there was an update from my version and there was. I upgraded to 1.0.4 and now it says "Could not sign in. Please check your network connection and try again." I have sent i

  • How to save and then close document Using Acrobat 9 (URGENT)

    I have been looking for a soultion for long time now but couldn't find any. I'm using a dynamic PDF form desgined using LC Desginer and created a button that should save the current opened form in the same location (no need to define the location bec

  • Bug in LabVIEW 6.1 with Windows 2000 permissions

    This is a bug I've discovered when using LabVIEW 6.1 in a multi-user Windows 2000 environment. After underlying software changes and the like, it is common that when exiting a VI, a message pops up saying that an underlying VI has changed and must be

  • Af:clientListener and javascript confirm() dialog

    Hi, a common requirement in most of our web apps is to include a warning dialog when a user tries to delete a record, ie. if someone presses on a link to delete a record they get a javascript dialog asking them "Are you sure you want to delete this r