Dynamically creating a CF Tag

Greetings,
I would like to dynamically determine what attributes are
present in a ColdFusion tag. I have done the following to test the
theory:
<cfset inputAttr['name'] = "tControlName">
<cfset inputAttr.label = "Control Label">
<cfset inputAttr.value = "Some string value">
<cfset inputAttr.type = "text">
<cfform name="fTest" method="post" action="">
<cfset tagAttr = "<cfinput ">
<cfloop collection=#inputAttr# item="attr">
<cfset tagAttr = '#tagAttr#
#attr#="#inputAttr[attr]#"'>
</cfloop>
<cfset tagAttr = "#tagAttr# >">
<cfoutput>#tagAttr#</cfoutput>
</cfform>
If I look at the source for the page it is correct, but no
input is creates. If however I change it to "<input" instead of
<cfinput" it works fine. Unfortunately I would like to use
attributes like validate that are only available in
<cfinput>.
I assume that the stuff within the <cfoutput> tags are
bding sent directly to the browser and bypassing the processing be
CF. So I have tried leaving out the "<cfinput " and ">" from
the tagAttr and using the following:
<cfinput "#tagAttr#" >
in a variety of forms but keep getting an error of one sort
or another.
Am I missing something or is this not possible?
Thanks for your help.

Hi Adam,
If I understand you correctly, you can do a similar sort of
thing in CF as
per what I touched on with <cfinvoke
argumentCollection="#stArgs#">. In
which the "real" argument is actually the collection, and the
other ones
are just "treated" as arguments as part of the compilation
process.
That is true.
In one of the previous CF betas I did lobby for this to be the
approach for
all CF tags. I'm not sure if it got addressed as an issue.
As some background, the reason why I lobbied for it was for
the exact
reason you have raised: <cfinput>, and doing pretty
much what you're trying
to do. I've since worked around it.
Exactly. So I wasn't so far off in what I wanted to do. From
the snippet I included you could see where I was going. Which is
something that you had tried to do as well. So had you said this, I
would have understood immediately you knew where I was going, that
you had been down that path and that it was a dead end. Mind you,
then I would not have meandered about for another couple of hours
learning interest things.
One thing you could look @ for these dynamic runtime forms is to
have a
gander @ the various CF frameworks out there. You'll probably
find the
work's already been done for you. And at the very least you
can dissect
the code and see how they've done it.
Will do.
Glad you actually seem to WANT to learn. A lot of
people here don't seem to.
Too true.
Yes. I'm reading a book that is like that (in peripheral places)
at
present. And there is a lot of shite code out there. Then
again... look
at your own old code. You probably see a lot of shite there
too. I
certainly do when I look @ MY old code (and, cough, some of
my new code
too!).
Too true. Yes my early code was not as good as today. But the
tools were not as good as today. (Not that there aren't problems
with the tools today. Some have just too much useless stuff that is
overkill. Who can learn the 10,000 classes available in .NET?) And
I always look at the code i've written, and not where it wasn't
very good and how it could have been done better. And then I apply
it to the next project.
Then too, I have written some strange code that works and
saves time, but was kluged to get around short comings in the
language. (That language now allows me to do what I wanted without
the work arounds.)
Good thinking. And hence you have situations as per this thread
in which
Ian asked what you were actually trying to achieve, as
perhaps what you
were asking was not the best question.
Pretty much. It more sends it to "STDOUT", if I can borrow
and absuse a
*nix term... in this case STDOUT generally being the HTTP
response, which
finds its way back to a client browser. But that's just *in
general*: the
data that CF generates does not need to be text, let alone
HTML, and it
does not have to be send to the HTTP response. Indeed it
doesn't have to
generate ANYTHING.
Agreed. Pardon me for being less than precise.
Ian touched on the notion of writing your CFML code to a string
and then
writing it to a file. There's not response or browser or HTML
involved in
that.
But it is not elegant and maybe not efficient. Unless one
writes out the whole form to one file and then loads it. Hmmm. But
not really a good answer I think.
Well I do have a tendency to call a spade a f***ing spade. And
then -
sometimes - proceed to hit the person I'm talking to with
it.
That's a good description. And I have been there too. But I
got away from it, and try to make comments in a positive way. Which
has its own problems.
Blimin' heck. I hope you're not accusing me of being Australian.
That's
not on at all.
Never! I had intended to include NZ, but it dropped out of my
mind. At least I didn't think you were English. (My wife is.) NZ is
nice. I have visited Christchurch and Marlborough. And a very brief
time in Nelson (I think. I drove from Marlborough to Nelson and
flew to Auckland and then back to States.)
Okay. So in the future you can reply to my posts. And I will
keep it in mind that you are a Kiwi and filter things
appropriately.

