Текущее время: Вт, июл 29 2025, 15:55

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Программное создание контракта для ММ модуля
СообщениеДобавлено: Вт, окт 03 2006, 11:47 
Специалист
Специалист

Зарегистрирован:
Чт, мар 10 2005, 06:25
Сообщения: 106
Откуда: Johannesburg, South Africa
Привет всем!

Имеется Excel лист данных из которых нужно создать контракт в ММ (транзакция ME31K). Первое, что пришло на ум, это скачать данные с Excel листа во внутреннюю таблицу и использовать соответствуюший BAPI, однако, полазав по BAPI Explorer я ничего такого не нашел для ММ модуля.
У кого какие предложения будут на сей счет?

Заранее благодарен.

_________________
Утомлённый солнцем


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 03 2006, 13:06 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, сен 20 2006, 16:47
Сообщения: 78
Откуда: Москва
батч на ME31K - банально, но работает


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 03 2006, 13:49 
Специалист
Специалист

Зарегистрирован:
Чт, мар 10 2005, 06:25
Сообщения: 106
Откуда: Johannesburg, South Africa
Спасибо за совет. А куска кода в качестве примера не найдется?

_________________
Утомлённый солнцем


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 03 2006, 14:12 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, сен 20 2006, 16:47
Сообщения: 78
Откуда: Москва
из того что оказалось под рукой:

Code:
  REFRESH gt_bdctable.

* формирование заголовка документа
  PERFORM bdc_zap USING 'SAPMM06E' '0200' 'X' '' ''.
  PERFORM bdc_zap USING '' '' '' 'BDC_CURSOR' 'RM06E-EVART'.
  PERFORM bdc_zap USING '' '' '' 'BDC_OKCODE' '/00'.
  PERFORM bdc_zap USING '' '' '' 'EKKO-LIFNR' gs_head-lifnr.
  PERFORM bdc_zap USING '' '' '' 'RM06E-EVART' gs_head-bsart.
  PERFORM bdc_zap USING '' '' '' 'RM06E-VEDAT' gs_head-bedat.
  PERFORM bdc_zap USING '' '' '' 'EKKO-EKORG' gs_head-ekorg.
  PERFORM bdc_zap USING '' '' '' 'EKKO-EKGRP' gs_head-ekgrp.
  PERFORM bdc_zap USING 'SAPMM06E' '0201' 'X' '' ''.
  PERFORM bdc_zap USING '' '' '' 'BDC_CURSOR' 'EKKO-VERKF'.
  PERFORM bdc_zap USING '' '' '' 'BDC_OKCODE' '=AB'.
  PERFORM bdc_zap USING '' '' '' 'EKKO-EKGRP' gs_head-ekgrp.
  PERFORM bdc_zap USING '' '' '' 'EKKO-KDATB' gs_head-kdatb.
  PERFORM bdc_zap USING '' '' '' 'EKKO-KDATE' gs_head-kdate.
  PERFORM bdc_zap USING '' '' '' 'EKKO-EKGRP' gs_head-ekgrp.
  PERFORM bdc_zap USING '' '' '' 'EKKO-ANGNR' gs_head-angnr.
  PERFORM bdc_zap USING '' '' '' 'EKKO-VERKF' gs_head-verkf.
  PERFORM bdc_zap USING '' '' '' 'EKKO-ZTERM' gs_head-zterm.
  PERFORM bdc_zap USING '' '' '' 'EKKO-WAERS' gs_head-waers.
  PERFORM bdc_zap USING '' '' '' 'EKKO-PINCR' '10'.
  PERFORM bdc_zap USING '' '' '' 'EKKO-UPINC' '1'.

