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

Внешнее присвоение номера для FI документа
https://www.sapboard.ru/forum/viewtopic.php?f=5&t=98812
Страница 1 из 1

Автор:  paho [ Пт, июн 26 2020, 15:28 ]
Заголовок сообщения:  Внешнее присвоение номера для FI документа

Стоит задача сделать внешнюю нумерацию для FI документа. Не могу найти нужный экзит или BTE Event, где можно сгенирировать номер по своей логике.
возможно кто нибудь может подсказать?

Автор:  Kengur [ Сб, июн 27 2020, 13:28 ]
Заголовок сообщения:  Re: Внешнее присвоение номера для FI документа

Это делается через диапазоны номеров. Но лучше так не делать, а хранить номер в поле документа.

Автор:  Yozhhhhh [ Сб, июн 27 2020, 15:14 ]
Заголовок сообщения:  Re: Внешнее присвоение номера для FI документа

У Вас номер документа генерироваться должен по какой-то своей логике с учетом каких-либо других полей в этом документе (то есть нужно будет, чтобы хотя бы что-нибудь уже введено было, например, вид документа, дата проводки и пр.) или на основе какой-то другой информации, не имеющей отношения к вводимому документу?

Если первое, то можно попробовать так:
- генерацию внешнего номера сделать на первом моменте замещений (8 логический класс)
- предварительно в GB01 снять BEXCLUDE с BKPF-BELNR
- поскольку корректность и уникальность введенного номера в LFACSU23 проверяется раньше, чем начнут работу замещения, в поле "Номер документа" на момент старта должно что-то уже существовать. Почему бы не использовать для этих целей технический символ, быстрый и удобный, который на деле еще и станет дополнительной предпосылкой. Например, @. То есть ввод собачки означает запуск движка по генерации внешнего номера. Отсутствие собачки - стандартный функционал ввода внешнего номера со стороны пользователя.
- нужно учесть, что эта собачка должна удовлетворять заданному интервалу "с" и "по" в nriv. Если там будут указаны специфические диапазоны, то нужно будет дополнительно подумать.
- поскольку в LFACSU23 контролируется отсутствие введенного номера в БД (до работы замещений), нужно предусмотреть, чтобы с технической собачкой никогда не было документов в базе. Для этой цели на том же самом первом моменте нужно предусмотреть обширную проверку, чтобы собачка никогда не создалась. Это сработает, потому что замещение отработает раньше проверки. А если что-то просочится все же, то собачка никогда не будет создана.
Учитывайте, что первый момент в проверках и замещениях отрабатывает единожды в FB01 (когда совершается переход к нижнему колонтитулу) либо несколько раз (в FB60 и других enjoy). Поэтому в enjoy нужно дополнительно контролировать, что замещение уже отрабатывало (опять же замещенная собачка больше не собачка, замещение не начнет работу).

Не нужно использовать для этого третий момент, это небезопасно.

Если второе (номер никак не зависит от введенных ранее параметров заголовка), то точно также можно использовать 8 логический класс.
Можно также рассмотреть BTE 1080. Он отвечает за размещение новых кнопок в верхней части экрана. Кнопки никакого отношения к задаче не имеют, а вот отправить значение сгенерированного документа в параметр BLN вполне можно. 1080 отрабатывает самым первым из всего, что вообще существует в FB01 и в enjoy. Но там надо проверять, что раньше наступит (поля кушают значения параметров или вызывается 1080). В любом случае я бы этот вариант рассматривал как запасной, потому что компоненты системы надо использовать по назначению.

Можно и неявное расширение внутри LFACSU23 сделать в соответствующей подпрограмме.

Вариантов решения Вашей задачи несколько.

Автор:  paho [ Пн, июн 29 2020, 15:23 ]
Заголовок сообщения:  Re: Внешнее присвоение номера для FI документа

проблема в том, что большинство документов приходит через интерфейс и их надо нумеровать по определенной логике + диапазона в 10 номеров не хватает, так как 4000 документов в минуту.

Автор:  darkduck [ Пн, июн 29 2020, 17:31 ]
Заголовок сообщения:  Re: Внешнее присвоение номера для FI документа

В таком случае стоит вопрос применимости SAP Finance для Ваших задач. Наверняка есть специализированные решения для такого потока документов, например, Retail, Utilities и им подобные.

Автор:  Yozhhhhh [ Пн, июн 29 2020, 20:32 ]
Заголовок сообщения:  Re: Внешнее присвоение номера для FI документа

paho написал:
проблема в том, что большинство документов приходит через интерфейс и их надо нумеровать по определенной логике + диапазона в 10 номеров не хватает, так как 4000 документов в минуту.

