Текущее время: Пт, дек 15 2017, 23:47

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


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


ВНИМАНИЕ!

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



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

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

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


и в фактуре (RV60AFZZ)
Код:
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.

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

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

Код:
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.
Далее создаем предпосылку для этого вида условия
Код:
FORM KOBED_905.                           
  perform kobed_002.
  sy-subrc = 4.
  check: komp-zzsobkz = 'E'.
  sy-subrc = 0.
ENDFORM.
FORM KOBEV_905.                                   
  sy-subrc = 0.
ENDFORM.

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

Код:
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, 16:33 
Гуру-модератор
Гуру-модератор
Аватара пользователя

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

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


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

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


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

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

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

Код:

* ... 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, 12:41 
Ассистент
Ассистент

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

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


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

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


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

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


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

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


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

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