SAPфорум.RU https://sapboard.ru/forum/ |
|
Как настроить проверку доступности для ограничения подтверждения отстающих заказов по МинСтрахЗапасу https://sapboard.ru/forum/viewtopic.php?f=2&t=89663 |
Страница 1 из 1 |
Автор: | ГИгорьВ [ Ср, фев 04 2015, 18:32 ] |
Заголовок сообщения: | Как настроить проверку доступности для ограничения подтверждения отстающих заказов по МинСтрахЗапасу |
Здравствуйте, Друзья. Ситуация такая. В транзакции V_V1 (массовая ликвидация отставаний) определяем список заказов для подтверждения требуемого количества материалов. После выполнения - в CO06 - по конкретному материалу видим, что подтвердилось все доступное количество вместе со страховым запасом -> в результате запас = 0. Что нужно сделать с настройками доступности (а может, и не только), чтоб подтверждение выполнялось до тех пор, пока запас > минимального страхового запаса? В ОЗМ имеем: на вкладке ППМ2 есть количества для СтрахЗапаса и МинСтрахЗапаса (СтрахЗапас > МинСтрахЗапаса); на вкладке ППМ3 для проверки доступности определена группа проверки = 02 (Отдельная Потребность). В SPRO определены и группа проверки и правила проверки (со своими объемами) и установка правила для обработки отставаний по заводу (ВО, A). Я пробовал различные варианты настроек. Однако результат оставался неизменным. Вот сценарий: 1) Создаю клиентский заказ на материал с количеством заведомо перекрывающим и минимальный страховой запас, т.е. чтоб остаток был меньше него. При этом автоматически подтвержается именно то количество, которое и обеспечивает остаток = МинСтрахЗапас. При создании заказа проверка и подтверждение срабатывают как надо. 2) Захожу в V_V1, ввожу номер созданного заказа и выполняю. В результате неподтвержденное количество в заказе подтверждается полностью - запаса нет! А ожидалось - что ничего не произойдет - подтвержденное количество в заказе останется неизменным. Подскажите, пожалуйста, как выйти из ситуации. Возможно, я не вижу еще чего-то в настройках, или делаю что-то не так. Благодарю за помощь. |
Автор: | ГИгорьВ [ Вт, фев 10 2015, 19:11 ] |
Заголовок сообщения: | Re: Как настроить проверку доступности для ограничения подтверждения отстающих заказов по МинСтрахЗапасу |
Здравствуйте, Друзья. Прошу прощения за то, что немного ввел вас в заблуждение. Причина, по которой происходила эта ситуация следующая: Вот в этом юзер-екзите, который вызывается первым при проверке доступности ATP: ------------------------------------------------------------------------- USEREXIT_AVAILABILITY_IN (in program RV03VFZZ) This is called from include LV03VFMM (FORM MVERF_PRUEFEN). This userexit is before the EXIT_SAPLATPC_001. ------------------------------------------------------------------------- В нем и был код, который менял границу проверки с "СтраховойЗапас" (по умолчанию - как в ОЗМ) на 0 для транзакций V_V1 и V_V2 (жесткая прошивка). Вот поэтому и ничего не получалось через настройки в spro! В этом user-exit можно поставить любое ограничение на нижнюю границу доступного запаса для версии позиции заказа (не только МинСтрахЗапас). В следующем сообщении представлю пример кода. |
Автор: | ГИгорьВ [ Ср, фев 11 2015, 12:19 ] |
Заголовок сообщения: | Re: Как настроить проверку доступности для ограничения подтверждения отстающих заказов по МинСтрахЗапасу |
Здравствуйте, Друзья. Вот исходные коды для решения задачи: *---------------------------------------------------------------------* * FORM USEREXIT_AVAILABILITY_IN * *---------------------------------------------------------------------* * This userexit may be used to influence the availability * * check which is carried out after this program * * * * This form is called from routine MVERF_PRUEFEN in LV03VF0M * * * *---------------------------------------------------------------------* * --> US_ATPPR: ATP or forecast check (if blank) * *---------------------------------------------------------------------* FORM USEREXIT_AVAILABILITY_IN USING VALUE(US_ATPPR). * Add your statements below *Проверка доступности по минимальному страховому запасу вместо страхового запаса include zru_availability_in. * Проверка доступности при обработке отставаний include zru_availability_in_vv. ENDFORM. *&---------------------------------------------------------------------* *& Include ZRU_AVAILABILITY_IN_VV *&---------------------------------------------------------------------* *& Проверка доступности при ликвидации отставаний *&---------------------------------------------------------------------* IF ( SY-TCODE = 'V_V1' OR SY-TCODE = 'V_V2' ) AND MVERF_POS-WERKS = '0020'. DATA: LV_ASETC TYPE I, LV_EISLO TYPE MARC-EISLO. CLEAR: LV_ASETC, LV_EISLO. IF MVERF_POS-VKORG = '2000' AND MVERF_POS-VTWKU = '10'. * Определяем необходимость контроля по минимальному страховому запасу SELECT COUNT( * ) INTO LV_ASETC FROM USR05 WHERE BNAME IN ('P00000165', 'P00000238') AND PARID = 'ZAVA_LIMIT_EISLO' AND PARVA = ABAP_TRUE. * Выбираем МинСтрахЗапас IF LV_ASETC IS NOT INITIAL. SELECT SINGLE EISLO INTO LV_EISLO FROM MARC WHERE MATNR = MVERF_POS-MATNR AND WERKS = MVERF_POS-WERKS. ENDIF. ENDIF. * Устанавливаем значение для границы страхового запаса MVERF_POS-EISBE = LV_EISLO. " [0, МинСтрахЗапас] ENDIF. Желаю успехов. |
Страница 1 из 1 | Часовой пояс: UTC + 3 часа |
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group http://www.phpbb.com/ |