Текущее время: Чт, апр 25 2024, 02:34

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




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Неправильно срабатывает проверка на позицию документа
СообщениеДобавлено: Пн, ноя 19 2018, 15:02 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Чт, май 10 2018, 14:54
Сообщения: 51
Откуда: Екатеринбург
Пол: Женский
Добрый день.
Прошу помочь найти ошибку в настройке проверки на позицию документа.
В транзакции MIGO (и в FB01) при проводке бух. документа необходимо запретить корреспонденцию между забалансовыми(ZXXXXXXX) и балансовыми (XXXXXXXX) счетами.
Делаю проверку в GGB0 на позицию документа.
Для MIGO:
Предпосылка: SYST-TCODE = 'MIGO' AND BSEG-WERKS = '1101' (это забалансовый завод)
Проверка:
BSEG-HKONT = 'Z0000000' AND BSEG-HKONT = 'Z9999999'
AND
BSEG-HKONT = 'Z0120000'
Сообщение (вывод при выполненной предпосылке и не выполненной проверке : Использовать баланс и забаланс одновременно запрещено.
При тестировании сообщение выводится как в случае 1) если BSEG-HKONT = 'Z0120000' и BSEG-HKONT = любой балансовый (не Z счет)- ЭТО ПРАВИЛЬНО, так и 2) при корреспонденции Z0000000(или Z9999999) с Z0120000 - это не правильно. Почему сообщение выводится при случае 2)?
И как правильно настроить проверку, чтобы сообщение выходило в случае корреспонденции любого Z счета с не Z счетом (не принципиально, какими, нужно запретить именно корреспонденцию Z с не Z)? Помогите пожалуйста разобраться.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Неправильно срабатывает проверка на позицию документа
СообщениеДобавлено: Пн, ноя 19 2018, 18:21 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
Проверку в которой проверяется совместно несколько позиций в документе без абапа не напишешь.

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Неправильно срабатывает проверка на позицию документа
СообщениеДобавлено: Пн, ноя 19 2018, 20:01 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 08:50
Сообщения: 1571
Откуда: Пермь
Пол: Мужской
1. Как уже верно подметил ветеран саповского цеха Kengur, на втором моменте проверок нельзя просто так получить доступ ко всем позициям документа. В распоряжении 2 момента есть структура (!!!) BSEG, и это только структура обрабатываемой в данный момент позиции. Про другие позиции документа второй момент (если ничего не предпринять) не знает.
2. Если все так, как Вы описали, то у Вас вообще никакое сообщение выходить не может ни при каких обстоятельствах. Потому что проверка BSEG-HKONT = 'Z0000000' AND BSEG-HKONT = 'Z9999999' AND BSEG-HKONT = 'Z0120000' всегда даст ЛОЖЬ. Дыня не может быть одновременно дыней, огурцом и ананасом. Одно и то же поле структуры не может одновременно принимать несколько значений.
3. Корреспонденция счетов и ее разбор - это процесс, непосредственно к проводке не относящийся. Наличие корреспонденции является всего лишь пожеланием компании. Иметь ее или нет, делать ее или нет - ее выбор. Разбор корреспонденции, если делать ее автоматом на open fi, начинается не ранее, чем событие 1030 для FI или 1050 для MIRO. Второй момент проверок срабатывает задолго до наступления этих событий. Если подходить к вопросу формально, то либо проверку выносить надо в эти события open fi, либо полностью имитировать процесс разбора на втором моменте, что сделать почти нереально даже опытному постановщику. Все, что можно сделать на втором моменте проверок, - это лишь подтвердить наличие в документе балансового и забалансового счета, но их наличие в одном документе не будет означать, что они вступят в корреспонденцию друг с другом.
Простой пример - курсовая разница по второй валюте БЕ. Например, валюта 1 - рубль, валюта 2 - USD. При выравнивании двух рублевых позиций между собой и при настроенной курсовой с типом валюты 30 (валюта концерна) на Z, T и прочие буквенные счета, родится документ структуры балансовый - балансовый - забалансовый.
Наличие в таком документе одновременно балансового и забалансового счета не является нарушением, но неизбежно приведет к выводу сообщения/предупреждения.

