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

Часовой пояс: 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 часа


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

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


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

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