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/ |