Skip to Content
0
Former Member
Jun 16, 2014 at 01:50 PM

better understanding how to use interfaces and classes

34 Views

Hi,

i often use classes and interface to manipulate severel web dynpro elements. But i often think there must be a kind of guidet map understand the usage of serverel components i whant to use. It is not easy to explain what i am looking for...so i make an example.

i implemented a alv table in my web-dynpro development.

* Declare ALV config table
DATA: alv_config_table TYPE REF TO cl_salv_wd_config_table."
DATA: lr_salv_wd_table TYPE REF TO iwci_salv_wd_table.
DATA: lr_table_settings TYPE REF TO if_salv_wd_table_settings.
DATA: wd_table_usage TYPE REF TO if_wd_component_usage."

* Create an instance of ALV component created ALV_COMP is usage name
wd_table_usage = wd_this->wd_cpuse_alv_bv( ).
IF wd_table_usage->has_active_component( ) IS INITIAL.
wd_table_usage->create_component( ).
ENDIF.

* Get ALV component
DATA: wd_table TYPE REF TO iwci_salv_wd_table.

wd_table = wd_this->wd_cpifc_alv_bv( ).
alv_config_table = wd_table->get_model( ).

***********************
* Zeilenanzahl setzen *
***********************
alv_config_table->if_salv_wd_table_settings~set_visible_row_count( 15 ).

i know this coding wokds fine, but my problem here is at the beginnging of my coding i know that i want to define 15 rows visible in my alv table.

i kow after some googling that i can use the method set_visible_row_count....blahblah...

ok i have to use the interface if_salv_wd_table_settings to get to this method.

so i am developing backwards to get to my goal.

but there ist no guideline anyware that tells me...hey if you want to use the interface if_salv_wd_table_settings you first have to get the model of your alv table...(line 17.)

and to get the model you have to define a ref to wd_cpifc_av_bv and so on and so on...

this Dependency Tree is realy hard to know...and nowere to find, or am i wrong?

How do you know al this dependency things? is this only handible by expirience?


please give me a good tipp 😀