0% found this document useful (0 votes)
52 views13 pages

Create Context Dsa

This document describes a method for creating a fixed header in a table. It defines local variables, reads in requirements, employees, employee groups, and column mappings from the context. It then creates fixed cells in the table header, including a button cell and text cell, binding various attributes like colors, text, and alignments.

Uploaded by

denis.sabotic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views13 pages

Create Context Dsa

This document describes a method for creating a fixed header in a table. It defines local variables, reads in requirements, employees, employee groups, and column mappings from the context. It then creates fixed cells in the table header, including a button cell and text cell, binding various attributes like colors, text, and alignments.

Uploaded by

denis.sabotic
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 13

METHOD create_fixed_header_dsa .

====================================================================
METHOD create_fixed_header
====================================================================
Systementwickler Daniel Kawaletz
� MHP Mieschke Hofmann und Partner
Datum (angelegt) 10.10.2015
====================================================================
====================================================================
Lokale Daten
====================================================================
DATA
lo_table_column TYPE REF TO cl_wd_c_table_column,
lo_textview TYPE REF TO cl_wd_text_view,
lo_inputfield TYPE REF TO cl_wd_input_field,
lv_bind_text TYPE string,
lv_bind_cell_design TYPE string,
lv_bind_txt_color TYPE string,
lv_bind_bkg_color TYPE string,
lv_bind_tooltip TYPE string,
lv_bind_alignment TYPE string,
lv_bind_source TYPE string,
lv_id_variant1 TYPE string,
lv_id_variant2 TYPE string,
lv_id_variant3 TYPE string,
lv_empl_count TYPE i VALUE 0,
lv_empl_count_string TYPE string,
lo_image TYPE REF TO cl_wd_image,
lo_node TYPE REF TO if_wd_context_node,
lv_temp_count TYPE i,
lv_separator_line_counter TYPE i,
lv_temp_count_string TYPE string,
lt_req TYPE zhqp_t_req_gen,
ls_req TYPE zhqp_s_req_gen,
lt_employee TYPE zhqp_t_employee_short,
ls_employee TYPE zhqp_s_employee_short,
lv_employee_img_id TYPE string,
lt_partgroup TYPE zhqp_t_empl_partgroup,
ls_partgroup TYPE zhqp_s_empl_partgroup,
lt_employee_column TYPE wd_this-elements_employee_column,
lv_universal_string TYPE string,
ls_qmatrix_settings TYPE zhqp_s_qmatrix,
ls_active_elements TYPE wd_this-element_active_elements,
lv_counter_numc TYPE numc2,
lv_node_name TYPE string,
lv_first_node TYPE string,
lv_third_node TYPE string,
lv_second_node TYPE string,
lo_c_table_fixed_cell TYPE REF TO cl_wd_c_table_fixed_cell,
lv_column_id TYPE string,
lo_standard_cell TYPE REF TO cl_wd_c_table_standard_cell,
lo_button TYPE REF TO cl_wd_button,
lv_path TYPE string,
lv_partgroup_string TYPE string.
====================================================================
Anforderungen holen
====================================================================
lo_node = wd_context-get_child_node( name = wd_this-wdctx_req ).
IF lo_node IS INITIAL.
EXIT.
ENDIF.
lo_node-get_static_attributes_table( IMPORTING table = lt_req ).

__ doppelte Eintr�ge entfernen _____________________________________


