0% found this document useful (0 votes)
42 views

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
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
42 views

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
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