Sapforum.Biz
Логистика => Управление материальными потоками (MM) => Тема начата: Uukrul от Апрель 05, 2011, 01:51:18 am
-
Настройка стратегии деблокирования заказа с классификацией. В принципе сложного ничего в процессе нет,хотя по справке с help.sap.com конечно без поллитры вряд ли настроишь. А так, для начала идем в транзакцию SPRO, рисунок 1: STRG-1,png. Ветка "Определение процедуры деблокирования для заказов на поставку". Получаем окно с пунктами, которые обрабатываем по порядку, рисунок 2: STRG-2,png.
Группы деблокирования Как видим тут есть только процедуры деблокирования использующие систему классов. В системе могут быть или процедуры деблокирования без классификации или с классификаций, причем если есть хотя бы одна определенная процедура деблокирования с классификаций, то она отменяет все процедуры без классификации. Скорее всего, у вас в системе тоже используются процедуры с классификацией, так что, будем настраивать процесс деблокирования с классификацией, ну и по справке SAP тоже рекомендует использовать процедуры деблокирования с классификацией, рисунок 3: STRG-3,png.
Стандартно в IDES уже есть класс FRG_EKKO, в нем определены 4 признака, рисунок 4: STRG-4.png. Как видим это признаки: вид документа, закупочная организация, группа закупки и цена, суть класса в том, что деблокирование, например, запускать для документов определенного вида, созданных в определенной закупочной организации и группой закупки и только, если сумма договора больше 100 евро. Можно использовать свои классы, но для примера деблокирования можно использовать и стандартный. Вид класса обязательно должен быть выбран 032 – Стратегия выдачи.
Примечание: В качестве признаков класса можно использовать любые поля, которые перечислены в структуре CEKKO. Просмотреть структуру можно в транзакции SE11. Когда создаете признак, вы должны сослаться на поля структуры, пример на рисунке 5: STRG-5.png, например вид документа.
Как создавать классы и признаки надеюсь, найдете в справке, ничего сложного в этом процессе нет. В общем создаем новую группу, например ZZ со стандартным классом деблокирования.
И так теперь есть новая группа ZZ, и класс FRG_EKKO, рисунок 6: STRG-6,png. Цифра 2 рядом с кодом группы указывает что это стратегия деблокирования к заказу на поставку.
Коды деблокирования Потоки операции использовать не будем, это другая тема и тут мы ее пропускаем. И так создаем 2 кода, рисунок 7: STRG-7,png. Выбираем новые записи и создаем коды. Создадим два кода деблокирования. При создании заказ будет без кодов, первый код дадим полномочия автору документа, т.е. если он считает, что документ правильный, то пусть выполнит деблокирование. А далее уже второе деблокирование делает котроллер, после чего документ не подлежит изменению автором.
Индикатор деблокирования Индикаторы я свои не создавал, хватит и стандартных, обращаем внимание на колонку изменяем, где записано определяется код того что можно делать с заказом. Цены нас не интересуют, а коды будут 1 и R, первый индикатор 1 присвоен при коде деблокирования 00, пока присвоен такой индикатор, заказ можно изменять, когда заказ деблокируется, ему будет присвоен шаг стратегии 99 и индикатор R – т.е. изменять заказ больше нельзя, рисунок 8: STRG-8.png.
Стратегии деблокирования Выбираем создание новой стратегии, рисунок 9: STRG-9,png. Т.е. группа наша ZZ, стратегия в группе пусть будет 00, ну и два наших последовательных кода деблокирования, которые можно внести выбрав из справочника. Далее выбираем кнопку «Порядок деблокирования». Ставим галку как на рисунке 10: STRG-10.png. После чего жмем кнопку «Дальше». Суть расстановленных галок будет объяснена ниже. Потом выбираем кнопку «Статусы деблокирования». Система построит экран в зависимости от галок, выставленных на предыдущем экране, порядка деблокирования. Суть такая если ни один индикатор не присвоен, то индикатор выдачи будет 1 - т.е. заказ можно изменять, если присвоен код 00, то индикатор тоже остается такой же, т.е. изменения документа возможны. И когда установлены коды 00 и 99,то присваивается код R, т.е. заказ деблокирован и не может быть изменяем. Опять же, если вам нужно оставить изменение документа, то оставьте индикатор выдачи тоже 1. После чего жмем кнопку «Дальше». Рисунок 11: STRG-11.png.
Теперь самое интересное, кнопка «Классификация». Класс будет показан с признаками, которые указаны в нем при создании. Поля при первом заходе будут пустыми, поэтому начинаем заполнять их. Вид документа ну я указал NB, закупочная 1000, группа 000. Стоимость указал как > 100, рисунок 12: STRG-12.png
На этом создание стратегии можно считать законченным. Можно идти проверять как оно работает, т.е.создать заказ вида NB для закупочной 1000, группа закупки 000 и стоимость должна быть больше 100.
Как только будет создан заказ, и мы перейдет в просмотр/изменение документа то в заголовке будет закладка «Стратегия деблокирования». Как видим для нашего заказа была использована наша стратегия ZZ, рисунок 13: STRG-13.png.
Затем в транзакцию ME29N в данной транзакции можем выполнять деблокирование документа путем клика мышью в колонке «Способы деблокирования». Все, если есть полномочия на код, то вы можете последовательно выполнить деблокирование кода 00 и кода 99, рисунок 14: STRG-14.png.
После применения кода 99, документа переходит в режим защиты от редактирования, рисунок 15: STRG-15.png
-
Описание процедуры деблокирования заказа с классификацией одним файлом.
-
Настроила все по инструкции. Класс и признаки деблокированы. Присвоения тоже.
Проверка стратегии срабатывает без ошибок, но все равно выдается ошибка, что деблокирование документа закупки невозможно. Подскажите что может быть не так?
-
но все равно выдается ошибка, что деблокирование документа закупки невозможно. Подскажите что может быть не так?
Ну как видите у меня не выдается... значит что-то сделали не правильно или есть другие блокирующие параметры настройки. К сожалению, по вашему сообщению что-либо подсказать не представляется возможным, начиная с того что вы не сообщили ни класса ни номера ошибочного сообщения.
-
Столкнулся с такой же ошибкой.
Решение: в целевом мандате, CL20N присвоить класс стратегии деблокирования
-
Дополнительно у меня вопрос: каким образом можно включить заказы в деблокирование, созданые до настройки деблокирования?
-
Сам и отвечаю.
У меня настроена стратегия деблокирования на 2 вида заказов, что бы задействовать деблокирование для заказов созданных до настройки деблокирования, поступил следующим образом:
- зашел в заказ, поменял вид заказа на тот для которого не активна стратегия, сохранил
- повторно зашел в заказ, поменял вид заказа на тот для которого активна стратегия, сохранил
-
В который раз, правда в этот раз для заявки на закупку, потерял час, чтобы найти, что при активации стратегии деблокирования с классификацией, нельзя ставить галку "Общее разблокирование заявок на закупку", т.е. для классификации возможно только позиционное деблокирование заявок. В принципе конечно логично, так как каждая позиция может иметь разные стратегии и соответственно разные шаги деблокирования.
PS: Кстати, если все настроили но стратегия не выбирается, то для заявки процесс выбора стратегии находится в функциональном модуле: FUNCTION me_rel_strategie_eban. - Выбор стратегии деблокирования для заявки, так что в отладчике достаточно пары минут, чтобы понять почему стратегия не выбирается и что надо докрутить, для ее выбора.
-
Так сказать в очередной раз тогда не записал, снова пришлось вспоминать, когда надо было по быстрому прикрутить стратегию деблокирования для заявок ММ:
При определении кодов разблокирования для стратегии заявки на закупку последний код который завершает процесс деблокирования обязательно должен содержать статусы: Разблокировано для предложения и Разблокировано для PO-заказа, иначе при сохранении стратегии система предлагает проверять код индикаторов разблокирования. Что проверять и что не так в кодах, система не говорит, поэтому понять ее не реально., но в модуле ФМ: ME_REL_FULL_BLOCK в самом начале есть подпрограмма perform rel_complete. которая вот таким вот селектом выбирает, какие коды могут завершать стратегию деблокирования:
select * from t161s where frbst eq 'X'
and frang eq 'X'.
r_frgkz-low = t161s-frgkz.
append r_frgkz.
endselect.
Т.е. если ваша стратегия заканчивается не одним из кодов которые будут выбраны по данному запросу, то на выходе будет сообщение об ошибке созданной стратегии.
-
Описание процедуры деблокирования заказа с классификацией одним файлом.
Уважаемый Uukrul,
спасибо за файл. Но никак не могу понять, как расставить чекбоксы в порядке деблокирования.
Транзакция S_ALR_87002179 -> Стратегия деблокирования...
Подскажите, пожалуйста
Порядок следующий:
Z0 - Начальный уровень. Без деблокирования на этом уровне, заявка не будет доступной для уровней Z1, Z2 и Z3. На данном уровне может определяться признак ZP
Z1 - Возможность деблокирования заявок с суммой меньше 100 рублей;
Z2 - Возможность деблокирования заявок с суммой меньше 100 рублей или 100 рублей;
Z3 - Возможность деблокирования заявок с суммой свыше 100 рублей или 100 рублей.
Таким образом, например, заявка в 80 рублей должна быть разблокирована на уровнях Z0-> Z1 -> Z2 или Z3 поэтапно, то есть, уровни Z1 ->Z2 или Z3 могут разблокировать только, если заявка разблокирована на уровне Z0.
Если на уровне Z0 установлен признак ZP, то уровень Z3 является обязательным, то есть последовательность разблокировки будет следующей: Z0-> Z1 -> Z2 и обязательно Z3.
Спасибо всем!
-
Таким образом, например, заявка в 80 рублей должна быть разблокирована на уровнях Z0-> Z1 -> Z2 или Z3 поэтапно, то есть, уровни Z1 ->Z2 или Z3 могут разблокировать только, если заявка разблокирована на уровне Z0.
Да никак вроде, примите за данность, что данный вариант стратегии, это упрощенное/линейное деблокирование документа. Для более сложных вариантов и условий используйте WF-деблокирование. Там можно накрутить любые схемы в зависимости от данных документа.
-
Uukrul, спасибо большое за мысль!
Наведи на путь, где это находится?
WF-деблокирование.
Спасибо заранее :)
-
Наведи на путь, где это находится?
Это находится в настройке и работе с workflow, если не путаю раньше это были курсы BC600 и BC601
-
раньше это были курсы BC600 и BC601
К сожалению, таких курсов у меня нет.
Uukrul, а можешь навести на путь в SPRO, где можно сделать обязательным для заполнения поле "Группа деблокирования" в транзакции ME55 (Групповое деблокирование) ?
Обшарил весь SPRO, таки не нашел. Там есть настройки для некоторых полей для транзакций: ME51, ME51N, ME52, ME53 и ME54, а вот для ME55 к сожалению нет.
Не уж то надо будет абапом проверять наличие данных в этом поле?
Спасибо.
-
К сожалению, таких курсов у меня нет.
Ну зато интернет у вас наверное есть, так что надеюсь можно поискать. Ну и во вторых на саппресс есть книжки по этому делу.
Обшарил весь SPRO, таки не нашел. Там есть настройки для некоторых полей для транзакций: ME51, ME51N, ME52, ME53 и ME54, а вот для ME55 к сожалению нет.
Не уж то надо будет абапом проверять наличие данных в этом поле?
Ну скорее всего что без абапа никак,там в коде просто стоит, без всяких далее возможностей как-то влиять на заполнение поля:
select-options: s_frggr for eban-frggr.
но система управления этим полем построена, не много не так, что типа мы заставляем обязательно его заполнять, каким-то значением. Там все сделано через использование объекта полномочий:
authority-check object 'M_EINK_FRG'
id 'FRGGR' field t16fg-frggr
id 'FRGCO' field p_frgab.
if sy-subrc ne 0.
newauth = 'Y'.
continue.
endif.
а это значит, что вы даете людям полномочия, каждому на свою группу и таким образом не заполняя группу человек сможет работать только с предустановленными для него группами, остальные группы даже если он заполнит данные, ему не будут показаны. Хотя если у вас там всем выдали SAP_ALL, то конечно вам это не поможет.