Понадобилось тут происследовать как работают текстовые переменные с опцией - путь замены. Type - label.
На примере - 0CALMONTH
FM - RRSV_CHAVL_TO_VALUE_CONVERTЕсли посмотреть строку 88, то понятна логика возврата текстов:
IF NOT l_s_chatxtsml-txtsh IS INITIAL.
l_value = l_s_chatxtsml-txtsh.
ELSEIF NOT l_s_chatxtsml-txtmd IS INITIAL.
l_value = l_s_chatxtsml-txtmd.
ELSE.
l_value = l_s_chatxtsml-txtlg.
ENDIF.
причем l_s_chatxtsml содержит все 3 текста
МАР 2009 МАР 2009 Март 2009
[20 символов ][40 символов ][ну 60 вы поняли]
При передаче соответственно значения обрезается... т.к. хотя бы можно было за счет смещений сыграть. Строка 155 - PERFORM value_cut
Но c 0CALMONTH тоже не все так просто...
он реализован через класс CL_RSMD_RS_0CALMONTH
тексты получаем через метод IF_RSMD_RS_ACCESS~GET_TEXT
Сами тексты оказалось храняться в табличке:
T246 - тексты дней недели
T247 - тексты месяцев
T248 - тексты недель месяца (первая\вторая\последняя)
Ну и чтобы посмотреть остается расширять стандарт. Либо ABAP, либо атрибут (что в данном контексте опять ABAP)
Enhancement Framework - Function group and Function module enhancement - Concept and Simple Scenario
Modification-Free Adaptations of SAP Programs With Enhancements
Да, на память...
CONSTRUCTOR CL_RSMD_RS_0CALMONTH
I_CHANM 0CALMONTH
I_INFOPROV
I_DATE 29.03.2012
I_LANGU RU
I_S_COBPRO
Комментариев нет:
Отправить комментарий