Текущее время: Сб, авг 23 2025, 04:05

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




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Замена символа в таблице
СообщениеДобавлено: Ср, янв 23 2013, 10:37 
Специалист
Специалист

Зарегистрирован:
Пн, дек 26 2011, 18:05
Сообщения: 110
Откуда: МСК
Пол: Мужской
Уважаемые коллеги!

Помогите решить стандартную задачку для программиста.

Иммется DSO в который загружаются данные из текстовых файлов. По осути просто таблица. В некоторых ячейках этой таблицы распологается символ Х. Задача: при загрузке в DSO нужно удалить(заменить на пусто) все Х.

Все заранее спасибо :)

PS

Как вариант можно на каждое поле в DSO повесить формулу, но это слишком брутально :) Хочется чего-то более красивого, типа программы запуска/завершения


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Замена симвала в таблице
СообщениеДобавлено: Ср, янв 23 2013, 11:17 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, ноя 03 2006, 08:10
Сообщения: 476
Откуда: Архангельск
Пол: Мужской
Tiktuger написал:
Уважаемые коллеги!

Помогите решить стандартную задачку для программиста.

Иммется DSO в который загружаются данные из текстовых файлов. По осути просто таблица. В некоторых ячейках этой таблицы распологается символ Х. Задача: при загрузке в DSO нужно удалить(заменить на пусто) все Х.

Все заранее спасибо :)

PS

Как вариант можно на каждое поле в DSO повесить формулу, но это слишком брутально :) Хочется чего-то более красивого, типа программы запуска/завершения


ну включите в цепочку перед запуском инфопакета вызов внешней программы запуска/завершения, будет Вам красиво.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Замена симвала в таблице
СообщениеДобавлено: Ср, янв 23 2013, 11:21 
Специалист
Специалист

Зарегистрирован:
Пн, дек 26 2011, 18:05
Сообщения: 110
Откуда: МСК
Пол: Мужской
Проблема в том, чтобы написать саму программу :)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Замена симвала в таблице
СообщениеДобавлено: Ср, янв 23 2013, 12:32 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, ноя 03 2006, 08:10
Сообщения: 476
Откуда: Архангельск
Пол: Мужской
Tiktuger написал:
Проблема в том, чтобы написать саму программу :)


если это замена текста в текстовом файле, то есть готовые программы и они порою даже входят в состав команд ОС. Внешние программы могут быть вмонтированы в BW посредством определения внешних команд, делается через SPRO. Учтите, что программы выполняются на сервере.
Или Вам программу написать?


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

Зарегистрирован:
Пн, дек 26 2011, 18:05
Сообщения: 110
Откуда: МСК
Пол: Мужской
Вообще говоря меня интерисует сама программа :) Её я поанировал использовать в подпрограмме запуска в трансформации.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Замена символа в таблице
СообщениеДобавлено: Чт, янв 24 2013, 04:55 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, фев 09 2011, 07:19
Сообщения: 753
Откуда: Сибирь
Пол: Мужской
Есть примеры удаления/заменя некорректных символов, можно переделать для замены любых других символов, например:
http://02081977.blogspot.ru/2012/06/blog-post.html

_________________
Ешьте рыбу, в ней фосфор.
__
Чат в Telegram по SAP BW: http://t.me/BW_SAP


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Замена символа в таблице
СообщениеДобавлено: Чт, янв 24 2013, 09:19 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, ноя 26 2010, 20:07
Сообщения: 240
Пол: Мужской
Добрый день, в случае если символ "X" необходимо на " " для одного конкретного поля, то можно использовать правило в трансформации для изменяемого поля (как вариант использовать ABAP-подпрограмму, для максимальной гибкости расчетов). В случае если символ "X" встречается во многих полях загружаемых данных, то можно использовать подпрограммы запуска/завершения трансформации, в связи с этим рекомендую ознакомиться с этим документом или обратитесь к теме viewtopic.php?f=12&t=74140&start=0


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Замена символа в таблице
СообщениеДобавлено: Чт, янв 24 2013, 15:47 
Специалист
Специалист

Зарегистрирован:
Пн, дек 26 2011, 18:05
Сообщения: 110
Откуда: МСК
Пол: Мужской
В моем случае Х может встречаться в любых ячейках случайным образом.

Посмотрел тему, которую вы скинули. Вы использовали следующую конструкцию:

LOOP AT SOURCE_PACKAGE ASSIGNING <SOURCE_FIELDS>.
REPLACE ALL OCCURRENCES OF 'Х' IN <RESULT_FIELDS>-/"КОНКРЕТНОЕ ПОЛЕ" WITH ''.
ENDLOOP.

ВОПРОС:

В своей программе вы перечислили несколько полей источника. А мне нужно сделать так, чтобы программа пробегалась по всем полям. Вопрос в том, как это запрограммировать?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Замена символа в таблице
СообщениеДобавлено: Пн, янв 28 2013, 10:16 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, ноя 26 2010, 20:07
Сообщения: 240
Пол: Мужской
Code:
REPLACE  ALL OCCURRENCES OF '#' IN TABLE SOURCE_PACKAGE WITH SPACE.


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

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


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

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


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

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