Текущее время: Пт, сен 05 2025, 21:04

Часовой пояс: 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
Сообщения: 1556
Откуда: Москва
Думаю, с этой проблемой сюда - подозреваю, есть какая-то админская настройка.
Есть поля типа 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
Сообщения: 1556
Откуда: Москва
Сергей Т. написал(а):
а где это мешает ?!?


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

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


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

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


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

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
Сергей Т. написал(а):
оно, конечно, выглядит непрезентабельно, это точно ;)
но если эти нули очищать, то проблемно потом на 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
Сообщения: 1556
Откуда: Москва
Anonymous написал(а):
s_ss написал:
Я решил эту проблему просто: напсал свое преобразование и забыл о такой проблеме. :roll:


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


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

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


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

Зарегистрирован:
Чт, сен 23 2004, 18:43
Сообщения: 1556
Откуда: Москва
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
Сообщения: 1556
Откуда: Москва
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 часа


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

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


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

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