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

Массово изменить условия.
https://sapboard.ru/forum/viewtopic.php?f=51&t=93788
Страница 1 из 1

Автор:  Kirill91 [ Пт, окт 07 2016, 12:50 ]
Заголовок сообщения:  Массово изменить условия.

Приветствую всех!
Итак есть задача, необходимо исправить косяки миграции и массово отредактировать условия. В частности поле "Действительно с" (CONDVALIDFROM). Решил использовать LSMW, idoc BUS1505_CHANGE. Но проблема в том, что idoc не принимает на вход никаких IDшников(GUID например). Для однозначного определения обновляемого условия, необходимо задать 5 ключевых полей: CONDITION_TYPE, EXTERNAL_PURPOSE, CALCULATION_OBJECT_TYPE, CALCULATION_OBJECT_ID, VALID_FROM. Т.е. получается что мне нужно обновить одно из полей, значения которых я подаю на вход iDoc для однозначного определения условия.
https://scn.sap.com/thread/3213805 - вот здесь у человека подобная задача, меняет цель EXTERNAL_PURPOSE, там ему порекомендовали ограничивать старое условие по дате и создавать новое. Для меня данный вариант не подходит, т.к. мне необходимо ограничивать дату "дейстительно с" именно для уже заведённого условия.

Чёт как то замудрённо получилось). В общем похоже вариант с lsmw и iDoc не подходит. На ум приходит прямой update в таблице vicdcond, но как то страшновато. Есть ли ещё какие либо пути массового изменения даты условия "Действительно с" ?


Спасибо!

Автор:  bubenman [ Пт, окт 14 2016, 14:27 ]
Заголовок сообщения:  Re: Массово изменить условия.

Добрый день.

Так как вы описали сделать не получиться.
Поле VALID_FROM "Действительно с" является ключевым в составном ключе.
Чтобы его поменять, надо вначале удалить это условие, а потом вставить новое.
Удалять условие в договоре не получиться, если по этому условию были проводки. Система не даст этого сделать.
Менять VALID_FROM в таблицах не рекомендую - система пересчитает суммы в условии, и не факт, что для вашей реализации это будет корректно.
Безопасный вариант, ограничить срок действия текущего условия периодами выполненных проводок и вставить новые в требуемые интервалы.
Впрочем, тоже самое написано на форуме SCN.

Если вы еще не "старталули" в продуктиве, то при миграции неверно загруженные данные (договоры) можно смело удалить и загрузить заново скорректированные. А массовое удаление - отдельная тема.

Удачи.

Автор:  Kirill91 [ Вс, окт 16 2016, 22:52 ]
Заголовок сообщения:  Re: Массово изменить условия.

bubenman,
Спасибо за ответ.
Уже полтора года как стартанули, проводок уже много. Ограничить данные условия и завести новые - не вариант, это не решает мою задачу. Мне нужно подвинуть именно дату "действительно с" в текущих условиях. Похоже остаётся апрэйтить, стучать в бубен и молиться=)

Ещё обдумываю вариант с LSMW без iDoc проработать, но пока не получатся сделать чтоб по всем условиям проходило. Возможно ли такое LSMW реализовать?

Автор:  bubenman [ Вт, ноя 01 2016, 09:58 ]
Заголовок сообщения:  Re: Массово изменить условия.

Kirill91.

В какую именно сторону требуется подвинуть дату "действительно с" в условии договора?
Какие конкретно значения дат предполагаются менять: старые и новые?
Каков будет максимальный сдвиг дат?
Какие для этого есть существенные основания с точки зрения учета и бизнеса?

Автор:  Kirill91 [ Вт, ноя 01 2016, 11:11 ]
Заголовок сообщения:  Re: Массово изменить условия.  Тема решена

bubenman,
Опишу задачу более подробно: Условия действуют с древних дат(до начала работы в САП), соответсвенно денежный поток ограничен датой "денежный поток с" (RECNDPO) договора. Т.е. если необходимо отразить документ за период < RECNDPO, пользователь должен изменить RECNDPO. Но как правило, пользователь после изменения даты RECNDPO, не меняет даты "действительно с"(CONDVALIDFROM) всех лишних условий и генерит массу лишних денежных потоков. На которые в последствии могут быть ошибочно начислены резервы(ведение договоров и формирование проводок в зоне ответственности разных пользователей). В связи с этим, поставили запрет на редактирование обоих этих полей, для условий\договоров с проводками, а пользователей заставили проводить документы за период < RECNDPO через FI.
Для исправления ситуации, я решил массово изменить даты начала действия условий: если RECNDPO > CONDVALIDFROM, то CONDVALIDFROM := RECNDPO. И открыть возможность редактирования RECNDPO, с условием, что нов.зн. RECNDPO < (дата первого проведенного потока), чтобы не генерить ссыл. в/движений.

Форумчанин sonyericsson, посоветовал решение с использованием поля "первая проводка с" (CFPOSTINGFROM), которое на данный момент в нашей реализации процесса не задействовано.
Так же я нашел ещё одно решение, с накручиванием проверок при редактировании CONDVALIDFROM и RECNDPO. Т.е. заставить пользователя самостоятельно менять данные поля, без формирования лишних денежных потоков.

Получается, что сейчас задача с массовым изменением даты "действительно с"(CONDVALIDFROM) неактуальна, найдены другие решения.

Всем спасибо!)

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