Текущее время: Сб, июл 19 2025, 12:16

Часовой пояс: 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 часа


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

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


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

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