Текущее время: Вт, июл 29 2025, 00:40

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


Правила форума


Вопросы по ППМ (MRP) - сюда.
Вопросы по классификации - сюда.
Вопросы по входящим поставкам - сюда.



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Нумерация партий
СообщениеДобавлено: Пт, мар 27 2009, 12:48 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1594
Откуда: Москва, Минск
Пол: Мужской
Добрый день.
Столкнулись со следующей проблемой:
Необходимо при вводе документа ПМ всем позициям документа присваивать партию с одинаковым номером.
Задумка была такая:
1. Деактивировать автоматическую нумерацию партий. Объект дисп. номеров BATCH_CLT. Диапазон 01.
2. В экзите нумерации(EXIT_SAPLV01Z_002 или EXIT_SAPMM07M_010) определять следующий номер диапазона, заменять первые 4 цифры на номер года и месяца и таким образом определять один номер партии для всех позиций документа ПМ.
Определять следующий номер диапазона хотел с помощью ФМ NUMBER_GET_NEXT, но т.к. экзит отрабатывает для каждой позиции документа, то при каждом входе в экзит при вызове ФМ следующий номер диапазона будет на единицу больше предыдущего :(
Подскажите, пожалуйста, возможно кто-то реализовывал подобное, т.е. единый номер партии для всех позиций документа, с определением номера через диапазон номеров?

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


Последний раз редактировалось DED_MOROZ Пт, мар 27 2009, 14:47, всего редактировалось 1 раз.

Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Нумерация партий
СообщениеДобавлено: Пт, мар 27 2009, 12:52 
Гуру-модератор
Гуру-модератор

Зарегистрирован:
Ср, окт 05 2005, 12:13
Сообщения: 2032
Откуда: Москва
Пол: Мужской
Можно попробовать NUMBER_GET_NEXT вызывать только первый раз. И полученный номер записывать или в статическую переменную. Или просто через memory id. Я бы в АВАР написал, там кмк получше ответят

_________________
Наверное, Боги сошли с ума.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Нумерация партий
СообщениеДобавлено: Пт, мар 27 2009, 13:16 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1594
Откуда: Москва, Минск
Пол: Мужской
Т.е. только для первой позиции документа?

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Нумерация партий
СообщениеДобавлено: Пт, мар 27 2009, 13:24 
Специалист
Специалист

Зарегистрирован:
Чт, июл 14 2005, 08:38
Сообщения: 239
Откуда: Запорожье, Украина
Пол: Мужской
DED_MOROZ написал:
Добрый день.
Столкнулись со следующей проблемой:
Необходимо при вводе документа ПМ всем позициям документа присваивать партию с одинаковым номером.
Задумка была такая:
1. Активировать автоматическую нумерацию партий. Объект дисп. номеров BATCH_CLT. Диапазон 01.
2. В экзите нумерации(EXIT_SAPLV01Z_002 или EXIT_SAPMM07M_010) определять следующий номер диапазона, заменять первые 4 цифры на номер года и месяца и таким образом определять один номер партии для всех позиций документа ПМ.
Определять следующий номер диапазона хотел с помощью ФМ NUMBER_GET_NEXT, но т.к. экзит отрабатывает для каждой позиции документа, то при каждом входе в экзит при вызове ФМ следующий номер диапазона будет на единицу больше предыдущего :(
Подскажите, пожалуйста, возможно кто-то реализовывал подобное, т.е. единый номер партии для всех позиций документа, с определением номера через диапазон номеров?


В EXIT_SAPLV01Z_002 объявляете :
statics: s_charg TYPE charg_d.

Далее:
if s_charg is initial.
ФМ NUMBER_GET_NEXT,
и полученную партию присваиваем s_charg
else.
партия равна s_charg
endif.

Только нужно проверить, как это будет в MIGO работать, если нажать кнопку "Новый документ" и не выйти из транзакции


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Нумерация партий
СообщениеДобавлено: Пт, мар 27 2009, 14:53 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1594
Откуда: Москва, Минск
Пол: Мужской
В EXIT_SAPLV01Z_002 объявляете :
statics: s_charg TYPE charg_d.

Далее:
if s_charg is initial.
ФМ NUMBER_GET_NEXT,
и полученную партию присваиваем s_charg
else.
партия равна s_charg
endif.

Только нужно проверить, как это будет в MIGO работать, если нажать кнопку "Новый документ" и не выйти из транзакции[/quote]


Но тогда если s_charg -не пусто, то нужно проверять естьли хотя бы одна запись с charg= s_charg в таблице MCHA. И если запись есть еще раз дергать NUMBER_GET_NEXT.
Потому что, если вводить несколько документов не выходя из MIGO, то все позиции поступят в партию с одним номером т.к., переменная statics чистится не будет.
Или я не прав?

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Нумерация партий  Тема решена
СообщениеДобавлено: Пт, мар 27 2009, 15:06 
Специалист
Специалист

Зарегистрирован:
Чт, июл 14 2005, 08:38
Сообщения: 239
Откуда: Запорожье, Украина
Пол: Мужской
DED_MOROZ написал:
Но тогда если s_charg -не пусто, то нужно проверять естьли хотя бы одна запись с charg= s_charg в таблице MCHA. И если запись есть еще раз дергать NUMBER_GET_NEXT.
Потому что, если вводить несколько документов не выходя из MIGO, то все позиции поступят в партию с одним номером т.к., переменная statics чистится не будет.
Или я не прав?

Да, это возможно.

Вариантов несколько:
- или делать проверку а MCHA (MCH1)
- или реализовать не через statics, а через свою глобальную переменную


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

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


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

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


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

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