Поэтому если уж делать проверку, то
1. Обязательно ослабить сообщение до W (предупреждение).
2. Добавить в предпосылку ненулевое поле BSEG-WRBTR, чтобы исключить ложные срабатывания на курсовые и пр. ситуации, оставив в поле рассмотрения только реальные позиции, имеющие сумму.
3. Использовать второй момент можно, но тогда нужно забирать все позиции документа с помощью assign из предыдущей программы (посмотреть по стеку). Полученную таблицу лупить на предмет наличия балансового счета (индикатор зажечь), забалансового счета (индикатор зажечь). При обоих зажженных индикаторах для лучшей производительности покинуть луп и вывести warning.

_________________
Алё, это Пакистан? Нам нужен один килограмм


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Неправильно срабатывает проверка на позицию документа
СообщениеДобавлено: Вт, ноя 20 2018, 09:19 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
Yozhhhhh написал:
1. Обязательно ослабить сообщение до W (предупреждение).

такую проверку как раз всегда делают строго E. с забалансом шутки плохи

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Неправильно срабатывает проверка на позицию документа
СообщениеДобавлено: Вт, ноя 20 2018, 13:10 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Чт, май 10 2018, 14:54
Сообщения: 51
Откуда: Екатеринбург
Пол: Женский
Спасибо за ответ, но для меня очень сложно. Попрошу помощи у программиста. :wink:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Неправильно срабатывает проверка на позицию документа
СообщениеДобавлено: Вт, ноя 20 2018, 15:49 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 08:50
Сообщения: 1571
Откуда: Пермь
Пол: Мужской
Kengur написал(а):
такую проверку как раз всегда делают строго E. с забалансом шутки плохи

С забалансом шутки плохи, потому что основное уравнение баланса не будет соблюдено (актив = пассив).
Однако представь себе документ
КП 40 Z 100 руб
КП 50 Z 100 руб
КП 40 баланс 100 руб
КП 50 баланс 100 руб

Данный документ абсолютно корректный с точки зрения равенства баланса.
То, что он "корявый" с нашей с тобой точки зрения, не говорит о том, что он неконцептуальный для других.
SAP не запрещает проводить пару балансовых и пару забалансовых в одном документе.
На каком основании запрещать сохранение такого документа?
Здесь Z корреспондирует с Z, а баланс с балансом. Но понять этого на втором моменте невозможно, как я писал выше.
Разбор корреспонденции отрабатывает сильно позднее. Может, у людей вообще нет онлайн корреспонденции.
Ты хочешь всю логику разбора продублировать на втором моменте? Это извращение.

Вот поэтому либо предупреждение, либо тогда запрещать совмещение баланса и забаланса в одном документе вообще, то есть ошибку выдавать.
Но у меня вот лично выстреливает баланс и забаланс в одном документе все равно, потому что курсовая на валюте 30 идет на Т счет (не я придумал).
При выравнивании в рублях есть позиция с wrbtr 0, dmbtr 0. И непустой суммой в валюте 2.

_________________
Алё, это Пакистан? Нам нужен один килограмм


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Неправильно срабатывает проверка на позицию документа
СообщениеДобавлено: Вт, ноя 20 2018, 16:06 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 18:21
Сообщения: 1613
Если ты про то, что надо посчитать сальдо по всем балансовым и всем небалансовым счетам и оно должно быть 0, то это просто другой подход к данном проверке (кстати более правильный). Но все равно уровень должен быть E :D

_________________
я твой сап эфай внедрял
BAdI-позитив
Взять немножечко абопу, сунь туда кошачью *опу, RFC лапки, БТ старой бабки, на медленном базиснике переносить, тестовое окружение материть, снимать SAT пенку, биться головой о стенку, охапка тайм-шитов, отчет готов!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Неправильно срабатывает проверка на позицию документа
СообщениеДобавлено: Вт, ноя 20 2018, 18:13 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 08:50
Сообщения: 1571
Откуда: Пермь
Пол: Мужской
Kengur написал(а):
Если ты про то, что надо посчитать сальдо по всем балансовым и всем небалансовым счетам и оно должно быть 0, то это просто другой подход к данном проверке (кстати более правильный). Но все равно уровень должен быть E


У меня W и живем прекрасно :D

_________________
Алё, это Пакистан? Нам нужен один килограмм


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

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


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

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


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

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