Code: Alles auswählen.
<param name="MODIFY_CLASS" value="ZTR_CL_INH_RSR_MODIFY_TABLE">
Code: Alles auswählen.
METHOD characteristic_cell .
*CALL METHOD SUPER->CHARACTERISTIC_CELL
* EXPORTING
* I_X =
* I_Y =
* I_IOBJNM =
* I_AXIS =
* I_CHAVL_EXT =
* I_CHAVL =
* I_NODE_IOBJNM =
* I_TEXT =
* I_HRY_ACTIVE =
* I_DRILLSTATE =
* I_DISPLAY_LEVEL =
* I_USE_TEXT =
* I_IS_SUM =
* I_IS_REPETITION =
** I_FIRST_CELL = RS_C_FALSE
** I_LAST_CELL = RS_C_FALSE
* I_CELLSPAN =
* I_CELLSPAN_ORT =
* CHANGING
* C_CELL_ID =
* C_CELL_CONTENT =
* C_CELL_STYLE =
* C_CELL_TD_EXTEND =
*
DATA: param TYPE string,
cell_content_len TYPE string,
l_cell_content TYPE string,
cell_text TYPE string.
DATA: part1 TYPE string, part2 TYPE string, part3 TYPE string.
param = n_r_creation_parameters->get_upper_case( i_id = 'SHORT_TEXT' ).
IF param = 'X'.
cell_text = i_text.
FIND i_text IN c_cell_content.
IF sy-subrc = 0.
* Stringlänge des Zellinhalts
cell_content_len = STRLEN( i_text ).
* Kürzen, wenn mehr als 10 Zeichen
IF cell_content_len > 10 AND i_y > 1.
SPLIT c_cell_content AT cell_text INTO part1 part2.
SPLIT part2 AT cell_text INTO part2 part3.
CONCATENATE
part1
i_text
part2
i_text(36)
'...'
part3
INTO l_cell_content.
ELSE.
l_cell_content = c_cell_content.
ENDIF.
* Ende kürzen
ELSE.
l_cell_content = c_cell_content.
ENDIF.
* Ende wenn i_text vorkommt
c_cell_content = l_cell_content.
CLEAR l_cell_content.
ENDIF.
ENDMETHOD.