Текущее время: Пн, июл 28 2025, 02:12

Часовой пояс: 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 часа


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

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


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

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