Dynamic Tiled View display question

Hi,
I?ve been working with JATO during this month, i find
the framework very flexible but a bit complex to
undertand.
Currently i?m triying to make the following test, but
i?m in a dead point.
I must create a page that is composed by a form, the
children views of this page that compound the form
must be created on request time, this is because the
displayfields that i must include are included on one
atribute that is included in te request made for the
page that contains the form. Additionally the HTML
representation of each attribute can change from
attribute to attribute (It depends on the type of
attribute that i want to display). I found that
Pagelets can be helpful to decide in request-time the
HTML element to be included. I?m having some trouble
(a conceptual one) in triying to integrate a TiledView
that iterates over an element that can change its
appearance base on the type specified in its own
model.
Someone o you guys faced these problem before, its
possible to have this kind of dynamic features?
Thanks in advance,
Javier Camacho
Developer

OK, I understand your task, and I follow your solution up to the details
of the custom pagelet, but everything sounds correct.
What exactly are you confused about with the beginDisplay event?
c
jav_camacho wrote:
Thanks for your interest Craig, i will make some clarifications in
order to give you some answers:
The context of my problem is:
I want to display in a page some Custom Objects relative to my domain
problem, to make it simple lets call these objects MyObjects,
A class MyObject contains 2 variables: "label" and "question_mode".
Depending on the value of "question_mode" (an integer) i must display
in the response page some type of HTML element or another, lets say:
question_mode = 1 -> TextFiled
question_mode = 2 -> ComboBox
question_mode = 3 -> ListBox
But i have another constraint to my problem: the set of MyObjects (the
instances of MyObject) is determined at request time, so i have to
check in the RequestContext for a value, then that value is used to
search in my MetaData to define the set of MyObjects that i must
display.
To put an example:
If the value of my attribute is 1 i must display a set of 5 MyObjects,
and each one with its own "question_mode". So the response page to be
generated for the client its entirely dynamic, no only by the number
of MyObjects to be displayed, the HTML representation for the variable
"question_mode" is decided in request-time too.
Well, to address these interesting question i thinked (inspired by
yoour excellent Sample App) in the following general strategy:
1. I created a Custom Tag for the display MyObjects, the jsp looks
like these:
<jato:useViewBean className="testapp.module1.phase1ViewBean">
<BODY>
<TABLE>
<TR>
<TD ALIGN=left><B>MyObjects:</B></TD>
</TR>
<jato:tiledView name="TiledView1"
type="testapp.module1.MyObjectTiledView">
<testapp:myObject fireDisplayEvents="true"/>
</jato:tiledView>
</TABLE>
</BODY>
</jato:useViewBean>
2. To display these fields i made the class MyObjectTiledView, this
class only contains one View (an instance of
StylizedMyObjectView.class).
StylizedMyObjectView.class is the peer of the <testapp:myObject> tag.
This class implements the interface PageletView so it can be
questioned about the Pagelet to be included in the page
(StylizedMyObjectView choose the pagelet based on the question_mode
variable present in the Model: MyObject class).
But i?m a bit confused in the way that MyObjectTiledView can interact
with the StylizedMyObjectView.class. (i?m triying to figure the
implementation of the beginDisplay() method).
I hope this could clarify your questions.
Is this strategy correct?. I?m a bit lost in the secuence of calls to
address this kind of dynamic page generation.
I will apreciate any help or experience in related problems.
Javier
Javier,
I am not clear exactly what your are attempting to do. I think you
maybe
using some terminology out of place, or maybe I am just not
understanding, so I will ask these questions:
1) You are using a TiledView. Are the number of fields in the tiled
view
dynamic? I am understanding that they are.
2) These fields are of an unknown type at design time. For one
request a
field might be a text box, next request it might be a list box. Is
this
correct?
3) When you talk about attributes, are you talking about the
attributes
of the tags (name, type, value, label, etc.)? This is not clear to
me in
the way that your are describing in this phrase:
"HTML representation of each attribute can change from attribute to
attribute"
4) When you say "type specified in its own model", what do you mean
by
model? A JATO Model class, or a more generic use of the term model?
5) When you say "displayfields that i must include are included on
one atribute that is included in te request", how exactly are the
fiels specified in the attribute, and again, what is your definition
of "attribute" here? I assume you mean request attibute.
craig
Javier Camacho wrote:
Hi,
I?ve been working with JATO during this month, i find
the framework very flexible but a bit complex to
undertand.
Currently i?m triying to make the following test, but
i?m in a dead point.
I must create a page that is composed by a form, the
children views of this page that compound the form
must be created on request time, this is because the
displayfields that i must include are included on one
atribute that is included in te request made for the
page that contains the form. Additionally the HTML
representation of each attribute can change from
attribute to attribute (It depends on the type of
attribute that i want to display). I found that
Pagelets can be helpful to decide in request-time the
HTML element to be included. I?m having some trouble
(a conceptual one) in triying to integrate a TiledView
that iterates over an element that can change its
appearance
base on the type specified in its own
model.
Someone o you guys faced these problem before, its
possible to have this kind of dynamic features?
Thanks in advance,
Javier Camacho
Developer
For more information about JATO, including download information,
please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp
>For more information about JATO, including download information, please visit:
http://developer.iplanet.com/tech/appserver/framework/index.jsp