SORT lt_req BY req_grp_id.
DELETE ADJACENT DUPLICATES FROM lt_req COMPARING req_grp_id.
DESCRIBE TABLE lt_req LINES wd_this-mv_req_group_count.
====================================================================
Mitarbeiter holen
====================================================================
lo_node = wd_context-get_child_node( name = wd_this-wdctx_employee ).
IF lo_node IS INITIAL.
EXIT.
ENDIF.
lo_node-get_static_attributes_table( IMPORTING table = lt_employee ).
====================================================================
Teilgruppen der Mitarbeiter auslesen
====================================================================
lo_node = wd_context-get_child_node( name = wd_this-wdctx_partgroups ).
IF lo_node IS INITIAL.
EXIT.
ENDIF.
lo_node-get_static_attributes_table( IMPORTING table = lt_partgroup ).
====================================================================
Verkn�pfung zwischen Mitarbeitern und Spalten auslesen
====================================================================
lo_node = wd_context-get_child_node( name = wd_this-wdctx_employee_column ).
IF lo_node IS INITIAL.
EXIT.
ENDIF.
lo_node-get_static_attributes_table( IMPORTING table = lt_employee_column ).
====================================================================
Aktive Elemente auslesen
====================================================================
ls_active_elements = wd_this-get_active_elements( ).
====================================================================
Pers�nliche Einstellungen laden
====================================================================
CALL METHOD zcl_hqp_data_provider=get_qmatrix_settings
EXPORTING
iv_user = sy-uname
RECEIVING
rs_qmatrix = ls_qmatrix_settings.
DATA lr_data TYPE REF TO data.
FIELD-SYMBOLS table TYPE table.
DATA(lr_nd_body) = wd_context-get_child_node( name = 'VIS_MATRIX' ).
DATA(lr_nd_body) = wd_context-get_child_node( name = 'VIS_MATRIX' )-get_elements(
).
DATA(lr_vir_node_info) = lr_nd_body-get_node_info( ).
DATA(lr_struct_type) = lr_vir_node_info-get_static_attributes_type( ).
DATA(lr_table_type) = cl_abap_tabledescr=create( p_line_type =
lr_struct_type ).
DATA(lr_vir_elements) = lr_nd_body-get_elements( ).

CREATE DATA lr_data TYPE HANDLE lr_table_type.

ASSIGN lr_data- TO table.


LOOP AT lr_vir_elements REFERENCE INTO DATA(lr_vir_element).
DATA(lr_s_vir_element) = lr_vir_element--get_static_attributes_ref( ).
ASSIGN lr_s_vir_element- TO FIELD-SYMBOL(row).
APPEND row TO table.

ENDLOOP.
If lv_counter_numc 2 and lv_temp_count 2.

DO 3 TIMES.
lv_counter_numc = sy-index.

IF sy-index = 1.
lv_second_node = 'FIXED_HEADER.MATRIX_HEADER_02'.
lv_first_node = 'FIXED_HEADER.MATRIX_HEADER_01'.
lv_third_node = 'FIXED_HEADER.MATRIX_HEADER_02'.
ELSE.
CLEAR lv_first_node.
ENDIF.

ADD 1 TO lv_counter_numc.

CONCATENATE 'FIXED_HEADER.MATRIX_HEADER_' lv_counter_numc INTO lv_node_name.


====================================================================
Cell Variante f�r Anforderungsgruppen-Collapse-Button
====================================================================
lv_temp_count = 0.
lv_temp_count = zcl_hqp_constants=mc_fix_invisible_columns
+ ( wd_this-mv_employee_count zcl_hqp_constants=mc_matrix_empl_attr_count )
+ ( wd_this-mv_partgroup_count
zcl_hqp_constants=mc_matrix_partgrp_attr_count )
+ ( zcl_hqp_constants=mc_matrix_sep_line_attr_count wd_this-
mv_separator_line_count ).

lv_temp_count = lv_temp_count + 1.
lv_temp_count_string = lv_temp_count.
CONDENSE lv_temp_count_string.
CONCATENATE 'VIS_MATRIX_C' lv_temp_count_string INTO lv_column_id.

Spaltenreferenz holen
lo_table_column = io_table-get_column( id = lv_column_id ).

Context-Pfade und IDs definieren


CONCATENATE 'VAR1BTNAG' lv_counter_numc INTO lv_id_variant1.
CONCATENATE 'VAR2BTNAG' lv_counter_numc INTO lv_id_variant2.
CONCATENATE lv_node_name '.CA_C' lv_temp_count_string INTO lv_bind_alignment.
CONCATENATE lv_node_name '.CB_C' lv_temp_count_string INTO lv_bind_bkg_color.
CONCATENATE lv_node_name '.CD_C' lv_temp_count_string INTO lv_bind_cell_design.
CONCATENATE lv_node_name '.CT_C' lv_temp_count_string INTO lv_bind_txt_color.
CONCATENATE lv_node_name '.IS_GROUP' INTO lv_path.
CONCATENATE lv_node_name '.REQ_G_BTN_TXT' INTO lv_bind_text.
CONCATENATE lv_node_name '.REQ_G_BTN_TOT' INTO lv_bind_tooltip.

