Текущее время: Вс, июл 20 2025, 00:46

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Ведение диапазона номеров
СообщениеДобавлено: Чт, ноя 23 2006, 17:44 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
Всем доброго времени суток!

Имеется вопрос следующего характера:

создается и настраивается объект диапазона номеров(SNRO). Среди параметров при заведении конкретного диапазона требуется указать номер диапазона, который, в силу некоторых особенностей требуется или ограничить одним значением ("01"), или проверкой отсекать все возможные иные номера диапазонов.

Подкиньте идеи по реализации, плз. В коде пользовательских точек входа не нашел :(

Заранее огромное спасибо!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 23 2006, 20:29 
Модератор
Модератор

Зарегистрирован:
Пт, ноя 12 2004, 11:40
Сообщения: 542
Откуда: Москва
Пол: Мужской
Наверно ... ФМ - NUMBER_GET_NEXT поле NR_RANGE_NR
можно еще NRIV посмареть....


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 24 2006, 11:25 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
ФМ - NUMBER_GET_NEXT оперирует с уже готовыми диапазонами номеров, запрашивая при вызове номер диапазона.
На этом этапе фильтрацию номеров дипазонов осуществить нельзя, т.к. не было контроля при заведении диапазонов :(

Иными словами, если в NRIV содержится диапазон вида

02 2006 000000001 9999999999 000000003 (, где

02 - номер диапазона
2006 - год
000000001.... - диапазон и текущий номер), то вызов типа

Code:
call function 'NUMBER_GET_NEXT'
        exporting
          nr_range_nr               = '01'
          object                        = c_obj_name
          quantity                     = '1'
          toyear                       = '2006'
        importing
          number                     = next_num


выдаст sy-subrc = 4

Есть ФМ NUMBER_RANGE_INTERVAL_MAINTAIN, вызывающий диалог ведения диапазона, но тут тоже проблема:
при вызове данного ФМ БЕЗ указания номеров диапазонов выдается диалог. Если же попытаться ограничить список вводимых номеров диапазонов, передав модулю какое-либо значение, то выполняется проверка существования диапазона с указанным номером.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 24 2006, 13:21 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Вам нужно привязать конкретный диапазон к чему-нибудь вроде вида материала или чего-то подобного?

_________________
С уважением, Сергей Королев


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 24 2006, 13:22 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
А если вести диапазоны в таблице группировки?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 24 2006, 15:19 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
Сергей Королев написал:
Вам нужно привязать конкретный диапазон к чему-нибудь вроде вида материала или чего-то подобного?


И да, и нет. У объекта (нумерация кассовых приходников) есть подобъект bukrs. Из-за наличия подобъекта диапазоны системой считаются группированными (признаки группировки, наверное, те самые балансовые единицы). Отсюда, в диалоге ведения возникает необходимость вводить номер диапазона.

Это - ненужная функциональность, но можно привязать ее к условию:
"01" - внутренняя нумерация
"02" - внешняя.
Идеально было бы вообще оставить возможность вести диапазоны только с одним номером.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 24 2006, 15:21 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
sibrin написал:
А если вести диапазоны в таблице группировки?

Мне кажется, что это из области стрельбы из пушки по воробьям :)

Номер диапзона должен принимать, максимум, 2 значения (01 и 02). В идеале - одно.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 24 2006, 15:46 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, ноя 23 2005, 13:37
Сообщения: 1805
Откуда: ECC 6.0
Пол: Мужской
Paul_80 написал:
Мне кажется, что это из области стрельбы из пушки по воробьям :)


Создаёте одну таблицу:
Code:
MANDT   X   MANDT
BUKRS   X   BUKRS
GROUP   X   ZGROUP
NUMKI       NUMKR
NUMKE       NUMKR

Добавляете в неё одну строку (один тип).
В snro создаёте одну группу и добавляете в неё тип.
У группы ровно один внешний и один внутренний интервал.

Вроде всё просто и ничего лишнего, а главное — без модификаций.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, ноя 24 2006, 17:28 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
sibrin написал:

Создаёте одну таблицу:
Code:
MANDT   X   MANDT
BUKRS   X   BUKRS
GROUP   X   ZGROUP
NUMKI       NUMKR
NUMKE       NUMKR

Добавляете в неё одну строку (один тип).
В snro создаёте одну группу и добавляете в неё тип.
У группы ровно один внешний и один внутренний интервал.

Вроде всё просто и ничего лишнего, а главное — без модификаций.


Спасибо!
Сделал именно так, НО:
1. мне кажется, что добавлять BUKRS в таблицу групп номеров нет смысла, т.к. в содержимом этой таблицы приходится прописывать номера диапазонов для каждого подобъекта-значения BUKRS.
У меня же BUKRS и так задан в качестве подобъекта объекта диапазона номеров.
2. т.к. номер внешнего диапазона использоваться не будет, оставил одно из последних двух полей таблицы групп номеров.

Спасибо еще раз!


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

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


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

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


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

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