Текущее время: Сб, июл 19 2025, 11:04

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


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

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


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

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