Sie sind auf Seite 1von 37

Integrata WebDynpro Grundlagen - Inhouse

1. Legen Sie ein Web Dynpro an das eine Listausgabe prozessiert


- Funktionsgruppe anlegen

Lokal sichern und positionieren

Funktionsbaustein anlegen

Integrata WebDynpro Grundlagen - Inhouse

Funktionsbaustein lokal sichern


Importparameter
CARRID
CONNID

TYPE SFLIGHT-CARRID
TYPE SFLIGHT-CONNID

Tabellen

Warnung zu like ignorieren


Quellcode zum Funktionsbaustein
ranges : r_carrid for ex_sflight-carrid,
r_connid for ex_sflight-connid.
if carrid is initial.
r_carrid-low = 'AAA'.
r_carrid-high = 'ZZZ'.
r_carrid-option = 'BT'.
else.
r_carrid-option = 'EQ'.
r_carrid-low = carrid.
endif.
if connid is initial.
r_connid-low = '0000'.
r_connid-high = '9999'.
r_connid-option = 'BT'.
else.

Integrata WebDynpro Grundlagen - Inhouse


r_connid-option = 'EQ'.
r_connid-low = connid.
endif.
r_connid-sign = 'I'.
append: r_connid.
r_carrid-sign = 'I'.
append: r_carrid.
select carrid connid fldate paymentsum from sflight package size 1000
into corresponding fields of table ex_sflight
where carrid in r_carrid
and
connid in r_connid.
endselect.

- Webdynpro dazu anlegen


Name :ZWD_UEBUNG_4_XX

Sichern , Aktivieren und Applikation dazu anlegen


- Service nutzen

Weiter anklicken

Integrata WebDynpro Grundlagen - Inhouse

Weiter 2 x anklicken

Integrata WebDynpro Grundlagen - Inhouse

Weiter

Integrata WebDynpro Grundlagen - Inhouse

Die Knoten mssen belebt werden und dann gehts weiter x 2 und fertigstellen

Generierte Methode sichten


- mappen Sie den View-Context

Integrata WebDynpro Grundlagen - Inhouse

Ergebnis dazu
Definieren Sie nun das Layout
Zunchst die Selektionen
- Legen Sie ein Group-Element an
- Innerhalb der Group eine Tray anlegen
- Legen Sie ein Containerformular an
Dann die Datenausgabe
- Legen Sie eine Tray an
- Legen Sie eine Tabelle an
- Erzeugen Sie ein Binding

Definieren Sie eine Action zum Start Button


Schaffen Sie einen Link zum Service

Integrata WebDynpro Grundlagen - Inhouse

Verwenden Sie die Wizzard Ikone

Der Wizzard bietet Untersttzung


Aktivieren und Testen

Integrata WebDynpro Grundlagen - Inhouse

2.

Fehlermeldung wenn keine Eingabe erfolgt ist

- Umstellung des Feldes Fluggesellschaft auf obligatorisch

- ber den CodeWizzard Knotenattribut lesen

- ber den CodeWizzard Methode zum Service aufrufen


- If Abfrage einbauen
- ber den CodeWizzard Fehlermethode aufrufen

Integrata WebDynpro Grundlagen - Inhouse

- ber den CodeWizzard Message Manager einbinden


- ber den CodeWizzard Meldungstype einbinden
Ablauf Testen
3.

>

Transaktionscode zum WebDynpro anlegen

<

10

Integrata WebDynpro Grundlagen - Inhouse

>

>

11

<

<

Integrata WebDynpro Grundlagen - Inhouse

>
>
>

12

<
<
<

Integrata WebDynpro Grundlagen - Inhouse

4.

Web Dynpro Abwicklung Tabellenausgabe als ALV

Kopieren Sie ihr Webdynpro aus der bung 8


Ersetzen Sie das UI-Element Tabelle durch das UI-Element ViewContainerUI-Elelemen

- in dr Component folgende Verwendung definieren+

13

Integrata WebDynpro Grundlagen - Inhouse

- Auf den Knoten InterfaceController positionieren


- ControllerVe rwendung definieren

- Container 'DATA' mit der Ausgabetabelle mappen

14

Integrata WebDynpro Grundlagen - Inhouse

15

- Alv Subscreen einbetten


- Aktiveren und testen
5.

Web Dynpro Abwicklung Select Options

Select-Options im WebDynpro

>
>

<

<

Integrata WebDynpro Grundlagen - Inhouse

>

<

>

<

>

<

>

<

>

<
>

16

<

Integrata WebDynpro Grundlagen - Inhouse

17

>
>

>

>

<
<

<

<

Integrata WebDynpro Grundlagen - Inhouse

18

>

<
>

<
>

<

>

<

>

>

<

<

Integrata WebDynpro Grundlagen - Inhouse

