Текущее время: Вт, сен 25 2018, 14:44

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




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: WPBPCS создает ненужный сплит APZNR, тем самым увеличивает сумму расчета по ВО 514A
СообщениеДобавлено: Пн, июн 05 2017, 14:56 
Ассистент
Ассистент

Зарегистрирован:
Сб, мар 18 2017, 16:54
Сообщения: 31
Здравствуйте, уважаемое SAP сообщество!

Посоветуйте, что можно предпринять для решения следующей проблемы:

В ИТ0014 введены следующие виды оплаты (ВО)
514A 01.01.2017-31.12.2017 (считается как 0,25 МТС - мин.тар.)
533A 01.01.2017-15.05.2017 2 ребенка
533A 16.05.2017-31.12.2017 1 ребенок

До мая месяца проблем не было. ВО 514A считался правильно, но в мае пошел сбой. В кластере появились 2 строки с разными сплитами APZNR, что в итоге дает 0,5

МТС:
3 514A 01 0.25
3 514A 02 0.25

Анализ лога расчета показал, что данные строки создаются в функции:
P0014 &U11 GEN NOAB Импорт периодических выплат/удержаний

В правиле &U11 для ВО 514A следующая логика:
&U11 * WGTYP?
&U11 * 514A RUSPL P?A
&U11 * 514A X GCYG&U11E
...
&U11 A 0 ADDWT *

Для ВО 533A
&U11 * WGTYP?
&U11 * **** GCYG&U11E
...
&U11 A 1 P0014 ELIMI A
&U11 A 1 P0014 WPBPCS - вот он корень зла. Именно тут разбивается таблица WPBP (
Code:
HRUCALC0_CE \ RPCBU309_OPWPBPC \ OPWPBPC
PERFORM split_wpbp_and_it TABLES sdates.
)

И в таблице IT для ВО 514A создается новая строка со сплитом APZNR 02:

Была
3 514A 01 0.25,
а стали
3 514A 01 0.25
3 514A 02 0.25

Ладно, думаю, реализую "чистку" и вставил после следующую конструкцию:
PIT ZW01 GEN NOAB Убрать лишние 514A

ZW01 * WGTYP?
ZW01 * 514A GCYGZW01B
ZW01 B OUTWPPAYSB
ZW01 B 02 RUSPL P?A
ZW01 B 02 X ADDWT *

Но почему-то для обеих строк RUSPL P?A выдает X и строки остаются.
Потом решил вместо RUSPL P?A использовать SPLIT A? и проверять на 01 сплит, но тем самым "накрыл" расчет всего предприятия , т.к. оказывается на выходе из

P0014 &U11 GEN NOAB у кого-то ВО 514A на 02, 03, 04 APZNR

Вот почему в P0014 RUSPL P?A оставляет запись ВО 514A только по последнему сплиту, а использование в PIT везде выдает X ?
Может можно как-то по-другому обойти данную проблему?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: WPBPCS создает ненужный сплит APZNR, тем самым увеличивает сумму расчета по ВО 514A
СообщениеДобавлено: Вт, июн 06 2017, 09:18 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 08:53
Сообщения: 1202
А что за ВО 514A? Как его расчет зависит от работы на конкретном рабочем месте? Или другими словами, как расчет 514A зависит от сплита APZNR?

Если зависимости нет, то зачем для него устанавливать сплит APZNR? Уберите сплит APZNR и ВО не будет сплитоваться по WPBP.
Если зависимость есть, то расчет необходимо выполнять по каждому сплиту отдельно с учетом сокращения каждого сплита.

Цитата:
WPBPCS - вот он корень зла. ... И в таблице IT для ВО 514A создается новая строка со сплитом APZNR 02

Ну, если WPBPCS именно для сплитования WPBP и предназначен, то странно удивляться.
До WPBPCS в WPBP была одна запись на весь месяц. При обработке ВО 514A был привязан к этой записи, что дает ему привязку на весь период. Вполне естественно, что когда WPBPCS дополнительно режет период на части, то сохраняет действие ВО 514A на весь период. Для этого приходиться создать новую запись. Ваша задача дальнейшие расчеты производить с учетом периода по WPBP. Либо вовсе не привязывать его к WPBP, тогда он не будет сплитоваться.

Цитата:
Но почему-то для обеих строк RUSPL P?A выдает X и строки остаются.

RUSPL P?A проверяет проверяет сплитование месяца расчета на самостоятельные части. Например, если сотрудник был уволен и принят повторно, то RUSPL P?A будет возвращать X для части после повторного периода. Если месяц на части не делиться, то RUSPL P?A всегда будет X, это не проверка сплитов по WPBP.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WPBPCS создает ненужный сплит APZNR, тем самым увеличивает сумму расчета по ВО 514A
СообщениеДобавлено: Вт, июн 06 2017, 10:31 
Специалист
Специалист

