Текущее время: Вс, май 11 2025, 19:20

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


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


ВНИМАНИЕ!

Вопросы по исходящим поставкам - сюда



Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Ограничение ручного ввода видов условий (PR00). Заказ.
СообщениеДобавлено: Пт, июл 17 2009, 08:39 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 27 2007, 10:55
Сообщения: 197
Откуда: Україна
Пол: Мужской
Дорое утро, коллеги.
Поставили задачу ограничить ручной ввод пользователя вида условия PR00 (не более одного) в заказе.
Прошу поделиться опытом решения подобных задач.

_________________
Приятно Вас видеть...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение ручного ввода видов условий (PR00). Заказ.
СообщениеДобавлено: Пт, июл 17 2009, 09:41 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 29 2005, 07:34
Сообщения: 1127
Откуда: РОССИЯ
Пол: Мужской
писали предпоссылку свою в схеме калькуляции по ВУ

_________________
мне бы такой "Журнал изменений" как в SAP да в жизнь... цены бы не было!


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение ручного ввода видов условий (PR00). Заказ.
СообщениеДобавлено: Пн, июл 20 2009, 09:53 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 27 2007, 10:55
Сообщения: 197
Откуда: Україна
Пол: Мужской
Justudent написал:
писали предпоссылку свою в схеме калькуляции по ВУ

Создал предпосылку '902' , видимые "рабочие" таблицы/cтруктуры: KOMK, KOMP, KOMT1, KONV ...
Возникло 2 вопроса.

1) По каким критериям определяется момент создания новой записи условия?
Предварительно определил:
Code:
FORM KOBED_902.
sy-subrc = 4.
*оставил проверки из  002 предпосылки
if komp-kposn ne 0.
    check: komp-prsfd ca 'BX'.
    check: komp-kznep = space.

*
   if KONV-kposn = komp-kposn.

     Break-Point.

     endif.
   endif.
sy-subrc = 0.
ENDFORM.
но вхождение многократное и ИМХО не однозначное.

2) Как определить наличие уже существуещего условия 'PR00', из внутр. таблицы или select-ом из KONV ?

_________________
Приятно Вас видеть...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение ручного ввода видов условий (PR00). Заказ.
СообщениеДобавлено: Пн, июл 20 2009, 10:08 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 29 2005, 07:34
Сообщения: 1127
Откуда: РОССИЯ
Пол: Мужской
я извиняюсь, не смогу сейчас прямо код выложить предпоссылки, нету системы той под рукой и не помню уже тонкостей ценновых структур и разбираться правда некогда, но просто при вводе перебиралась динамическая структура по текущей позиции и искалось такое же ВУ, вроде как KNUMH, если находилось, то предпоссылка на 4 - не выполняется. Точнее не могу. Хитрость может какая была, не помню. помоему всё было просто

_________________
мне бы такой "Журнал изменений" как в SAP да в жизнь... цены бы не было!


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение ручного ввода видов условий (PR00). Заказ.
СообщениеДобавлено: Пн, июл 20 2009, 10:20 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 27 2007, 10:55
Сообщения: 197
Откуда: Україна
Пол: Мужской
Justudent, спасибо, буду искать дальше.

_________________
Приятно Вас видеть...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение ручного ввода видов условий (PR00). Заказ.
СообщениеДобавлено: Пн, июл 20 2009, 10:28 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, апр 13 2007, 16:52
Сообщения: 381
Пол: Мужской
Предпосылки отрабатывают до расчёта цен. И проверять наличие того или иного условия в схкалк в них - дело неблагодарное. Лучше, имхо, в формуле стоимости это дело проверять. А проверять можно прямым считыванием из внутренней таблицы XKOMV по KSCHL. Или при помощи подпрограммы provide_condition_data и таблицы rkomv.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение ручного ввода видов условий (PR00). Заказ.
СообщениеДобавлено: Пн, июл 20 2009, 11:01 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 27 2007, 10:55
Сообщения: 197
Откуда: Україна
Пол: Мужской
Angie написал:
Предпосылки отрабатывают до расчёта цен. И проверять наличие того или иного условия в схкалк в них - дело неблагодарное. Лучше, имхо, в формуле стоимости это дело проверять. А проверять можно прямым считыванием из внутренней таблицы XKOMV по KSCHL. Или при помощи подпрограммы provide_condition_data и таблицы rkomv.

Поставил брейк-поинт в provide_condition_data, при создании нового условия 'PR00', provide_condition_data - не отрабатывает.

_________________
Приятно Вас видеть...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение ручного ввода видов условий (PR00). Заказ.
СообщениеДобавлено: Пн, июл 20 2009, 11:52 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 29 2005, 07:34
Сообщения: 1127
Откуда: РОССИЯ
Пол: Мужской
вообщем наверное я вас ввёл в тупик, так как в отладчике так и не смог действительно провести такую проверку, нету данных.

поискал на sdn, там советуют так

Цитата:
Condition type settings V/06, Changes which can be made section maintain B- Automatic entry has priority , if condition record exist then system will not accept to enter manually.(If yours is autoamatic condition type.)
If your condition type is manual and if you maintain 'C' - Manual entries has been priority or Blank - No lomitations, then i think we can not stop this.



и так


Hi,

It is possible.

Цитата:
To restrict double entry of condition type (Item level) is only possible through Userexit.
Ask ABAP Consultant to develop this.
Hope this will resolve your problem.


первое логично, второе как тоже рабочий вариант

