Текущее время: Ср, июн 25 2025, 07:50

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


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

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


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

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