Fixe Zelle erstellen


lo_c_table_fixed_cell = cl_wd_c_table_fixed_cell=new_c_table_fixed_cell(
bind_selected_cell_variant = lv_path
bind_cell_design = lv_bind_bkg_color
bind_h_align = lv_bind_alignment
view = io_view ).
__ Button Cell Variant erstellen ______________________________________

Standardzelle mit Variant = X Key erstellen


lo_standard_cell =
cl_wd_c_table_standard_cell=new_c_table_standard_cell( variant_key = 'X' ).

Button-Editor ertellen
lo_button = cl_wd_button=new_button(
id = lv_id_variant1
bind_text = lv_bind_text
bind_tooltip = lv_bind_tooltip
context_menu_behaviour = cl_wd_button=e_context_menu_behaviour-inherit
design = cl_wd_button=e_design-standard
enabled = 'X'
hotkey = cl_wd_button=e_hotkey-none
image_first = 'X'
on_action = 'EVT_COLLAPSE_REQ_GRP'
text_direction = cl_wd_button=e_text_direction-inherit
visible = cl_wd_button=e_visible-visible ).

Editor der Zelle zuweisen


lo_standard_cell-set_editor( the_editor = lo_button ).

CELL_VARIANT der fixen Zelle hinzuf�gen


lo_c_table_fixed_cell-add_cell_variant( lo_standard_cell ).

__ Textview Cell Variant erstellen _________________________________

Standardzelle mit Variant Key = '' erstellen


lo_standard_cell =
cl_wd_c_table_standard_cell=new_c_table_standard_cell( variant_key = '' ).

Textview-Editor erstellen
lo_textview = cl_wd_text_view=new_text_view(
id = lv_id_variant2
bind_text = lv_bind_text
bind_semantic_color = lv_bind_txt_color
bind_h_align = lv_bind_alignment
bind_design = lv_bind_cell_design ).
bind_design = lv_bind_cell_design
bind_style_class_name = 'rotateStyle2' ).

Editor der Zelle zuweisen


lo_standard_cell-set_editor( the_editor = lo_textview ).

CELL_VARIANT der fixen Zelle hinzuf�gen


lo_c_table_fixed_cell-add_cell_variant( lo_standard_cell ).

__ Fixierte Zelle der Spalte hinzuf�gen ____________________________


lo_table_column-add_fixed_top_cell( the_fixed_top_cell =
lo_c_table_fixed_cell ).
====================================================================
Cell Variante f�r die Soll-Spalte anlegen
====================================================================
DO 7 TIMES.

ADD 1 TO lv_temp_count.
lv_temp_count_string = lv_temp_count.
CONDENSE lv_temp_count_string.

CONCATENATE 'VIS_MATRIX_C' lv_temp_count_string INTO lv_column_id.

__ Spaltenreferenz holen ___________________________________________


lo_table_column = io_table-get_column( id = lv_column_id ).

CONCATENATE 'FIX' lv_counter_numc lv_temp_count_string INTO lv_id_variant1.


CONCATENATE lv_node_name '.CA_C' lv_temp_count_string INTO
lv_bind_alignment.
CONCATENATE lv_node_name '.CB_C' lv_temp_count_string INTO
lv_bind_bkg_color.
CONCATENATE lv_node_name '.CD_C' lv_temp_count_string INTO
lv_bind_cell_design.
CONCATENATE lv_node_name '.CT_C' lv_temp_count_string INTO
lv_bind_txt_color.

CASE sy-index.
WHEN 1..
CONCATENATE lv_node_name '.DESCRIPTION' INTO lv_bind_text.
WHEN 2.
CONCATENATE lv_node_name '.HOURS' INTO lv_bind_text.
WHEN 3.
CONCATENATE lv_node_name '.COSTS' INTO lv_bind_text.
WHEN 4.
CONCATENATE lv_node_name '.TYPE_OF_QUALI' INTO lv_bind_text.
WHEN 5.
CONCATENATE lv_node_name '.DESIRED' INTO lv_bind_text.
WHEN 6.
CONCATENATE lv_node_name '.ACTUAL' INTO lv_bind_text.
WHEN 7.
CONCATENATE lv_node_name '.PLANNED' INTO lv_bind_text.
WHEN OTHERS.
ENDCASE.