Зарегистрирован:
Чт, сен 20 2007, 08:13
Сообщения: 132
Посмотрите еще на 47 класс обработки. В стандартном правиле RU11 он используется для определения параметров сплитования ВО из ИТ0014 по WPBP. Если изменение в мае произошло, возможно кто-то изменил значение этого класса для 514A.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WPBPCS создает ненужный сплит APZNR, тем самым увеличивает сумму расчета по ВО 514A
СообщениеДобавлено: Вт, июн 06 2017, 13:47 
Ассистент
Ассистент

Зарегистрирован:
Сб, мар 18 2017, 16:54
Сообщения: 31
Спасибо вам RoustR и Figo за подробный ответ.
Уточнил у расчетчиков для чего так было сделано. Дело в том что частенько сотрудников переводят между БЕ, а также есть такие, кого увольняют и принимают на следующий день. Данный ВО 514A - мат.помощь матерям на детей считается в проценте от МТС - минимальной тарифной ставки (вводится в константах), вводят на год. Потому и используют RUSPL, чтобы запись в IT была в последнем сплите кластера.
Вот только как проблему решить при разбиении в пределах одного кластера по APZNR (WPBP)?
Имеется ли какая-нибудь операция по определению номера последнего сплита WPBP, чтобы потом используя SPLIT ? убрать ненужные записи?


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: WPBPCS создает ненужный сплит APZNR, тем самым увеличивает сумму расчета по ВО 514A
СообщениеДобавлено: Вт, июн 06 2017, 14:48 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 08:53
Сообщения: 1202
Вариант 1. Посмотрите правило &U11 для 533A. Там сеть ELIMI A. Попробуйте прописать эту операцию там же для 514A. Там самым погаситься сплит по WPBP. Скорее всего дублирование записи после этого уйдет.

Вариант 2. Если же дорабатывать ваше правило ZW01, то не обязательно проверять конкретный сплит. Можно сделать это через переменную. На первой записи сохранить значение в переменную, типа знака того, что первую запись обработали. Далее проверяем, что переменная установлена, если так, то ничего не делаем.
Что-то типа такого.
Code:
         D WGTYP?
514A     D NUM=& ZW01NUM?0
514A * 
514A =     NUM=*     ADDWT *   ADDWT&ZW01
...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: WPBPCS создает ненужный сплит APZNR, тем самым увеличивает сумму расчета по ВО 514A  Тема решена
СообщениеДобавлено: Вт, июн 06 2017, 15:13 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, ноя 25 2011, 18:37
Сообщения: 251
проверка на последний сплит wpbp делается с помощь операции WPALL?LAST

_________________
Зачем делать просто, когда можно сделать круто?!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: WPBPCS создает ненужный сплит APZNR, тем самым увеличивает сумму расчета по ВО 514A
СообщениеДобавлено: Ср, июн 07 2017, 11:49 
Ассистент
Ассистент

Зарегистрирован:
Сб, мар 18 2017, 16:54
Сообщения: 31
Огромное спасибо Вам ZGilgelad (за WPALL?LAST) и Вам RoustR (обязательно воспользуюсь механизмом с переменными, очень дельный совет).
Анализ показал, что по всем сотрудникам за май (да и по всем остальным периодам) ВО 514A записан на последний активный сплит таблицы WPBP. ( т.е. если в WPBP 3 записи 01 02 03, то ВО 514A записывается на 03). В связи с тем, что изначально в правиле я привязался к первому сплиту, то естественно, многие ТН сторнировались.
Использовал WPALL?LAST, все успешно, даже по ТН, у которого 5 сплитов WPBP, последние 2 после увольнения (неактивные), ВО 514A на 03 сплите).


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: WPBPCS создает ненужный сплит APZNR, тем самым увеличивает сумму расчета по ВО 514A
СообщениеДобавлено: Ср, июн 07 2017, 12:28 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 08:53
Сообщения: 1202
megavolt написал(а):
Использовал WPALL?LAST, все успешно, даже по ТН, у которого 5 сплитов WPBP, последние 2 после увольнения (неактивные), ВО 514A на 03 сплите).


Только учтите, что в общем случае WPALL?LAST, это практически тоже самое, что и проверка на 1-й сплит, с которым у вас не все получилось. Вам ведь нужен не просто последний сплит, а последний сплит, в котором есть проблемный ВО. Пока это одно и тоже, будет работать, если нет (ВО введен не до конца месяца) - сломается.


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

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


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

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


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

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