Почему диапазона в 10 разрядов не хватает? Поле BELNR символьного типа с альфой. Вы туда можете буквы писать. Если использовать только буквы латинского алфавита, то это 10 в 26 степени значений, а на деле их еще больше, так как вы можете и русские символы использовать. В случае с внутренней нумерацией этих номеров может быть 10 в 10 степени. Разница во внешней нумерации дает колоссальное преимущество. Вы сюда можете миллионы документов в день толкать.
Если документы летят через интерфейс, то еще проще - на стороне номер определяйте и подставляйте его прямым значением в свой интерфейс.

Автор:  paho [ Вт, июн 30 2020, 10:54 ]
Заголовок сообщения:  Re: Внешнее присвоение номера для FI документа

darkduck написал:
В таком случае стоит вопрос применимости SAP Finance для Ваших задач. Наверняка есть специализированные решения для такого потока документов, например, Retail, Utilities и им подобные.

как раз ретейл и с FI-CA on top

Автор:  paho [ Вт, июн 30 2020, 10:55 ]
Заголовок сообщения:  Re: Внешнее присвоение номера для FI документа

Yozhhhhh написал:
paho написал:
проблема в том, что большинство документов приходит через интерфейс и их надо нумеровать по определенной логике + диапазона в 10 номеров не хватает, так как 4000 документов в минуту.

Почему диапазона в 10 разрядов не хватает? Поле BELNR символьного типа с альфой. Вы туда можете буквы писать. Если использовать только буквы латинского алфавита, то это 10 в 26 степени значений, а на деле их еще больше, так как вы можете и русские символы использовать. В случае с внутренней нумерацией этих номеров может быть 10 в 10 степени. Разница во внешней нумерации дает колоссальное преимущество. Вы сюда можете миллионы документов в день толкать.
Если документы летят через интерфейс, то еще проще - на стороне номер определяйте и подставляйте его прямым значением в свой интерфейс.

как раз надо сделать генерацию с буквами. вот и вопрос. где разместить логику?

Автор:  darkduck [ Вт, июн 30 2020, 11:36 ]
Заголовок сообщения:  Re: Внешнее присвоение номера для FI документа

paho написал:
darkduck написал:
В таком случае стоит вопрос применимости SAP Finance для Ваших задач. Наверняка есть специализированные решения для такого потока документов, например, Retail, Utilities и им подобные.

как раз ретейл и с FI-CA on top

Вот и не надо тогда всё в SAP FI запихивать. Агрегируйте в специализированных функциональностях.

Автор:  Kengur [ Ср, июл 01 2020, 16:51 ]
Заголовок сообщения:  Re: Внешнее присвоение номера для FI документа

Автор сам себе в ногу стреляет. Не понятно с какого такое количество документов нужно генерить в принципе. Потом начнутся проблемы с пересечение сгенеренных значений. Потом проблемы с пересечением уже сохраненных значений.

Автор:  paho [ Ср, июл 01 2020, 17:31 ]
Заголовок сообщения:  Re: Внешнее присвоение номера для FI документа

вроде за советом только обратился.Крупный ретейл, в нормальный день поток документов 4000 в минуту, в пики до 20к. Все в FI-CA группируется, но есть требования CO к profitability segment attribute , из-за этого невозможно сгруппировать позиции. Какой тогда выход? В системе 60млн артиклей только.
SAP тоже работает над решением и они не предлагают какое-то специализированное дополнительное решение. Решил еще тут спросить, может кто уже генерировал номер документа

Автор:  Yozhhhhh [ Чт, июл 02 2020, 18:43 ]
Заголовок сообщения:  Re: Внешнее присвоение номера для FI документа

Я выше уже написал. Проблемы с объемом не вижу.
Проблемы с пересечением номеров не вижу. 10 разрядов для этого хватает за глаза.
Нумерацию документов делать зависимой от года. То есть начинать сначала.
По поводу интерфейсов. Раз вы интерфейс дергаете, то на входе уже имеете ведь набор данных.
Что за интерфейс используете? Через Idoc кидаете?

Автор:  Kengur [ Чт, июл 02 2020, 20:21 ]
Заголовок сообщения:  Re: Внешнее присвоение номера для FI документа

paho написал:
вроде за советом только обратился.Крупный ретейл, в нормальный день поток документов 4000 в минуту, в пики до 20к. Все в FI-CA группируется, но есть требования CO к profitability segment attribute , из-за этого невозможно сгруппировать позиции. Какой тогда выход? В системе 60млн артиклей только.
SAP тоже работает над решением и они не предлагают какое-то специализированное дополнительное решение. Решил еще тут спросить, может кто уже генерировал номер документа

Вот уже ближе к теме. В ритейле отдельные проводки не проводятся именно потому что это никому не надо. SAP CAR делает агрегацию и потом проводится большой документ.

Что у вас за необходимость проводить отдельными документами совсем не ясно. Базу вы так очень быстро переполните, будут потом проблемы во всех остальных местах, кроме вашего решения по генерации номеров. Плюсь проблемы будут с производительностью.

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