Текущее время: Ср, май 14 2025, 18:35

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Загрузка файла с дробными значениями
СообщениеДобавлено: Чт, мар 10 2005, 13:26 
Гость
Привет всем,
Пытаюсь загрузить файл во внутреннюю таблицу с дробными значениями с разделителем ",". А SAP независимо от настроек пользователя, который запускает программу требует разделитель "."
И падает в dump c conv_no_number. Подскажите, please, как сделать так, чтобы разделитель все-таки зависел от настроек пользователя...


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения: Re: Загрузка файла с дробными значениями
СообщениеДобавлено: Чт, мар 10 2005, 13:40 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 14:35
Сообщения: 1519
Откуда: В ВЕЧНОМ БАНЕ
Yuri написал(а):
Привет всем,
Пытаюсь загрузить файл во внутреннюю таблицу с дробными значениями с разделителем ",". А SAP независимо от настроек пользователя, который запускает программу требует разделитель "."
И падает в dump c conv_no_number. Подскажите, please, как сделать так, чтобы разделитель все-таки зависел от настроек пользователя...

Ну так заменяй свою запятую на точку и всех делов... или из религиозных причин это сделать нельзя?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, мар 10 2005, 13:42 
Специалист
Специалист

Зарегистрирован:
Чт, авг 19 2004, 07:31
Сообщения: 234
Откуда: Нижнекамск
где то как то так вроде бы...

DATA: str TYPE usr01-dcpfm,
str1(1) TYPE c VALUE '.',
str2(1) TYPE c VALUE ','.

SELECT SINGLE dcpfm INTO str FROM usr01 WHERE bname = sy-uname.
IF str <> 'X'.
REPLACE str1 WITH str2 INTO sum_wrbtr_form.
ENDIF.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Загрузка файла с дробными значениями
СообщениеДобавлено: Чт, мар 10 2005, 13:43 
Специалист
Специалист

Зарегистрирован:
Ср, сен 08 2004, 16:04
Сообщения: 112
Откуда: Ukraine
Пол: Мужской
Yuri написал(а):
Привет всем,
Пытаюсь загрузить файл во внутреннюю таблицу с дробными значениями с разделителем ",". А SAP независимо от настроек пользователя, который запускает программу требует разделитель "."
И падает в dump c conv_no_number. Подскажите, please, как сделать так, чтобы разделитель все-таки зависел от настроек пользователя...


Было и у меня такое.
Вышел из ситуации таким образом:
Code:
  REPLACE ALL OCCURRENCES OF ',' IN string_1 WITH '.'.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Загрузка файла с дробными значениями
СообщениеДобавлено: Пт, мар 11 2005, 11:52 
Гость
s_ss написал:
REPLACE ALL OCCURRENCES OF ',' IN string_1 WITH '.'.

В 46C нет ALL OCCURRENCES :(
Code:
*---------------------------------------------------------------------*
*       FORM SetSumma                                                 *
*---------------------------------------------------------------------*
FORM SetSumma CHANGING cText  TYPE C
                       nSumma LIKE BSEG-DMBTR
                       subrc  LIKE sy-subrc.

  data: nPos like sy-fdpos.

* '.' - разделитель тысяч
  do.
    search cText for '...'.
    if sy-subrc = 0.
      nPos = sy-fdpos + 1.
      cText+sy-fdpos = cText+nPos.
    else.
      exit.
    endif.
  enddo.

* ',' - разделитель целой и дробной части
  replace ',' with '.' into cText.

  CATCH SYSTEM-EXCEPTIONS CONVT_NO_NUMBER = 1.
    nSumma = cText.
  ENDCATCH.
  SUBRC = SY-SUBRC.
  IF SUBRC = 1.
    CLEAR nSumma.
  ENDIF.

ENDFORM.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения: Re: Загрузка файла с дробными значениями  Тема решена
СообщениеДобавлено: Пт, мар 11 2005, 13:13 
Специалист
Специалист

Зарегистрирован:
Ср, сен 08 2004, 16:04
Сообщения: 112
Откуда: Ukraine
Пол: Мужской
Stenj_90 написал(а):
s_ss написал:
REPLACE ALL OCCURRENCES OF ',' IN string_1 WITH '.'.

В 46C нет ALL OCCURRENCES :(


Я так понял, что в 46C нет ALL OCCURRENCES, а сам REPLACE есть.
Так это не проблема...
Я заменяю ',' на '.' в каждой переменной. А в числе, как известно, может быть только одна ','. :P


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Загрузка файла с дробными значениями
СообщениеДобавлено: Пт, мар 11 2005, 13:30 
Гость
s_ss написал:
Stenj_90 написал(а):
s_ss написал:
REPLACE ALL OCCURRENCES OF ',' IN string_1 WITH '.'.

В 46C нет ALL OCCURRENCES :(


Я так понял, что в 46C нет ALL OCCURRENCES, а сам REPLACE есть.
Так это не проблема...
Я заменяю ',' на '.' в каждой переменной. А в числе, как известно, может быть только одна ','. :P


не факт, есть еще разделители разрядов :wink:


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения: Re: Загрузка файла с дробными значениями
СообщениеДобавлено: Пт, мар 11 2005, 16:16 
Гость
s_ss написал:
Я так понял, что в 46C нет ALL OCCURRENCES, а сам REPLACE есть.
В 46C нет опции 'ALL OCCURRENCES' команды REPLACE.
Вот еще пример из жизни, используемый при суммировании чисел в своем SAPScript-формуляре:
Code:
FORM STRING_2_NUM USING    cString       LIKE ITCSY-VALUE
                  CHANGING P_EXVKW_POSWS LIKE WOSI_ISEG-EXVKW_POSWS.

  INCLUDE LWOSICST.

  DATA: P_STRING_100 TYPE  CHAR100,
        nSign        TYPE  N.

  P_STRING_100 = cString.
  REPLACE '-' WITH SPACE INTO P_STRING_100.
  IF SY-SUBRC = 0.
    nSign = -1.
  ELSE.
    nSign = +1.
  ENDIF.

  CALL FUNCTION 'WOSI_CONVERT_STRING_TO_NUM'
    EXPORTING
      P_ACTION              = c_convert_to_exvkw_posws
      P_STRING_100          = P_STRING_100
    IMPORTING
*     P_ERFMG               =
      P_EXVKW_POSWS         = P_EXVKW_POSWS
*     P_SWERT               =
*     P_VKUMG               =
    EXCEPTIONS
      ERROR_IN_SY_MSG       = 1
      OTHERS                = 2
            .
  IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

  P_EXVKW_POSWS = nSign * P_EXVKW_POSWS.

ENDFORM.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения: Загрузка файла с дробными значениями
СообщениеДобавлено: Ср, мар 23 2005, 10:07 
Начинающий
Начинающий

Зарегистрирован:
Пн, окт 25 2004, 09:38
Сообщения: 7
Откуда: Belarus
а вот это -
Code:
TRANSLATE number USING ',.'.

не спасёт отца русской демократии?


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

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


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

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


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

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