Текущее время: Пт, авг 01 2025, 21:50

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Пользовательские хотелки в ALVList
СообщениеДобавлено: Чт, янв 17 2008, 12:10 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 09 2004, 11:38
Сообщения: 127
Пол: Мужской
Господа, дайте совет.

Есть отчет в ALVList с использованием REUSE_ALV_LIST_DISPLAY.
В данном отчете есть поле количества. Все как положено, разные единицы измерения привязаны и т.д.

Пользователи хотят, чтобы все количество выводилось с тремя знаками после запятой. Т.е. 10,3 = 10,300; 10 = 10,000.

Собственно, как это сделать?

Сам перепробовал кучу способов с филдкаталогом, добавлением поля и т.д.

Добился правильного вида, но тогда сползает аггрегация по единицам измерения - все суммирует...:(

_________________
Труд сделал из обезьяны человека, из коня - транспорт... Тут как повезет...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пользовательские хотелки в ALVList
СообщениеДобавлено: Чт, янв 17 2008, 12:51 
Ассистент
Ассистент

Зарегистрирован:
Пн, авг 06 2007, 16:13
Сообщения: 28
Можно на этапе формирования fc на требуемый столбец навесить свой FM для внешнего внутреннего/представления данных.

Т.е. пишем свой фм типа: CONVERSION_EXIT_TEST_OUTPUT
и CONVERSION_EXIT_TEST_INPUT (не проверял, но скорее всего он тоже нужен).
кусок кода на котором тестировал:
Code:
data tmp type  LVC_EDTMSK.

    LOOP AT t_column INTO coll.

lr_column ?= coll-r_column.
      tmp = lr_column->GET_EDIT_MASK( ).
      if coll-columnname eq 'PR_BR'.
        break-point.
        tmp =  '==TEST'.
        lr_column->SET_EDIT_MASK( tmp ).
      endif.

сорри что cl_salv_table - думаю что в fc есть такие поля.

ну и соответственно:
Code:
FUNCTION CONVERSION_EXIT_TEST_OUTPUT.
*"--------------------------------------------------------------------
*"*"Ëîêàëüíûé èíòåðôåéñ:
*"  IMPORTING
*"     VALUE(INPUT)
*"     VALUE(LANGUAGE) LIKE  SY-LANGU DEFAULT SY-LANGU
*"  EXPORTING
*"     VALUE(LONG_TEXT)
*"     VALUE(OUTPUT)
*"     VALUE(SHORT_TEXT)
*"  EXCEPTIONS
*"      UNIT_NOT_FOUND
*"--------------------------------------------------------------------

 

OUTPUT = '123.0000'.
exit.
ENDFUNCTION.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пользовательские хотелки в ALVList
СообщениеДобавлено: Чт, янв 17 2008, 14:51 
Ассистент
Ассистент

Зарегистрирован:
Пн, авг 06 2007, 16:13
Сообщения: 28
Агрегация работает или все равно сливается? Имхо, по идее должно быть с ней все ок, но я не проверял.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, янв 17 2008, 15:43 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 09 2004, 11:38
Сообщения: 127
Пол: Мужской
Ваша идея навела на мысль!

Поменял стандартный элемент данных количественный на самопальный, также количественный, но с алфа-преобразованием.

В ФМ'ах альфа-преобразования добился вывода значения AS IS:

Code:
FUNCTION CONVERSION_EXIT_ZSDQ_INPUT .
*"--------------------------------------------------------------------
*"*"Ëîêàëüíûé èíòåðôåéñ:
*"  IMPORTING
*"     VALUE(INPUT)
*"  EXPORTING
*"     VALUE(OUTPUT)
*"--------------------------------------------------------------------
        OUTPUT = INPUT.
ENDFUNCTION.


После этого все заработало. Выводит всегда с тремя знаками после запятой.

_________________
Труд сделал из обезьяны человека, из коня - транспорт... Тут как повезет...


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 4 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB