Текущее время: Вт, авг 05 2025, 17:38

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




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: SOS Колоссальная проблема при загрузке данных в BW из-за решетки # в текстовом поле
СообщениеДобавлено: Сб, ноя 05 2011, 12:32 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, авг 15 2006, 19:37
Сообщения: 965
Пол: Женский
Друзья, позарез нужна помощь. Вылетает загрузка данных в BW с ошибками и руганью на знак решетки # в тексте. Решетка изначальна пролезла в текст позиции в FI проводке. После ее удаления из текста в FI все равно идет ошибка при загрузке в BW на предмет наличия злополучной решетки. Кто-нить с подобным сталкивался?

Может есть какого-то рода временные таблицы/буфер/кеш где могли застрять старые данные с решеткой со старой загрузки еще до коррекции (сразу извините, ноль знаний по BW).

Может можно добавить решетку в список разрешенных символов для текста (хотя бы временно, чтобы эта загрузка прошла). Хоть какое-то временное решение на сегодня

Всем огромное спасибо за любую помощь!

PS повторная загрузка полная с определением дельты (опять же профан в BW, передаю со слов)

_________________
The thing I hate about an argument is that it always interrupts a discussion.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SOS Колоссальная проблема при загрузке данных в BW из-за решетки # в текстовом поле
СообщениеДобавлено: Вс, ноя 06 2011, 18:26 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, сен 21 2010, 23:23
Сообщения: 83
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/e0cdc928-5e2d-2e10-e1bb-ec77bcb5cbfd


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SOS Колоссальная проблема при загрузке данных в BW из-за решетки # в текстовом поле
СообщениеДобавлено: Пн, ноя 07 2011, 11:37 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, ноя 26 2010, 20:07
Сообщения: 240
Пол: Мужской
Если правильно понял смысл, то в трансформации измените подпрограмму запуска, добавите аналогичный ABAP код:

Code:
loop at SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.
REPLACE ALL OCCURRENCES OF '#' iN <SOURCE_FIELDS>-FIELD WITH ' '.
endloop.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SOS Колоссальная проблема при загрузке данных в BW из-за решетки # в текстовом поле
СообщениеДобавлено: Чт, ноя 10 2011, 12:48 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 08 2010, 15:57
Сообщения: 259
Откуда: Киев
Пол: Женский
Добавьте в разрешенные символы - RSKC


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SOS Колоссальная проблема при загрузке данных в BW из-за решетки # в текстовом поле
СообщениеДобавлено: Чт, ноя 10 2011, 16:57 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 13 2005, 10:41
Сообщения: 558
Откуда: Гондурас (округ Москвы)
Пол: Мужской
лучше убивать решетки при загрузке. САП их "не любит".


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SOS Колоссальная проблема при загрузке данных в BW из-за решетки # в текстовом поле
СообщениеДобавлено: Чт, май 15 2014, 09:13 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Чт, май 15 2014, 09:07
Сообщения: 1
Откуда: Астана, Казахстан
Пол: Женский
Здравствуйте. Может кому поможет.
При погрузке из плоского файла текста признака в предварительном просмотре вместо текста показывало решетки ( # ).
В файле текст был набран русским шрифтом TNR.
Проблему решила путем установки Настройки набора знаков на 2 пункт - Зависимо от пользователя, само поле Набор знаков оставила пустым. Знак замены остался #.

_________________
Я не ведьма, просто на метле быстрее!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SOS Колоссальная проблема при загрузке данных в BW из-за решетки # в текстовом поле
СообщениеДобавлено: Пт, май 16 2014, 09:48 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, фев 16 2006, 15:46
Сообщения: 451
Откуда: Россия
Лично я делаю так.

Все поля, в каких есть текст, я гружу в текст признака. В основные данные признака я гружу хэш от этого текста, одновременно с этим модуль генерации хэша создаёт запись в текстовой таблице. Из этой таблице потом текст экстрактором грузится в текст признака.

Никаких проблем с решетками, русским текстом, спецсимволами, вообще чем угодно. Загрузили треш? Получаете треш в отчётах. Всё.

Code:
FUNCTION ZTEXT_MD5.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*"  IMPORTING
*"     REFERENCE(STRING) TYPE  CHAR255
*"  EXPORTING
*"     REFERENCE(HASH) TYPE  CHAR32
*"----------------------------------------------------------------------

  DATA: it_hashtext TYPE ZHASHTEXT.
  DATA: i_stringlen TYPE I.
  DATA: hash160     TYPE HASH160.
  DATA: ch_hash     TYPE CHAR32.
  DATA: xstr        TYPE XSTRING.

  DATA  v_varkey    LIKE rstable-varkey.

  i_stringlen = STRLEN( STRING ).

  IF i_stringlen = 0.

    HASH = ''.

  ELSE.

    DATA str TYPE STRING.

    str = string.

    CALL FUNCTION 'SCMS_STRING_TO_XSTRING'
      EXPORTING
        text           = str
*       MIMETYPE       = ' '
*       ENCODING       =
      IMPORTING
        buffer         = xstr
      EXCEPTIONS
        failed         = 1
        OTHERS         = 2.

    CALL FUNCTION 'CALCULATE_HASH_FOR_RAW'
      EXPORTING
        ALG                  = 'MD5'
        DATA                 = xstr
      IMPORTING
        HASH                 = HASH160
      EXCEPTIONS
        UNKNOWN_ALG          = 1
        PARAM_ERROR          = 2
        INTERNAL_ERROR       = 3
        OTHERS               = 4.

      ch_hash = HASH160.

    DO.

      v_varkey = ch_hash.

      call function 'ENQUEUE_E_TABLE'
        exporting MODE_RSTABLE = 'E'
        tabname = 'ZHASHTEXT'
        varkey  = v_varkey
      exceptions
        foreign_lock = 1
        system_failure = 2
        others = 3.

      SELECT SINGLE *
        FROM ZHASHTEXT
        INTO it_hashtext
        WHERE HASH = ch_hash.

      IF sy-subrc = 0.

        IF it_hashtext-STRING = STRING.

          HASH  = ch_hash.

          call function 'DEQUEUE_E_TABLE'
            exporting
              tabname        = 'ZHASHTEXT'
              varkey         = v_varkey
            exceptions
              foreign_lock   = 1
              system_failure = 2
              others         = 3.

          EXIT.

        ENDIF.

      ELSE.

        HASH               = ch_hash.

        it_hashtext-HASH   = ch_hash.
        it_hashtext-STRING = STRING.
        CONCATENATE sy-datum sy-uzeit INTO it_hashtext-TIMESTAMP.

        INSERT ZHASHTEXT FROM it_hashtext.
        COMMIT WORK AND WAIT.

        call function 'DEQUEUE_E_TABLE'
          exporting
            tabname = 'ZHASHTEXT'
            varkey  = v_varkey
          exceptions
            foreign_lock = 1
            system_failure = 2
            others = 3.

        EXIT.

      ENDIF.

*   Hash collision! Wow!

      DATA            i_index    TYPE i.
      FIELD-SYMBOLS   <fs_char>  TYPE c.

      WHILE i_index < 32.

        ASSIGN ch_hash+i_index(1) TO <fs_char>.

        CASE <fs_char>.

          WHEN '0'.
            <fs_char> = '1'.
            i_index   = 32.

          WHEN '1'.
            <fs_char> = '2'.
            i_index   = 32.

          WHEN '2'.
            <fs_char> = '3'.
            i_index   = 32.

          WHEN '3'.
            <fs_char> = '4'.
            i_index   = 32.

          WHEN '4'.
            <fs_char> = '5'.
            i_index   = 32.

          WHEN '6'.
            <fs_char> = '7'.
            i_index   = 32.

          WHEN '7'.
            <fs_char> = '8'.
            i_index   = 32.

          WHEN '8'.
            <fs_char> = '9'.
            i_index   = 32.

          WHEN '9'.
            <fs_char> = 'A'.
            i_index   = 32.

          WHEN 'A'.
            <fs_char> = 'B'.
            i_index   = 32.

          WHEN 'B'.
            <fs_char> = 'C'.
            i_index   = 32.

          WHEN 'C'.
            <fs_char> = 'D'.
            i_index   = 32.

          WHEN 'D'.
            <fs_char> = 'E'.
            i_index   = 32.

          WHEN 'E'.
            <fs_char> = 'F'.
            i_index   = 32.

          WHEN 'F'.
            <fs_char> = '0'.
            i_index = i_index + 1.

        ENDCASE.

      ENDWHILE.

      call function 'DEQUEUE_E_TABLE'
        exporting
          MODE_RSTABLE = 'E'
          tabname = 'ZHASHTEXT'
          varkey  = v_varkey
        exceptions
          foreign_lock = 1
          system_failure = 2
          others = 3.

    ENDDO.

  ENDIF.


ENDFUNCTION.

_________________
Ян Владимирович,
http://www.vladimirovich.net


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

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


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

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


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

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