SAPфорум.RU
https://sapboard.ru/forum/

Частичное удаление данных из цепочки
https://sapboard.ru/forum/viewtopic.php?f=12&t=69013
Страница 1 из 1

Автор:  Amity [ Сб, апр 23 2011, 15:46 ]
Заголовок сообщения:  Частичное удаление данных из цепочки

Добрый день!
Подскажите, пожалуйста, возможно ли в цепочке по заданным параметрам в инфо-пакете удалить данные из ОДС и куба? (интересует частичное удаление). Как это лучше сделать? Есть ли ФМ-мы подходящие?

Автор:  VV7 [ Сб, апр 23 2011, 21:39 ]
Заголовок сообщения:  Re: Частичное удаление данных из цепочки

Можете попробовать повесить в цепочку IP-фцию удаления по требуемым параметрам.

Автор:  Amity [ Вс, апр 24 2011, 17:43 ]
Заголовок сообщения:  Re: Частичное удаление данных из цепочки

VV7 написал(а):
Можете попробовать повесить в цепочку IP-фцию удаления по требуемым параметрам.

Хотелось бы ограничиться только абапом. Конечная цель - пользовательский интерфейс загрузки и удаления данных.

Автор:  VV7 [ Вс, апр 24 2011, 21:03 ]
Заголовок сообщения:  Re: Частичное удаление данных из цепочки

Там тем более IP удобнее - можно книжку сделать и из нее необходимы функционал - пользователю такое всяко ИМХО будет удобнее

Автор:  Amity [ Вс, апр 24 2011, 22:08 ]
Заголовок сообщения:  Re: Частичное удаление данных из цепочки

VV7 написал(а):
Там тем более IP удобнее - можно книжку сделать и из нее необходимы функционал - пользователю такое всяко ИМХО будет удобнее

Неужели абапом никак? А с точки зрения удобства - по аналогии с уже работающими Z* транзакциями хотелось бы сделать

Автор:  VV7 [ Вс, апр 24 2011, 22:46 ]
Заголовок сообщения:  Re: Частичное удаление данных из цепочки

АВАРом можно все.. :) только охота экраны самим писать, да и кучи Zов ежели есть стандарт..

Автор:  Amity [ Вс, апр 24 2011, 22:58 ]
Заголовок сообщения:  Re: Частичное удаление данных из цепочки

VV7 написал(а):
АВАРом можно все.. :) только охота экраны самим писать, да и кучи Zов ежели есть стандарт..

Всё не так страшно SS достаточно, с корректной обработкой параметров. Z- транзакцией накрывается вызов ФМ-ма вида RSPC_CHAIN_START, в который нужно всего лишь передать имя цепочки и параметры запуска.
ФМ для частичного удаления нашла это RSDRD_SEL_DELETION. Протестировала - кажется всё ок. Если кто знает подводные камни такого удаления - поделитесь пожалуйста.

Автор:  Air_demon [ Пн, апр 25 2011, 12:34 ]
Заголовок сообщения:  Re: Частичное удаление данных из цепочки

Есть еще программа RSDRD_DELETE_FACTS, которая генерирует отчет для частичного удаления данных из цели. Я использовал как-то такой сгенерированный отчет в своей цепочке. Из "подводных камней" наткнулся только на то, что этот отчет надо перегенерировать при изменении состава признаков в цели и генерируется он для пакета TMP, т.е. его либо надо руками перебросить в нужный пакет разработок, либо не забыть сгенерировать в продуктивной системе.

Автор:  G [ Пн, апр 25 2011, 12:45 ]
Заголовок сообщения:  Re: Частичное удаление данных из цепочки

Когда запускаете выборочное удаление данных из куба, при нажатии кнопки "КритВыбора удаления", после выборов критериев можно поставить внизу галку "Просмотр сгенериров. отчета" и нажать F8. Появится не сильно хитрый код удаления данных.

Но все же рекомендую Вам сделать сторнирующую загрузку куба из себя в себя (актуально для BW7). Это позволит откатить ошибочные удаления и не испортит дельту, если из куба что-то дальше загружается.

Автор:  Amity [ Пн, апр 25 2011, 15:14 ]
Заголовок сообщения:  Re: Частичное удаление данных из цепочки

G написал:
Когда запускаете выборочное удаление данных из куба, при нажатии кнопки "КритВыбора удаления", после выборов критериев можно поставить внизу галку "Просмотр сгенериров. отчета" и нажать F8. Появится не сильно хитрый код удаления данных.

Спасибо, G! Не знала, что всё так просто, в самом деле в коде мой ФМ, и не нужно никакой трассировки!