Similar Messages

  • Dynamically Created Trigger

    I have a Java application using Business Components. The connection was created using the connection wizard and a standard userid, password is passed to the connection. The application is deployed and launched using JWS. I dynamically create the JNLP tag in a JSP file and pass in the current user identification as a system resource. The html page that holds the link to the JSP page is protected under SSO so I can validate the user id and I know when the application is launched that it is launched by a valid user. The application is launched and I can retrieve the user id by calling System.getProperty(userID).
    So - Now that I have the user ID I would like to pass this on to the database for tracking purposes. Every time I insert/update on a table I would like a trigger that sets the userid and current date for that record.
    I have the trigger written for the current date - that was easy enough..
    TRIGGER "SPECIES"."PLANTCOMMITDT" BEFORE INSERT OR UPDATE ON "SPECIES"."PLANT"
    REFERENCING OLD AS OLD NEW AS NEW
    FOR EACH ROW
    BEGIN
    :new.Commitdt:=SYSDATE;
    END;
    The problem is how can I add the userid to this trigger? I have the userid but in the application - not in the database. Can you dynamically create a trigger? So I can pass in the userid from the application?
    Any help would be appreciated!

    hi,
    Could you please log this issue as a bug . The bug form requests for appropriate info to reproduce the bug.
    Bug report url:
    http://developers.sun.com/prodtech/javatools/jscreator/support/index.jsp
    Click on Bug Report / Feature Request
    Thanks
    K

  • Not Yet Documented ADF Ex 9 Dynamically Binding to Dynamically Created View

    I have dynamically created a View Object and would like to build a dynamic HTML Table on a web page based upon my view. I think something similar is done in Steve Muench's sample #9. My problem is I am new to ADF and the example was done in an earlier version of JDev (I am using 10.1.3.0.4) and the JSP page in the example will not compile. I get an error at:
    <textarea style="width: 100%" name="sql" rows="3" ><c:out value="${param.sql}"/></textarea><br>
    Saying required param "cols" is missing. I also get a nesting error in this code:
    <tr>
    <c:forEach var="attributeLabel" items="${bindings.DynamicViewObject.labelSet}">
    <th>
    because (I think) the compiler expects a </tr> and it is seeing the <c:forEach var="attributeLabel"> tag.
    Is there a setting in JDeveloper I can use to allow this application to compile? Is there a similar example done in JSF as that is what my current application is being developed using.
    TIA,
    Jeff

    Any help on this? Kind of Urgent...
    Thanks,
    Jeff

  • Dynamically Create Repeater Element in ActionScript

    Hi,
    I'm trying to dynamically create a repeater control with an
    image and a label control. I can do it directly in the MXML file
    but when I try and covert it into ActionScript it's not working.
    Can anyone see what the problem is with my code?
    public function GetPalettes():void{
    removeChild(document.FrontPage);
    Palettes.method = "GET";
    params = {"method": "GetPalettes", "BodyPartNo":
    document.PalettesMenu.selectedItem.@partNo};
    Palettes.cancel();
    Palettes.send(params);
    var VerticalBox:VBox = new VBox();
    VerticalBox.x = 10;
    VerticalBox.y = 10;
    VerticalBox.id = "VerticalBox";
    var PaletteRepeater:Repeater = new Repeater();
    PaletteRepeater.dataProvider =
    "{Palettes.lastResult.Palette}";
    PaletteRepeater.startingIndex = 0;
    PaletteRepeater.id = "PaletteRepeater";
    var PaletteImage:Image = new Image();
    PaletteImage.setStyle("HorizontalAlign", "left");
    PaletteImage.source = "
    http://localhost/Flex/Personalised%20Palettes-debug/{PaletteRepeater.currentItem.@PictureS rc}Med.png";
    PaletteImage.useHandCursor = true;
    PaletteImage.buttonMode = true;
    PaletteImage.mouseChildren = false;
    PaletteImage.id = "PaletteImage";
    var PaletteDescription:Label = new Label();
    PaletteDescription.text =
    "{PaletteRepeater.currentItem.@Description}";
    PaletteDescription.id = "PaletteDescription";
    document.MainPage.addChild(VerticalBox);
    VerticalBox.addChild(PaletteRepeater);
    PaletteRepeater.addChild(PaletteImage);
    PaletteRepeater.addChild(PaletteDescription);
    Thanks

    "katychapman85" <[email protected]> wrote in
    message
    news:[email protected]...
    > Hey Amy,
    >
    > I've put a thread up about this but thought I'd ask you
    as well as you've
    > been
    > a great help to me so far.
    >
    > I have this function:
    > public function GetOptions(Menu:int):void{
    > document.MenuOptions.url =
    > "
    http://localhost/Flex/Personalised%20Palettes-debug/MenuOptions.php?Menu=";
    > document.MenuOptions.url += Menu;
    > document.MenuOptions.send();
    > }
    >
    > What I'm trying to do is when a user clicks on a Radio
    button this
    > function is
    > called and the number of the Menu required is sent to
    the function.
    >
    > I've added this Event Listener to my Radio Button:
    >
    >
    document.RadioButtons2.addEventListener(MouseEvent.CLICK,
    > function():void{GetOptions(2);});
    >
    > However, it's not working. Everything I've read suggests
    using an
    > anonymous
    > function in the Event Listener to pass the menu
    parameter but for some
    > reason
    > it's not working.
    What version of Flex are you using? The Help for Flex 3 has
    this to say:
    http://www.adobe.com/livedocs/flex/3/html/help.html?content=events_05.html
    Defining event listeners inline
    The simplest method of defining event handlers in Flex
    applications is to
    point to a handler function in the component's MXML tag. To
    do this, you add
    any of the component's events as a tag attribute followed by
    an ActionScript
    statement or function call.
    You add an event handler inline using the following syntax:
    <mx:tag_name event_name="handler_function"/>
    For example, to listen for a Button control's click event,
    you add a
    statement in the <mx:Button> tag's click attribute. If
    you add a function,
    you define that function in an ActionScript block. The
    following example
    defines the submitForm() function as the handler for the
    Button control's
    click event:
    <mx:Script><![CDATA[
    function submitForm():void {
    // Do something.
    ]]></mx:Script>
    <mx:Button label="Submit" click="submitForm();"/>
    Event handlers can include any valid ActionScript code,
    including code that
    calls global functions or sets a component property to the
    return value. The
    following example calls the trace() global function:
    <mx:Button label="Get Ver" click="trace('The button was
    clicked');"/>
    There is one special parameter that you can pass in an inline
    event handler
    definition: the event parameter. If you add the event keyword
    as a
    parameter, Flex passes the Event object and inside the
    handler function, you
    can then access all the properties of the Event object.
    The following example passes the Event object to the
    submitForm() handler
    function and specifies it as type MouseEvent:
    <?xml version="1.0"?>
    <!-- events/MouseEventHandler.mxml -->
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml">
    <mx:Script><![CDATA[
    import mx.controls.Alert;
    private function myEventHandler(event:MouseEvent):void {
    // Do something with the MouseEvent object.
    Alert.show("An event of type '" + event.type + "'
    occurred.");
    ]]></mx:Script>
    <mx:Button id="b1" label="Click Me"
    click="myEventHandler(event)"/>
    </mx:Application>
    It is best practice to include the event keyword when you
    define all inline
    event listeners and to specify the most stringent Event
    object type in the
    resulting listener function (for example, specify MouseEvent
    instead of
    Event).
    You can use the Event object to access a reference to the
    target object (the
    object that dispatched the event), the type of event (for
    example, click),
    or other relevant properties, such as the row number and
    value in a
    list-based control. You can also use the Event object to
    access methods and
    properties of the target component, or the component that
    dispatched the
    event.
    Although you will most often pass the entire Event object to
    an event
    listener, you can just pass individual properties, as the
    following example
    shows:
    <?xml version="1.0"?>
    <!-- events/PropertyHandler.mxml -->
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml">
    <mx:Script><![CDATA[
    import mx.controls.Alert;
    private function myEventHandler(s:String):void {
    Alert.show("Current Target: " + s);
    ]]></mx:Script>
    <mx:Button id="b1" label="Click Me"
    click="myEventHandler(event.currentTarget.id)"/>
    </mx:Application>
    Registering an event listener inline provides less
    flexibility than using
    the addEventListener() method to register event listeners.
    The drawbacks are
    that you cannot set the useCapture or priority properties on
    the Event
    object and that you cannot remove the listener once you add
    it.
    don't see anything in there about anonymous functions...?

  • Is it possible to dynamically create psp variables?

    I'd like to be able to dynamically create psp variables on the fly.  Without getting into details; using straight shared variables defined in a library is too constraining for my application.  I've found that I can create PSP variables dynamically using DataSocket VIs in the System directory (psp://localhost/system/), though I can't seem to do it with the LV Shared Variable VIs.  I was just curious if there was any way to programmatically create psp variables without using DataSocket VIs.

    In the client yes,
    Dynamically Creating Shared Variables
    The SVE will automatically create the target variable with default properties when a client attempts to connect to a URL with the following format.
    psp://computer/System/shared_variable, where shared_variable is the named tag for the data."
    On the server you create them. I believe, if my memory is correct, if you have DSC option there is code to dynamically create them on server side.

  • Dynamically creating XML using Sap-xMII Colum and Row Action Block

    Hi,
    I am trying to create a xMII-format XML using IlluminatorDocument Action Block.
    My problem statement is during run time I am required to create columns on the fly.which I have done using xMII Colum Action block.but now I am required to assing values to these dynamically created columns.I have tried using Data Item and Row action block but am not sucessful in doing so.Can anyone help in creating this xml Dynamically.
    The steps that I have followed is
    defined
    tagquery action block and defined tagquery
    blank Illuminator Document Action block
    put a repeater on result of tag query
    set a counter
    updated the counter
    used column action block and mapped the column name i.e IlluminatorColumn_0.Name------"test"&Local.count
    my column output looks like
    Rowsets DateCreated="2007-03-27T12:59:39" EndDate="2007-03-27T11:42:40" StartDate="2007-03-27T11:42:40" Version="11.5.0">
         <Rowset>
              <Columns>
                   <Column Description="" MaxRange="100" MinRange="0" Name="test1" SQLDataType="1" SourceColumn="test1"/>
                   <Column Description="" MaxRange="100" MinRange="0" Name="test2" SQLDataType="1" SourceColumn="test2"/>
                   <Column Description="" MaxRange="100" MinRange="0" Name="test3" SQLDataType="1" SourceColumn="test3"/>
                   <Column Description="" MaxRange="100" MinRange="0" Name="test4" SQLDataType="1" SourceColumn="test4"/>
                   <Column Description="" MaxRange="100" MinRange="0" Name="test5" SQLDataType="1" SourceColumn="test5"/>
              </Columns>
    </Rowset>
    </Rowsets>
    after this action block i want to assign values to each column i.e
         <Row/>
              <Row/>
              <Row/>
              <Row/>
              <Row/>
    i.e erach row tags should be filled with columntag and value
    but i am not able to achieve the same
    Can anyone help me doing this

    After adding IllumColum Action block I have created 5 columns dynamically
    but now I am unable to add row.
    currently for everycolumn created it is giving one row  without any column node
    the configurations that I have done in Data Item Action Block is
    In My Link Editor
    IlluminatorColumn_0.Name----
    >IlluminatorDataItem_0.Name
    hardcoded the value i.e 20----
    >IlluminatorDataItem_0.Value
    IlluminatorDocument_0.Output----
    >IlluminatorDataItem_0.IlluminatorDocument
    current resultset I am getting is
    <?xml version="1.0" encoding="UTF-8"?>
    <Rowsets DateCreated="2007-03-27T12:59:39" EndDate="2007-03-27T11:42:40" StartDate="2007-03-27T11:42:40" Version="11.5.0">
         <Rowset>
              <Columns>
                   <Column Description="" MaxRange="100" MinRange="0" Name="test1" SQLDataType="1" SourceColumn="test1"/>
                   <Column Description="" MaxRange="100" MinRange="0" Name="test2" SQLDataType="1" SourceColumn="test2"/>
                   <Column Description="" MaxRange="100" MinRange="0" Name="test3" SQLDataType="1" SourceColumn="test3"/>
                   <Column Description="" MaxRange="100" MinRange="0" Name="test4" SQLDataType="1" SourceColumn="test4"/>
                   <Column Description="" MaxRange="100" MinRange="0" Name="test5" SQLDataType="1" SourceColumn="test5"/>
              </Columns>
              <Row/>
              <Row/>
              <Row/>
              <Row/>
              <Row/>
         </Rowset>
    </Rowsets>

  • Dynamically created HTMLDataTable does not update its chlidren

    I have a very delicate problem that I hope to get help with. I have created a HTML data table dynamically in the Java code. The left-most column contains a checkbox so that I can select and deselect rows in the table. The problem is that the checkbox value is only read from my backing bean but changes to it are not written back.
    The strange thing is that if I create exactly the same data table statically (i.e., as tags in the JSP-page) everything works perfectly fine.
    Is there some strange property that needs to be set when creating the data table dynamically that the JSF-framework automatically sets when it creates the table from the tags?
    Below you see the code for the creation:
    HtmlDataTable component = new HtmlDataTable() ; 
    CColumnHeader   column;
    UIColumn        tableColumn;
    tableColumn = new UIColumn();
    HtmlOutputText textHeader = new HtmlOutputText() ;
    textHeader.setValue("");
    tableColumn.setHeader(textHeader);
    HtmlSelectBooleanCheckbox tCheckBox = new HtmlSelectBooleanCheckbox() ;
    tCheckBox.setValueBinding(  "value", FacesContext.getCurrentInstance().getApplication().createValueBinding("#{data.subItems[0].selected}")) ;                       
    tableColumn.getChildren().add( tCheckBox ) ;
    component.getChildren().addAll( this.uicolumns ) ;
    JSF tag is defined as...
    <h:dataTable id="table" value="#{bean.model}" binding="#{bean.component}" var="data" />This do not work!
    However, the below code do...
    <h:dataTable id="table2" value="#{bean.model}" var="data">
    <h:column >
    <f:facet name="header">
         <h:outputText value="" />
    </f:facet>
    <h:selectBooleanCheckbox value="#{data.subItems[0].selected}" />
    </h:column>
    </h:dataTable>          For what I know these to examples should be equivalent.
    Furthermore, I noticed in the debugger that the attributes of my dynamically created table was not the same as the attributes on the one that JSF created for me. For example, each component that JSF created has got a map entry with the key javax.faces.webapp.COMPONENT_IDS for a ListArray containing the ids of its children. However if I try set this attribute in my code the column is not rendered at all. The UIColumn in the JSF-created table did have a javax.faces.webapp.FACET_NAMES=[header] in its attribute map. I don�t know if this has something to do with it, it was just one thing I noticed.
    Is this a bug or am I missing something?

    Why is that?
    What is it that actually goes wrong here? The two example works
    exactly the same in every aspect but in the first example, the JSF-
    framework only calls the getter method of the selected property and the
    latter case it calls both the getter and the setter. Otherwise the two
    tables works correctly.
    I use the binding attribute to be able to create the HtmlDataTable
    before the actual page is loaded and dynamically populate it with
    different numbers of columns depending on different system states.
    This is the reason why I have to create it dynamically and why I have to
    use the binding attribute.
    What is the reason for this not working? Am I breaking anything in the
    specification?
    What do you mean by "...with the hope that JSF will draw.."? It's is
    drawn, it is just the setter method that is not beeing invoked correctly.

  • Dynamically created object

    Hi
    I did not find any way of accessing a dynamically created
    object by using notation this[id].
    As the code below shows, only hard coded id objects are
    recognised by this[id] notation.
    Any way to do it ?
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    creationComplete="init()">
    <mx:Script>
    <![CDATA[
    import mx.controls.*;
    public var l:Label;
    public function init():void {
    l = new Label();
    l.id = 'label1';
    l.text = 'firstname';
    addChild(l);
    public function fred(event:Event):void {
    mytextarea1.text+=this['mytextarea1'].name + '\n';
    mytextarea1.text+=this['label1'].name + '\n';
    ]]>
    </mx:Script>
    <mx:TextArea id="mytextarea1" width="1300"
    height="200"/>
    <mx:Button click="fred(event)" />
    </mx:Application>

    Thanks guys but I think my example is too simple compared to
    my "real world" current problem ...
    In my project, I dynamically create containers and children.
    I'd like to reach directly a then dynamically created child by its
    id, but notation this[id] is not recognised.
    A better example : form f1 (id='form1) contains 2 labels (ids
    'form1label1' and 'form1label2') ; f1 is included in form f0.
    Calling this['form1label1'] crashed even though it is a
    declared id control ! The same example using <mx> tags would
    not crash...
    And I have gone aroud 10000 articles but never found an
    answer to this.
    <?xml version="1.0" encoding="utf-8"?>
    <mx:Application xmlns:mx="
    http://www.adobe.com/2006/mxml"
    creationComplete="init()">
    <mx:Script>
    <![CDATA[
    import mx.controls.*;
    import mx.containers.*;
    public function init():void {
    var f0:VBox = new VBox();
    var f1:VBox = new VBox();
    var l:Label;
    f0.id = 'form0';
    f1.id = 'form1';
    l= new Label();
    l.id = 'form1label1';
    l.text = 'mobile';
    f1.addChild(l);
    l = new Label();
    l.id = 'form1label2';
    l.text = 'work';
    f1.addChild(l);
    f0.addChild(f1);
    addChild(f0);
    public function fred(event:Event):void {
    mytextarea1.text+=Label( this['form1label1'] ).text + '\n';
    ]]>
    </mx:Script>
    <mx:TextArea id="mytextarea1" width="1300"
    height="200"/>
    <mx:Button click="fred(event)" />
    </mx:Application>

  • Need help populating dynamically-created fields

    I have a form which uses Javascript to create table rows on
    the fly so as to add items to a list dynamically. The table
    consists of two fields -- an ID and let's call the other one
    Attribute A. The user clicks "Add another one" and another row of
    data entry fields pops up. My action page works fine to get the
    value of these rows using the evaluate() function (I always
    wondered what that did), but I want it to go back to the calling
    page, have the calling page create the correct number of rows, and
    populate them with the changed or inserted data that was just saved
    -- the same way that an ordinary action page might save data and
    then return you to the calling page.
    The first row of this table is created through HTML and only
    additional rows are created dynamically.
    I have it all working up to and including the creation of the
    correct number of fields as an "onload=(loadTheData)" in the
    <body> tag, but how the heck and where do I populate them
    with the data returned from the query?
    Below is the Javascript and how it's called. I changed some
    variable names to protect the innocent, but that's basically how it
    works. So the Javascript is creating the fields -- one for each
    record returned by the query -- but how can I assign the record
    values in turn? Do I need WDDX? If so, how would that be
    written?

    If you are going to use JavaScript to dynamically create the
    list, then
    look into the <cfwddx...> tag that is very useful for
    translating
    ColdFusion data structures into JavaScript data structures.
    You can
    then use the JavaScript data to populate your table.
    But I would think it would be simplier to use the ColdFusion
    data to
    build the default table with existing data. Instead of just
    creating
    one row with ColdFusion create rows for the existing data
    then just use
    the JavaScript to add more rows on the client, just as you
    are doing now.
    P.S. evaluate() is usually an awkward choice to access
    dynamical form
    variables. I presume you are using something like
    <cfset something = evaluate("form.aField_#aVar#")>
    This can be easier with the use of array notation.
    <cfset something = form['aField_' & aVar]>
    OR
    <cfset something = form['aField_#aVar#']>
    To each his own, but knowing array notation is a very
    powerful technique.

  • 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

  • Is there a way to use a statically defined appearance stream in a dynamically created annotation?

    Hello,
    I want to create a document with cascading 'popups'.  Not the built-in text-only popup, but an annotation containing an appearance stream that defines text and images.  I'm currently using widget annotations based on a pushbutton field.
    Each page in my document has many citations that refer to other pages in the document.  When a user hovers over the citation, I want a 'popup' to appear containing a depiction of the destination.  However, as the destination will itself have citations, I also want the 'popup' to contain citations that the user can hover over, triggering another popup, etc.  In this way, a user could navigate throughout the document without leaving the page or even clicking the mouse.
    Obviously, with even a modest number of citations per page, pre-calculating and statically defining all of these widgets causes a combinatorial explosion, making the document sluggish and very large.
    Instead, I'd like to statically define appearance streams once per document, and then dynamically create annotations and assign the appropriate appearance stream using JS as the user navigates.
    So far I've created a named AP in the names dictionary, but I haven't been able to use it to dynamically set an appearance stream of a dynamically created widget annotation.
    Also, I've called Doc.getIcon(), passing in the named AP, which returns an Icon object.  However, after field.buttonSetIcon() and passing in the named AP, the button does not display the icon.
    Is there a way to use a statically defined appearance stream in a dynamically created annotation?
    Thank you,
    Dave

    Hi George, I've gotten named APs to work, and I expect hidden buttons will follow.  Thank you very much!
    Quick follow-up - I will have many documents embedded within the same pdf file, and some of these documents will contain identical popups.  However, I don't want to store identical icons in each document on account of file size.
    Instead, I'd like to store one instance of each icon for all documents in the file.
    Can I store all of the icons in a single document, and then access them by calling <DocName>.getField().getIcon() from any document in the file?
    Thank you again,
    Dave

  • How to get the co-ordinates of a dynamically created input field

    Hello Frn's
    i have created a dynamic text view . but this text view is not appearing at proper position . I want palce it infront of a dynamically created input field . how can i do this ?
    as i am thinking ...i should first of all  get info about the co-ordinates of   dynamaclly creatd input field . and with respect to these co-ordinates ...set the position of  text View .
    Please suggest  your thoughts .
    Thanks and Regards
    Priyank Dixit

    Hi,
    There is no provision in WD for getting screen coordinates and then placing the UI element.
    You to add the UI element to layout editor and based on the layout type it will add the UI element to respective position.
    I would advice not to create dynamic UI elements( instead you can create them statically and then play with visibility status through context binding ). This will be more effective way and less error prone. This is also recommended practice.
    still,For dynamic creation you can refer to following wiki:
    http://wiki.sdn.sap.com/wiki/display/WDABAP/CreatingUIElementsDynamicallyinAbapWebdynpro+Application
    regards
    Manas Dua

  • How dynamically create connection pool and Datasource

    Hi
    How I can dynamically create a connection pool and Data source in Oracle 10g Application server. In our J2EE application the user will be login with db user name, password and database name. I want to create connection pool and data source on the fly while login the user with database name. I our application we have access approximate 80 Databases. so my approach is given bellow
    1) Planning to create 80 connection pools and 80 Data sources so when user logs in while selecting the db name i will call the appropriate data source and create the DB connection. Is there any limitation to create number of data sources in oracle app server?
    2) Create DB connection with out using connection pool and data source. But i am not prefer this approach coz we need to handle some transaction in our application.
    Kindly throw some light on managing connection pool programmatically or in application run time.
    I would really appreciate if any one can provide any links or any inormation on this issue.
    Thanks in advance.

    Kindly let me know is there any drawbacks to create 80 Data Sources to connect 80 database in Oracle 10G App server and each data sources should have one connection pool. so i need to create 80 connection pool. Please let me know is this right approach or any work around to create Data source on fly for each request for corresponding database.

  • How can I create a new Tag in Finder?

    Can somebody explain how to create a new Tag in Finder? Thank you very much

    If you right-click on the file you want to add the tag to you get this menu:
    Select "Tags..." and you get:
    Just type the new tag name in the box at the top.

  • How to create a custom tag for a custom converter

    In Jdeveloper 11g, I have a project where I have created a custom converter class that impements the javax.faces.convert.Converter class. I have registered the converter with an id in the faces-config.xml file of the project, and the converter works fine by using the <f:converter type="myconverter"> tag. However, the custom converter has a field which I would like to set from the tag itself. Hence, I would like to add an attribute to <f:converter> tag if possible or create a custom tag that has the attribute.
    I have done some reserach and I found that a custom tag can be implemented: I need to create a class which extends from the ConverterTag class or javax.faces.webapp.ConverterElTag class, which I did, but I also need to create ".tld" (tag library) file which defines the tag itself.
    The part about creating the ".tld" file and registring the new tag is what I'm not sure how to do.
    Does someone know how to do this?
    thank you

    Hi frank,
    that's a good document, and it explains how to make a custom converter. I already created the custom converter, it converts a number to any currency pattern. I know java already has a currency converter, but it doesn't support Rupee currency format, and I need that format.
    My converter works, but I would like to pass the pattern of the format through an attribute in a tag. Since f:converter doesn't seem to support that, I created a custom tag which uses my converter, and it enables me to pass a pattern to the converter.
    All of that works, but I need to be able to pass the pattern as an EL expression, and it's not evaluating the expression before passing it to the converter. It just passes the whole expression as a string. I'm thinking It may be something I'm doing wrong.
    this is the tag library definition file:
    <!DOCTYPE taglib
    PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
    "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
    <taglib>
    <tlib-version>1.2</tlib-version>
    <jsp-version>2.1</jsp-version>
    <short-name>custom</short-name>
    <uri>custom-currency-converter</uri>
    <description>
    custom currency custom tag library
    </description>
    <tag>
    <name>CurrencyConverter</name>
    <tag-class>
    converter.Tag.CurrencyConverterTag
    </tag-class>
    <body-content>JSP</body-content>
    <attribute>
    <name>pattern</name>
    <type>java.util.String</type>
    <required>true</required>
    <rtexprvalue>true</rtexprvalue>
    </attribute>
    </tag>
    </taglib>
    Edited by: Abraham Ciokler on Feb 4, 2011 11:20 AM

Maybe you are looking for

  • Error message says"the document Web could not be saved" help Please

    After spending hours on the final tweeking of my iWeb site I go to publish it and get the message the document could not be saved. Is there anyone out there knows how to get this program to save I have tried everything and nothing. And as luck would

  • SQL query not calculating

    SQL query not calculating gross_amount is giving the value of extended_amount and the gross_price_rc is giving the value of unit_selling_price select customer_trx_line_id, ( extended_amount / 1- (decode(decode(attribute6,null,0)+decode(attribute7,nul

  • Building tree when we know all the nodes and levels

    Hi Experts, What is the best way to implement tree in web dynpro for abap when we know all the nodes, there levels and parents. I have the structure like this: id        text             level     parent 1        root                1         1 1.1 ;

  • Mass Maintenance of BOMs with Alternate Item Groups

    We plan to create BOMs containing Alternate Item Groups (+ usage probability + priority) to cover alternative parts usage. What is the SAP solution for Mass maintenance of BOMs with Alternate item groups? Is it possible to use (or customize) CS20 (or

  • Taking datafile offline and moving it.

    How i can move my datafile? what are steps ?