Sapforum.Biz

Инструменты => ABAP - Инструментальные средства => SMOD/CMOD - Расширения => Тема начата: Uukrul от Октябрь 30, 2007, 06:49:38 pm

Название: Выбор счета ПМ/ПС (Операция WRX)
Отправлено: Uukrul от Октябрь 30, 2007, 06:49:38 pm
В общем иногда возникает задача смены счета ПМ/ПС при некоторых операциях. Решается судя по всему это следующим методом, первое в настройке правил для WRX нужно поставить галочку "Общая модификация", как на рисунке wrx.png

Обратите внимание, что это сбросит настройку всех счетов для всех классов оценки, так что перед этой операцией обязательно сохраните данные настройки, ну если у вас их нет.

Ну а далее, ну я к примеру делал обработку по виду движения, т.е. если это вид движения 122 возврат, тогда типа выполнить замещение счета. Для этого активируется расширение LMR1M002. Текст отлова операции следующий:
Код: You are not allowed to view links. Register or Login
*&**********************************************************************
*& Comments    : Замещение счета ПМ/ПС для движений возврата материала
*&               подставляет общую модификационную константу для вида
*&               движения 122 как RET, настройка должна быть в T030
*& Platform    : SAP R/3 ver ECC 6.00
*& Autor       : Uukrul
*& Date create : 30.10.2007
*& Date change : 30.10.2007
*&**********************************************************************
*& Date change : 30.10.2007 - Общая разработка программы замещения
*&**********************************************************************
data: lt_imseg like imseg occurs 1,
      lw_imseg like imseg.

field-symbols: <fs_aktiv> type any.

* Получить данные строк документа проводки ММ
assign ('(SAPLMBWL)IMSEG[]') to <fs_aktiv>.

lt_imseg = <fs_aktiv>.

* Для позиции по которой выполняется операция проверить код вида
* движения. Если это возврат 122 ВДМ, тогда подставить код моди-
* фикации как RET, иначе сбросить значение.
read table lt_imseg into lw_imseg with key ebeln = i_wrxmod-ebeln
                                           ebelp = i_wrxmod-ebelp.
if sy-subrc = 0 and lw_imseg-bwart ='122'.
  e_konto_modif = 'RET'.
else.
  e_konto_modif = space.
endif.

unassign <fs_aktiv>.

В общем теперь при 122 виде движения будет использоваться настройка с модификацией RET.

PS: Из интересного, начинающим абаперам, обратите внимание как можно достучаться до вышестоящих табличек через field-symbols.