G написал:
Но все же рекомендую Вам сделать сторнирующую загрузку куба из себя в себя (актуально для BW7). Это позволит откатить ошибочные удаления и не испортит дельту, если из куба что-то дальше загружается.

А можно про сторнирующую загрузку подробнее? Или отправьте куда почитать. Заранее благодарна

Автор:  Amity [ Пн, апр 25 2011, 15:16 ]
Заголовок сообщения:  Re: Частичное удаление данных из цепочки

Air_demon написал(а):
Есть еще программа RSDRD_DELETE_FACTS, которая генерирует отчет для частичного удаления данных из цели. Я использовал как-то такой сгенерированный отчет в своей цепочке. Из "подводных камней" наткнулся только на то, что этот отчет надо перегенерировать при изменении состава признаков в цели и генерируется он для пакета TMP, т.е. его либо надо руками перебросить в нужный пакет разработок, либо не забыть сгенерировать в продуктивной системе.

Air_demon, спасибо, за ответ. Буду иметь в виду. В данной ситуации ФМ вполне устраивает.

Автор:  G [ Вт, апр 26 2011, 14:36 ]
Заголовок сообщения:  Re: Частичное удаление данных из цепочки

Amity написала:
А можно про сторнирующую загрузку подробнее? Или отправьте куда почитать. Заранее благодарна

Я в загрузках не шибко силен и не понимаю почему этой возможностью не пользуются. Видимо вреда больше, чем пользы.
А по существу:
1. Настраиваете загрузку куба в самого себя.
2. Настраиваете трансформацию так, что все показатели считаются по формуле ZMYKF = 0 - ZMYKF
3. Настраиваете фильтр в пакете как в выборочном удалении.
4. Запускаете пакет.

Грабли вижу такие:
Если удалить какой либо из запросов в кубе до сторнирующего удаления -- данные в кубе будут некорректные. Т.е. нужно будет удалять еще и сторнирующий запрос. и перезапускать его для всех запросов до удаленного сторнирующего запроса и его еще потом взять на спецучет, чтобы не забыть удалить если будет удален еще старый запрос.
Запутаться легко. Но у меня таких случаев, чтобы надо было старые запросы удалять не было.

Автор:  ulnyrov.is [ Вт, янв 17 2017, 08:48 ]
Заголовок сообщения:  Re: Частичное удаление данных из цепочки

G написал:
Amity написала:
А можно про сторнирующую загрузку подробнее? Или отправьте куда почитать. Заранее благодарна

Я в загрузках не шибко силен и не понимаю почему этой возможностью не пользуются. Видимо вреда больше, чем пользы.
А по существу:
1. Настраиваете загрузку куба в самого себя.
2. Настраиваете трансформацию так, что все показатели считаются по формуле ZMYKF = 0 - ZMYKF
3. Настраиваете фильтр в пакете как в выборочном удалении.
4. Запускаете пакет.

Грабли вижу такие:
Если удалить какой либо из запросов в кубе до сторнирующего удаления -- данные в кубе будут некорректные. Т.е. нужно будет удалять еще и сторнирующий запрос. и перезапускать его для всех запросов до удаленного сторнирующего запроса и его еще потом взять на спецучет, чтобы не забыть удалить если будет удален еще старый запрос.
Запутаться легко. Но у меня таких случаев, чтобы надо было старые запросы удалять не было.


Мне нравится такой способ. Но у меня есть пара вопросов.
На текущий момент у меня ежедневно в куб вставляется порядка 70 млн записей (причем полей тоже очень много, порядка 100). Т.е. таблица фактов очень тяжелая. Куб накопительный, грузится поквартально и хранит все за предыдущие года. На текущий момент через программу RSDRD_SEL_DELETION происходит выборочное удаление загружаемого квартала. С каждым месяцем выборочное удаление выполняется все дольше и исправление индексов рассчитывается просто не реально долго, до 4-5 часов.
На данном этапе хочу каким-нибудь способом ускорить, хотя бы, выборочное удаление. Как думаете, через загрузку из себя в себя сторнировать всю предыдущую загрузку будет быстрее работать чем выборочное удаление? Но тогда объем куба вырастет просто в разы, а он и так ооочень объёмный.

Может быть есть еще какие-то способы ускорения выборочного удаления?

Автор:  murmur [ Вт, янв 17 2017, 10:35 ]
Заголовок сообщения:  Re: Частичное удаление данных из цепочки

Удаление данных с использованием перекрывающих условий выбора. После гарантированного закрытия отчетного периода (квартала) сжимаете куб

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/