Текущее время: Чт, май 23 2024, 20:25

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


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


ВНИМАНИЕ! Прежде чем задавать вопрос, ознакомьтесь со ссылками ниже:

Вопросы по отличиям версий SAP, Add-On, EHP - сюда
Вопросы по SAP Front End (SAPlogon, SAPgui, guiXT и т.д.) - сюда
Вопросы по LSMW - сюда
Вопросы по архивации в SAP - сюда
Вопросы по SAP GRC - сюда
Вопросы по SAP Business Workplace (почте SAP) и SAP Office - сюда
Вопросы по miniSAP (SAP mini basis) - сюда
Вопросы по SAP HANA - сюда
Вопросы по лицензированию продуктов SAP - сюда



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Пустое значение полей типа NUMC на экранах
СообщениеДобавлено: Вт, фев 22 2005, 13:02 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1554
Откуда: Москва
Думаю, с этой проблемой сюда - подозреваю, есть какая-то админская настройка.
Есть поля типа NUMC. Когда они пустые, на экранах (экранах выбора, обычных динпро, ALV...) отображается ноль.
Некрасиво.

Раньше с этим почему-то не сталкивался.
Как лечить?
Отличительная черта - домены всех этих полей настроены на подпрограмму преобразования ALPHA. Хотелось бы оставить преобразования, но чтобы и эти левые нули исчезли.

WAS 6.40, версия Netweaver 04 .

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 22 2005, 13:53 
Специалист
Специалист

Зарегистрирован:
Пн, окт 18 2004, 11:25
Сообщения: 183
Откуда: Moscow
а где это мешает ?!?
ну есть такое значение, по умолчанию, ну и пусть себе будет ;))


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 22 2005, 14:16 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1554
Откуда: Москва
Сергей Т. написал(а):
а где это мешает ?!?


На селекшн-скринах, например, мешает.
Вместо пустого значения селект-опшина (нет ограничений) - "от нуля до нуля". Все равно, конечно, работает как надо, но - бредятина ведь.
Еще по мелочи в разных местах. Открываешь сэч-хелп - а туда вместо пустых параметров (с других полей) опять же подтягиваются нули (только тут уже устанавливаются неправильные ограничения).
В общем - МЕШАЕТ! Однозначно.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 22 2005, 14:22 
Специалист
Специалист

Зарегистрирован:
Пн, окт 18 2004, 11:25
Сообщения: 183
Откуда: Moscow
оно, конечно, выглядит непрезентабельно, это точно ;)
но если эти нули очищать, то проблемно потом на initial проверять


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 22 2005, 15:04 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1554
Откуда: Москва
Сергей Т. написал(а):
оно, конечно, выглядит непрезентабельно, это точно ;)
но если эти нули очищать, то проблемно потом на initial проверять


Так я понимаю, это просто ALPHA-преобразование так работает... не совсем так, как надо. Оно теперь спрятано в системной функции.
Вот я подумал - может, какие дополнительные настройки у него есть?

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 23 2005, 08:38 
Специалист
Специалист

Зарегистрирован:
Ср, сен 08 2004, 16:04
Сообщения: 112
Откуда: Ukraine
Пол: Мужской
111 написал(а):
Сергей Т. написал(а):
оно, конечно, выглядит непрезентабельно, это точно ;)
но если эти нули очищать, то проблемно потом на initial проверять


Так я понимаю, это просто ALPHA-преобразование так работает... не совсем так, как надо. Оно теперь спрятано в системной функции.
Вот я подумал - может, какие дополнительные настройки у него есть?


Я решил эту проблему просто: напсал свое преобразование и забыл о такой проблеме. :roll:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 23 2005, 23:16 
Гость
s_ss написал:
Я решил эту проблему просто: напсал свое преобразование и забыл о такой проблеме. :roll:


Дык... Похоже, на крайняк этот вариант и остается...


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, фев 28 2005, 11:12 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1554
Откуда: Москва
Anonymous написал(а):
s_ss написал:
Я решил эту проблему просто: напсал свое преобразование и забыл о такой проблеме. :roll:


Дык... Похоже, на крайняк этот вариант и остается...


Эт я был. Писал с чужого компа, забыл залогиниться.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, мар 10 2005, 12:28 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1554
Откуда: Москва
s_ss написал:
Я решил эту проблему просто: напсал свое преобразование и забыл о такой проблеме. :roll:


Попробую таки написать, раз других вариантов нет.
Только чего-то туговато соображаю, как предусмотреть все варианты и построить правильную логику - чтобы косяки какие-нибудь не выплыли в каком-нибудь месте.
Если у тебя есть уже испытанное и отлаженное преобразование - не поделишься? Или хотя бы логику в общих словах.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, мар 22 2005, 17:08 
Специалист
Специалист