>
>

19

<
<

Integrata WebDynpro Grundlagen - Inhouse

>

>

20

<

<

Integrata WebDynpro Grundlagen - Inhouse

21

>

<

>

<

>

<

Integrata WebDynpro Grundlagen - Inhouse

22

>

>

>

<

<

<

Integrata WebDynpro Grundlagen - Inhouse

>

<

>

>

23

<

Integrata WebDynpro Grundlagen - Inhouse

>

24

<

>

<

>
>

<
<

Integrata WebDynpro Grundlagen - Inhouse


>

<
>

<

============== Codeblock 1 fr die View


method wddoinit .
data: lt_range_table type ref to data.
data: l_ref_cmp_usage type ref to if_wd_component_usage.
* create the used component
l_ref_cmp_usage = wd_this->wd_cpuse_select_options( ).
if l_ref_cmp_usage->has_active_component( ) is initial.
l_ref_cmp_usage->create_component( ).
endif.
wd_this->m_wd_select_options = wd_this->wd_cpifc_select_options( ).
* init the select screen
wd_this->m_handler =
wd_this->m_wd_select_options->init_selection_screen( ).
wd_this->m_handler->set_global_options(
i_display_btn_cancel = abap_false
i_display_btn_check
= abap_false
i_display_btn_reset
= abap_false
i_display_btn_execute = abap_false ).
* create a range table that consists of this new data element
lt_range_table = wd_this->m_handler->create_range_table( i_typename =
'S_CARR_ID' ).
* add a new field to the selection
wd_this->m_handler->add_selection_field( i_id = 'S_CARR_ID'
it_result = lt_range_table ).
endmethod.
====================== Ende Codeblock 1
===================== Codeblock 2
method onactionsearch .
data: node_flights type ref to if_wd_context_node.
data: rt_carrid type ref to data.
data: isflight type table of sflight.
data: wsflight type sflight.
field-symbols: <fs_carrid> type table.
* Retrieve the data from the select option
rt_carrid = wd_this->m_handler->get_range_table_of_sel_field(
i_id ='S_CARR_ID'
).
* Assign it to a field symbol
assign rt_carrid->* to <fs_carrid>. clear isflight. refresh isflight.
select * into corresponding fields of table isflight from sflight
where carrid in <fs_carrid>.
node_flights = wd_context->get_child_node( name = `FLIGHTS` ).
node_flights->bind_elements( isflight ).

25

Integrata WebDynpro Grundlagen - Inhouse

26

endmethod.
========================= Ende Codeblock 2

>

<

>
>

<
<

Aktivieren und test

Integrata WebDynpro Grundlagen - Inhouse


6.

Select-Options im WebDynpro erweiterung mit OTR Texten

>

<

>

<
>

<

27

Integrata WebDynpro Grundlagen - Inhouse

28

>

<

>

<

method wddoinit .
* Otr-Text dynamisch
text = cl_wd_utilities=>get_otr_text_by_alias(
'$TMP/S_CARR_ID_06').
* add a new field to the selection
wd_this->m_handler->add_selection_field(
i_id
= 'S_CARR_ID'
i_description = text
it_result
= lt_range_table
).

Integrata WebDynpro Grundlagen - Inhouse

7.

29

Wiederverwendbarkeit Legen Sie den wiederzuverwendenden Teil an

>

>

<

<

Table Sflight einbinden

>

<

Integrata WebDynpro Grundlagen - Inhouse

>

30

<
select * from sflight into table lt_sflight
where carrid = i_carrid
and
connid = i_connid.

>
>Mapping ber Drag&Drop<

<

Integrata WebDynpro Grundlagen - Inhouse

31

>

<
>aktivieren und testen des 1.Teils<

8.

>

Legen Sie den aufrufenden Teil an

<

Integrata WebDynpro Grundlagen - Inhouse

>

32

<

>

>

<

<

Integrata WebDynpro Grundlagen - Inhouse

>

>

>

33

<

<

<

Integrata WebDynpro Grundlagen - Inhouse

>

>
>

<

34

<

<

Integrata WebDynpro Grundlagen - Inhouse

35

>

<
data lo_interfacecontroller type ref to ziwci_wd_teil_wdvb .
lo_interfacecontroller =
wd_this->wd_cpifc_zwd_teil_wdvb( ).
lo_interfacecontroller->get_flights_detail(
i_carrid = ls_sflight-carrid
i_connid = ls_sflight-connid
).

>

<

>aktivieren und testen<

Transaktionscode zum WebDynpro anlegen

>

<

" sflight-carrid
" sflight-connid

Integrata WebDynpro Grundlagen - Inhouse

>

>

36

<

<

Integrata WebDynpro Grundlagen - Inhouse

>
>
>

37

<
<
<