* формирование позиций
  DESCRIBE TABLE gt_item LINES l_i.
  l_p = 0.
  IF l_i <= 14.
    PERFORM bdc_zap USING 'SAPMM06E' '0220' 'X' '' ''.
    PERFORM bdc_zap USING '' '' '' 'BDC_CURSOR' 'RM06E-EVART'.
    PERFORM bdc_zap USING '' '' '' 'BDC_OKCODE' '/00'.
  ELSE.
    PERFORM bdc_zap USING 'SAPMM06E' '0220' 'X' '' ''.
    PERFORM bdc_zap USING '' '' '' 'BDC_OKCODE' '/00'.
    PERFORM bdc_zap USING '' '' '' 'RM06E-EBELP' '140'.
    l_p = 1.
  ENDIF.
  l_i = 1.
  l_s = 130.
  LOOP AT gt_item ASSIGNING <ft_item>.
    IF l_pos = '14'.
      PERFORM bdc_zap USING 'SAPMM06E' '0220' 'X' '' ''.
      PERFORM bdc_zap USING '' '' '' 'RM06E-EBELP' l_s.
      PERFORM bdc_zap USING '' '' '' 'BDC_OKCODE' '/00'.
      l_i = 2.
    ENDIF.
    IF l_i < 10 .
      l_pos+0(1) = '0'.
      l_pos+1(1) = l_i.
    ELSE.
      l_pos = l_i.
    ENDIF.
    CONCATENATE 'EKPO-EMATN(' l_pos ')' INTO l_fname.
    PERFORM bdc_zap USING '' '' '' l_fname <ft_item>-matnr.
    CONCATENATE 'EKPO-KTMNG(' l_pos ')' INTO l_fname.
    PERFORM bdc_zap USING '' '' '' l_fname <ft_item>-ktmng.
    CONCATENATE 'EKPO-MEINS(' l_pos ')' INTO l_fname.
    PERFORM bdc_zap USING '' '' '' l_fname <ft_item>-meins.

    CONCATENATE 'EKPO-WERKS(' l_pos ')' INTO l_fname.
    PERFORM bdc_zap USING '' '' '' l_fname <ft_item>-werks.
    CONCATENATE 'EKPO-MWSKZ(' l_pos ')' INTO l_fname.
    PERFORM bdc_zap USING '' '' '' l_fname <ft_item>-mwskz.

    l_i = l_i + 1.
    l_s = l_s + 10.
  ENDLOOP.
* нажимаем enter на доп. экранах
  LOOP AT gt_item ASSIGNING <ft_item>.
    PERFORM bdc_zap USING 'SAPLFMSV' '0100' 'X' '' ''.
    PERFORM bdc_zap USING '' '' '' 'BDC_CURSOR' 'COBL-FIPOS'.
    PERFORM bdc_zap USING '' '' '' 'BDC_OKCODE' '=ENTR'.
  ENDLOOP.
* формирование позиций (перезаполнение цены)
  DESCRIBE TABLE gt_item LINES l_i.
  l_p = 0.
  IF l_i <= 14.
    PERFORM bdc_zap USING 'SAPMM06E' '0220' 'X' '' ''.
    PERFORM bdc_zap USING '' '' '' 'BDC_CURSOR' 'RM06E-EVART'.
    PERFORM bdc_zap USING '' '' '' 'BDC_OKCODE' '=BU'.
  ELSE.
    PERFORM bdc_zap USING 'SAPMM06E' '0220' 'X' '' ''.
    PERFORM bdc_zap USING '' '' '' 'BDC_OKCODE' '/00'.
    PERFORM bdc_zap USING '' '' '' 'RM06E-EBELP' '140'.
    l_p = 1.
  ENDIF.
  l_i = 1.
  l_s = 130.
  LOOP AT gt_item ASSIGNING <ft_item>.
    IF l_pos = '14'.
      PERFORM bdc_zap USING 'SAPMM06E' '0220' 'X' '' ''.
      PERFORM bdc_zap USING '' '' '' 'RM06E-EBELP' l_s.
      PERFORM bdc_zap USING '' '' '' 'BDC_OKCODE' '/00'.
      l_i = 2.
    ENDIF.
    IF l_i < 10 .
      l_pos+0(1) = '0'.
      l_pos+1(1) = l_i.
    ELSE.
      l_pos = l_i.
    ENDIF.

    CONCATENATE 'EKPO-NETPR(' l_pos ')' INTO l_fname.
    PERFORM bdc_zap USING '' '' '' l_fname <ft_item>-netpr.

    l_i = l_i + 1.
    l_s = l_s + 10.
  ENDLOOP.
  IF l_p EQ 1.
    PERFORM bdc_zap USING 'SAPMM06E' '0220' 'X' '' ''.
    PERFORM bdc_zap USING '' '' '' 'BDC_OKCODE' '=BU'.
  ENDIF.
  PERFORM bdc_zap USING 'SAPLSPO1' '0300' 'X' '' ''.
  PERFORM bdc_zap USING '' '' '' 'BDC_OKCODE' '=YES'.
* загрузка
  CALL TRANSACTION 'ME31K' USING gt_bdctable MODE 'N'
       MESSAGES INTO gt_msg.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 03 2006, 14:20 
Специалист
Специалист

Зарегистрирован:
Чт, мар 10 2005, 06:25
Сообщения: 106
Откуда: Johannesburg, South Africa
Спасибо за информацию. Удачи.

_________________
Утомлённый солнцем


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

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


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

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


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

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