SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

проблемы с input field ( web dynpro )



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
hodicha
Участник
Участник



Joined: 06 May 2008
Posts: 14

PostPosted: Mon Oct 06, 2008 1:27 pm    Post subject: проблемы с input field ( web dynpro ) Reply with quote

Сделал для примера программу вывода таблицы ( makt ) по параметру ( matnr ) в web dynpro. Поле ввода находится в первом view, таблица с результатми в другом. Проблемма происходит когда возвращаюсь из result view в input view , в input field лежит старое значение , кода ввожу новое значение в результате выдается та же таблица что была по предыдущему параметру. Параметр передаю из одного view в другой с помошью атрибута в componentcontroller.
Back to top
View user's profile Send private message
Shaman
Участник
Участник


Age: 40
Joined: 11 Jan 2008
Posts: 27
Location: Киев

PostPosted: Mon Oct 06, 2008 3:44 pm    Post subject: Reply with quote

Иногда помогает обнуление аттрибута Smile
data :
L_COMPONENT_CONTROLLER TYPE REF TO IG_COMPONENTCONTROLLER,
L_COMP TYPE REF TO IF_WD_COMPONENT,
L_CONTEXT TYPE REF TO IF_WD_CONTEXT,
L_NODE TYPE REF TO IF_WD_CONTEXT_NODE,
ELEM_OP TYPE REF TO IF_WD_CONTEXT_ELEMENT.

L_COMPONENT_CONTROLLER = WD_THIS->GET_COMPONENTCONTROLLER_CTR( ).
L_COMP = L_COMPONENT_CONTROLLER->WD_GET_API( ).
L_CONTEXT = L_COMP->GET_CONTEXT( ).
L_NODE = L_CONTEXT->ROOT_NODE->GET_CHILD_NODE( 'INPUT_NODE' ).
ELEM_OP = L_NODE->GET_ELEMENT( index = 1 ).
ELEM_OP->SET_ATTRIBUTE( exporting name = 'MATNR' VALUE = ' ' ).
Back to top
View user's profile Send private message Blog
hodicha
Участник
Участник



Joined: 06 May 2008
Posts: 14

PostPosted: Mon Oct 06, 2008 5:58 pm    Post subject: Reply with quote

Спасибо, но не помогло. Поле очищается , но в таблица все равно выходит по старому параметру... вот какой код у меня в input view:

METHOD onactionshow_table .

DATA: node_materials TYPE REF TO if_wd_context_node,
elem_materials TYPE REF TO if_wd_context_element,
stru_materials TYPE wd_this->element_materials ,
item_matnr TLIKE stru_materials-matnr.

node_materials = wd_context->get_child_node(
name = wd_this->wdctx_materials ).

elem_materials = node_materials->get_element( index = 1 ).

elem_materials->get_attribute(
EXPORTING
name = `MATNR`
IMPORTING
value = item_matnr ).

wd_comp_controller->p_matnr = item_matnr.

elem_materials->set_attribute(
EXPORTING
name = `MATNR`
value = ' ' ).

wd_this->fire_out_input_view_plg( ).

ENDMETHOD. "onactionshow_table

тут вроде все ок, а это в output view:

METHOD wddoinit .
DATA:
node_description TYPE REF TO if_wd_context_node,
elem_description TYPE REF TO if_wd_context_element,
stru_description TYPE wd_this->element_description.

TYPES: tt_makt TYPE STANDARD TABLE OF makt.
DATA ls_makt TYPE makt.
DATA lt_makt TYPE tt_makt.

node_description = wd_context->get_child_node(
name = wd_this->wdctx_description ).

elem_description = node_description->get_element( ).

SELECT * FROM makt INTO CORRESPONDING FIELDS OF TABLE lt_makt
WHERE matnr = wd_comp_controller->p_matnr.

LOOP AT lt_makt INTO ls_makt.
stru_description-mandt = ls_makt-mandt.
stru_description-matnr = ls_makt-matnr.
stru_description-spras = ls_makt-spras.
stru_description-maktx = ls_makt-maktx.
stru_description-maktg = ls_makt-maktg.

node_description->bind_structure(
new_item = stru_description
set_initial_elements = abap_false
).
ENDLOOP.
ENDMETHOD.
Back to top
View user's profile Send private message
Shaman
Участник
Участник


Age: 40
Joined: 11 Jan 2008
Posts: 27
Location: Киев

PostPosted: Tue Oct 07, 2008 12:09 pm    Post subject: Reply with quote

Здесь Вы обнулили значение input field
Quote:
elem_materials->set_attribute(
EXPORTING
name = `MATNR`
value = ' ' ).

Но еще надо сбросить значение аттрибута контроллера.
См. выше.
Back to top
View user's profile Send private message Blog
hodicha
Участник
Участник



Joined: 06 May 2008
Posts: 14

PostPosted: Wed Oct 08, 2008 1:04 pm    Post subject: Reply with quote

я обнулил, но не помогло , добавил здесь ( метод input view ):

METHOD onactionshow_table .

DATA: node_materials TYPE REF TO if_wd_context_node,
elem_materials TYPE REF TO if_wd_context_element,
stru_materials TYPE wd_this->element_materials ,
item_matnr LIKE stru_materials-matnr,

* здесь я обнуляю атрибут контроллера для последуюших входов в метод, если правильно вас понял ..
wd_comp_controller->p_matnr = '' ".


* navigate from <CONTEXT> to <MATERIALS> via lead selection
node_materials = wd_context->get_child_node(
name = wd_this->wdctx_materials ).
...
...
..
... дальше как и было.

Затем прошелся в дебаггере, оказлось что он после того как первый раз зашел в wddoinit of output view, больше он туда не заходит вообще ... как такое может быть? Shocked
Back to top
View user's profile Send private message
hodicha
Участник
Участник



Joined: 06 May 2008
Posts: 14

PostPosted: Wed Oct 08, 2008 1:44 pm    Post subject: Reply with quote

извиняюсь , это hook метод, один раз заходит за всю программу...
Back to top
View user's profile Send private message
Shaman
Участник
Участник


Age: 40
Joined: 11 Jan 2008
Posts: 27
Location: Киев

PostPosted: Wed Oct 08, 2008 3:34 pm    Post subject: Reply with quote

Читаем несложный текст
http://help.sap.com/saphelp_nw04s/helpdata/EN/43/70d83e8cb23d67e10000000a114084/content.htm
Back to top
View user's profile Send private message Blog
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.