Fixe Zelle erstellen


lo_c_table_fixed_cell = cl_wd_c_table_fixed_cell=new_c_table_fixed_cell(
bind_h_align = lv_bind_alignment
bind_cell_design = lv_bind_bkg_color
view = io_view ).

__ Textview Cell Variant erstellen _________________________________

Standardzelle erstellen
lo_standard_cell = cl_wd_c_table_standard_cell=new_c_table_standard_cell( ).

Textview-Editor erstellen
lo_textview = cl_wd_text_view=new_text_view(
id = lv_id_variant1
bind_text = lv_bind_text
bind_semantic_color = lv_bind_txt_color
bind_design = lv_bind_cell_design
bind_h_align = lv_bind_alignment ).

Editor der Zelle zuweisen


lo_standard_cell-set_editor( the_editor = lo_textview ).

CELL_VARIANT der fixen Zelle hinzuf�gen


lo_c_table_fixed_cell-add_cell_variant( lo_standard_cell ).

__ Fixierte Zelle der Spalte hinzuf�gen ____________________________


lo_table_column-add_fixed_top_cell( the_fixed_top_cell =
lo_c_table_fixed_cell ).
ENDDO.
====================================================================
Cell Variante f�r Teilgruppen-Collapse-Button
====================================================================
lv_temp_count =
zcl_hqp_constants=mc_fix_invisible_columns
+ ( zcl_hqp_constants=mc_matrix_empl_attr_count wd_this-mv_employee_count )
+ ( zcl_hqp_constants=mc_matrix_partgrp_attr_count wd_this-
mv_partgroup_count )
+ ( zcl_hqp_constants=mc_matrix_sep_line_attr_count wd_this-
mv_separator_line_count )
+ zcl_hqp_constants=mc_fix_visible_columns.

lv_separator_line_counter = 0.
LOOP AT lt_partgroup INTO ls_partgroup.
ADD 1 TO lv_temp_count.
lv_temp_count_string = lv_temp_count.
CONDENSE lv_temp_count_string.
CONCATENATE 'VIS_MATRIX_C' lv_temp_count_string INTO lv_column_id.

__ Spaltenreferenz holen ___________________________________________


lo_table_column = io_table-get_column( id = lv_column_id ).

Context-Pfade und IDs definieren


CONCATENATE 'BTN' lv_counter_numc lv_temp_count_string INTO lv_id_variant1.
CONCATENATE 'IMG' lv_counter_numc lv_temp_count_string INTO lv_id_variant2.
CONCATENATE 'TXT' lv_counter_numc lv_temp_count_string INTO lv_id_variant3.

IF lv_first_node IS INITIAL.
CONCATENATE lv_node_name '.CA_C' lv_temp_count_string INTO
lv_bind_alignment.
CONCATENATE lv_node_name '.CB_C' lv_temp_count_string INTO
lv_bind_bkg_color.
CONCATENATE lv_node_name '.CD_C' lv_temp_count_string INTO
lv_bind_cell_design.
CONCATENATE lv_node_name '.CT_C' lv_temp_count_string INTO
lv_bind_txt_color.
CONCATENATE lv_node_name '.VA_C' lv_temp_count_string INTO lv_path.
CONCATENATE lv_node_name '.BTN_C' lv_temp_count_string INTO lv_bind_text.
CONCATENATE lv_node_name '.TOT_C' lv_temp_count_string INTO
lv_bind_tooltip.
ELSE.
CONCATENATE lv_second_node '.CA_C' lv_temp_count_string INTO
lv_bind_alignment.
CONCATENATE lv_first_node '.CB_C' lv_temp_count_string INTO
lv_bind_bkg_color.
CONCATENATE lv_first_node '.CD_C' lv_temp_count_string INTO
lv_bind_cell_design.
CONCATENATE lv_first_node '.CT_C' lv_temp_count_string INTO
lv_bind_txt_color.
CONCATENATE lv_first_node '.VA_C' lv_temp_count_string INTO lv_path.
CONCATENATE lv_first_node '.BTN_C' lv_temp_count_string INTO lv_bind_text.
CONCATENATE lv_first_node '.TOT_C' lv_temp_count_string INTO
lv_bind_tooltip.
ENDIF.

