Приветствую, уважаемые форумчане!
продолжаю развивать идею динамического паттерна и в этой связи продолжаю задавать глупые вопросы
подскажите пожалуйста существует ли способ динамически настраивать каталог полей в алв гриде?
на данный момент у нас это реализовано так
Code:
METHOD set_fcat.
DATA:
lt_fcat TYPE lvc_t_fcat
, wa_fcat TYPE lvc_s_fcat
, lt_fcat_tech TYPE lvc_t_fcat
.
FIELD-SYMBOLS:
<wa_fcat> TYPE lvc_s_fcat
.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = me->md_ddstruct
* { amchebotaev 20.06.2013 18:22:26
* Ignore reading fcat from buffer
i_bypassing_buffer = 'X'
* } amchebotaev 20.06.2013 18:22:26
CHANGING
ct_fieldcat = lt_fcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
RAISE EXCEPTION TYPE zcx_sm
EXPORTING
textid = zcx_sm=>fcat_create_error.
ENDIF.
IF me->md_ddstruct_tech IS NOT INITIAL.
CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = me->md_ddstruct_tech
* { amchebotaev 20.06.2013 18:22:26
* Ignore reading fcat from buffer
i_bypassing_buffer = 'X'
* } amchebotaev 20.06.2013 18:22:26
CHANGING
ct_fieldcat = lt_fcat_tech
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
RAISE EXCEPTION TYPE zcx_sm
EXPORTING
textid = zcx_sm=>fcat_create_error.
ENDIF.
LOOP AT lt_fcat
ASSIGNING <wa_fcat>.
CLEAR wa_fcat.
READ TABLE lt_fcat_tech
INTO wa_fcat
WITH KEY fieldname = <wa_fcat>-fieldname.
IF sy-subrc = 0.
<wa_fcat>-tech = abap_true.
ENDIF.
ENDLOOP.
ENDIF.
*<--
r_result = lt_fcat.
ENDMETHOD.
и CASE по полям, настраивая параметры каждого по отдельности.
существуют ли алгоритмы расчёта размеров ячейки по объёму содержимого? или иные алгоритмы задачи параметров каталога?
Заранее спасибо! Извините за очередной глупый вопрос