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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: LSMW field mapping Rule-ABAP code
СообщениеДобавлено: Ср, авг 03 2011, 17:08 
Начинающий
Начинающий

Зарегистрирован:
Вт, дек 14 2010, 17:53
Сообщения: 19
Откуда: Москва
Пол: Женский
Добрый день!
Я консультант, но мне потребовалось написать кое-что на ABAP.

Я создала LSMW проект с использованием BAPI для изменения стандартной цены материала:
Входные данные: материал, цена, дата проводки.
Далее система должна отобрать в MBEW области оценки и виды оценки, на которые расширен материал и для всех этих ракурсов изменить цену (цена одинакова для всех ракурсов).
Я написала абап-код в пункте Field Mapping(см. ниже). Но он подставляет только одно значение. В то время как мне нужно, чтобы изменение произошло для всех ракурсов.

Я написала следующее:

VALUATIONAREA Область оценки
Code: tables MBEW.
select * from MBEW
where MATNR = ZHEADER-MATNR.
E1MATERIALVALUATION_PRICECH-VALUATIONAREA = MBEW-BWKEY.
endselect.
VALUATIONTYPE Вид оценки
Code: select * from MBEW
where MATNR = ZHEADER-MATNR.
E1MATERIALVALUATION_PRICECH-VALUATIONTYPE = MBEW-BWTAR.
endselect.

Я не знаю сложно или нет сделать так как мне нужно.
Буду признательна за любые советы.
Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LSMW field mapping Rule-ABAP code
СообщениеДобавлено: Чт, авг 04 2011, 07:22 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 10:50
Сообщения: 197
spartak01 написала:
Добрый день!
Я консультант, но мне потребовалось написать кое-что на ABAP.

Я создала LSMW проект с использованием BAPI для изменения стандартной цены материала:
Входные данные: материал, цена, дата проводки.
Далее система должна отобрать в MBEW области оценки и виды оценки, на которые расширен материал и для всех этих ракурсов изменить цену (цена одинакова для всех ракурсов).
Я написала абап-код в пункте Field Mapping(см. ниже). Но он подставляет только одно значение. В то время как мне нужно, чтобы изменение произошло для всех ракурсов.

Я написала следующее:

VALUATIONAREA Область оценки
Code: tables MBEW.
select * from MBEW
where MATNR = ZHEADER-MATNR.
E1MATERIALVALUATION_PRICECH-VALUATIONAREA = MBEW-BWKEY.
endselect.
VALUATIONTYPE Вид оценки
Code: select * from MBEW
where MATNR = ZHEADER-MATNR.
E1MATERIALVALUATION_PRICECH-VALUATIONTYPE = MBEW-BWTAR.
endselect.

Я не знаю сложно или нет сделать так как мне нужно.
Буду признательна за любые советы.
Спасибо.


Ну во первых зачем 2 селекта?? во вторых используй внутренние таблицы, в третьих, как ты в структуру E1MATERIALVALUATION_PRICECH добавишь все значения?? создай свою таблицу с типом E1MATERIALVALUATION_PRICECH считай по номеру материала все записи из MBEW и уже в цикле изменяй цену


вот примерно как я бы написал

Code:
DATA: it_mbew TYPE TABLE OF mbew,
        it_E1MATERIALVALUATION_PRICECH TYPE TABLE OF E1MATERIALVALUATION_PRICECH WITH HEADER LINE.

FIELD-SYMBOLS: <fs_mbew> TYPE mbew.

  SELECT *
    INTO TABLE it_mbew
    FROM mbew
    WHERE matnr = ZHEADER-MATNR.
   
   IF sy-subrc = 0.
   
  LOOP AT it_mbew ASSIGNING <fs_mbew>.

    it_E1MATERIALVALUATION_PRICECH-material = <fs_mbew>-matnr.
    it_E1MATERIALVALUATION_PRICECH-VALUATIONAREA = <fs_mbew>-bwkey.
    it_E1MATERIALVALUATION_PRICECH-VALUATIONTYPE = <fs_mbew>-bwtar.

    APPEND it_E1MATERIALVALUATION_PRICECH.
  ENDLOOP.

    ENDIF.


А дальше надо смотреть как заполняется цена :roll:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: LSMW field mapping Rule-ABAP code
СообщениеДобавлено: Чт, авг 04 2011, 10:41 
Начинающий
Начинающий

Зарегистрирован:
Вт, дек 14 2010, 17:53
Сообщения: 19
Откуда: Москва
Пол: Женский
Спасибо за совет.
Я поняла, с кодом буду разобраться.
Но тут мне не стало не понятно главное: как мне передать в LSMW несколько записей? когда данные считываются из файла - просто делается несколько строк. А тут мне как бы нужно взять одну строку из файла. Потом согласно коду найти значения в табличке (грубо говоря - заводы, на которые расширен материал) и уже на вход в BAPI (который используется в LSMW) подать не одну запись, а несколько.
Вот эта задача мне и не ясна.
Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LSMW field mapping Rule-ABAP code
СообщениеДобавлено: Чт, авг 04 2011, 12:53 
Специалист
Специалист

Зарегистрирован:
Пн, июл 11 2011, 10:50
Сообщения: 197
spartak01 написала:
Спасибо за совет.
Я поняла, с кодом буду разобраться.
Но тут мне не стало не понятно главное: как мне передать в LSMW несколько записей? когда данные считываются из файла - просто делается несколько строк. А тут мне как бы нужно взять одну строку из файла. Потом согласно коду найти значения в табличке (грубо говоря - заводы, на которые расширен материал) и уже на вход в BAPI (который используется в LSMW) подать не одну запись, а несколько.
Вот эта задача мне и не ясна.
Спасибо.


Ну вроде BAPI это по сути тот же ФМ, так что надо смотреть как отрабатывает конкретный BAPI


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: LSMW field mapping Rule-ABAP code
СообщениеДобавлено: Чт, авг 04 2011, 14:01 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Вт, апр 24 2007, 15:56
Сообщения: 1402
Готовите таблицу (выгружаете из SE11), в которой уже есть области оценки (т.е. расширяете входной файл столбцом "BWKEY").
И загружаете уже его, всё гениальное - просто! ;) Если Вы не абапер, зачем забивать голову себе всякими селектами?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LSMW field mapping Rule-ABAP code
СообщениеДобавлено: Чт, авг 04 2011, 14:04 
Начинающий
Начинающий

Зарегистрирован:
Вт, дек 14 2010, 17:53
Сообщения: 19
Откуда: Москва
Пол: Женский
Я бы с радостью так сделала, если бы это был единичный случай.
Но загрузка нужна для использования клиентом на регулярной основе.
Поэтому нужен селект(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: LSMW field mapping Rule-ABAP code
СообщениеДобавлено: Чт, авг 04 2011, 14:53 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Почитав Вашу проблему, я думаю что лучше написать отдельную программу с использованием Bapi.
Тем более что
spartak01 написала:
Я бы с радостью так сделала, если бы это был единичный случай.
Но загрузка нужна для использования клиентом на регулярной основе.
Поэтому нужен селект(


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

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


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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