on 08-05-2010 3:14 PM
Hi there,
i got some problems with my 2 level HCP even though i checked wdr_test_events.
First problem was renaming the tabs. i just added one more line to the context and used it as "text" reference. maybe there is some better solution than adding it hard on "entries" table with seperator.
Next problem is the triggering of action after clicking 1st lvl root or second lvl root.
I am really new in WD4A and really dont get it.
i got this peace
lv_value = context_element->get_path( withoutcontroller = abap_true ).
to get the contextual element like 1.HCP_DATA.4.RECURSION.1.
But i dont know how to trigger the action do get a view in the view-container beneath the HCP.
Hope you can understand my problem.
thx in advance
Just another question because of the panel
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Ive got this so far.
but obviously im not looping.
im setting all items on disabled and admin things invisible
and then trying 2 to it like this, but it throughs exception selected item not visible.
imports are login flag and admin flag
DATA: lo_context_node TYPE REF TO if_wd_context_node,
lv_login_status TYPE wdy_boolean.
IF im_is_logged_in EQ abap_true.
lo_context_node = wd_context->get_child_node( 'HCP_DATA' ).
lo_context_node->set_attribute( EXPORTING name = 'ENABLED'
value = abap_true ).
IF im_is_admin EQ abap_true.
lo_context_node->set_attribute( EXPORTING name = 'VISIBLE'
value = abap_true ).
ELSE.
lo_context_node->set_attribute( EXPORTING name = 'VISIBLE'
value = abap_false ).
ENDIF.
ELSE.
lo_context_node->set_attribute( EXPORTING name = 'ENABLED'
value = abap_false ).
ENDIF.
Hi there,
well i just did a case now on that value and fired the plug, but im not sure if this is the right way either.
i want some usefull coding because i want to improve my skills not build on some wrong stuff.
at least it works like this for other ones issues
Edited by: -adrian- on Aug 6, 2010 9:42 AM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hallo Adrian,
i think , you did good in case of firing plug to navigate to different views.
In my case i am not firing plugs but i am raising popup windows based on the case statements.
onSelect event method looks like this
DATA lo_portal_manager TYPE REF TO if_wd_portal_integration.
DATA:
lr_node TYPE REF TO if_wd_context_node.
context_element->get_node( RECEIVING node = lr_node ).
*--------------------------------------------------------------------*
DATA: lv_index TYPE i.
CALL METHOD context_element->get_index
RECEIVING
my_index = lv_index.
DATA: lv_text TYPE string.
context_element->get_attribute( EXPORTING name = 'TEXT' IMPORTING value = lv_text ).
DATA: lo_window_manager TYPE REF TO if_wd_window_manager,
lo_api_component TYPE REF TO if_wd_component,
lo_window TYPE REF TO if_wd_window,
lv_email TYPE ad_smtpadr,
lv_url TYPE string.
CASE lv_text.
WHEN 'Email'.
lo_api_component = wd_comp_controller->wd_get_api( ).
lo_window_manager = lo_api_component->get_window_manager( ).
lv_email = wd_comp_controller->get_email_address( ).
CONCATENATE 'mailto://' lv_email '?subject=Mock-Up Demo.'
'&body=Hierbij ontvangt u wat informatie of er deze nieuwe applicatie.%0A%0a'
'Voor meer informatie **** u contact op nemen met:%0A%0A'
'Test manager.' INTO lv_url.
CALL METHOD lo_window_manager->create_external_window
EXPORTING
url = lv_url
RECEIVING
window = lo_window.
lo_window->open( ).
WHEN 'Dossier'.
lo_api_component = wd_comp_controller->wd_get_api( ).
lo_portal_manager = lo_api_component->get_portal_manager( ).
CALL METHOD lo_portal_manager->navigate_absolute
EXPORTING
navigation_target = 'ROLES://portal_content/com.ics.civ.civpe_iViews/Dossier_Mockup'
navigation_mode = if_wd_portal_integration=>co_show_external
window_features = `toolbar=no, resizable=yes, location=no, width=1120, height=1120`
window_name = 'Zaak Dossier'
* history_mode = IF_WD_PORTAL_INTEGRATION=>CO_NO_DUPLICATES
* target_title =
* context_url =
* post_parameters = ABAP_FALSE
* use_sap_launcher = ABAP_TRUE
* business_parameters =
* launcher_parameters =
.
WHEN 'ToDo lijst'.
lo_api_component = wd_comp_controller->wd_get_api( ).
lo_portal_manager = lo_api_component->get_portal_manager( ).
CALL METHOD lo_portal_manager->navigate_absolute
EXPORTING
navigation_target = 'ROLES://ROLES://portal_content/com.ics.civ.civpe_iViews/ToDo_Mockup'
navigation_mode = if_wd_portal_integration=>co_show_external
window_features = `toolbar=no, resizable=yes, location=no, height=600, width=530`
window_name = 'Zaak ToDo lijst'
* history_mode = IF_WD_PORTAL_INTEGRATION=>CO_NO_DUPLICATES
* target_title =
* context_url =
* post_parameters = ABAP_FALSE
* use_sap_launcher = ABAP_TRUE
* business_parameters =
* launcher_parameters =
.
ENDCASE.
*--------------------------------------------------------------------*
* set the lead selection to the current node
* cl_wd_dynamic_tool=>set_table_tree_lead_selection(
* lead_selection = context_element
* data_source = lr_node ).
lr_node->set_lead_selection_index( -1 ).
What?
Well. The Application i want to open in this Application ist not part of the window nor the application.
it is some other URL on that Application server i want to view in the view container.
like this
WHEN '1.HCP_DATA.4.RECURSION.3'.
to_HelloWorld Prog
lv_tmp_link = 'http://***********************************dynpro/sap/zat_hello_world'.
wd_this->fire_to ( lv_tmp_link ).
but just that logic^^
Hi,
I think you may consider creating a view as rootcontainer element as iFrame. (SwapRoot element).
Bind the Source property to context attribute.
create a window and embed the iframe view.
Use this interface view inside your ViewContainerElement.
WHEN '1.HCP_DATA.4.RECURSION.3'.
get the URL and set the context attribute (Source).
Other options are using CHIPS in 7.02 Ehp but it is no use for you as of now.
>it is some other URL on that Application server i want to view in the view container.
Is it still another Web Dynpro ABAP application? On the same server, right? You shouldn't use the iFrame to embed another Web Dynrpo ABAP. You should instead declare a component usage to this other application's web dynpro component and embed it in your window via the component usage.
>
> how do i use this component interface from the one app in the view container of the main app
Have you ever used an ALV or Select-Option in Web Dynpro before? These are integrated via Component Usage. You need to use the same approach with the external component you want to embed within your application. If you aren't familiar with component usage I suggest reading this section of the online help:
http://help.sap.com/saphelp_nw70ehp1/helpdata/en/a7/1d8b412bb5b35fe10000000a1550b0/frameset.htm
or finding a tutorial on the ALV.
Hi again,
another problem appeared using the HCP.
The demo in WDR_TEST_EVENTS has the option to enable the HCP. But only after selecting a tab.
my work is to do some kind of login via number. before the login there is only one tab available.
after pushing a button to login i want to enable all the other tabs.
a logic for is_login( ). in supply list doesnt work, since it only loads at start.
how could i do something like this
one tab -> push button -> all visible tabs available
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.