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

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


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

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


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

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