Текущее время: Вс, июл 27 2025, 02:37

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


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


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Игнорирование значения Ship-To при cоздании коллективного биллинг-документа (Invoice Split)
СообщениеДобавлено: Ср, авг 03 2011, 17:26 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, май 19 2010, 15:54
Сообщения: 77
Добрый день,

Стоит следующая задача: при создании биллинг-документа (инвойс) на базе поставок берется во внимание множество полей, но необходимо сделать так, чтобы не бралось в расчет значение Ship-To. То есть, чтобы 2 поставки у которых не различается ничего, кроме Ship-To, склеивались в 1 результирующий инвойс.

Мануал САПа предлагает создавать в транзакции VOFM т.н. Data transfer routines. Я создал таковую в подразделе Billing Documents и убедился что она срабатывает при создании коллективного инвойса. Однако, в том же самом мануале для исключения каких-либо полей из сравнения рекомендуется очищать значения полей из VBRK (т.е. для всех созданных инвойсов VBRK-SOMEFIELD будет одинаково пустым и следовательно, создастся единый инвойс). Однако, значение партнера Ship-To хранится в LIKP-KUNNR.

Как надо поступить в таком случае?
Заранее спасибо.

_________________
F5-F6-F7-F8


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Игнорирование значения Ship-To при cоздании коллективного биллинг-документа (Invoice Split)
СообщениеДобавлено: Ср, авг 03 2011, 21:52 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Чт, июл 28 2011, 20:21
Сообщения: 88
Откуда: Кибертрон
Пол: Мужской
Цитата:
Стоит следующая задача: при создании биллинг-документа (инвойс) на базе поставок берется во внимание множество полей, но необходимо сделать так, чтобы не бралось в расчет значение Ship-To
Вообще-то ship-to в большинстве конфигураций и так игнорируется. И это неважно, что поставки ничем не отличаются, кроме ship-to. При создании инвойса копирование данных может происходить не только из них, но и из сбытовых заказов, если они сделаны на их базе. А в сбытовых заказах данные, критичные для билинга (например, условия оплаты), могут отличаться друг от друга, поэтому поставки могут не попасть в один инвойс.

_________________
Порхаю как пчела, жалю как бабочка.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Игнорирование значения Ship-To при cоздании коллективного биллинг-документа (Invoice Split)
СообщениеДобавлено: Чт, авг 04 2011, 16:12 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, май 19 2010, 15:54
Сообщения: 77
Спасибо за ответ!

Как бы предполагается, что все остальные параметры являются одинаковыми.
При симуляции создания коллективного инвойса Split Analysis показывает:

Split due to different partner data

PR Fld Name $000000001 $000000002

SH Customer Number 0020016111 0000210222
SH Address 0000130111 0000102222
SH Number of contact pe 0000001111 0000000001
SH Address 0000102222 0000011111
SH Country Key ES US
SH Person number 0000121111 0000065222

_________________
F5-F6-F7-F8


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Игнорирование значения Ship-To при cоздании коллективного биллинг-документа (Invoice Split)
СообщениеДобавлено: Пн, авг 08 2011, 20:13 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Ср, май 19 2010, 15:54
Сообщения: 77
А в итоге проблема решилась следующим образом:

1. В юзерэкзите
FORM USEREXIT_NEWROLE_XVBPAK_AVBPAK.
прописываем следующую строчку
Code:
     DELETE XVBPAK WHERE PARVW = 'WE'.

(вычищаем партнера ShipTo на уровне заголовка)

2. а в эзерэкзите
USEREXIT_NEWROLE_XVBPAP_AVBPAK.
прописываем на уровне итемов атрибуты партнера ShipTo. Решение выглядит на первый взгляд жутковато, но почему-то работает:
Code:
     
     DATA : BEGIN OF LOC_KNVP.
     INCLUDE STRUCTURE KNVP.
     DATA : END OF LOC_KNVP.
     DATA : LOC_RC LIKE SY-SUBRC.
     DATA : LOC_ROLE_FOUND(1) TYPE C.

     CLEAR LOC_ROLE_FOUND.
     LOOP AT AVBPAK WHERE PARVW EQ 'WE'.
       PERFORM KNVP_READ USING VBRK-VKORG VBRK-VTWEG VBRK-SPART
               AVBPAK-KUNNR 'WE'
               CHANGING LOC_KNVP LOC_RC.
     ENDLOOP.
     IF LOC_RC EQ 0 AND
     NOT LOC_KNVP-PARNR IS INITIAL OR
     NOT LOC_KNVP-KUNN2 IS INITIAL OR
     NOT LOC_KNVP-LIFNR IS INITIAL OR
     NOT LOC_KNVP-PERNR IS INITIAL.
       LOOP AT XVBPAP WHERE PARVW EQ 'WE'.
          LOC_ROLE_FOUND = 'X'.
          XVBPAP-KUNNR = LOC_KNVP-KUNN2.
          XVBPAP-PARNR = LOC_KNVP-PARNR.
          XVBPAP-LIFNR = LOC_KNVP-LIFNR.
          XVBPAP-PERNR = LOC_KNVP-PERNR.
          CLEAR XVBPAP-ADRNR.
          PERFORM KUPAV_READ CHANGING XVBPAP.
          MODIFY XVBPAP.
          XVBPA = XVBPAP.
          PERFORM KUNDENVIEWS_FUELLEN USING LOC_RC.
       ENDLOOP.
       IF LOC_ROLE_FOUND NE 'X'.
          XVBPAP-PARVW = 'WE'.
          XVBPAP-PARNR = LOC_KNVP-PARNR.
          XVBPAP-KUNNR = LOC_KNVP-KUNN2.
          XVBPAP-LIFNR = LOC_KNVP-LIFNR.
          XVBPAP-PERNR = LOC_KNVP-PERNR.
          CLEAR XVBPAP-ADRNR.
          PERFORM KUPAV_READ CHANGING XVBPAP.
          APPEND XVBPAP.
          XVBPA = XVBPAP.
          PERFORM KUNDENVIEWS_FUELLEN USING LOC_RC.
          SORT XVBPAP BY PARVW.
       ENDIF.
     ENDIF.


После переноса юзерэкзитов из песочницы в тестовую систему рекоммендуется активировать путем запуска программы RV80HGEN, она должна выдать "All routines have been successfully activated".

Вопрос к почтенным гуру - есть ли какие-то подводные камни при таком решении проблемы?

_________________
F5-F6-F7-F8


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

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


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

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


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

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