Alignment of dynamically changing StaticText element
Having a little trouble centering a dynamically changing StaticText element whose parent container has its alignChildren property set to 'center'. As the text of the element changes, new strings that are assigned to it are truncated to the length of the string the element initially held. If I initially place a string of blank characters that is longer in length than any anticiapted text string the element will ever hold, when the text is updated it is offeset to the left by the number of characters of the initial string that are in excess of the length of the string newly assigned to it. Any ideas or suggestions would be very much appreciated.
Set the initial size of the StaticText with the "characters" property, which will reserve width so it is the proper width.
Also set "justify" to "center" so that it will always be centered within that space.
Note that "characters" is an initial creation property only, and cannot be set after the object has been created.
Similar Messages
-
Dynamically changing UI element 's binding
Hi Frnds,
how can we change a binding of a UI element at runtime. I guess method is REPLACE_PROPERTY_BINDING of CL_WD_UIELEMENT. Does anyone have any example for this..
Thanks
AnujHi Anuj,
the method REPLACE_PROPERTY_BINDING has 4 parameters ie 3 Importing and 1 Returning.
OLD_BINDING : Pass the current binding information. This information you will get from the wizard ie Elem_****
PATH : Just pass the attrubute path for which element you want to get it. this also can get through wizard. Here access the new context element.
BINDING_TYPE: CO_ATTRIBUTE_BINDING( Attribute Binding),
CO_NODE_BINDING(Node Binding)
CO_MULTI_ATTRIBUTE_BINDING(Multiple Attribute Binding)
CO_MULTI_NODERANGE_BINDING(Multiple Node Range Binding)
Warm Regards,
Vijay -
Dynamically changing UI element property based on Checkbox selection
Hi,
I have a checkbox in my UI. On the selection of the checkbox, a dropdown must get enabled and when the checkbox is not selected, the dropdown should be disabled. Can someone tell me how i can achieve this?Hi ,
bind ur checkbox and dropdowns enabled properties to context attributes of type WDY_BOOLEAN
suppose ur checkbox is bound to ca_check attribute under node cn_check
and ur drop down is bind to ca_drop attribute under node cn_drop
for the OnToggle Event of CheckBox , assign an action say act
and in Onactionact method , write the following piece of code :
DATA lo_nd_cn_check TYPE REF TO if_wd_context_node.
DATA lo_el_cn_check TYPE REF TO if_wd_context_element.
DATA ls_cn_check TYPE wd_this->element_cn_check.
DATA lv_ca_check LIKE ls_cn_check-ca_check.
* navigate from <CONTEXT> to <CN_CHECK> via lead selection
lo_nd_cn_check = wd_context->get_child_node( name = wd_this->wdctx_cn_check ).
* get element via lead selection
lo_el_cn_check = lo_nd_cn_check->get_element( ).
* get single attribute
lo_el_cn_check->get_attribute(
EXPORTING
name = `CA_CHECK`
IMPORTING
value = lv_ca_check ).
IF lv_ca_check = 'X'
DATA lo_nd_cn_drop TYPE REF TO if_wd_context_node.
DATA lo_el_cn_drop TYPE REF TO if_wd_context_element.
DATA ls_cn_drop TYPE wd_this->element_cn_drop.
DATA lv_ca_drop LIKE ls_cn_drop-ca_drop.
* navigate from <CONTEXT> to <CN_CHECK> via lead selection
lo_nd_cn_drop = wd_context->get_child_node( name = wd_this->wdctx_cn_drop ).
* get element via lead selection
lo_el_cn_drop = lo_nd_cn_drop->get_element( ).
* set single attribute
lo_el_cn_drop->set_attribute(
EXPORTING
name = `CA_DROP`
value = 'X' ).
ELSE.
lo_el_cn_drop->set_attribute(
EXPORTING
name = `CA_DROP`
value = ' ').
here ur drop down is bind to ca_drop attribute under node cn_drop.
rgds,
amit
Edited by: amit saini on Sep 24, 2009 1:42 PM -
How to deal with dynamic selection screen elements when macros are used?
Hello experts,
This is regarding the dynamic selection screen elements. Actually the requirement is to modify the existing standard report program RFUMSV00 by copying it into a Z report, adding a few selection screen elements and new fields in the output. I actually did everything required except for the one thing that is going out of my reach.
There are a certain fields which are coming when they are not supposed to get displayed. I don't understand the code because of its obsoleteness. Neither can I debug it because it is just data declaration.
This is the code where there is a fault. If I copy the entire code into a new Z report, I'm getting new fields like Entry Date, Document Type, Reference Transaction, Reference key, Logical system.
DEFINE selection_screen_line.
selection-screen: begin of line.
parameters &3 like &4 default 'X' modif id mc4.
selection-screen: comment (30) &1 for field &3 modif id mc4.
selection-screen: comment pos_low(10) text-019
for field &2 modif id mc4. "neu
parameters &2 like rfums_alv-variante modif id mc4.
selection-screen:
position pos_high.
selection-screen: pushbutton (15) text-028
user-command &5 modif id mc4.
selection-screen end of line.
END-OF-DEFINITION.
Kindly, suggest me the right solution.In the program attributes ( SE38 > RFUMSV00 > GOTO > Properties ), you will find a logical database BRF declared. The include DBBRFSEL is part of the selection screen of this logical database.
The selection screen is actually the selection screen of this logical database.
Under the Logical Database field, there is a Selection screen field where you can input which selection screen of the logical database to be used.
But, this is just to change the selection screen that is displayed. To completely suppress it you need to remove logical database declaration from the properties of the program and call it inside your program through function module.
You cannot just remove it from the declaration because many of its variables are used in the program.
So call it using function module as the first step in INITIALIZATION section of the program.
The syntax and function module to call it in your program can be found in the following thread :
How to hide the selection screen of a Logical datebase?
Regards,
Ashish -
Dynamic Table UI Element with different data type for each cell
Hi Experts,
I have a problem with a dynamic Table UI Element in Web Dynpro ABAP. I have the following coding:
METHOD set_col_row .
TYPE-POOLS: icon.
DATA:
lv_node TYPE REF TO if_wd_context_node,
lv_node_info TYPE REF TO if_wd_context_node_info,
lv_element TYPE REF TO if_wd_context_element,
lt_attributes TYPE wdr_context_attr_info_map,
lv_table TYPE REF TO cl_wd_table,
lv_table_column TYPE REF TO cl_wd_table_column,
lv_text_view TYPE REF TO cl_wd_text_view,
lv_image TYPE REF TO cl_wd_image,
lv_text_edit TYPE REF TO cl_wd_text_edit,
lv_header TYPE REF TO cl_wd_caption,
attribute LIKE LINE OF lt_attributes,
lv_index TYPE string,
lv_cur_row TYPE i,
path TYPE string,
lv_value TYPE string,
attr_name TYPE string,
l_trc_point_id TYPE string,
l_num_cols TYPE string,
l_num_rows TYPE string,
lv_text TYPE string,
lv_index2 TYPE i,
lr_ress_selections TYPE REF TO /its/di_2_cpr_ress_selections,
lt_comp_tab TYPE cl_abap_structdescr=>component_table,
ls_comp_tab LIKE LINE OF lt_comp_tab,
lv_count TYPE i,
lv_col_count TYPE i,
lv_col_count_read TYPE i,
lv_index_read TYPE i,
lv_num_cols_minus_1 TYPE i,
lv_bind_lv_value TYPE string,
wd_standard_cell TYPE REF TO cl_wd_table_standard_cell,
lv_data_count TYPE i,
lv_data_count_str TYPE string,
wd_table_column TYPE REF TO cl_wd_table_column,
lv_column_id TYPE string.
FIELD-SYMBOLS:
TYPE ANY.
Instanz der Klasse /ITS/DI_2_CPR_RESS_SELECTIONS
lr_ress_selections = /its/di_2_cpr_ress_selections=>factory( ).
ASSIGN lr_ress_selections->gr_table->* TO gt_comp_tab.
ls_comp_tab-name = 'SUMME'.
APPEND ls_comp_tab TO lt_comp_tab.
ls_comp_tab-name = 'CELL_VARIANT'.
APPEND ls_comp_tab TO lt_comp_tab.
CLEAR ls_comp_tab.
l_num_rows = num_rows + 1.
CONDENSE l_num_rows.
l_num_cols = num_columns + 1.
CONDENSE l_num_cols.
UI-Element 'TABLE'
lv_table ?= wd_this->m_view->get_element( 'TBL_TABLE' ).
lv_table->remove_all_columns( ).
Kontext-Knoten 'TABLE'
lv_node = wd_context->get_child_node( 'TABLE' ).
lv_node_info = lv_node->get_node_info( ).
lv_node_info->remove_dynamic_attributes( ).
attribute-type_name = 'STRING'.
lv_num_cols_minus_1 = num_columns - 1.
Für jede Spalte einmal tun
DO lv_num_cols_minus_1 TIMES.
lv_index = sy-index + 1.
CONDENSE lv_index.
lv_table_column = cl_wd_table_column=>new_table_column( ).
lv_column_id = lv_table_column->id.
Spaltenüberschriften setzen
IF lv_index EQ 1. "Beim ersten Durchlauf --> erste Spalte = "Ressourcen"
lv_text = text-010.
sy-index = 0.
ELSE. "Danach für jede weitere Spalte eine Zeile aus der gt_comp_tab nehmen
lv_index_read = lv_index - 1.
READ TABLE lt_comp_tab INDEX lv_index_read INTO ls_comp_tab.
lv_text = ls_comp_tab-name.
lv_header = cl_wd_caption=>new_caption( text = lv_text ).
lv_table_column->set_header( lv_header ).
ENDIF.
CONCATENATE 'TABLE.A' lv_index INTO path.
lv_text_view = cl_wd_text_view=>new_text_view( bind_text = path ).
lv_table_column->set_table_cell_editor( lv_text_view ).
lv_table_column->bind_selected_cell_variant( 'TABLE.CELL_VARIANT' ).
lv_table->add_column( lv_table_column ).
wd_table_column ?= wd_this->m_view->get_element( lv_column_id ).
*****************Test Cell Variant*************************************************
IF lv_index GT 1.
LOOP AT .
IF sy-tabix EQ lv_cur_row.
Name zuweisen
ASSIGN COMPONENT 'NAME' OF STRUCTURE .
Zuweisen ob Blatt oder nicht
lv_element->set_attribute( name = 'NAME' value = lv_value ).
ASSIGN COMPONENT 'IS_LEAF' OF STRUCTURE set_attribute( name = attr_name value = lv_value ).
ENDIF.
ENDLOOP.
Now my problem is, that I need for every ROW of my table UI Element a different cell editor. I know how to change it for the column. But is not my issue. I want to have images (traffic lights red and green) in some rows. The other rows should have numbers. The coding works, so that I have all the data at the right place in my table, only the images are shown as a string, because the cells of these rows have the cell editor Text_View. I tried something with cell variants (with cl_wd_table_standard_cell), but it was not possible for me to get a cell variant "image" in these cells/rows were I need it.
I hope you understand my problem and now what to do here.
Thanks a lot in advance.
Best Regards,
IngmarHi Experts, I have a problem with a dynamic Table UI Element in Web Dynpro ABAP. I have the following coding: METHOD set_col_row . TYPE-POOLS: icon. DATA: lv_node TYPE REF TO if_wd_context_node, lv_node_info TYPE REF TO if_wd_context_node_info, lv_element TYPE REF TO if_wd_context_element, lt_attributes TYPE wdr_context_attr_info_map, lv_table TYPE REF TO cl_wd_table, lv_table_column TYPE REF TO cl_wd_table_column, lv_text_view TYPE REF TO cl_wd_text_view, lv_image TYPE REF TO cl_wd_image, lv_text_edit TYPE REF TO cl_wd_text_edit, lv_header TYPE REF TO cl_wd_caption, attribute LIKE LINE OF lt_attributes, lv_index TYPE string, lv_cur_row TYPE i, path TYPE string, lv_value TYPE string, attr_name TYPE string, l_trc_point_id TYPE string, l_num_cols TYPE string, l_num_rows TYPE string, lv_text TYPE string, lv_index2 TYPE i, lr_ress_selections TYPE REF TO /its/di_2_cpr_ress_selections, lt_comp_tab TYPE cl_abap_structdescr=>component_table, ls_comp_tab LIKE LINE OF lt_comp_tab, lv_count TYPE i, lv_col_count TYPE i, lv_col_count_read TYPE i, lv_index_read TYPE i, lv_num_cols_minus_1 TYPE i, lv_bind_lv_value TYPE string, wd_standard_cell TYPE REF TO cl_wd_table_standard_cell, lv_data_count TYPE i, lv_data_count_str TYPE string, wd_table_column TYPE REF TO cl_wd_table_column, lv_column_id TYPE string. FIELD-SYMBOLS: LIKE LINE OF lt_attributes, TYPE ANY TABLE, TYPE ANY, TYPE ANY, TYPE ANY. * Instanz der Klasse /ITS/DI_2_CPR_RESS_SELECTIONS lr_ress_selections = /its/di_2_cpr_ress_selections=>factory( ). ASSIGN lr_ress_selections->gr_table->* TO . lt_comp_tab = lr_ress_selections->gt_comp_tab. ls_comp_tab-name = 'SUMME'. * APPEND ls_comp_tab TO lt_comp_tab. * ls_comp_tab-name = 'CELL_VARIANT'. APPEND ls_comp_tab TO lt_comp_tab. CLEAR ls_comp_tab. l_num_rows = num_rows + 1. CONDENSE l_num_rows. l_num_cols = num_columns + 1. CONDENSE l_num_cols. * UI-Element 'TABLE' lv_table ?= wd_this->m_view->get_element( 'TBL_TABLE' ). lv_table->remove_all_columns( ). * Kontext-Knoten 'TABLE' lv_node = wd_context->get_child_node( 'TABLE' ). lv_node_info = lv_node->get_node_info( ). lv_node_info->remove_dynamic_attributes( ). attribute-type_name = 'STRING'. lv_num_cols_minus_1 = num_columns - 1. * Für jede Spalte einmal tun DO lv_num_cols_minus_1 TIMES. lv_index = sy-index + 1. CONDENSE lv_index. lv_table_column = cl_wd_table_column=>new_table_column( ). lv_column_id = lv_table_column->id. * Spaltenüberschriften setzen IF lv_index EQ 1. "Beim ersten Durchlauf --> erste Spalte = "Ressourcen" lv_text = text-010. sy-index = 0. ELSE. "Danach für jede weitere Spalte eine Zeile aus der gt_comp_tab nehmen lv_index_read = lv_index - 1. READ TABLE lt_comp_tab INDEX lv_index_read INTO ls_comp_tab. lv_text = ls_comp_tab-name. lv_header = cl_wd_caption=>new_caption( text = lv_text ). lv_table_column->set_header( lv_header ). ENDIF. CONCATENATE 'TABLE.A' lv_index INTO path. lv_text_view = cl_wd_text_view=>new_text_view( bind_text = path ). lv_table_column->set_table_cell_editor( lv_text_view ). lv_table_column->bind_selected_cell_variant( 'TABLE.CELL_VARIANT' ). lv_table->add_column( lv_table_column ). wd_table_column ?= wd_this->m_view->get_element( lv_column_id ). ******************Test Cell Variant************************************************** IF lv_index GT 1. LOOP AT ASSIGNING . ASSIGN COMPONENT 'TYPE' OF STRUCTURE TO . ADD 1 TO lv_data_count. lv_data_count_str = lv_data_count. CONCATENATE 'A' lv_index lv_data_count_str INTO path. wd_standard_cell = cl_wd_table_standard_cell=>new_table_standard_cell( view = wd_this->m_view variant_key = 'FLDATE' ). IF = '01' OR = '04'. lv_image = cl_wd_image=>new_image( bind_source = path view = wd_this->m_view ). wd_standard_cell->set_editor( lv_image ). wd_standard_cell->set_cell_design( '01' ). ELSE. lv_text_view = cl_wd_text_view=>new_text_view( bind_text = path view = wd_this->m_view ). wd_standard_cell->set_editor( lv_text_view ). wd_standard_cell->set_cell_design( '02' ). ENDIF. wd_table_column->add_cell_variant( wd_standard_cell ). ENDLOOP. ENDIF. ************************************************************************************* CONCATENATE 'A' lv_index INTO attribute-name. lv_node_info->add_attribute( attribute ). ENDDO. DO num_rows TIMES." Für jede Zeile einmal tun lv_cur_row = sy-index. lv_element = lv_node->create_element( ). lv_node->bind_element( new_item = lv_element set_initial_elements = abap_false ). DO l_num_cols TIMES. ADD 1 TO lv_col_count. IF lv_count LT 1. LOOP AT ASSIGNING . IF sy-tabix EQ lv_cur_row. * Name zuweisen ASSIGN COMPONENT 'NAME' OF STRUCTURE TO . "NAME lv_value = . * Zuweisen ob Blatt oder nicht lv_element->set_attribute( name = 'NAME' value = lv_value ). ASSIGN COMPONENT 'IS_LEAF' OF STRUCTURE TO . "NAME lv_value = . lv_element->set_attribute( name = 'IS_LEAF' value = lv_value ). ENDIF. ENDLOOP. ENDIF. IF lv_count GT 0. lv_col_count_read = lv_col_count - 1. lv_index = sy-index. LOOP AT ASSIGNING . IF sy-tabix EQ lv_cur_row. CLEAR ls_comp_tab. READ TABLE lt_comp_tab INDEX lv_col_count_read INTO ls_comp_tab. ASSIGN COMPONENT ls_comp_tab-name OF STRUCTURE TO . lv_value = . CONDENSE lv_index. CONCATENATE 'A' lv_index INTO attr_name. lv_element->set_attribute( name = attr_name value = lv_value ). ENDIF. ENDLOOP. ENDIF. lv_count = lv_count + 1. ENDDO. CLEAR lv_col_count. CLEAR lv_count. ENDDO. ENDMETHOD. I definied my table in Layout Tab of the View and create here in thos method dynamicly my columns. lv_table_column = cl_wd_table_column=>new_table_column( ). . . lv_table->add_column( lv_table_column ). In I have my data that should be shown later in my table. So I create for each row in this fieldsymbol in a loop: lv_element = lv_node->create_element( ). lv_node->bind_element( new_item = lv_element set_initial_elements = abap_false ). Later I fill every cell in my table with a different value with this loop: LOOP AT ASSIGNING . IF sy-tabix EQ lv_cur_row. CLEAR ls_comp_tab. READ TABLE lt_comp_tab INDEX lv_col_count_read INTO ls_comp_tab. ASSIGN COMPONENT ls_comp_tab-name OF STRUCTURE TO . lv_value = . CONDENSE lv_index. CONCATENATE 'A' lv_index INTO attr_name. lv_element->set_attribute( name = attr_name value = lv_value ). ENDIF. ENDLOOP. Now my problem is, that I need for every ROW of my table UI Element a different cell editor. I know how to change it for the column. But is not my issue. I want to have images (traffic lights red and green) in some rows. The other rows should have numbers. The coding works, so that I have all the data at the right place in my table, only the images are shown as a string, because the cells of these rows have the cell editor Text_View. I tried something with cell variants (with cl_wd_table_standard_cell), but it was not possible for me to get a cell variant "image" in these cells/rows were I need it. I hope you understand my problem and now what to do here. Thanks a lot in advance. Best Regards, Ingmar
-
Dynamically change the db and server in execute sql task
Pkg 2: Moves data from B_STG (Staging DB) to B_Det_STG (Staging DB) ---- option1
Pkg 3: Moves data from B_STG (Staging DB) to B_Det (PC DB) ---- option2
This part is duplicating in both the packages
So they want me to merge both of them into in execute sql task and dynamically change between option1 and option2 depending on a pkg level variable.
So, I create a pkg level variable called ExecutionVariable: 'ANALYSIS' or 'LOADING'
If 'ANALYSIS' it needs to do option1 else option2.
So, I ma trying to create a dynamic connection string in execute sql task.
I change the connection property in execute sql task editor dynamically my giving the expression: @[User::ExecutionVariable] == "ANALYSIS"? @[User::STAGINGDBConnectionString] : @[User::PCDBConnectionString]
which evaluates to : Data Source=AW-ETL-D1;Initial Catalog=Staging;Integrated Security=SSPI;Provider=sqloledb
But when I run the sql task, its giving me an error:
ERROR:
TITLE: Microsoft Visual Studio
Nonfatal errors occurred while saving the package:
Error at PC_DataLoad: The connection "Data Source=AW-ETL-D1;Initial Catalog=Staging;Integrated Security=SSPI;Provider=sqloledb" is not found. This error is thrown by Connections collection when the specific connection element is not found.
Error at PC_DataLoad: The connection "Data Source=AW-ETL-D1;Initial Catalog=Staging;Integrated Security=SSPI;Provider=sqloledb" is not found. This error is thrown by Connections collection when the specific connection element is not found.
Can u please help me.Hi ,
Don't try to make the "Execute Sql" task as dynamic.
Try to make OLEDB connection Manager as "Dynamic".
Steps:
1. Create OLE DB Connection pointing to any database then set expression to connection string variables like below.
Provider=SQLNCLI10.1;Integrated Security=SSPI;Initial Catalog=YourDBname;Data Source=YourServerName.
2. Make Delayed Validation property to "True".
3. Set the created dynamic OLE DB connection to your Execute SQL task.
4. Change the connection string variable accordingly before running the "Execute SQL" task.
Hope it will help you.
Regards,
Nandhu -
Dynamically Change UIBBs in GAF. Is it possible ?
Hello,
I have a query in FPM to which I would like to draw your attention to.
Can I dynamically change my UIBBs within a single mainstep in FPM GAF ? if so, which method can help me do this ?
I created a single Web dynpro Component with 5 component configurations.
I am controlling the visibility of several UI elements within this single component through these component configurations.
Each configuration refers to a business scenario.
I configured this single interface view at the UIBB level with the configuration name for a main step.
I was able add multiple uibbs at this level with different configuration names.
Now, I do not know how to toggle between these UIBBs?. I do not want to create multiple variants
because all the other main steps are same for all the business scenarios.
Thanks for your time.
Regards,
KiranHello Kiran,
This is achieveable. You need to implement the IF_FPM_GAF_CONF_EXIT WD interface in your AppCC. This interface provides a method OVERRIDE_EVENT in the component controller of your AppCC. This method has an importing parameter IO_GAF which has various methods to help you change the configuration of the application at runtime and also the UIBB's on a particular mainstep.
Regards
Rohan -
Merging of 2 Cells in WD ABAP ALV Header & Dynamically change the header
Hello Experts,
I have two main requirements with respect to WD ABAP - ALV report creation
1) Two feilds in the header of ALV GRID created in the WD ABAP screen must be merged as shown below(Month Column) ,
| January | February |
| Col 1 | Col2 | Col 1 | Col2 |
2) The header value(Month) should dynamically change based on the current date.
For Eg: If June 2011 is the current month , the ALV table should start from June 2011 and displayed till May 2012.
Looking forward for your valuable inputs @ the earliest
Regards,
SriramHi Sriram,
For merging..
Pleaese go through this
Merge of Cells in ALV table in ABAP webdynpro.
ABAP WD: ALV merge cells
For Header Change..
How to set title/text for ALV table column header in WD ABAP
Change column header in ALV to another DDIC Element type
Change label of a column in ALV
Cheers,
Kris. -
ExternalInterface not working when swf file is embed inside a dynamically cloned DIV element.
ExternalInterface not working when swf file is embed inside a dynamically cloned DIV element.
It seems that flash movie is identifed as 'undefined' inside document.
//a statically placed div
var staticdiv=document.getElementById('PropDiv');
//dynamically placed div with object tag
var dynDiv =staticdiv.cloneNode( true );
var xD=50;
var yD=50;
if(dynDiv)
dynDiv.style.display = "block";
dynDiv.innerHTML="<object classid=" + "\"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\"" + "codebase=" +
"\"http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0\"" + "width=" + xD + "height=" + yD +
"id=" + "\"external\"" + "align=" + "\"middle\"" + ">" +
"<param name=" + "\"allowScriptAccess\"" + "value=" + "\"sameDomain\"" + "/>" +
"<param name=" + "\"movie\"" + "value=" + "\"external.swf\"" + "/>" +
"<param name=" + "\"quality\"" + "value=" + "\"high\"" + "/>" +
"<param name=" + "\"wmode\"" + "value=" + "\"transparent\"" + "/>" +
"<param name=" + "\"bgcolor\"" + "value=" + "\"#ffffff\"" + "/>" +
"<embed src=" + "\"external.swf\"" + "quality=" + "\"high\"" + "wmode=" + "\"transparent\"" +"bgcolor=" + "\"#ffffff\""
+ "width=" + xD + "height=" + yD + "name=" + "\"external\"" + "align=" + "\"middle\"" + "allowScriptAccess=" + "\"sameDomain\"" +
"type=" + "\"application/x-shockwave-flash\"" + "pluginspage=" + "\"http://www.macromedia.com/go/getflashplayer\"" + "/>" +
"</object>";
dynDiv.style.top=50;
dynDiv.style.left=100;
document.body.appendChild(dynDiv);
In above situation communication is not establised when a funtion which is retruning boolean is called from flash using
ExternalInterfcae.call.The return value of this function is getting as false inside flash.But the value is true in javascript.
if (navigator.appName.indexOf("Microsoft") != -1) {
return window[movieName];
} else {
return document[movieName];
window["external"] is returning as 'undefined'.
Please give a solution to solve this.Note that you have different file names for the object (images/banner.swf) and the embed (images/banner1.swf)
You also placed the embed in the middle of a param tag and nested all param tags.
Because you didn't include a MIME type and the object doesn't have a classid for an ActiveX control for IE, I'm not sure what Firefox will be using.<br />
The object doesn't have a data attribute to specify the file.<br />
A separate embed is only needed when you specify a classid in the object.
<pre><nowiki><div class="bannercontainer">
<object width="940" height="445" type="application/x-shockwave-flash" data="images/banner.swf" >
<param name="wmode" value="transparent" />
<param name="movie" value="images/banner.swf" />
</object>
</div></nowiki></pre> -
Custom cursor - dynamically change colour
Since I failed to gain access to [Embed]ed SWF file to change
its properies from within Flex :-(
has anyone got any ideas how to create a custom cursor and
dynamically change its colour.
Let's say we have a brush or a pencil cursor and we want to
change the colour of its tip, when a certain coloured button is
pressed with it.
Thank you.Use sym for your element.
sym.$("button").css({'cursor':'pointer'}); -
Dynamic Change of FieldCatalog in OO ALV Secondary List
Dear All,
i have Scenario like when i go to secondary list on some event, the fieldcatlog for the info is generated. then again i go back and choose some other event, now the secondary fieldcatalog list should contain few extra fields which are not being displayed. i am refreshing the fieldcatalog and filling the fieldcatalog table with new fields everytime. but the system displays only the first generated fieldcatalog.
any ideas what can be done?
Thanks & Regards
RahulHello Rahul
The following sample report <b>ZUS_SDN_TWO_ALV_GRIDS_A</b> shows how to dynamically change the fieldcatalog of the second ALV list depending on which customer has been selected (by double-clicking) on the first ALV list.
*& Report ZUS_SDN_TWO_ALV_GRIDS_A
*& Screen '0100' contains no elements.
*& ok_code -> assigned to GD_OKCODE
*& Flow logic:
* PROCESS BEFORE OUTPUT.
* MODULE STATUS_0100.
* PROCESS AFTER INPUT.
* MODULE USER_COMMAND_0100.
REPORT zus_sdn_two_alv_grids_a.
" Dynamic fieldcatalog on second ALV list
DATA:
gd_okcode TYPE ui_func,
go_docking TYPE REF TO cl_gui_docking_container,
go_splitter TYPE REF TO cl_gui_splitter_container,
go_cell_top TYPE REF TO cl_gui_container,
go_cell_bottom TYPE REF TO cl_gui_container,
go_grid1 TYPE REF TO cl_gui_alv_grid,
go_grid2 TYPE REF TO cl_gui_alv_grid,
gs_layout TYPE lvc_s_layo.
DATA:
gt_knb1 TYPE STANDARD TABLE OF knb1,
gt_knvv TYPE STANDARD TABLE OF knvv.
* CLASS lcl_eventhandler DEFINITION
CLASS lcl_eventhandler DEFINITION.
PUBLIC SECTION.
CLASS-DATA:
md_row TYPE i.
CLASS-METHODS:
handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING
e_row
e_column
es_row_no
sender.
ENDCLASS. "lcl_eventhandler DEFINITION
* CLASS lcl_eventhandler IMPLEMENTATION
CLASS lcl_eventhandler IMPLEMENTATION.
METHOD handle_double_click.
* define local data
DATA:
ls_knb1 TYPE knb1.
CHECK ( sender = go_grid1 ).
READ TABLE gt_knb1 INTO ls_knb1 INDEX e_row-index.
CHECK ( ls_knb1-kunnr IS NOT INITIAL ).
md_row = e_row-index.
CALL METHOD go_grid1->set_current_cell_via_id
EXPORTING
* IS_ROW_ID =
* IS_COLUMN_ID =
is_row_no = es_row_no.
* Triggers PAI of the dynpro with the specified ok-code
CALL METHOD cl_gui_cfw=>set_new_ok_code( 'DETAIL' ).
ENDMETHOD. "handle_double_click
ENDCLASS. "lcl_eventhandler IMPLEMENTATION
START-OF-SELECTION.
SELECT * FROM knb1 INTO TABLE gt_knb1
WHERE bukrs = '1000'.
* Create docking container
CREATE OBJECT go_docking
EXPORTING
parent = cl_gui_container=>screen0
ratio = 90
EXCEPTIONS
OTHERS = 6.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Create splitter container
CREATE OBJECT go_splitter
EXPORTING
parent = go_docking
rows = 2
columns = 1
* NO_AUTODEF_PROGID_DYNNR =
* NAME =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Get cell container
CALL METHOD go_splitter->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = go_cell_top.
CALL METHOD go_splitter->get_container
EXPORTING
row = 2
column = 1
RECEIVING
container = go_cell_bottom.
* Create ALV grids
CREATE OBJECT go_grid1
EXPORTING
i_parent = go_cell_top
EXCEPTIONS
OTHERS = 5.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Set event handler
SET HANDLER: lcl_eventhandler=>handle_double_click FOR go_grid1.
CREATE OBJECT go_grid2
EXPORTING
i_parent = go_cell_bottom
EXCEPTIONS
OTHERS = 5.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Display data
gs_layout-grid_title = 'Customers'.
CALL METHOD go_grid1->set_table_for_first_display
EXPORTING
i_structure_name = 'KNB1'
is_layout = gs_layout
CHANGING
it_outtab = gt_knb1
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
gs_layout-grid_title = 'Customers Details (Sales Areas)'.
CALL METHOD go_grid2->set_table_for_first_display
EXPORTING
i_structure_name = 'KNVV'
is_layout = gs_layout
CHANGING
it_outtab = gt_knvv " empty !!!
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Link the docking container to the target dynpro
CALL METHOD go_docking->link
EXPORTING
repid = syst-repid
dynnr = '0100'
* CONTAINER =
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* NOTE: dynpro does not contain any elements
CALL SCREEN '0100'.
* Flow logic of dynpro (does not contain any dynpro elements):
*PROCESS BEFORE OUTPUT.
* MODULE STATUS_0100.
*PROCESS AFTER INPUT.
* MODULE USER_COMMAND_0100.
END-OF-SELECTION.
*& Module STATUS_0100 OUTPUT
* text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS_0100'. " contains push button "DETAIL"
* SET TITLEBAR 'xxx'.
* Refresh display of detail ALV list
CALL METHOD go_grid2->refresh_table_display
* EXPORTING
* IS_STABLE =
* I_SOFT_REFRESH =
EXCEPTIONS
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
* text
MODULE user_command_0100 INPUT.
CASE gd_okcode.
WHEN 'BACK' OR
'END' OR
'CANC'.
SET SCREEN 0. LEAVE SCREEN.
* User has pushed button "Display Details"
WHEN 'DETAIL'.
PERFORM entry_show_details.
WHEN OTHERS.
ENDCASE.
CLEAR: gd_okcode.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form ENTRY_SHOW_DETAILS
* text
* --> p1 text
* <-- p2 text
FORM entry_show_details .
* define local data
DATA:
ld_row TYPE i,
ls_knb1 TYPE knb1,
ls_fcat TYPE lvc_s_fcat,
lt_fcat TYPE lvc_t_fcat.
CALL METHOD go_grid1->get_current_cell
IMPORTING
e_row = ld_row.
READ TABLE gt_knb1 INTO ls_knb1 INDEX ld_row.
CHECK ( syst-subrc = 0 ).
SELECT * FROM knvv INTO TABLE gt_knvv
WHERE kunnr = ls_knb1-kunnr.
CALL METHOD go_grid2->get_frontend_fieldcatalog
IMPORTING
et_fieldcatalog = lt_fcat.
" Logic of fieldcatalog modification:
" 1st customer selected -> show 1 column only
" 2nd customer selected -> show 2 columns only
" 3rd customer selected -> show 3 columns
LOOP AT lt_fcat INTO ls_fcat.
IF ( syst-tabix <= ld_row ).
ls_fcat-no_out = ' '.
ELSE.
ls_fcat-no_out = 'X'.
ENDIF.
MODIFY lt_fcat FROM ls_fcat.
ENDLOOP.
go_grid2->set_frontend_fieldcatalog( lt_fcat ).
ENDFORM. " ENTRY_SHOW_DETAILS
Regards
Uwe -
Hi Everybody,
I have a view (view 1) which is being mapped with another view(view2). When I trigger my firePlug from View 1, the UI element should be a InputField with STRING as Datatype. and Similarly when I load the View2 thru wdinit(), it should dynamically change into InputField with Date...
Regards/GuruHi Kumara,
it is not possible to change the Input field type. But if create a second field in the component controller with the type date and than copy the string with the method new date (year, mm, dd) to the this new field.
You must transfrom the String in 3 int field. (2007-03-20)
year = 2007; mm = 03 ; dd = 20 )
Map this date field to the view2 an you get in this view the Date
Component Controller
Field 1 --> type String
Field 2--> type date
View 1 --> Controller
Field1 is mapped to the controller Field 1
View 2 --> controller
Field 2 is mapped to the controller field 2
I hope this helps
Regads
Gunter -
Howto dynamicly bind XML element to a TextInput using BindingUtils?
The question is: Howto dynamicly bind XML element to a
TextInput component using BindingUtils?
Now I use following codes:
<!--
[Bindable] private var xml: XML =
<item><label>list1</label></item>;
// initialize code for application's initialize event
private function init(): void {
BindingUtils.bindProperty(txtDemo, "text", xml, "label");
//click event
private function test(): void {
xml.label = "something";
// txtDemo.executeBindings(); //---- no use anymore
-->
<mx:TextInput id="txtDemo"/>
<mx:Button label="Test" click="test()"/>
My really idea is when bindable xml property is changed, then
the textinput will be updated as hoped. However, no update happens
to me when I click the Test button.
But, if I make codes like that:
<mx: TextInput id="txtDemo" text="{xml.label}"/>
the text will updated when xml changs.
So, what happened, I indeed need the dynamicly bind to the
textinput compont.
Help me. thanks.You could use an ObjectProxy since all subproperties will
then be bindable:
private var _xml:XML =
<item><label>list1</label></item>;
private var _opXML:ObjectProxy = new ObjectProxy(_xml);
then in your init() function you declare _opXML as the host
object with the bindable property "label"...
// initialize code for application's initialize event
public function init(): void {
BindingUtils.bindProperty(txtDemo, "text", _opXML, "label");
//click event
private function test(): void {
_opXML.label = "something";
You'll notice that if you check your original _xml.label
property with ChangeWatcher.canWatch(), it returns false. But if
you create a dedicated object with a property that can be declared
as bindable, canWatch() returns true. You'd probably be best off to
write a lightweight class that can act as your model if you want to
work with dynamic XML binding using Actionscript. This will allow
you to use a bindable getter and setter that will give you the
dynamic functionality you're looking for.
Hope that helps. -
Dynamically change text field type
Hello all
I have a form which displays a decimal field. However when certain conditions are met, I need to change its type to Text, so the user can enter any alphanumeric character.
How do I achieve that with Javascript code? Is it even possible?Actually, you can dynamically change a textfield.type. AS2.0
You need two elements.
txt.type = "input";
txt.selectable = true;
However, if you have the textfield in a btn you will need to
delete the onRelease function before you can make the tf function correctly.
btn.onRelease = function()
delete this.onRelease;
this.txt.type = "input";
this.txt.selectable = true; -
Using DelayQueue with dynamically changing delay times?
Greetings all:
First-time poster, so please be gentle. :-)
I am implementing a cache timer task whose job is to removes idle elements from a cache after x time, and was considering a DelayQueue as potentially more efficient than iterating through the entire cache each time. Important point is that the delay time of elements in the queue will be dynamically changing while they're in the queue, until the point when they become idle, i.e., each time an element's content changes, its expiration time moves further out.
I went looking in the DelayQueue source (and from there to PriorityQueue) as I was interested to see how it implements its sorting mechanism, and it appears to me that it may not handle this properly. Specifically, it appears that the queue is sorted when elements are added or removed but not otherwise, so that you could end up with the head of the queue being an element that has not really expired.
Question: Has anyone used a DelayQueue for this kind of scenario, and if so, did it work as expected?
Thanks,
BrianIf you want this behaviour I suggest you look at
overriding LinkedHashMap as it has a means to
maintain sorted from most recently accessed to last
accessed.
Thus to clear it all you need to do is remove the
oldest elements.Interesting. Currently I'm using a HashMap so changing to a LinkedHashMap would require virtually no changes to existing code. It still won't quite work as-is, though, because access only gets updated on put's and remove's, whereas I would need access updated on any modification to a contained object as well. I'll think about it a bit more - thanks for the suggestion.
Maybe you are looking for
-
Dados de Imposto Retido na Fonte _ IR no Faturamento
PessoALL, Estou criando uma venda de serviço com retenção de IR no momento do faturamento, os calculos estão sendo feitos corretamente, a contabilização também. Quando crio o documento contábil e vou na FB03 para verificar o botão "Dados de imposto r
-
IPhone battery is weird and phone won't turn on.
Hello, I'm having some problems with my new iphone (4s) and I need some assissstance. I recently received a new iphone via insurance (My old iphone broke) and it wont turn back on. I first noticed a problem started when I plugged it in to charge the
-
Configuration needed for SOA call to create PO in classic scenario
Dear Experts, We are working in the SAP SRM 7.01 with backend system on ecc 6.0 Enhancement pack 5. The scenario configured is classic scenario. I want to know what are the configurations needed to use SOA calls to create a purchase order in the back
-
Inactive (grayed out) thumbnails in New Tab. I have 6 in use, 3 are grayed out. I tried dragging a bookmark into the thumbnail but that actually opens the website instead of fixing the thumbnail. How do I activate these grayed out thumbnails? Firefox
-
KM Document: edit locally - error occured "Operation Failed"
Hi everyone! I am runnig SAP NetWeaver Portal 7.0 with MS Internet Explorer 7.0. I am trying to edit documents locally from the KM. Unfortunately it doesn´t work. Error occured "Operation Failed". I think all ActivX settings in the web browser are co