Similar Messages

  • RE: [iPlanet-JATO] Href click & tiled view display

    Srinivas,
    I hope that I am not oversimplifying your first question; repost if I do not
    answer your question. Independent of JATO, HTML Form button sumbits will
    include the scraping of data off the form input fields; the data will passed
    as part of the body of the HTTP request. Therefore, you would expect to
    receive all your inputs during the Button submit. In the case of a button,
    a HTTP POST request is invoked. Href clicks, only submit the NVPs which are
    encoded on the HREF URL. Therefore, it is impossible (under normal
    circumstances) to retrieve the inputs from the FORM during the Href click.
    In the case of a Href, a HTTP GET request is invoked. Some customers have
    used a pattern in which Javascript is used to capture the Href onClick()
    event to perform some runtime modifications to the HREF URL before the HTTP
    GET request is submitted. I recommend to always have the LogProxy2 utility
    running during development so that the HTTP requests and repsonses can be
    debugged. If you setup the LogProxy2 (downloadable from this Group's Files
    repository) then you would see the HTTP requests in the LogProxy2's console
    window.
    TiledView question: Remember, each TiledView requires a "primary
    DatasetModel" which it uses for iteration of the tiles. It can be
    confusing, but the API call of
    <ContainerView>.getDefaultModel()
    has no relation to the implementation class called DefaultModel. See the
    Javadoc (excerp below)
    /migtoolbox-1.1.1/doc/jato/api/com/iplanet/jato/view/ContainerView.html#getD
    efaultModel()
    "Returns this view's default model. The default model is typically used by
    DisplayField children for default value storage (if they are not bound to
    any other model). This method should always return a valid model instance.
    Note that the default model need not be an actual instance of DefaultModel,
    although this is usually the case."
    Both of your TiledView's (inner and outer) are ContainerViews, each having
    their own property for [get/set]DefaultModel(). Likewise, the ViewBean
    parent of the outer TiledView is a ContainerView as well. With these facts
    in mind, consider the behavior of the ModelManager. The ModelManager will
    ensure that only once instance of specifically named model will be provided
    during a request scope. Therefore, everytime that you make a call to
    <ModelManager>.getModel(SomeModel.class)
    no matter how many times you make this call during a request, the
    ModelManager will ensure that you get the same object reference back.
    Implicitly, you are asking for a Model with the exclusive name of
    <ModelManager>.getDefaultModelInstanceName(SomeModel.class)
    I believe that your problem is that you have the Primary Model of both the
    inner and outer TiledView's set to the same instance of the DefaultModel
    class. Therefore, the TiledViews are tripping over each other because they
    are using the same Primary model. What I would do is change the constructor
    of each TiledView to set an exclusive Primary model
    // add to constructor of outer TileView
    setPrimaryModel(getModelI(DefaultModel.class,"outer")
    // add to constructor of inner TileView
    setPrimaryModel(getModelI(DefaultModel.class,"inner")
    remember to set the "size" of the Primary Model appropriately in the
    beginDisplay() event of each TiledView before calling super.beginDisplay()
    matt
    -----Original Message-----
    From: Srinivas Chikkam [mailto:<a href="/group/SunONE-JATO/post?protectID=061212020185082096169232190043244089032032196034013195172049230091142254099102">srinivas.chikkam@w...</a>]
    Sent: Tuesday, July 17, 2001 7:36 AM
    Subject: [iPlanet-JATO] Href click & tiled view display
    Hi,
    I'm facing the following two problems in JATO. Your help will be
    appreciated.
    1) Clicking a HREF.
    I have a button and a href in a page. When I submit the page by
    clicking the button, I'm able to
    get all the user entered data (form elements) in handler method.
    However, when I click
    the href and I try to retrieve the data entered by the user in my
    corresponding handler method, I'm
    getting blank values.
    How would I be able to get the user entered data upon clicking of a href
    ? I'm copying the sample
    code for your reference.
    // This returns me 5 values entered in the 5 tiles by the user.
    public void handleBButtonRequest(RequestContext req)
    throws ServletException, IOException
    try
    System.out.println("button clicked..");
    pgSampleTiledView tiledView = getSampleTile();
    System.out.println("\n\n\n\n@@@@@@@@@@@ No of tiles >>>
    "+tiledView.getNumTiles());
    int n = tiledView.getNumTiles();
    for (int i=0; i<n; i++)
    tiledView.setTileIndex(i);
    System.out.println(i+".
    "+tiledView.getTbValue().getValue().toString());
    this.forwardTo(req);
    catch (Exception ex)
    ex.printStackTrace();
    // This returns me 0 tiles and doesn't get into for loop
    public void handleLinkModifyDistributionRequest(RequestContext req )
    throws ServletException, IOException
    try
    System.out.println("href clicked..");
    pgSampleTiledView tiledView = getSampleTile();
    System.out.println("\n\n\n\n@@@@@@@@@@@ No of tiles >>>
    "+tiledView.getNumTiles());
    int n = tiledView.getNumTiles();
    for (int i=0; i<n; i++)
    tiledView.setTileIndex(i);
    System.out.println(i+".
    "+tiledView.getTbValue().getValue().toString());
    this.forwardTo(req);
    catch (Exception ex)
    ex.printStackTrace();
    2) Tiled view display
    I have tiled view inside another tiled view. Based upon the data
    retrieved from the database, lets say, the outer tile needs to be
    displayed twice and the inner tile 3 times and 1 time.
    For Ex: Lets say, the desired output from these tiled views is as
    follows
    STOCK INVESTMENT
    stock name1
    stock name2
    stock name3
    OTHER INVESTMENT
    other investment1
    The outer tiled view displays the investment type headings (STOCK
    INVESTMENT or OTHER INVESTMENT) and inner tile
    displays the actual stock names or the other investment names. Both
    the tile views are bound to a default model. In the begin display
    of these tiled view I'm setting the size of the model as
    getPrimaryModel.setSize(requiredsize).
    If i display 3 records in the inner tiled view in the first iteration
    and i try to display 1 record in the second iteration, it displays 3
    records
    properly the first time but it doesn't display any records second
    time. super.nextTile() returns false right away second time.
    But If I try to display 1 record in the first iteration and 3 records in
    the second iteration as below, it works fine.
    STOCK INVESTMENT
    stock name1
    OTHER INVESTMENT
    other investment1
    other investment2
    other investment3
    Please let me know what could be the problem.
    Thanks
    ~ Srinivas
    The Information contained and transmitted by this E-MAIL is
    proprietary to
    Wipro Limited and is intended for use only by the individual or
    entity to which
    it is addressed, and may contain information that is privileged,
    confidential or
    exempt from disclosure under applicable law. If this is a
    forwarded message,
    the content of this E-MAIL may not have been sent with the
    authority of the
    Company. If you are not the intended recipient, an agent of the intended
    recipient or a person responsible for delivering the information
    to the named
    recipient, you are notified that any use, distribution,
    transmission, printing,
    copying or dissemination of this information in any way or in any
    manner is
    strictly prohibited. If you have received this communication in
    error, please
    delete this mail & notify us immediately at mailadmin@w...
    [Non-text portions of this message have been removed]
    [email protected]

    should read
    // add to constructor of outer TileView
    setPrimaryModel(getModel(DefaultModel.class,"outer");
    // add to constructor of inner TileView
    setPrimaryModel(getModel(DefaultModel.class,"inner");
    matt
    -----Original Message-----
    From: Matthew Stevens [mailto:<a href="/group/SunONE-JATO/post?protectID=029166114165042198028082000056130080177026031196061123241150194211220076086020224">matthew.stevens@e...</a>]
    Sent: Tuesday, July 17, 2001 9:25 AM
    Subject: RE: [iPlanet-JATO] Href click & tiled view display
    Srinivas,
    I hope that I am not oversimplifying your first question; repost
    if I do not
    answer your question. Independent of JATO, HTML Form button sumbits will
    include the scraping of data off the form input fields; the data
    will passed
    as part of the body of the HTTP request. Therefore, you would expect to
    receive all your inputs during the Button submit. In the case of
    a button,
    a HTTP POST request is invoked. Href clicks, only submit the
    NVPs which are
    encoded on the HREF URL. Therefore, it is impossible (under normal
    circumstances) to retrieve the inputs from the FORM during the Href click.
    In the case of a Href, a HTTP GET request is invoked. Some customers have
    used a pattern in which Javascript is used to capture the Href onClick()
    event to perform some runtime modifications to the HREF URL
    before the HTTP
    GET request is submitted. I recommend to always have the
    LogProxy2 utility
    running during development so that the HTTP requests and repsonses can be
    debugged. If you setup the LogProxy2 (downloadable from this
    Group's Files
    repository) then you would see the HTTP requests in the
    LogProxy2's console
    window.
    TiledView question: Remember, each TiledView requires a "primary
    DatasetModel" which it uses for iteration of the tiles. It can be
    confusing, but the API call of
    <ContainerView>.getDefaultModel()
    has no relation to the implementation class called DefaultModel. See the
    Javadoc (excerp below)
    /migtoolbox-1.1.1/doc/jato/api/com/iplanet/jato/view/ContainerView
    .html#getD
    efaultModel()
    "Returns this view's default model. The default model is typically used by
    DisplayField children for default value storage (if they are not bound to
    any other model). This method should always return a valid model instance.
    Note that the default model need not be an actual instance of
    DefaultModel,
    although this is usually the case."
    Both of your TiledView's (inner and outer) are ContainerViews, each having
    their own property for [get/set]DefaultModel(). Likewise, the ViewBean
    parent of the outer TiledView is a ContainerView as well. With
    these facts
    in mind, consider the behavior of the ModelManager. The ModelManager will
    ensure that only once instance of specifically named model will
    be provided
    during a request scope. Therefore, everytime that you make a call to
    <ModelManager>.getModel(SomeModel.class)
    no matter how many times you make this call during a request, the
    ModelManager will ensure that you get the same object reference back.
    Implicitly, you are asking for a Model with the exclusive name of
    <ModelManager>.getDefaultModelInstanceName(SomeModel.class)
    I believe that your problem is that you have the Primary Model of both the
    inner and outer TiledView's set to the same instance of the DefaultModel
    class. Therefore, the TiledViews are tripping over each other
    because they
    are using the same Primary model. What I would do is change the
    constructor
    of each TiledView to set an exclusive Primary model
    // add to constructor of outer TileView
    setPrimaryModel(getModelI(DefaultModel.class,"outer")
    // add to constructor of inner TileView
    setPrimaryModel(getModelI(DefaultModel.class,"inner")
    remember to set the "size" of the Primary Model appropriately in the
    beginDisplay() event of each TiledView before calling super.beginDisplay()
    matt
    -----Original Message-----
    From: Srinivas Chikkam [mailto:<a href="/group/SunONE-JATO/post?protectID=061212020185082096169232190043244089032032196034013195172049230091142254099102">srinivas.chikkam@w...</a>]
    Sent: Tuesday, July 17, 2001 7:36 AM
    Subject: [iPlanet-JATO] Href click & tiled view display
    Hi,
    I'm facing the following two problems in JATO. Your help will be
    appreciated.
    1) Clicking a HREF.
    I have a button and a href in a page. When I submit the page by
    clicking the button, I'm able to
    get all the user entered data (form elements) in handler method.
    However, when I click
    the href and I try to retrieve the data entered by the user in my
    corresponding handler method, I'm
    getting blank values.
    How would I be able to get the user entered data upon clicking of a href
    ? I'm copying the sample
    code for your reference.
    // This returns me 5 values entered in the 5 tiles by the user.
    public void handleBButtonRequest(RequestContext req)
    throws ServletException, IOException
    try
    System.out.println("button clicked..");
    pgSampleTiledView tiledView = getSampleTile();
    System.out.println("\n\n\n\n@@@@@@@@@@@ No of tiles >>>
    "+tiledView.getNumTiles());
    int n = tiledView.getNumTiles();
    for (int i=0; i<n; i++)
    tiledView.setTileIndex(i);
    System.out.println(i+".
    "+tiledView.getTbValue().getValue().toString());
    this.forwardTo(req);
    catch (Exception ex)
    ex.printStackTrace();
    // This returns me 0 tiles and doesn't get into for loop
    public void handleLinkModifyDistributionRequest(RequestContext req )
    throws ServletException, IOException
    try
    System.out.println("href clicked..");
    pgSampleTiledView tiledView = getSampleTile();
    System.out.println("\n\n\n\n@@@@@@@@@@@ No of tiles >>>
    "+tiledView.getNumTiles());
    int n = tiledView.getNumTiles();
    for (int i=0; i<n; i++)
    tiledView.setTileIndex(i);
    System.out.println(i+".
    "+tiledView.getTbValue().getValue().toString());
    this.forwardTo(req);
    catch (Exception ex)
    ex.printStackTrace();
    2) Tiled view display
    I have tiled view inside another tiled view. Based upon the data
    retrieved from the database, lets say, the outer tile needs to be
    displayed twice and the inner tile 3 times and 1 time.
    For Ex: Lets say, the desired output from these tiled views is as
    follows
    STOCK INVESTMENT
    stock name1
    stock name2
    stock name3
    OTHER INVESTMENT
    other investment1
    The outer tiled view displays the investment type headings (STOCK
    INVESTMENT or OTHER INVESTMENT) and inner tile
    displays the actual stock names or the other investment names. Both
    the tile views are bound to a default model. In the begin display
    of these tiled view I'm setting the size of the model as
    getPrimaryModel.setSize(requiredsize).
    If i display 3 records in the inner tiled view in the first iteration
    and i try to display 1 record in the second iteration, it displays 3
    records
    properly the first time but it doesn't display any records second
    time. super.nextTile() returns false right away second time.
    But If I try to display 1 record in the first iteration and 3 records in
    the second iteration as below, it works fine.
    STOCK INVESTMENT
    stock name1
    OTHER INVESTMENT
    other investment1
    other investment2
    other investment3
    Please let me know what could be the problem.
    Thanks
    ~ Srinivas
    The Information contained and transmitted by this E-MAIL is
    proprietary to
    Wipro Limited and is intended for use only by the individual or
    entity to which
    it is addressed, and may contain information that is privileged,
    confidential or
    exempt from disclosure under applicable law. If this is a
    forwarded message,
    the content of this E-MAIL may not have been sent with the
    authority of the
    Company. If you are not the intended recipient, an agent of the intended
    recipient or a person responsible for delivering the information
    to the named
    recipient, you are notified that any use, distribution,
    transmission, printing,
    copying or dissemination of this information in any way or in any
    manner is
    strictly prohibited. If you have received this communication in
    error, please
    delete this mail & notify us immediately at mailadmin@w...
    [Non-text portions of this message have been removed]
    [email protected]
    [email protected]

  • Re: [iPlanet-JATO] Re: Href click & tiled view display

    Srinivas--
    Remember, attachments don't come through on the forum. Please send them to
    the jatoteam@e... alias.
    Todd
    ----- Original Message -----
    From: "Srinivas Chikkam" <srinivas.chikkam@w...>
    Sent: Thursday, July 19, 2001 5:26 AM
    Subject: [iPlanet-JATO] Re: Href click & tiled view display
    Todd,
    I'm calling resetTileIndex() in the begin display of the tiled views.
    I'm attaching the code with this mail.
    Outer tile: pgModelDistributionrMultiplePayeesTiledView
    inner tile: pgModelDistributionrPayeeDetailsTiledView
    Yes, Matt's mail helped me in resolving the first problem (submitting
    the form on href click).
    I have replaced the href from
    <a
    href="../Participant/pgModelDistribution?pgModelDistribution.linkNetDistribu
    tion=&pageAttributes=">
    $1,000 </a>
    to
    $1,000
    and added a new javascript method as below:
    function netDistFunc()
    val = document.forms[0].elements["pageAttributes"].value;
    _url =
    "../Participant/pgModelDistribution?pgModelDistribution.linkNetDistribution=
    &pageAttributes="+val;
    >
    document.forms[0].method = "post";
    document.forms[0].action = _url;
    document.forms[0].submit();
    return false;
    Now, I'm able to get the data entered by the user.
    Thanks
    Srinivas
    Message: 2
    Date: Wed, 18 Jul 2001 04:03:51 -0600
    From: "Todd Fast" <toddwork@c...>
    Subject: Re: Digest Number 157
    Srinivas--
    From where are you calling these methods, what event? Maybe you shouldsend
    me the code for your nested tiled views--that's probably the easiest way
    for
    me to understand what's happening. Also, were any of Matt's
    suppositions
    correct?
    Todd
    The Information contained and transmitted by this E-MAIL is proprietary to
    Wipro Limited and is intended for use only by the individual or entity towhich
    it is addressed, and may contain information that is privileged,confidential or
    exempt from disclosure under applicable law. If this is a forwardedmessage,
    the content of this E-MAIL may not have been sent with the authority ofthe
    Company. If you are not the intended recipient, an agent of the intended
    recipient or a person responsible for delivering the information to thenamed
    recipient, you are notified that any use, distribution, transmission,printing,
    copying or dissemination of this information in any way or in any manneris
    strictly prohibited. If you have received this communication in error,please
    delete this mail & notify us immediately at mailadmin@w...
    [Non-text portions of this message have been removed]
    [email protected]

    Srinivas--
    Remember, attachments don't come through on the forum. Please send them to
    the jatoteam@e... alias.
    Todd
    ----- Original Message -----
    From: "Srinivas Chikkam" <srinivas.chikkam@w...>
    Sent: Thursday, July 19, 2001 5:26 AM
    Subject: [iPlanet-JATO] Re: Href click & tiled view display
    Todd,
    I'm calling resetTileIndex() in the begin display of the tiled views.
    I'm attaching the code with this mail.
    Outer tile: pgModelDistributionrMultiplePayeesTiledView
    inner tile: pgModelDistributionrPayeeDetailsTiledView
    Yes, Matt's mail helped me in resolving the first problem (submitting
    the form on href click).
    I have replaced the href from
    <a
    href="../Participant/pgModelDistribution?pgModelDistribution.linkNetDistribu
    tion=&pageAttributes=">
    $1,000 </a>
    to
    $1,000
    and added a new javascript method as below:
    function netDistFunc()
    val = document.forms[0].elements["pageAttributes"].value;
    _url =
    "../Participant/pgModelDistribution?pgModelDistribution.linkNetDistribution=
    &pageAttributes="+val;
    >
    document.forms[0].method = "post";
    document.forms[0].action = _url;
    document.forms[0].submit();
    return false;
    Now, I'm able to get the data entered by the user.
    Thanks
    Srinivas
    Message: 2
    Date: Wed, 18 Jul 2001 04:03:51 -0600
    From: "Todd Fast" <toddwork@c...>
    Subject: Re: Digest Number 157
    Srinivas--
    From where are you calling these methods, what event? Maybe you shouldsend
    me the code for your nested tiled views--that's probably the easiest way
    for
    me to understand what's happening. Also, were any of Matt's
    suppositions
    correct?
    Todd
    The Information contained and transmitted by this E-MAIL is proprietary to
    Wipro Limited and is intended for use only by the individual or entity towhich
    it is addressed, and may contain information that is privileged,confidential or
    exempt from disclosure under applicable law. If this is a forwardedmessage,
    the content of this E-MAIL may not have been sent with the authority ofthe
    Company. If you are not the intended recipient, an agent of the intended
    recipient or a person responsible for delivering the information to thenamed
    recipient, you are notified that any use, distribution, transmission,printing,
    copying or dissemination of this information in any way or in any manneris
    strictly prohibited. If you have received this communication in error,please
    delete this mail & notify us immediately at mailadmin@w...
    [Non-text portions of this message have been removed]
    [email protected]

  • Dynamic Performance View question

    So, Oracle maintains dynamic performance tables. Views are created off of them, and then public synonyms are created off of those views and they begin with V$. Very good. But something doesn't make sense to me.
    V$DATAFILE is a synonym that references a view named V_$DATAFILE:
    SQL> select dbms_metadata.get_ddl('SYNONYM', 'V$DATAFILE', 'PUBLIC') from dual;
    DBMS_METADATA.GET_DDL('SYNONYM','V$DATAFILE','PUBLIC')
    CREATE OR REPLACE PUBLIC SYNONYM "V$DATAFILE" FOR "SYS"."V_$DATAFILE"
    SQL> select object_type from dba_objects where object_name='V_$DATAFILE';
    OBJECT_TYPE
    VIEW
    But the definition of the view references the.... synonym itself?
    SQL> select dbms_metadata.get_ddl('VIEW', 'V_$DATAFILE', 'SYS') from dual;
    DBMS_METADATA.GET_DDL('VIEW','V_$DATAFILE','SYS')
    CREATE OR REPLACE FORCE VIEW "SYS"."V_$DATAFILE" ("FILE#", "CREATION_CHANGE#",
    "CREATION_TIME", "TS#", "RFILE#", "STATUS", "ENABLED", "CHECKPOINT_CHANGE#", "C
    HECKPOINT_TIME", "UNRECOVERABLE_CHANGE#", "UNRECOVERABLE_TIME", "LAST_CHANGE#",
    "LAST_TIME", "OFFLINE_CHANGE#", "ONLINE_CHANGE#", "ONLINE_TIME", "BYTES", "BLOCK
    S", "CREATE_BYTES", "BLOCK_SIZE", "NAME", "PLUGGED_IN", "BLOCK1_OFFSET", "AUX_NA
    ME", "FIRST_NONLOGGED_SCN", "FIRST_NONLOGGED_TIME", "FOREIGN_DBID", "FOREIGN_CRE
    ATION_CHANGE#", "FOREIGN_CREATION_TIME", "PLUGGED_READONLY", "PLUGIN_CHANGE#", "
    PLUGIN_RESETLOGS_CHANGE#", "PLUGIN_RESETLOGS_TIME") AS
    select "FILE#","CREATION_CHANGE#","CREATION_TIME","TS#","RFILE#","STATUS","ENA
    BLED","CHECKPOINT_CHANGE#","CHECKPOINT_TIME","UNRECOVERABLE_CHANGE#","UNRECOVERA
    BLE_TIME","LAST_CHANGE#","LAST_TIME","OFFLINE_CHANGE#","ONLINE_CHANGE#","ONLINE_
    TIME","BYTES","BLOCKS","CREATE_BYTES","BLOCK_SIZE","NAME","PLUGGED_IN","BLOCK1_O
    FFSET","AUX_NAME","FIRST_NONLOGGED_SCN","FIRST_NONLOGGED_TIME","FOREIGN_DBID","F
    OREIGN_CREATION_CHANGE#","FOREIGN_CREATION_TIME","PLUGGED_READONLY","PLUGIN_CHAN
    GE#","PLUGIN_RESETLOGS_CHANGE#","PLUGIN_RESETLOGS_TIME" from v$datafile
    So the view definition references a synonym, and the synonym references the same view... seems circular. Is this Oracle Corp's way of telling me to bugger off? I just wanted to look up the name of the dynamic performance table out of curiosity.

    DBjanitor_old wrote:
    So, Oracle maintains dynamic performance tables. Views are created off of them, and then public synonyms are created off of those views and they begin with V$. Very good. But something doesn't make sense to me.
    The synonyms is owned by PUBLIC, not by SYS - so when SYS references v$XXX they access the underlying object, when anyone else references v$XXX they access the synomym, which points to the view owned by SYS, and the view accesses the underlying object owned by SYS.
    The point of this is that SYS is the only schema allowed to use the code that interprets the dynamic performance views properly, so any end user that wants to access them has to go through an object owned by sys, which then accesses them with the privileges of sys (i.e. the equivalent of authid owner). The apparent loop in the chain simply means that SYS, SYSTEM, DBSNMP etc. can all use the same queries to access the dynamic performance views, but only one of them is accessing the special code directly.
    See what happens if you try to grant access to the raw objects to non-SYS schemas (logged on as SYS)
    SQL> grant select on v$session to test_user;
    grant select on v$session to test_user
    ERROR at line 1:
    ORA-02030: can only select from fixed tables/viewsReagrds
    Jonathan Lewis

  • Sharing information between tiled view and view bean

    I have come across one more problem. I have a search result
    page. This search result page has a static text field and a repeated group
    (I simplified the page description, for explanation purpose). In the NetD
    implementation they are maintaining a page level attribute (say boolean
    haveSenisitiveCustomers) and setting this attribute in the
    afterDataObjectExecute event. (This data object is associated with the
    repeated). In end display event of static text field, they are displaying
    message say " due to Registration type, not all customers meeting the
    criteria are listed") if the haveSensitiveCustomers flag is set.
    After Migration, the boolean flag and static Text Field movedto
    SearchResultViewBean and afterDataObjectExecuteEvent has moved to
    TiledViewBean. Actual processing done is more complicated than this
    explanation. However, it boils down to sharing information between
    tiledViewBean and its parent bean. How do we achieve this in the Migrated
    Application?
    One way is to add getter methods in the child tiled view bean( to
    access in parent view bean, call getRepeated1 and cast to the actual type
    and invoke the get methods)Probably the typical solution (I say typical because I don't yet know) will
    be to do what you suggest: provide methods between views that can be used to
    determine the state needed for processing like this.
    However, let me alert you to something that's different than ND, and which
    may cause you some trouble. In ND, all retrieving DataObjects associated
    with a page executed at one time, and the afterDataObjectExcecuteEvent fired
    before any display processing began. However, in JATO, tiled views are
    independent objects, and any models associated with them only execute when
    the tiled view is first displayed.
    Therefore, if the static test field you refer to appears in the page before
    the tiled view, then the tiled view will not have executed its associated
    model before the static text field is rendered. You will never see the
    static text field display the text you want because you won't have the
    information at display time. (If the text field appears after the repeated,
    then it's not problem, as the display of the tiled view will have executed
    the associate model before the field displays.)
    The solution is to manually reference the tiled view and its associate model
    before they would normally execute. You would execute the model and set the
    tiled view's setAutoRetrieveEnabled() to false to prevent it from executing
    the model a second time. Perhaps the easiest thing to do would be this:
    beforeStaticTextDisplay(...)
    // Force the tiled view to execute the associated model
    Repeated1TiledView tiledView=
    (Repeated1TiledView)getChild("Repeated1");
    tiledView.beginDisplay();
    tiledView.setAutoRetrieveEnabled(false);
    Although the beginDisplay() method will be executed twice in this case (once
    deliberately, above, and later during actual display), there should be no
    overhead. The beginDisplay() method doesn't do anything anyway except
    execute associated auto-retrieving models and fire the
    afterAllModelsExecute() event.
    Mike, do you concur or have any comments?
    This explanation rests on the understanding of a number of other subjects,
    some of which you may not be fully familiar with. Feel free to ask further
    questions about this explanation.
    Todd
    Todd Fast
    Senior Engineer
    Sun/Netscape Alliance
    todd.fast@e...

    I have come across one more problem. I have a search result
    page. This search result page has a static text field and a repeated group
    (I simplified the page description, for explanation purpose). In the NetD
    implementation they are maintaining a page level attribute (say boolean
    haveSenisitiveCustomers) and setting this attribute in the
    afterDataObjectExecute event. (This data object is associated with the
    repeated). In end display event of static text field, they are displaying
    message say " due to Registration type, not all customers meeting the
    criteria are listed") if the haveSensitiveCustomers flag is set.
    After Migration, the boolean flag and static Text Field movedto
    SearchResultViewBean and afterDataObjectExecuteEvent has moved to
    TiledViewBean. Actual processing done is more complicated than this
    explanation. However, it boils down to sharing information between
    tiledViewBean and its parent bean. How do we achieve this in the Migrated
    Application?
    One way is to add getter methods in the child tiled view bean( to
    access in parent view bean, call getRepeated1 and cast to the actual type
    and invoke the get methods)Probably the typical solution (I say typical because I don't yet know) will
    be to do what you suggest: provide methods between views that can be used to
    determine the state needed for processing like this.
    However, let me alert you to something that's different than ND, and which
    may cause you some trouble. In ND, all retrieving DataObjects associated
    with a page executed at one time, and the afterDataObjectExcecuteEvent fired
    before any display processing began. However, in JATO, tiled views are
    independent objects, and any models associated with them only execute when
    the tiled view is first displayed.
    Therefore, if the static test field you refer to appears in the page before
    the tiled view, then the tiled view will not have executed its associated
    model before the static text field is rendered. You will never see the
    static text field display the text you want because you won't have the
    information at display time. (If the text field appears after the repeated,
    then it's not problem, as the display of the tiled view will have executed
    the associate model before the field displays.)
    The solution is to manually reference the tiled view and its associate model
    before they would normally execute. You would execute the model and set the
    tiled view's setAutoRetrieveEnabled() to false to prevent it from executing
    the model a second time. Perhaps the easiest thing to do would be this:
    beforeStaticTextDisplay(...)
    // Force the tiled view to execute the associated model
    Repeated1TiledView tiledView=
    (Repeated1TiledView)getChild("Repeated1");
    tiledView.beginDisplay();
    tiledView.setAutoRetrieveEnabled(false);
    Although the beginDisplay() method will be executed twice in this case (once
    deliberately, above, and later during actual display), there should be no
    overhead. The beginDisplay() method doesn't do anything anyway except
    execute associated auto-retrieving models and fire the
    afterAllModelsExecute() event.
    Mike, do you concur or have any comments?
    This explanation rests on the understanding of a number of other subjects,
    some of which you may not be fully familiar with. Feel free to ask further
    questions about this explanation.
    Todd
    Todd Fast
    Senior Engineer
    Sun/Netscape Alliance
    todd.fast@e...

  • Re: [iPlanet-JATO] Re: Retrieving all Values from a Tiled View

    Todd,
    Let me try to explain you this time. I have a text field in a TiledViewBean.
    When I display the page, the text field
    html tag is created with the name="PageDetail.rDetail[0].tbFieldName" say
    five times/rows with same name.
    The html tags look like this.
    <input type=text name="PageDetail.rDetail[0].tbFieldName" value=""
    maxlength=9 size=13>
    <input type=text name="PageDetail.rDetail[0].tbFieldName" value=""
    maxlength=9 size=13>
    <input type=text name="PageDetail.rDetail[0].tbFieldName" value=""
    maxlength=9 size=13>
    When the form is submitted, I want to get the text field values using the
    method getTbFieldName().getValues() which
    returns an array object[]. This is in case where my TiledViewBean is not
    bound and it is working fine.
    Now in case when my TiledView is bound to a model, it creates the html tags
    as follows.
    <input type=text name="PageDetail.rDetail[0].tbFieldName" value=""
    maxlength=9 size=13>
    <input type=text name="PageDetail.rDetail[1].tbFieldName" value=""
    maxlength=9 size=13>
    <input type=text name="PageDetail.rDetail[2].tbFieldName" value=""
    maxlength=9 size=13>
    Now when I say getTbFieldName().getValues() it returns only the first
    element values in the object[] and the rest of the
    values are null.
    May be we need to create a utility method do get these values from
    requestContext.
    raju.
    ----- Original Message -----
    From: Todd Fast <toddwork@c...>
    Sent: Saturday, July 07, 2001 3:52 AM
    Subject: Re: [iPlanet-JATO] Re: Retrieving all Values from a Tiled View
    Raju.--
    I wanted to know how the getValues() method works the reason being,
    when the tiled view is NOT bound to a model, it populates all the
    fields with the same name as some thing likeI'm afraid I don't understand your point--can you please clarify? Do you
    mean "value" instead of "name"?
    What are you trying to do? What behavior are you expecting but notseeing?
    >
    Without further clarification, I can say that the setValues() methodsNEVER
    populates data on multiple rows of a (dataset) model, nor does it affect
    multiple fields on the same row. Perhaps what you are seeing is theeffect
    of default values. Model that derive from DefaulModel have the ability to
    carry forward the values set on the first row to other rows in lieu ofdata
    in those other rows. This behavior is for pure convenience and can be
    turned off, and it is turned off for the SQL-based models.
    Todd
    [email protected]

    Hi,
    I wanted to know how the getValues() method works the reason being,
    when the tiled view is NOT bound to a model, it populates all the
    fields with the same name as some thing like
    PageDetail.rDetail[0].tbFieldValue
    PageDetail.rDetail[0].tbFieldValue
    in which case, the getValues() method works fine.
    But in case where the tiled view is bound to a model, it populates
    with different field names such as,
    PageDetail.rDetail[0].tbFieldValue
    PageDetail.rDetail[1].tbFieldValue
    in this case, the getValues() doesn't work. Any soultion to this?
    We are using Moko 1.1.1.
    thanks in advance,
    raju.
    --- In iPlanet-JATO@y..., "Todd Fast" <toddwork@c...> wrote:
    Does anyone know of is there a single method to get all values of a
    display
    field in a tiled view without having to iterate through all the
    values ie
    resetTileIndex() / nextTile() approach.
    ie Something that returns an Object[] or Vector just like ND returned a
    CspVector. I tried using the getValues() methods but that allways returns
    a
    single element array containing the first element.
    (I think now, that method is used for multi selecteable ListBoxes)Actually, no. We can add this in the next patch, but for now, I'd recommend
    creating a simple utility method to do the iteration on an arbitrary model
    and build the list for you.
    Todd

  • Re: [iPlanet-JATO] Retrieving all Values from a Tiled View

    Does anyone know of is there a single method to get all values of adisplay
    field in a tiled view without having to iterate through all the values ie
    resetTileIndex() / nextTile() approach.
    ie Something that returns an Object[] or Vector just like ND returned a
    CspVector. I tried using the getValues() methods but that allways returnsa
    single element array containing the first element.
    (I think now, that method is used for multi selecteable ListBoxes)Actually, no. We can add this in the next patch, but for now, I'd recommend
    creating a simple utility method to do the iteration on an arbitrary model
    and build the list for you.
    Todd

    Hi,
    I wanted to know how the getValues() method works the reason being,
    when the tiled view is NOT bound to a model, it populates all the
    fields with the same name as some thing like
    PageDetail.rDetail[0].tbFieldValue
    PageDetail.rDetail[0].tbFieldValue
    in which case, the getValues() method works fine.
    But in case where the tiled view is bound to a model, it populates
    with different field names such as,
    PageDetail.rDetail[0].tbFieldValue
    PageDetail.rDetail[1].tbFieldValue
    in this case, the getValues() doesn't work. Any soultion to this?
    We are using Moko 1.1.1.
    thanks in advance,
    raju.
    --- In iPlanet-JATO@y..., "Todd Fast" <toddwork@c...> wrote:
    Does anyone know of is there a single method to get all values of a
    display
    field in a tiled view without having to iterate through all the
    values ie
    resetTileIndex() / nextTile() approach.
    ie Something that returns an Object[] or Vector just like ND returned a
    CspVector. I tried using the getValues() methods but that allways returns
    a
    single element array containing the first element.
    (I think now, that method is used for multi selecteable ListBoxes)Actually, no. We can add this in the next patch, but for now, I'd recommend
    creating a simple utility method to do the iteration on an arbitrary model
    and build the list for you.
    Todd

  • Is it even possible to dynamically apply view criteria in an ADF Web App?

    This is one of those situations where something that should take an hour ends up taking days.
    * I have a view.
    * The view has Bind Variables associated with it.
    * The view has View Criteria associated with it.
    * Each of the View Criteria use different Bind Variables.
    * I have a search criteria input page that receives from the user what will ultimately be used to set the bind variables.
    * I have a search results page that uses the view to display a table.
    * I have the code that dynamically sets view criteria and parameters. It is based on the following:
    http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/bcadvvo.htm#BCGFHAGA
    * This code works great, until the iterator associated with the table binding to the view is initialized. At that time, the view is reset to its defaults, and all of my code's doings are discarded. How do I know this? Because I have gone so far as to run my code that sets view criteria and binding variables dynamically in a phase event handler for the search results page in the render response phase. There is no other point at which to dynamically modify the view.
    This is turning into a situation where it seems I will need 5 different views and 5 different pages in order to show a single set of query results. I cannot get dynamically applied view criteria to work in an ADF web app. Has anyone else done it? Can anyone relate to this? Are there any other suggestions before I conclude that it's not possible for this framework to handle this simple scenario?
    Thanks

    There must be a setting or something that I am still missing here. If I write code just like this and make sure it is executed, I still only see the results of my view executed without the view criteria applied using the default bind variable values that I supplied in the view object.
    It's like the fact that I set the bind variables, the view criteria, and executed the view query programmatically is lost on the iterator -- it's like it never happened. What setting is used to ensure that the iterator uses the outcome of what I executed programmatically? There has to be a critical set or setting that I am missing.
    Here is the iterator and search region definitions defined in the page def "executables" section:
      <executables>
         <iterator Binds="CustomSearchView1" RangeSize="25"
                  DataControl="AppModuleDataControl"
                  id="CustomSearchView1Iterator"/>
        <searchRegion Binds="CustomSearchView1Iterator"
                      Customizer="oracle.jbo.uicli.binding.JUSearchBindingCustomizer"
                      id="CustomSearchView1Query"/>
        </executables>Here's the "tree" binding in the page def file:
      <bindings>
       <tree IterBinding="CustomSearchView1Iterator" id="CustomSearchView1">
          <nodeDefinition DefName="Model.CustomSearchView" Name="CustomSearchView10">
            <AttrNames>
              <Item Value="CustomId"/>
              <Item Value="CustomProjectNumber"/>
              <Item Value="CustomName"/>
              <Item Value="CustomStatus"/>
              <Item Value="CustomStatusDate"/>
            </AttrNames>
          </nodeDefinition>
        </tree>
      </bindings>In an effort to take page flow out of this mess, I had modified this to include the search criteria and search results on a single page. So, I now have a "Search" button. When the "Search" button is clicked, the action method does the following:
        public String searchActionListener ()
              // Get search criteria from select one choice and text input controls.
              AppModule appModule =
                    ( AppModule ) Configuration.createRootApplicationModule (
                        "Model.AppModule",
                        "AppModuleLocal");
              appModule.customSearch( searchCriteria1,
                                                   searchCriteria2,
                                                   searchCriteria3 );
        }In my application module this translates to:
        public void customNoticeSearch ( String searchCriteria1, String searchCriteria2, String searchCriteria3)
           CustomSearchViewImpl searchViewImp =
               ( CustomSearchViewImpl ) this.getCustomSearchView1 ();
           searchViewImp.customExecuteQuery ( searchCriteria1, searchCriteria2, searchCriteria3);
        }Finally, in my custom view object implementation code:
        public void customExecuteQuery ( String searchCriteria1, String searchCriteria2, String searchCriteria3 )
            // Set-up the parameters that are part of the core query.
            this.setp_searchCriteria1( searchCriteria1);
            this.setp_searchCriteria2( searchCriteria2);
            if ( searchCriteria3 != null )
                ViewCriteriaManager vcm = this.getViewCriteriaManager();
                ViewCriteria vc = vcm.getViewCriteria ( "WithLastCriteria" );
                this.setp_searchCriteria3( new Number ( searchCriteria3 ) );
                this.applyViewCriteria( vc );
            System.out.println ("This is fun.");
            this.executeQuery();
        }This code executes, but the results table is empty, and I know that there are results, because I can execute use execute with params to execute the base query and get the correct results back.
    Thanks for taking a look at this.

  • Re: [SunONE-JATO] Re: How to use a tiled view without a model

    I'm not sure what is different for you now. You still parse the string
    and put it into a data structure. Before the data structure was a
    vector, in JATO its just a model with a "hidden" data structure (a hash
    map).
    MVC only really comes into play when you talk about where your write
    this code, and where the data structure is being stored. So really, JATO
    takes care of half of the MVC'ness of it all (where the data is store).
    You just decide where to be the code to populate the model.
    Make sense?
    Is there something different required of you in JATO in this scenario
    that I am not grasping?
    c
    Hoskins, John D. wrote:
    Thanks for the feedback.
    The problem I was solving involved a single string, which contained
    delimited subsets of information.
    The string looked like
    this:"time|analyst|description|time|analyst|description|..."
    In ND, I parsed it apart into it's components (time vector, analyst vector,
    description vector), populated the repeated.
    With JATO, how would I make a model for something that doesn't have a
    database component like this?
    I'm pretty new to this MVC thing, so bear with me.
    John D. Hoskins
    Telephone & Data Systems
    Application Development & Support
    Voice: 608.664.8263
    Fax: 608.664.8288
    Email: john.hoskins@t...
    -----Original Message-----
    From: Craig V. Conover [mailto:<a href="/group/SunONE-JATO/post?protectID=219212113009229091025149066024064239039098031198039130252055210">craig.conover@s...</a>]
    Sent: 6/26/2002 3.22 PM
    Subject: Re: [SunONE-JATO] Re: How to use a tiled view without a model
    I guess the only thing "weird" (for lack of a better term) about what
    you are doing is that your are populating the model on the "display
    cycle". Typically, the cycle goes like this:
    Request -> populate model -> update data store -> retrieve data to
    populate model -> display data
    some of the above steps are optional but hopefully you get the point I
    am making.
    So what you are doing is:
    Request -> populate model/display data
    If it works for you, then it's not necessarilly wrong. But I would
    probably have my model populated before I forwarded to the target
    (displaying view bean) or at a minimum, in the begin display event of
    the view bean or the tiled view, but not during the iteration of the
    tiled view.
    c
    jhoskins wrote:
    Craig,
    Thanks for the pointers. I ended up doing something else. I set the
    models setSize() method to set the max size, and as the tiles fields
    iterated, populated the value from some vectors I had the data in
    already. Is this solution fraught with peril and will ultimately fail,
    or should I try your way?
    John
    --- Craig V. Conover wrote:
    John,
    Check out the docs for DefaultModel. There is an appendRow() method.
    So get your tiledview's primary model (the tiledview's primary model
    should be set to use an instance of DefaultModel), model.appendRow(),
    then model.setValue("fieldname", value) for each value.
    Rinse, repeat as needed.
    c
    jhoskins wrote:
    I would like to use a tiled view, but populate the fields manually.
    Any pointers about where I can set the size of the tiled view? I tried
    setMaxDisplayTiles() in the beginDisplay, but it won't get down and
    generate the rows.
    John Hoskins
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

    Craig,
    Thanks for the pointers. I ended up doing something else. I set the
    models setSize() method to set the max size, and as the tiles fields
    iterated, populated the value from some vectors I had the data in
    already. Is this solution fraught with peril and will ultimately fail,
    or should I try your way?
    John
    --- "Craig V. Conover" wrote:
    John,
    Check out the docs for DefaultModel. There is an appendRow() method.
    So get your tiledview's primary model (the tiledview's primary model
    should be set to use an instance of DefaultModel), model.appendRow(),
    then model.setValue("fieldname", value) for each value.
    Rinse, repeat as needed.
    c
    jhoskins wrote:
    I would like to use a tiled view, but populate the fields manually.
    Any pointers about where I can set the size of the tiled view? I tried
    setMaxDisplayTiles() in the beginDisplay, but it won't get down and
    generate the rows.
    John Hoskins
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

  • Action on Button in a Tiled View

    HI,
    Does anyone have a sample code/insight/thoughts on how I could
    implement the following ??
    I have a button inside a tiled view. If the user clicks on one of the
    buttons in the list - I need to perform a certain action - basically
    delete that row from the tiled view (and do some other stuff) and re-
    display the list.
    Thank you
    Atul

    Hello Moises
    The problem with this solution is that if you ever need to modify your maintenance view (i.e. regenerate the dynpros because you may want to add new fields) your coding is gone.
    This is not the case if you are using event 19. Below you see same sample coding:
    ***INCLUDE LZUS_SDN_MAINTF01 .  " Function Group with maintenance views
    * Event 19: After Init. Global Variables, Field Symbols, etc.
    * http://help.sap.com/saphelp_nw2004s/helpdata/en/91/ca9f44a9d111d1a5690000e82deaaa/content.htm
    FORM exclude_gui_function.
    * define local data
      DATA: ls_excl   TYPE vimexclfun.
      ls_excl-function = 'DELE'.  " taken from standard GUI-status 'ZULG'
    BREAK-POINT.
      AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'
               ID 'BUKRS' FIELD '1000'
               ID 'ACTVT' FIELD '02'.
      IF ( syst-subrc NE 0 ).
        APPEND ls_excl TO excl_cua_funct.
      ENDIF.
      APPEND ls_excl TO excl_cua_funct.  " Just for the purpose of demonstration
    ENDFORM.                    "exclude_gui_function
    Regards
      Uwe

  • Neurowm - dynamic tiling window manager based on Xmonad

    Hi,
    I started to write my own window manager last year so that it fits exactly my needs. The project was paused due to a lack of time but last month I could start coding again and make it stable. It was my very first step into the X protocol so I decided to use C language and Xlib rather than XCB because of the documentation. I might plan to port it to XCB in the near future though.
    neurowm is a dynamic tiling window manager based on Xmonad, where you must write your own configuration using C language instead of Haskell language. If you are familiar with Xmonad, you should be able to understand the configuration easily.
    Some features:
    - Compile and reload the comfiguration file on the fly withour restarting X
    - Support of float layout
    - Support of toggled layouts
    - Border width, color and gaps can be configured at window level
    - Mirror, Reflect X and Reflect Y support on every layout
    - Support of fixed windows on every layout
    - Support if free window on every layout
    - Dzen support
    - Xinerama support (TODO)
    - Java support (TODO)
    Screenshots:
    Website: https://github.com/nnoell/neurowm
    There is no PKGBUILD at the moment and please, bear in mind that the window manager is under heavy development, so the configuration file might change a lot. Feel free to try it and leave some feedbacks.

    i enjoy all the neuromancer references (wintermute). and your avatar from the cover of the c64 game. gibson would be proud ;D
    I am not really good at names, that is why I take all of them from things I love. Next one won't be from neuromancer, I promisse
    the wm looks very nice in your scrots. can i make some feature suggestions based on my wm experiences?
    i've recently switched from awesomewm to herbsluftwm, and really like it.
    - the binary tree division makes so much sense. you split a frame, then split that frame, and so on into infinity. and all those frames are movable via key-binding as well. as opposed to pre-defined layouts in awesome (and as far as i can tell, neurowm too).
    - having a command line tool that you use to dynamically set properties is amazing. border colors, gaps, displays, etc. e.g. you configure you monitor settings via a command v.s. you config file, this makes it more flexible for on the fly changes.
    Yes, you are right, command line tools are very useful, I might think of adding that. Regarding the binary tree division, I think it would be good to create another "special" layout (as the floated one) with its own bindings. I think I will try herbsluftwm and compare it to Xmonad so I can get to the point.
    I decided to create an Xmonad-like window manager using C language because many people don't know Haskell and GHC is quite heavy. The configuration file might be difficult to understand at first (specially if you are not familiar with C language) but if you guys have any problem, don't hesitate to contact me
    PD: Ninja gaiden is also an amazing franchise, specially the 3 games from the NES, played a lot when I was a kid.

  • Simple Dynamic Tiling WM using XCB

    I came to the party late with catwm but I liked it's simplicity so I kept using it, fixing a couple of bugs that crashed the wm and generally adding options to config it how I like. There was talk in the catwm thread about porting it to XCB but it seemed to fizzle out so after I was comfortable enough with the code I gave it a shot
       Keyboard support in xcb isn't so great at this stage so the keyboard shortcuts use the numbers for the keys instead of the keysyms, apart from that it is just your average minimal dynamic tiling window manager but a little bit quicker everywhere on average. It's early in its' life so there are a couple of anomalies which I'm sure I'll iron out in time.
       Here's a pic :
       If you want to try a light window manager using xcb you can get it from github
       Comments, suggestions and/or questions are always welcome
    Last edited by moetunes (2011-08-28 02:32:48)

    I have run this on two comps without an issue but the third gave me a little grief...
    The reason I use numerical values for the keyboard modifiers is that XCB_MOD_MASK_1 doesn't map to the alt key here(took me ages to figure that out!) < important
    To run this on the third comp which I haven't used in six months I did:
    pacman -Ss xcb
    there is four entries I had the first three already installed but don't recall doing anything xcb related on this comp so (?)
    mkdir -v build/luckywm && cd build/luckywm
    git init
    git pull git://github.com/moetunes/Be_Lucky_Window_Manager
    edit the bluckywm.c file to uncomment the first run line in grabkeys() (around about line 550) and uncomment the fprintf line in keypress()
    copy the config.def.h file to config.h
    and out of habit I ran
    make clean && make
    then I edited .xinitrc so the exec line pointed to the binary I just made.
    changed to tty2 and ran
    startx -- :1
    With the wm up and running I pressed
    Alt + h
    Super + h
    Shift + Alt + h
    Ctrl + Alt + h
    then switched to tty2 to get the numerical values for the modifiers and then killed the wm, switched to tty7 and edited the config.h file to suit and recommented the first run line in grabkeys() so the apps I open get keyboard focus and rebuilt the wm. All works fine now. Let me know if anyone has issues. Eventually I'll get keysyms working in this.
    Cheers to mhertz for giving it a shot
    edit : updated the method for the first run
    Last edited by moetunes (2011-08-29 00:21:56)

  • Getting the Values from a Tiled View

    Hi,
    I have a TiledView and I have checkbox in the tiled view. I am trying
    to get the values of the checked boxes.
    I have coded like this.
    Object[] links = getRSystemLinks().getCbSystemUrl().getValues();
    if I see the links.length i get only one. In html If I see the code
    it appends the TileIndex in brackets. If I replace the TileIndex with
    0 in all the fields in endCbSystemUrl method I get the correct values.
    In the TiledView beginDisplay() method my code is like this.
    if (getPrimaryModel() == null) throw new ModelControlException
    ("Primary model is null");
    super.beginDisplay();
    resetTileIndex();
    pgCustomizeLinksViewBean parentBean = (pgCustomizeLinksViewBean)
    getParent();
    ((DatasetModel) getDefaultModel()).setSize
    (parentBean.SystemChoicesValue.size());
    Any Suggestions on this.
    Thanks
    Namburi

    Namburi--
    Remember, the getValues() method does not return the values from a column in
    a TiledView. It is strictly for use by fields that can have multiple
    values, like multi-select list boxes.
    DO NOT remove the indexing feature from the field names, especially in the
    case of checkboxes, because checkboxes aren't submitted back to the server
    unless they are checked. By overriding the automatic checkbox tracking
    feature JATO provides, you won't be able to tell which checkboxes were
    actually checked by row--you'll simply get back a list the same size as the
    number of checkboxes that were checked, without any placeholders for the
    ones that weren't checked.
    Instead, on submit, you simply need to move through the tiledView and check
    the value of checkbox on each row:
    tiledView.beforeFirst();
    while (tiledView.next())
    if (getDisplayFieldBooleanValue("myCheckBox"))
    You can use the same construct to build up an array or list:
    List checkedList=new LinkedList();
    tiledView.beforeFirst();
    while (tiledView.next())
    if (getDisplayFieldBooleanValue("myCheckBox"))
    checkedList.add(new Boolean(true))
    else
    checkedList.add(new Boolean(false))
    Todd
    Todd Fast
    Senior Engineer
    Sun Microsystems, Inc.
    todd.fast@s...
    ----- Original Message -----
    From: <vnamboori@y...>
    Sent: Wednesday, October 17, 2001 3:49 PM
    Subject: [iPlanet-JATO] Getting the Values from a Tiled View
    Hi,
    I have a TiledView and I have checkbox in the tiled view. I am trying
    to get the values of the checked boxes.
    I have coded like this.
    Object[] links = getRSystemLinks().getCbSystemUrl().getValues();
    if I see the links.length i get only one. In html If I see the code
    it appends the TileIndex in brackets. If I replace the TileIndex with
    0 in all the fields in endCbSystemUrl method I get the correct values.
    In the TiledView beginDisplay() method my code is like this.
    if (getPrimaryModel() == null) throw new ModelControlException
    ("Primary model is null");
    super.beginDisplay();
    resetTileIndex();
    pgCustomizeLinksViewBean parentBean = (pgCustomizeLinksViewBean)
    getParent();
    ((DatasetModel) getDefaultModel()).setSize
    (parentBean.SystemChoicesValue.size());
    Any Suggestions on this.
    Thanks
    Namburi
    [email protected]

  • Problem with embeding the same view in dynamically created view container

    Hello Experts,
                  I am getiing a dump when i try to embed the same view inside the dynamically created view container of
    dynamically created tabs of a tabstrip
    The requirement go like this, i have 2 views in which i have have to embed the 2nd view to view1 where i have an empty
    tabstrip without tabs. During runtime i create tabs as well as view containers accordingly and then try to embed view2 in tabs.
    I have put the below mentioned code in HANDLEIN,
      DATA: lref_vcntlr  TYPE REF TO if_wd_view_controller,
            lref_comp    TYPE REF TO if_wd_component_usage,
            lv_embed_pos TYPE string.
      lref_vcntlr = wd_this->wd_get_api( ).
      lv_embed_pos = 'FILE_PERS_EDIT/VC_GENERAL'.
      TRY.
          CALL METHOD lref_vcntlr->do_dynamic_navigation
            EXPORTING
              source_window_name        = 'FILE_PERSISTENCE_WND'          " Window
              source_vusage_name        = 'FILE_PERS_EDIT_USAGE_1'       " Source View usage
              source_plug_name          = 'TO_EDIT_LAYOUT'                       " Outbound plug
              target_view_name          = 'PERS_EDIT_LAYOUT'                  " Second view to be embedded
              target_plug_name          = 'IN'                                                  " Second view inboun plug
              target_embedding_position = lv_embed_pos
            RECEIVING
              component_usage           = lref_comp.
        CATCH cx_wd_runtime_repository .
      ENDTRY.
      wd_this->fire_to_edit_layout_plg( ).
    This works fine for the first time.
    However onaction tab select i change the embeding position( 'FILE_PERS_EDIT/view container name of different tab') of the view2 an try to embed view2 in a different tab.
    At this point i get a dump stating View2 already present in the window 'FILE_PERSISTENCE_WND' of component.
    I think, the view2 embediing has to be removed before i add the view2 in a different tab
    Kindly let me know how to remove view2 embedding from tab1 before i add a view2 to a different tab or is there any other
    means to handle this problem?
    Thanks & Best Regards,
    Srini.

    Hello Srini,
    I found a solution to your problem, because I had a similar task.
    In WDDOINIT I changed the method do_dynamic_navigation to if_wd_navigation_services_new~prepare_dynamic_navigation:
    DATA:
        l_view_controller_api TYPE REF TO if_wd_view_controller.
      l_view_controller_api = wd_this->wd_get_api( ).
      TRY.
          CALL METHOD l_view_controller_api->if_wd_navigation_services_new~prepare_dynamic_navigation
            EXPORTING
              source_window_name        = 'WDW_MAIN'
              source_vusage_name        = 'VW_SUB_USAGE_1'
              source_plug_name          = 'TO_VW_CONTENT'
              target_component_name     = 'ZTEST_DYNAMIC'
              target_view_name          = 'VW_CONTENT'
              target_plug_name          = 'DEFAULT'
              target_embedding_position = 'VW_MAIN/VC_TAB.VW_SUB/TAB1_VC'
            RECEIVING
              repository_handle         = wd_this->g_rep_handle.
        CATCH cx_wd_runtime_repository .
      ENDTRY.
      wd_this->fire_to_vw_content_plg( param1 = 'TAB1' ).
    In the action I first deleted the navigation targets, then navigated to the empty-view and last I called my target view:
      DATA:
        lv_position           TYPE string,
        l_view_controller_api TYPE REF TO if_wd_view_controller,
        lr_view_usage         TYPE REF TO if_wd_rr_view_usage,
        lr_view_***_t         TYPE wdrr_vca_objects,
        lr_view_***           LIKE LINE OF lr_view_***_t.
      l_view_controller_api = wd_this->wd_get_api( ).
      lr_view_usage = wd_this->g_view->get_view_usage( ).
      lr_view_usage->delete_all_navigation_targets( plug_name = 'TO_VW_CONTENT' ).
      CLEAR lv_position.
      CONCATENATE 'VW_MAIN/VC_TAB.VW_SUB/' old_tab '_VC' INTO lv_position.
      TRY.
          l_view_controller_api->if_wd_navigation_services_new~do_dynamic_navigation(
          source_window_name = 'WDW_MAIN'
          source_vusage_name = 'VW_SUB_USAGE_1'
          source_plug_name   = 'TO_EMPTYVIEW'
          target_component_name = 'ZTEST_DYNAMIC'
          target_view_name   = 'EMPTYVIEW'
          target_plug_name   = 'DEFAULT'
          target_embedding_position = lv_position ).
        CATCH cx_wd_runtime_repository.
      ENDTRY.
      CLEAR lv_position.
      CONCATENATE 'VW_MAIN/VC_TAB.VW_SUB/' tab '_VC' INTO lv_position.
      TRY.
          wd_this->g_rep_handle = l_view_controller_api->if_wd_navigation_services_new~prepare_dynamic_navigation(
            source_window_name = 'WDW_MAIN'
            source_vusage_name = 'VW_SUB_USAGE_1'
            source_plug_name   = 'TO_VW_CONTENT'
            target_component_name = 'ZTEST_DYNAMIC'
            target_view_name   = 'VW_CONTENT'
            target_plug_name   = 'DEFAULT'
            target_embedding_position = lv_position ).
        CATCH cx_wd_runtime_repository.
      ENDTRY.
      wd_this->fire_to_vw_content_plg( param1 = tab ).
    Ann.: I my example, I had 3 views: VW_MAIN which embedds VW_SUB. VW_SUB has the tabs in it and VW_SUB embedds VW_CONTENT.
    BR,
    Roland

  • Reading XML file into Dynamic Node and Display its output as Table.

    Hi All,
    Following is the output of XML file:
       <Company>
         <Employee>
              <Name>John</Name>
              <Age>23</Age>
              <***>Male</***>
              <Location>Frankfurt</Location>
         </Employee>
         <Employee>
              <Name>Tina</Name>
              <Age>21</Age>
              <***>Female</***>
              <Location>Boston</Location>
         </Employee>
         <Department>
              <Name>Sales</Name>
              <HQ>Chicago</HQ>
              <Emplyoees>2300</Employees>
         </Department>     
    I'm able to read the output through DOM parser. But How do I convert this into dynamic node and display this in Web dynpro as Table?
    Any pointers in this regard will be great help?
    Thanks
    Srikant

    Hi Maksim,
    I've used your example and its now helping as there is kind of agreement on that I'll be knowing the structure of Xml and I can fill the nodes.
    But suppose if you have Xml has following structure :
    <?xml version="1.0" encoding="utf-8"?><DATA>
    <item><MAILERID TYPE="C" SIZE="000030">21</MAILERID><ORG_CODE TYPE="C" SIZE="000004">1232</ORG_CODE><EVENTID TYPE="C" SIZE="000015">CONTRACT</EVENTID><SUBSCR_VALUE TYPE="C" SIZE="000001">0</SUBSCR_VALUE></item>
    <item><MAILERID TYPE="C" SIZE="000030">21</MAILERID><ORG_CODE TYPE="C" SIZE="000004">1232</ORG_CODE><EVENTID TYPE="C" SIZE="000015">CREDIT</EVENTID><SUBSCR_VALUE TYPE="C" SIZE="000001">0</SUBSCR_VALUE></item>
    <item><MAILERID TYPE="C" SIZE="000030">21</MAILERID><ORG_CODE TYPE="C" SIZE="000004">1232</ORG_CODE><EVENTID TYPE="C" SIZE="000015">EMPRESS</EVENTID><SUBSCR_VALUE TYPE="C" SIZE="000001">0</SUBSCR_VALUE></item>
    <item><MAILERID TYPE="C" SIZE="000030">21</MAILERID><ORG_CODE TYPE="C" SIZE="000004">1232</ORG_CODE><EVENTID TYPE="C" SIZE="000015">PAYMENT</EVENTID><SUBSCR_VALUE TYPE="C" SIZE="000001">0</SUBSCR_VALUE></item>
    <item><MAILERID TYPE="C" SIZE="000030">21</MAILERID><ORG_CODE TYPE="C" SIZE="000004">1232</ORG_CODE><EVENTID TYPE="C" SIZE="000015">PRICE</EVENTID><SUBSCR_VALUE TYPE="C" SIZE="000001">0</SUBSCR_VALUE></item>
    </DATA>
    How we will do in this case?
    Can we have something similar using DOM? Also what is the best method for displaying data being sent in form of XML. And generalize it for cases like this.
    Thanks
    Srikant

Maybe you are looking for

  • Unable to install Java 2 Platform Standard Edition Development Kit 1.4.2_11

    I am unable to install Java 2 Platform Standard Edition Development Kit 1.4.2_11 and NetBeans IDE 5.0 on Windows 98. I get the following message: Java 2 Platform Standard Edition Development Kit 1.4.2_11 cannot be installed on your computer because c

  • Elements four, Raw file

    I currently have Elements 4 on my mac laptop, I am having a problem loading raw photos from desktop to adobe bridge or elements 4. I get a message that reads "Could not complete your request because photoshop does not recognize this type of file", do

  • Problem in BDC for PA41

    Hello, I have written BDC for pa41 ..it is not taking the second employee after first is updated. after first employee updation i need to press back button and then press "NO" to exit batch input. then it goes to next employee and same process. while

  • Error in Maintain Performance Documents under Team in MSS

    Getting below error when i click Maintain Performance Documents under Team in MSS java.lang.NullPointerException      at com.sap.xss.hr.mbo.blc.BMboStatusComp.resetGlobalMboR3Data(BMboStatusComp.java:260)      at com.sap.xss.hr.mbo.blc.wdp.InternalBM

  • Photomerge UI Not Working

    Photomerge UI not working in Snow Leopard. Shows up in the sys info of PSCS4, but not in File/Automate/Photomerge. What am doing wrong? Installed into //Applications/Adobe Photoshop CS4/Plug-ins/Automate. Clean install of SL & CS4, any help would be