Зарегистрирован:
Ср, сен 08 2004, 16:04
Сообщения: 112
Откуда: Ukraine
Пол: Мужской
111 написал(а):
s_ss написал:
Я решил эту проблему просто: напсал свое преобразование и забыл о такой проблеме. :roll:


Попробую таки написать, раз других вариантов нет.
Только чего-то туговато соображаю, как предусмотреть все варианты и построить правильную логику - чтобы косяки какие-нибудь не выплыли в каком-нибудь месте.
Если у тебя есть уже испытанное и отлаженное преобразование - не поделишься? Или хотя бы логику в общих словах.


Есть пример, как SAP работает с преобразованием в/из даты
ФМ CONVERSION_EXIT_ESDAT_INPUT.
Сам я делал ФМ по преобразованию даты в короткую форму 'dd.mm.yy'. Но! Поле не имело атрибута "ввод", поэтому я особо не парился с проверками. Хотя встроенный календарь(как средство поиска) меня отлично понимал и подхватывал правильную дату.

Code:
FUNCTION CONVERSION_EXIT_aaa_INPUT.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*"  IMPORTING
*"     VALUE(INPUT)
*"  EXPORTING
*"     VALUE(OUTPUT)
*"----------------------------------------------------------------------

DATA:
  DD(20),
  MM(20),
  YY(20).

  output = space.
  SPLIT INPUT AT '.' INTO DD MM YY.

  CHECK      DD <> SPACE
        AND  MM <> SPACE
        AND  YY <> SPACE.

  IF YY <= 50.
    CONCATENATE '20' YY INTO YY.
  ELSE.
    CONCATENATE '19' YY INTO YY.
  ENDIF.

  CONCATENATE YY MM DD INTO OUTPUT.
ENDFUNCTION.



Code:
FUNCTION CONVERSION_EXIT_aaa_OUTPUT.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*"  IMPORTING
*"     VALUE(INPUT)
*"  EXPORTING
*"     VALUE(OUTPUT)
*"----------------------------------------------------------------------

*"----------------------------------------------------------------------

  CONCATENATE INPUT+6(2) INPUT+4(2) INPUT+2(2)
      INTO OUTPUT SEPARATED BY '.'.

  IF INPUT = 0.
    OUTPUT = SPACE.
  ENDIF.
  CONDENSE output NO-GAPS.

ENDFUNCTION.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, мар 22 2005, 19:30 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1554
Откуда: Москва
s_ss написал:
Есть пример, как SAP работает с преобразованием в/из даты
ФМ CONVERSION_EXIT_ESDAT_INPUT.
Сам я делал ФМ по преобразованию даты в короткую форму 'dd.mm.yy'.


Не, преобразования для дат я тоже делал (цель - не показывать даты 31.12.9999, т.к. пользователи пугаются).
Но, всякие выкрутасы типа

Code:
CONCATENATE INPUT+6(2) INPUT+4(2) INPUT+2(2)
      INTO OUTPUT SEPARATED BY '.'.


Работают криво.
Потому сделал
======================
Code:
FUNCTION conversion_exit_datum_input.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*"  IMPORTING
*"     VALUE(INPUT)
*"  EXPORTING
*"     VALUE(OUTPUT)
*"----------------------------------------------------------------------

  CHECK: input NE space.

  CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
    EXPORTING
      date_external            = input
    IMPORTING
      date_internal            = output
    EXCEPTIONS
      date_external_is_invalid = 1
      OTHERS                   = 2.

  IF sy-subrc <> 0.
    MESSAGE e888(fk) RAISING wrong_input.
  ENDIF.

ENDFUNCTION.


Code:
FUNCTION conversion_exit_datum_output.
*"--------------------------------------------------------------------
*"*"Локальный интерфейс:
*"  IMPORTING
*"     VALUE(INPUT)
*"  EXPORTING
*"     VALUE(OUTPUT)
*"--------------------------------------------------------------------

  IF input NE '99991231' AND input NE '00000000'.
    DATA: ld_date LIKE sy-datum.

    CLEAR output.
    CHECK: NOT input IS INITIAL.

    ld_date = input.

    CALL FUNCTION 'CONVERT_DATE_TO_EXTERNAL'
      EXPORTING
        date_internal = ld_date
      IMPORTING
        date_external = output.
*      EXCEPTIONS
*           DATE_INTERNAL_IS_INVALID = 1
*           OTHERS                   = 2.
  ELSE.
    CLEAR output.
  ENDIF.

ENDFUNCTION.

======================

А преобразование, которое мне тогда нужно было, я таки сделал. Работает нормально, хоть и написано тривиально.

_________________
Hе иди по течению, не иди против течения - иди поперек него, если хочешь достичь берега.
Слова Ванталы. Дела Ванталы


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

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


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

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


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

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