_________________
мне бы такой "Журнал изменений" как в SAP да в жизнь... цены бы не было!


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение ручного ввода видов условий (PR00). Заказ.
СообщениеДобавлено: Пн, июл 20 2009, 13:33 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 27 2007, 10:55
Сообщения: 197
Откуда: Україна
Пол: Мужской
Justudent, спасибо за ответ.
Т.к. ответственный за настройки не приемлет первый вариант, принимаю за рабочий второй.

Вопрос теперь: какой USEREXIT задействовать?

_________________
Приятно Вас видеть...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение ручного ввода видов условий (PR00). Заказ.
СообщениеДобавлено: Пн, июл 20 2009, 17:00 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, апр 13 2007, 16:52
Сообщения: 381
Пол: Мужской
KVL написал:
Поставил брейк-поинт в provide_condition_data, при создании нового условия 'PR00', provide_condition_data - не отрабатывает.
Гм... "Для того, чтобы что-то откопать, сначало надо это закопать". Как я сказал, вам надо в самописной формуле расчёта стоимости выбрать из таблицы xkomv ту запись, которая содержит kschl = PR00. Если такая запись есть, то можно утверждать, что условие уже существует в схкалк. Дополнительно можно проверить, введено ли оно вручную и прочее. :)

А вместо выборки из xkomv можно воспользоваться вызовом provide_condition_data в вашей самописной формуле стоимости (для этого надо этот вызов запрограммировать (читай "закопать")). Ну а потом уже ставить точку прерывания и смотреть (читай "откапывать").


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение ручного ввода видов условий (PR00). Заказ.
СообщениеДобавлено: Пн, июл 20 2009, 17:08 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 27 2007, 10:55
Сообщения: 197
Откуда: Україна
Пол: Мужской
Angie написал:
KVL написал:
Поставил брейк-поинт в provide_condition_data, при создании нового условия 'PR00', provide_condition_data - не отрабатывает.
Гм... "Для того, чтобы что-то откопать, сначало надо это закопать". Как я сказал, вам надо в самописной формуле расчёта стоимости выбрать из таблицы xkomv ту запись, которая содержит kschl = PR00. Если такая запись есть, то можно утверждать, что условие уже существует в схкалк. Дополнительно можно проверить, введено ли оно вручную и прочее. :)

А вместо выборки из xkomv можно воспользоваться вызовом provide_condition_data в вашей самописной формуле стоимости (для этого надо этот вызов запрограммировать (читай "закопать")). Ну а потом уже ставить точку прерывания и смотреть (читай "откапывать").

Angie, спасибо за ответ.
Коллеги подсказали userexit USEREXIT_PRICING_PREPARE_TKOMP - сейчас рассматриваю это направление, если не получится попробую ваш вариант.

_________________
Приятно Вас видеть...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение ручного ввода видов условий (PR00). Заказ.
СообщениеДобавлено: Пн, июл 20 2009, 19:06 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
У нас подобная проверка стоит вообще в USEREXIT_SAVE_DOCUMENT_PREPARE, потому как ситуация, когда юзеры ввели "лишнее" условие, очень редкая, а все остальные экзиты для условий срабатывают гораздо чаще, чем надо.

_________________
"One of the symptoms of an approaching nervous breakdown is the belief that one's work is terribly important." Bertrand Russell


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение ручного ввода видов условий (PR00). Заказ.
СообщениеДобавлено: Вт, июл 21 2009, 10:15 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, апр 13 2007, 16:52
Сообщения: 381
Пол: Мужской
Раз пошли по ЮЭ, то, ИМХО, уж лучше использовать userexit_pricing_check (программа LV69AFZZ). Посмотрите, где он вызывается. На шаг раньше перед ним вызывается kondition_pruefen, в котором система проверяет введёное пользователем условие по своим критериям (присутствие в схеме калькуляции, например).


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение ручного ввода видов условий (PR00). Заказ.
СообщениеДобавлено: Вт, июл 21 2009, 10:17 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, апр 13 2007, 16:52
Сообщения: 381
Пол: Мужской
KVL написал:
USEREXIT_PRICING_PREPARE_TKOMP
Вряд ли он поможет в вашей задаче. Он вызывается до расчёта цен и предназначен для других целей (новые поля в расчёте цен и всё такое).


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение ручного ввода видов условий (PR00). Заказ.
СообщениеДобавлено: Вт, июл 21 2009, 16:01 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 27 2007, 10:55
Сообщения: 197
Откуда: Україна
Пол: Мужской
Angie написал:
KVL написал:
USEREXIT_PRICING_PREPARE_TKOMP
Вряд ли он поможет в вашей задаче. Он вызывается до расчёта цен и предназначен для других целей (новые поля в расчёте цен и всё такое).

Да этот экзит не подошел т.к. отрабатывает для каждой позиции и я не смог определить момент ввода текущего вида условия.
Но XKOMV содержит ВУ всех позициий заказа вклюая вновь введенную.

Jelena написала:
У нас подобная проверка стоит вообще в USEREXIT_SAVE_DOCUMENT_PREPARE, ....

Jelena, спасибо за совет. Пока не успел проверить данный экзит, но думаю появится проблема с определением вновь введенного ВУ.
Задача стоит выдавать предупреждение при вводе пользователем нового ВУ дублирующее одно из существующих.

Angie написал:
Раз пошли по ЮЭ,
то, ИМХО, уж лучше использовать userexit_pricing_check (программа LV69AFZZ)...

Спасибо. Попробую этот вариант.

_________________
Приятно Вас видеть...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

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


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

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


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

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