Текущее время: Вс, июл 27 2025, 08:08

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Вывод даты в формате HH:MM в ALV grid
СообщениеДобавлено: Ср, апр 18 2007, 15:48 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Как красиво подправить филд-каталог в объектном ALV, чтобы данные типа T отображались без секунд. Например, как это реализовано на dynpro-экране в транзакции VT02N.

Пробовал менять следующие поля в различных комбинациях:
Code:
          <fc>-convexit = 'HH_MM'.
          <fc>-OUTPUTLEN = 5.
          <fc>-INTLEN = 4.
          <fc>-DD_OUTLEN = 5.
          <fc>-EDIT_MASK = '__:__'.
          <fc>-DATATYPE = 'CHAR'.
          <fc>-INTTYPE = 'C'.
          <fc>-DOMNAME = 'HHMM'.
          <fc>-REF_FIELD = ''.
          <fc>-REF_TABLE = ''.
          <fc>-DD_ROLL = ''.


Сбрасывал буфер, запуская программу BALVBUFDEL.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 19 2007, 07:19 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
а если использовать программу преобразования? что-то типа:

Code:
<fc>-EDIT_MASK = '=HHMM'.


и соответственно создать ФМ CONVERSION_EDIT_HHMM_OUTPUT, где реализовать само преобразование (по подобию CONVERSION_EDIT_TIMLO_OUTPUT)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 19 2007, 07:47 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Пробовал:
<fc>-convexit = 'HH_MM'.
<fc>-EDIT_MASK = '==HH_MM'.

Не работает.

Можно, конечно, скопировать элементы данных и подставить домен HHMM, и многие скажут, что это идеологически правильно. Но уж очень их много и, кроме того, тексты ЭД будут дублироваться, т.е. нужно всегда помнить, что исправлять их нужно в двух местах.
Может быть есть красивое решение в рамках ALV.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 19 2007, 08:02 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
но для того чтобы заработала ты должен, если пишешь: '==HHMM' создать ФМ CONVERSION_EDIT_HHMM_OUTPUT, где реализовать логику преобразования - ты это сделал?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 19 2007, 08:04 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Так это стандартный: HH_MM!

Code:
data: t type t.
t = sy-UZEIT.
CALL FUNCTION 'CONVERSION_EXIT_HH_MM_OUTPUT'
  EXPORTING
    input         = t
  IMPORTING
    OUTPUT        = t
          .
write t.


Попутный вопрос: на селекционном экране, похоже, нет возможности прицепить conversion exit?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 19 2007, 08:09 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
навряд-ли стандартный - у нас (версия 5.0) его нет. а код какой внутри?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, апр 19 2007, 08:21 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Понял свою ошибку. Нельзя менять филдкаталог так:
Code:
grid->get_frontend_fieldcatalog
....
grid->set_frontend_fieldcatalog
grid->refresh_table_display

Точнее, только половина изменений вступает в силу: можно поменять seltext, coltext, tooltip, scrtext_[lms] и даже edit, checkbox, hotspot, no_out. Но edit_mask и convexit — нельзя.


OlegDm написал(а):
навряд-ли стандартный - у нас (версия 5.0) его нет. а код какой внутри?

Пакет EE00, прикладной компонент IS-U.
Code:
DATA: I(4).

  IF INPUT = SPACE.
    OUTPUT = '00:00'.
  ELSE.
    I = INPUT.
    CONCATENATE I+0(2) ':' I+2(2) INTO OUTPUT.
  ENDIF.



Осталось только на селекционном экране то же самое сделать.
Есть опция VISIBLE LENGTH 5. Но внутренняя длинна всё равно 8. Есть идеи?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 24 2007, 11:18 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 16 2007, 19:00
Сообщения: 168
Откуда: город
sibrin написал:
Пробовал:
<fc>-convexit = 'HH_MM'.
<fc>-EDIT_MASK = '==HH_MM'.


Я пробовал то же самое, но без <fs>-convexit, - работает...


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

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


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

Сейчас этот форум просматривают: Google [Bot]


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

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