IF lv_second_node IS NOT INITIAL.


CONCATENATE lv_node_name '.CA_C' lv_temp_count_string INTO
lv_bind_alignment.
CONCATENATE lv_node_name '.CB_C' lv_temp_count_string INTO
lv_bind_bkg_color.
CONCATENATE lv_node_name '.CD_C' lv_temp_count_string INTO
lv_bind_cell_design.
CONCATENATE lv_node_name '.CT_C' lv_temp_count_string INTO
lv_bind_txt_color.
CONCATENATE lv_node_name '.VA_C' lv_temp_count_string INTO lv_path.
CONCATENATE lv_node_name '.BTN_C' lv_temp_count_string INTO lv_bind_text.
CONCATENATE lv_node_name '.TOT_C' lv_temp_count_string INTO
lv_bind_tooltip.
ELSE.
CONCATENATE lv_second_node '.CA_C' lv_temp_count_string INTO
lv_bind_alignment.
CONCATENATE lv_second_node '.CB_C' lv_temp_count_string INTO
lv_bind_bkg_color.
CONCATENATE lv_second_node '.CD_C' lv_temp_count_string INTO
lv_bind_cell_design.
CONCATENATE lv_second_node '.CT_C' lv_temp_count_string INTO
lv_bind_txt_color.
CONCATENATE lv_second_node '.VA_C' lv_temp_count_string INTO lv_path.
CONCATENATE lv_second_node '.BTN_C' lv_temp_count_string INTO lv_bind_text.
CONCATENATE lv_second_node '.TOT_C' lv_temp_count_string INTO
lv_bind_tooltip.
ENDIF.

Bild-URL
CONCATENATE 'IMAGE_NAME_EMPL.CI_C' lv_temp_count_string INTO lv_bind_source.
CONDENSE lv_bind_source.

Fixe Zelle erstellen


lo_c_table_fixed_cell = cl_wd_c_table_fixed_cell=new_c_table_fixed_cell(
bind_selected_cell_variant = lv_path
bind_cell_design = lv_bind_bkg_color
bind_h_align = lv_bind_alignment
h_align = cl_wd_c_table_fixed_cell=e_h_align-center
view = io_view ).

__ Standardzelle mit Variant Key = 'PARTGRP' definieren ______________


lo_standard_cell =
cl_wd_c_table_standard_cell=new_c_table_standard_cell( variant_key = 'PARTGRP').

lo_button = cl_wd_button=new_button(
bind_text = lv_bind_text
bind_tooltip = lv_bind_tooltip
context_menu_behaviour = cl_wd_button=e_context_menu_behaviour-
inherit
design = cl_wd_button=e_design-standard
enabled = 'X'
id = lv_id_variant1
hotkey = cl_wd_button=e_hotkey-none
image_first = 'X'
on_action = 'EVT_COLLAPSE_PARTGRP'
text_direction = cl_wd_button=e_text_direction-inherit
visible = cl_wd_button=e_visible-visible ).

Editor der Zelle zuweisen


lo_standard_cell-set_editor( the_editor = lo_button ).

CELL_VARIANT der fixen Zelle hinzuf�gen


lo_c_table_fixed_cell-add_cell_variant( lo_standard_cell ).

__ Standardzelle mit Variant Key = IMAGE' definieren __________________

lo_standard_cell =
cl_wd_c_table_standard_cell=new_c_table_standard_cell( variant_key = 'PARTGRP' ).

__ Textview Cell Variant erstellen _________________________________

Standardzelle mit Variant Key = '' erstellen


lo_standard_cell =
cl_wd_c_table_standard_cell=new_c_table_standard_cell( variant_key = '' ).

Textview-Editor erstellen
lo_textview = cl_wd_text_view=new_text_view(
id = lv_id_variant3
bind_text = lv_bind_text
bind_semantic_color = lv_bind_txt_color
bind_h_align = lv_bind_alignment
bind_design = lv_bind_cell_design ).

Editor der Zelle zuweisen


lo_standard_cell-set_editor( the_editor = lo_textview ).

