Текущее время: Чт, мар 28 2024, 13:44

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Условие VPRS для особых запасов
СообщениеДобавлено: Вт, мар 13 2007, 14:57 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, фев 24 2005, 13:26
Сообщения: 261
Откуда: с проекта :)
Выяснилось, что VPRS работает только по MBEW, т.е. вы получите себестоимость на уровне Область оценки/Вида оценки обычного запаса. Для особых запасов (Q - Запас проекта(таб.QBEW), E - Запас под заказ клиента(таб.EBEW)) ОНО НЕ РАБОТАЕТ. Пару часов времени были убиты на написание формул для расчета стоимости условий.
Итак алгоритм (может кому и пригодится)

Для особого запаса Q
Создаем вид условия QVPR - Учетная цена 'Q'
Класс условий "В - Цены", правило расчета "С - Количество", обработка вручную невозможно, условие позиции, пересчет количества.
Расширяем структуру KOMPAZ (структура связи расчета цен для позиции заказа). Добавляем туда поля:
ZZSOBKZ - Код особого запаса
ZZPSPNR - Код СПП элемента
Запоняем их в заказе (MV45AFZZ)
Code:
FORM USEREXIT_PRICING_PREPARE_TKOMP.
   MOVE VBAP-SOBKZ TO TKOMP-ZZSOBKZ.
   MOVE VBAP-PS_PSP_PNR TO TKOMP-ZZPSPNR.
ENDFORM.


и в фактуре (RV60AFZZ)
Code:
FORM USEREXIT_PRICING_PREPARE_TKOMP.
   DATA:
    ZVBAPVB LIKE VBAPVB,
    ZVBAP    LIKE VBAP.

*  Заполняем в структуре связи TKOMP поле ZZPSPNR (СПП-элемент)
   MOVE VBRP-PS_PSP_PNR TO TKOMP-ZZPSPNR.
*  Считываем позицию из заказа для переноса данных

   CALL FUNCTION 'SD_VBAP_SINGLE_READ'
     EXPORTING
          I_VBELN          = VBRP-AUBEL
          I_POSNR          = VBRP-AUPOS
     IMPORTING
          E_VBAPVB         = ZVBAPVB
          E_VBAP           = ZVBAP

     EXCEPTIONS
          RECORD_NOT_FOUND = 1
          OTHERS           = 2.
   MOVE ZVBAP-SOBKZ TO TKOMP-ZZSOBKZ.
ENDFORM.

Далее создаем предпосылку для этого вида условия
Code:
FORM KOBED_904.                           
  perform kobed_002.
  sy-subrc = 4.
  check: komp-zzsobkz = 'Q'.
  sy-subrc = 0.
ENDFORM.
FORM KOBEV_904.                                   
  sy-subrc = 0.
ENDFORM.

Формула для расчета стоимости

Code:
FORM FRM_KONDI_WERT_905.                                   
DATA:
  ZQBEW  like QBEW.

  IF KOMP-ZZPSPNR ne ''.
   CALL FUNCTION 'QBEW_SINGLE_READ'
       EXPORTING
            MATNR      = KOMP-MATNR
            BWKEY      = KOMP-BWKEY
            BWTAR      = KOMP-BWTAR
            SOBKZ      = 'Q'
            PSPNR      = KOMP-ZZPSPNR
       IMPORTING
            WQBEW      = ZQBEW
       EXCEPTIONS
            WRONG_CALL = 1
            NOT_FOUND  = 2
            OTHERS     = 3.


   case ZQBEW-VPRSV.
    when 'V'.
     xkwert = ZQBEW-VERPR * komp-mgame.
    when 'S'.
     xkwert = ZQBEW-STPRS * komp-mgame.
   endcase.

   xkomv-kbetr = ZQBEW-VERPR.

   xkwert = xkwert / 1000.

  ENDIF.
ENDFORM.


Для особого запаса E
Создаем вид условия EVPR - Учетная цена 'E'
Настройки те же что и для QVPR.
Далее создаем предпосылку для этого вида условия
Code:
FORM KOBED_905.                           
  perform kobed_002.
  sy-subrc = 4.
  check: komp-zzsobkz = 'E'.
  sy-subrc = 0.
