Текущее время: Пт, мар 29 2024, 16:56

Часовой пояс: 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
Сообщения: 3074
Откуда: Москва
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 часа


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

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


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

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