CELL_VARIANT der fixen Zelle hinzuf�gen


lo_c_table_fixed_cell-add_cell_variant( lo_standard_cell ).

__ Fixierte Zelle der Spalte hinzuf�gen ____________________________


lo_table_column-add_fixed_top_cell( the_fixed_top_cell =
lo_c_table_fixed_cell ).
lv_empl_count = 0.

LOOP AT lt_employee INTO ls_employee.


IF ls_employee-report_type = '010' AND lv_separator_line_counter wd_this-
mv_separator_line_count. report_type 110 = Trennzeile
IF ls_employee-report_type = '010' AND ls_employee-partgroup_id =
ls_partgroup-partgroup_id.
ADD 1 TO lv_separator_line_counter.
ADD 1 TO lv_temp_count.

lv_temp_count_string = lv_temp_count.
CONDENSE lv_temp_count_string.
CONCATENATE 'VIS_MATRIX_C' lv_temp_count_string INTO lv_column_id.

__ Spaltenreferenz holen ___________________________________________


lo_table_column = io_table-get_column( id = lv_column_id ).

Context-Pfade und IDs definieren


CONCATENATE 'BTN' lv_counter_numc lv_temp_count_string INTO
lv_id_variant1.
CONCATENATE 'IMG' lv_counter_numc lv_temp_count_string INTO
lv_id_variant2.
CONCATENATE 'TXT' lv_counter_numc lv_temp_count_string INTO
lv_id_variant3.

IF lv_first_node IS INITIAL.
CONCATENATE lv_node_name '.CA_C' lv_temp_count_string INTO
lv_bind_alignment.
CONCATENATE lv_node_name '.CB_C' lv_temp_count_string INTO
lv_bind_bkg_color.
CONCATENATE lv_node_name '.CD_C' lv_temp_count_string INTO
lv_bind_cell_design.
CONCATENATE lv_node_name '.CT_C' lv_temp_count_string INTO
lv_bind_txt_color.
CONCATENATE lv_node_name '.VA_C' lv_temp_count_string INTO lv_path.
CONCATENATE lv_node_name '.BTN_C' lv_temp_count_string INTO
lv_bind_text.
CONCATENATE lv_node_name '.TOT_C' lv_temp_count_string INTO
lv_bind_tooltip.
ELSE.
CONCATENATE lv_first_node '.CA_C' lv_temp_count_string INTO
lv_bind_alignment.
CONCATENATE lv_first_node '.CB_C' lv_temp_count_string INTO
lv_bind_bkg_color.
CONCATENATE lv_first_node '.CD_C' lv_temp_count_string INTO
lv_bind_cell_design.
CONCATENATE lv_first_node '.CT_C' lv_temp_count_string INTO
lv_bind_txt_color.
CONCATENATE lv_first_node '.VA_C' lv_temp_count_string INTO lv_path.
CONCATENATE lv_first_node '.BTN_C' lv_temp_count_string INTO
lv_bind_text.
CONCATENATE lv_first_node '.TOT_C' lv_temp_count_string INTO
lv_bind_tooltip.
ENDIF.

Bild-URL
CONCATENATE 'IMAGE_NAME_EMPL.CI_C' lv_temp_count_string INTO
lv_bind_source.
CONDENSE lv_bind_source.

Fixe Zelle erstellen


lo_c_table_fixed_cell = cl_wd_c_table_fixed_cell=new_c_table_fixed_cell(
bind_selected_cell_variant = lv_path
bind_cell_design = lv_bind_bkg_color
bind_h_align = lv_bind_alignment
h_align = cl_wd_c_table_fixed_cell=e_h_align-center
view = io_view ).

__ Standard Tabellen Zelle mit VARIANT_KEY definieren ______________


lo_standard_cell = cl_wd_c_table_standard_cell=new_c_table_standard_cell(
variant_key = 'SEPL').

lo_button = cl_wd_button=new_button(
bind_text = lv_bind_text
bind_tooltip = lv_bind_tooltip
context_menu_behaviour = cl_wd_button=e_context_menu_behaviour-
inherit
design = cl_wd_button=e_design-standard
enabled = 'X'
id = lv_id_variant1
hotkey = cl_wd_button=e_hotkey-none
image_first = 'X'
on_action = 'EVT_COLLAPSE_SEPL'
text_direction = cl_wd_button=e_text_direction-inherit
visible = cl_wd_button=e_visible-visible ).

Editor der Zelle zuweisen


lo_standard_cell-set_editor( the_editor = lo_button ).

CELL_VARIANT der fixen Zelle hinzuf�gen


lo_c_table_fixed_cell-add_cell_variant( lo_standard_cell ).

__ Standardzelle mit Variant Key = IMAGE' definieren __________________

lo_standard_cell = cl_wd_c_table_standard_cell=new_c_table_standard_cell(
variant_key = 'IMAGE' ).

lo_image = cl_wd_image=new_image(
id = lv_id_variant2
bind_source = lv_bind_source
bind_tooltip = lv_bind_tooltip ).

Editor der Zelle zuweisen


lo_standard_cell-set_editor( the_editor = lo_image ).

CELL_VARIANT der fixen Zelle hinzuf�gen


lo_c_table_fixed_cell-add_cell_variant( lo_standard_cell ).

__ Textview Cell Variant erstellen _________________________________

Standardzelle mit Variant Key = '' erstellen


lo_standard_cell = cl_wd_c_table_standard_cell=new_c_table_standard_cell(
variant_key = '' ).

Textview-Editor erstellen
lo_textview = cl_wd_text_view=new_text_view(
id = lv_id_variant3
bind_text = lv_bind_text
bind_semantic_color = lv_bind_txt_color
bind_h_align = lv_bind_alignment
bind_design = lv_bind_cell_design ).

--------------------------------------------------------------------
TEST CSS vs. IGS
--------------------------------------------------------------------
BIND_STYLE_CLASS_NAME
lo_textview = cl_wd_text_view=new_text_view(
id = lv_id_variant3
bind_text = lv_bind_text
bind_semantic_color = lv_bind_txt_color
bind_h_align = lv_bind_alignment
bind_design = lv_bind_cell_design
BIND_STYLE_CLASS_NAME = '' ).

--------------------------------------------------------------------
TEST CSS vs. IGS
--------------------------------------------------------------------

Editor der Zelle zuweisen


lo_standard_cell-set_editor( the_editor = lo_textview ).
CELL_VARIANT der fixen Zelle hinzuf�gen
lo_c_table_fixed_cell-add_cell_variant( lo_standard_cell ).

__ Fixierte Zelle der Spalte hinzuf�gen ____________________________


lo_table_column-add_fixed_top_cell( the_fixed_top_cell =
lo_c_table_fixed_cell ).

ELSE.
IF ls_employee-partgroup_id = ls_partgroup-partgroup_id AND ls_employee-
report_type '010'.
ADD 1 TO lv_temp_count.
IF lv_first_node IS NOT INITIAL.

lv_temp_count_string = lv_temp_count.

ADD 1 TO lv_empl_count.
lv_empl_count_string = lv_empl_count.

CONDENSE lv_temp_count_string.
CONCATENATE 'VIS_MATRIX_C' lv_temp_count_string INTO lv_column_id.

__ Spaltenreferenz holen ___________________________________________


lo_table_column = io_table-get_column( id = lv_column_id ).

lv_partgroup_string = ls_employee-partgroup_id.
CONDENSE lv_partgroup_string NO-GAPS.

Context-Pfade und IDs definieren


CONCATENATE 'MLK_' ls_employee-kim '_' ls_employee-group_id '_'
lv_partgroup_string '_' ls_employee-date_to INTO lv_id_variant1.
CONDENSE lv_id_variant1 NO-GAPS.
CONCATENATE 'IMG' lv_counter_numc lv_temp_count_string INTO
lv_id_variant2.
CONCATENATE 'TXT' lv_counter_numc lv_temp_count_string INTO
lv_id_variant3.
CONCATENATE lv_third_node '.CA_C' lv_temp_count_string INTO
lv_bind_alignment.
CONCATENATE lv_third_node '.CB_C' lv_temp_count_string INTO
lv_bind_bkg_color.
CONCATENATE lv_third_node '.CD_C' lv_temp_count_string INTO
lv_bind_cell_design.
CONCATENATE lv_third_node '.CT_C' lv_temp_count_string INTO
lv_bind_txt_color.
CONCATENATE lv_third_node '.VA_C' lv_temp_count_string INTO lv_path.
CONCATENATE lv_third_node '.EMPL' lv_empl_count_string INTO
lv_bind_text.
CONDENSE lv_bind_text.
CONCATENATE lv_third_node '.TOT_C' lv_temp_count_string INTO
lv_bind_tooltip.

