Текущее время: Вс, июл 06 2025, 21:14

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


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


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: NUMBER_GET_NEXT
СообщениеДобавлено: Вс, дек 08 2013, 13:21 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Чт, янв 28 2010, 15:25
Сообщения: 89
Добрый день.
Что-то я в ступоре.
Использую NUMBER_GET_NEXT. Номер получаю, все норм...
Только проблема в том, что он мне нужен "предварительно!!"... И если нажать, BACK то сохранять это значение мне не нужно..

Иными словами в 1 экране получаю номер: 0001, нажимаю BACK... Затем снова захожу на 1 экран и номер у меня уже 0002, а мне нужно снова 0001..

как-то так...
Подскажите, есть ли какой-то функционал который "откатывает" действие BANUMBER_GET_NEXT?

Спасибо!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: NUMBER_GET_NEXT
СообщениеДобавлено: Вс, дек 08 2013, 13:59 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, окт 22 2009, 12:41
Сообщения: 473
Мне казалось, что действие NUMBER_GET_NEXT необратимо. Это сделано, чтобы уменьшить вероятность дубликатов.
Что значит откатить? Ты получил номер 1. Следом за тобой другая транзакция получила номер 2 и сохранила результат в базу. Ты нажал BACK. Куда откатывать, какой номер сделать текущим?
Обычно стандартные транзакции используют временные номера (типа &000000001), которые в последний момент заменяются на "настоящие".

Можешь попробовать использовать NUMBER_GET_INFO, но учти, что когда при сохранении вызовешь NUMBER_GET_NEXT - он может выдать другой номер, если нужный тебе уже заняли.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NUMBER_GET_NEXT
СообщениеДобавлено: Вс, дек 08 2013, 19:48 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 22 2005, 11:56
Сообщения: 493
Пол: Мужской
а в чем смысл задачи в данной постановке?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NUMBER_GET_NEXT
СообщениеДобавлено: Пн, дек 09 2013, 08:27 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
убедиться, что в объекте нумерации Число номеров в буфере =0,
или попробовать вызывать так:
Code:
call function NUMBER_GET_NEXT
  exporting
    quantity = 1
    ignore_buffer = 'X' 
    ...
  .
rollback work.

перед реальной выдачей номера необходимо повторить вызов
до commit work, чтобы взять действительно свободный номер


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: NUMBER_GET_NEXT
СообщениеДобавлено: Чт, дек 12 2013, 09:01 
Менеджер
Менеджер

Зарегистрирован:
Вт, авг 17 2004, 13:14
Сообщения: 664
Откуда: Москва
Пол: Мужской
Kurier1979, транзакции САПа не возвращают значение счетчика обратно. Вам тоже очень советую не заморачиваться этим. Тем более, что для пользователей не так критичны пропуски. Даже в нумерации сч. фактур пропуски допустимы.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NUMBER_GET_NEXT
СообщениеДобавлено: Чт, дек 12 2013, 10:56 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Tim написал:
Даже в нумерации сч. фактур пропуски допустимы.

В платежных поручениях должна быть последовательная нумерация. За исключением номеров, кратных 1000.
Но в общем случае согласен. Пропуски в нумерации важны далеко не всегда.

Вопрос к автору топика: зачем для "предварительной" нумерации использовать NUMBER_GET_NEXT? :?
Сам SAP в этом случае практически всегда ведет внутреннюю нумерацию в программах ввода данных, а присвоение номера делает ровно перед сохранением документа.
При этом временный номер в данных заменяется на реальный.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: NUMBER_GET_NEXT
СообщениеДобавлено: Вт, дек 13 2016, 14:36 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, мар 17 2009, 00:53
Сообщения: 166
Откуда: Екатеринбург
Пол: Мужской
trop написал(а):
убедиться, что в объекте нумерации Число номеров в буфере =0,
или попробовать вызывать так:
Code:
call function NUMBER_GET_NEXT
  exporting
    quantity = 1
    ignore_buffer = 'X' 
    ...
  .
rollback work.

перед реальной выдачей номера необходимо повторить вызов
до commit work, чтобы взять действительно свободный номер


You help me. Thanks you!

_________________
Высшая степень уважения к клиенту - это разработать программу не так как он хочет, так как следует!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: NUMBER_GET_NEXT
СообщениеДобавлено: Чт, дек 15 2016, 17:24 
Начинающий
Начинающий

Зарегистрирован:
Пт, июл 05 2013, 15:31
Сообщения: 13
Если я правильно понял вопрос, то просто для получения текущего номера нужно использовать ФМ NUMBER_GET_INFO


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

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


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

Сейчас этот форум просматривают: Google [Bot], Yandex [Bot]


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

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