Текущее время: Ср, май 07 2025, 18:49

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Ограничение срабатывания скидки по дате создания заказа
СообщениеДобавлено: Пт, апр 09 2010, 09:12 
Начинающий
Начинающий

Зарегистрирован:
Пт, апр 09 2010, 08:46
Сообщения: 2
Доброе время суток.

Может кто-нибудь сталкивался с подобной проблемой или есть желание побороться с железной машиной SAP.. :)

Есть задача ограничить срок действия скидки по дате создания заказа (т.е. не по дате цены как это работает стандартно) или по текущей дате во время создания заказа.
Мои попытки:
1. Добавил в прайсинг для этих скидок рутину (Requirement), где пытался получить "Valid to" рассматриваемой скидки из таблицы KONH через tkomv-knumv, но это не работает во время создания заказа, т.к. tkomv не заполнен. В итоге так и не нашел как при создании заказа добраться до KONH. После попытки 2 (см. ниже) понял, что KONH не поможет...
2. Добавил формулу (AltCBV) где пытался обнулить значение скидки. Получилось добраться до KONH через xkomv-KNUMH и даже обнулить скидку! Но в результате тестирования выяснилось, что KONH каким-то образом буферизирует значения дат: при изменении Valid to скидки (транзакцией VK12), KONH-DATBI не обновляется. Т.е. KONH в данном случае бесполезен. Код формулы привел в конце сообщения.

Как вариант можно было бы анализировать все Axxx таблицы из скидки, но это не очень то удобно, т.к. при добавлении новых ключей надо будет прописывать новые таблицы. :stol:

За сим прошу помощи всемогущего ALL :|

Код "почти работающей" формулы:
Code:
      data: w_vbfa_vbelv like vbfa-vbelv,
            w_vbak_erdat like vbak-erdat,
            zDATBI like konh-DATBI,
            zKNUMH like konh-KNUMH.

* get "valid to" date of the condition
      clear zKNUMH.

      zKNUMH = xkomv-KNUMH.

      check: not zKNUMH is initial.

        select single DATBI
          from konh
          into zDATBI
         where knumh eq zKNUMH.

* without sales order number - analyze current date
      if sy-tcode eq 'VA01' or komp-AUBEL eq '$TEMP'.
        if sy-DATUM > zDATBI.
           xkwert = 0.
        endif.
        exit.
      endif.
* else find the orders number and compare with it
* check document flow to get the sales order number
      select single vbelv
        from vbfa
        into w_vbfa_vbelv
       where vbeln   = komp-AUBEL
         and vbtyp_v = 'C'.

      if sy-subrc <> 0.
* check sales orders header table for the order
       select single vbeln
         from vbak
         into w_vbfa_vbelv
        where vbeln eq komp-AUBEL.

       if sy-subrc <> 0.
          message id 'SU' type 'S' number '899'
            with 'Document not found in VBFA and VBAK' komp-AUBEL.
          exit.
       endif.
      endif.

      select single erdat
        from vbak
        into w_vbak_erdat
       where vbeln   = w_vbfa_vbelv.

      if w_vbak_erdat > zDATBI.
           xkwert = 0.
       endif.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Ограничение срабатывания скидки по дате создания заказа
СообщениеДобавлено: Пт, апр 09 2010, 09:30 
Специалист
Специалист

Зарегистрирован:
Чт, янв 11 2007, 10:35
Сообщения: 129
Пол: Мужской
А может почитать стандарт и воспользоваться датой цены, а не датой создания заказа? Или в примеру копировать дату создания в дату цены, это не сложно.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение срабатывания скидки по дате создания заказа  Тема решена
СообщениеДобавлено: Пт, апр 09 2010, 09:51 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, мар 22 2010, 13:07
Сообщения: 54
Пол: Женский
а попробуйте-ка в настройке вида условия в Управляющих Данных 2 для Даты цены поставить значение Е - дата заказа (КОMK-AUDAT). не тестировала, но судя по хелпу, может помочь.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение срабатывания скидки по дате создания заказа
СообщениеДобавлено: Пт, апр 09 2010, 11:36 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, апр 13 2007, 16:52
Сообщения: 381
Пол: Мужской
Исходя из вот этого в формуле:
Code:
select single erdat
        from vbak
        into w_vbak_erdat
       where vbeln   = w_vbfa_vbelv.

      if w_vbak_erdat > zDATBI.
           xkwert = 0.
       endif.
человеку скорее нужно не E, а D "Дата создания (KOMK-ERDAT)".


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение срабатывания скидки по дате создания заказа
СообщениеДобавлено: Пт, апр 09 2010, 11:52 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, мар 22 2010, 13:07
Сообщения: 54
Пол: Женский
VC написал(а):
ограничить срок действия скидки по дате создания заказа или по текущей дате во время создания заказа.

скорее всего, дата создания и дата заказа равны, так что неважно, какой индикатор Е или D, главное, чтоб помогло)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение срабатывания скидки по дате создания заказа
СообщениеДобавлено: Пт, апр 09 2010, 12:51 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, апр 13 2007, 16:52
Сообщения: 381
Пол: Мужской
ИМХО, если в условии X = X всегда ясен результат, то в условии X = Y, полагаться на то, что это также равенство, потому что "скорее всего", крайне не осмотрительно. :) Дата документа может использоваться по назначению и тогда будут косяки, которые придётся долго разгребать.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Ограничение срабатывания скидки по дате создания заказа
СообщениеДобавлено: Пн, апр 12 2010, 09:24 
Начинающий
Начинающий

Зарегистрирован:
Пт, апр 09 2010, 08:46
Сообщения: 2
Спасибо!
Остановились на D "Дата создания (KOMK-ERDAT)".


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

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


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

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


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

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