ENDFORM.
FORM KOBEV_905.                                   
  sy-subrc = 0.
ENDFORM.

Формула для расчета стоимости

Code:
FORM FRM_KONDI_WERT_906.
DATA:
  ZEBEW  like EBEW.

  CALL FUNCTION 'EBEW_SINGLE_READ'
      EXPORTING
           MATNR      = KOMP-MATNR
           BWKEY      = KOMP-BWKEY
           BWTAR      = KOMP-BWTAR
           SOBKZ      = 'E'
           VBELN      = KOMP-AUBEL
           POSNR      = KOMP-AUPOS
      IMPORTING
           WEBEW      = ZEBEW
      EXCEPTIONS
           WRONG_CALL = 1
           NOT_FOUND  = 2
           OTHERS     = 3.


  case ZEBEW-VPRSV.
   when 'V'.
    xkwert = ZEBEW-VERPR * komp-mgame.
   when 'S'.
    xkwert = ZEBEW-STPRS * komp-mgame.
  endcase.

   xkomv-kbetr = ZEBEW-VERPR.

   xkwert = xkwert / 1000.
ENDFORM.


Вот в общем то и все. :D


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, мар 13 2007, 15:33 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
круто! ;)

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Не совсем понятно
СообщениеДобавлено: Вт, мар 13 2007, 17:28 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, мар 03 2005, 18:18
Сообщения: 182
Откуда: moscow
У нас нормально работает при уровне оценки - партия для особого запаса Е (MySAP ERP 2005, на 2004 и ниже - не тестил). Какой ФМ для VPRS анализировался?


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

Зарегистрирован:
Вт, апр 24 2007, 15:56
Сообщения: 1402
А почему стоимость условия рассчитывается как цена за базисную ЕИ, умноженное на количество в продажной ЕИ?

Я конечно могу ошибаться (вы меня тогда поправьте :wink:), но у меня формулы немного другие (кстати, их можно навесить и на VPRS):

Code:

* ... get MBEW/QBEW/EBEW data

* stock exists and prices can be recalculated
IF NOT ( mqebew-lbkum = 0 OR
        ( mqebew-salk3 < 0 AND NOT mqebew-lbkum < 0 ) OR
        ( mqebew-salk3 > 0 AND NOT mqebew-lbkum > 0 ) ).
* Total
  xkwert = ( ( komp-mglme * mqebew-salk3 ) / mqebew-lbkum ).
* Price
  IF mqebew-vprsv = 'V'.
    xkomv-kbetr = mqebew-verpr.
  ELSE.
    xkomv-kbetr = mqebew-stprs.
  ENDIF.
* Price unit
  xkomv-kpein = mqebew-peinh.
* Base unit of measure
  xkomv-kmein = komp-lagme.
* Converting condition factor
  xkomv-kumza = xkomv-kumne = 1.

* ... currency conversion


В первую половину кода можно особо не вникать - просто у нас себестоимость в заказе вычисляется аналогично фактуре.

ЗЫ:
нота 78799 - чтобы в заказе VPRS считалось, как в фактуре.
нота 547570 - суперфак по условию VPRS.
внутренная нота 199906 - можно попросить в Support'е, они уже бились над проблемой оценки особых запасов (правда до конца так и не победили).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Условие VPRS для особых запасов
СообщениеДобавлено: Ср, сен 23 2009, 11:41 
Ассистент
Ассистент

Зарегистрирован:
Вт, апр 07 2009, 11:09
Сообщения: 42
Пол: Женский
Извините, что вмешиваюсь, при использовании особого запаса Q у вас пошла себестоимость на СПП или на объект учета результата? Какой вы использовали СПП - статистический или нестатистический?

_________________
Найдите работу, в которую влюбитесь и вам больше не придется трудиться ни одного дня в жизни. (Конфуций)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Условие VPRS для особых запасов
СообщениеДобавлено: Чт, май 05 2011, 11:08 
Старший специалист
Старший специалист

Зарегистрирован:
Ср, мар 21 2007, 17:32
Сообщения: 387
Тема старенькая, неужели SAP до сих пор ничего не придумал для рассчета цен по особым запасам?


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

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


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

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


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

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