Fixe Zelle erstellen


lo_c_table_fixed_cell =
cl_wd_c_table_fixed_cell=new_c_table_fixed_cell(
bind_selected_cell_variant = lv_path
bind_cell_design = lv_bind_bkg_color
bind_h_align = lv_bind_alignment
h_align = cl_wd_c_table_fixed_cell=e_h_align-center
view = io_view ).

__ Standardzelle mit Variant Key = IMAGE' definieren __________________

lo_standard_cell =
cl_wd_c_table_standard_cell=new_c_table_standard_cell( variant_key = 'IMAGE' ).

Textview-Editor erstellen
lo_textview = cl_wd_text_view=new_text_view(
id = lv_id_variant2
bind_text = lv_bind_text
bind_semantic_color = lv_bind_txt_color
bind_h_align = lv_bind_alignment
bind_design = lv_bind_cell_design ).

Editor der Zelle zuweisen


lo_standard_cell-set_editor( the_editor = lo_textview ).

CELL_VARIANT der fixen Zelle hinzuf�gen


lo_c_table_fixed_cell-add_cell_variant( lo_standard_cell ).

IF lv_first_node IS INITIAL.

lo_standard_cell =
cl_wd_c_table_standard_cell=new_c_table_standard_cell( variant_key = 'EMPL' ).

Textview-Editor erstellen
lo_textview = cl_wd_text_view=new_text_view(
id = lv_id_variant2
bind_text = lv_bind_text
bind_semantic_color = lv_bind_txt_color
bind_h_align = lv_bind_alignment
bind_design = lv_bind_cell_design ).

Editor der Zelle zuweisen


lo_standard_cell-set_editor( the_editor = lo_textview ).

CELL_VARIANT der fixen Zelle hinzuf�gen


lo_c_table_fixed_cell-add_cell_variant( lo_standard_cell ).
ELSE.
lo_standard_cell =
cl_wd_c_table_standard_cell=new_c_table_standard_cell( variant_key = 'EMPL' ).

lo_button = cl_wd_button=new_button(
bind_text = lv_bind_text
bind_tooltip = lv_bind_tooltip
context_menu_behaviour =
cl_wd_button=e_context_menu_behaviour-inherit
design = cl_wd_button=e_design-standard
enabled = 'X'
id = lv_id_variant1
hotkey = cl_wd_button=e_hotkey-none
image_first = 'X'
on_action = 'EVT_TO_MLK'
text = 'MLK '
text_direction = cl_wd_button=e_text_direction-
inherit
visible = cl_wd_button=e_visible-visible ).
Editor der Zelle zuweisen
lo_standard_cell-set_editor( the_editor = lo_button ).

CELL_VARIANT der fixen Zelle hinzuf�gen


lo_c_table_fixed_cell-add_cell_variant( lo_standard_cell ).
ENDIF.

__ Textview Cell Variant erstellen _________________________________

Standardzelle mit Variant Key = '' erstellen


lo_standard_cell =
cl_wd_c_table_standard_cell=new_c_table_standard_cell( variant_key = '' ).

Textview-Editor erstellen
lo_textview = cl_wd_text_view=new_text_view(
id = lv_id_variant3
bind_text = lv_bind_text
bind_semantic_color = lv_bind_txt_color
bind_h_align = lv_bind_alignment
bind_design = lv_bind_cell_design ).

Editor der Zelle zuweisen


lo_standard_cell-set_editor( the_editor = lo_textview ).

CELL_VARIANT der fixen Zelle hinzuf�gen


lo_c_table_fixed_cell-add_cell_variant( lo_standard_cell ).

__ Fixierte Zelle der Spalte hinzuf�gen ____________________________


lo_table_column-add_fixed_top_cell( the_fixed_top_cell =
lo_c_table_fixed_cell ).
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDDO.
endif.
ENDMETHOD.

You might also like