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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: CALL TRANSACTION 'ME51N' USING lt_bdcdata OPTIONS FROM ls_opt MESSAGES INTO lt_msg.
СообщениеДобавлено: Ср, окт 05 2011, 18:35 
Специалист
Специалист

Зарегистрирован:
Пн, дек 21 2009, 11:07
Сообщения: 167
Добрый вечер.

Подскажите пожалуйста почему когда вызываю транзакцию таким образом пользовательский интерфейс немного отличается от нормального вида, т.е. все как-будто нарисовано write-ами? И как это исправить или это все-таки тонкости CALL TRANSACTION?
Вызов происходит в БО в моем методе.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CALL TRANSACTION 'ME51N' USING lt_bdcdata OPTIONS FROM ls_opt MESSAGES INTO lt_msg.
СообщениеДобавлено: Чт, окт 06 2011, 02:36 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
DarZ написал(а):
Добрый вечер.

Подскажите пожалуйста почему когда вызываю транзакцию таким образом пользовательский интерфейс немного отличается от нормального вида, т.е. все как-будто нарисовано write-ами? И как это исправить или это все-таки тонкости CALL TRANSACTION?
Вызов происходит в БО в моем методе.

На enjoy транзакции пакетники не пишут. Используйте соответствующие бапи (желтельно BAPI_PR_CREATE, если нету то BAPI_REQUISITION_CREATE) или на крайний случай пакетник на me51.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CALL TRANSACTION 'ME51N' USING lt_bdcdata OPTIONS FROM ls_opt MESSAGES INTO lt_msg.
СообщениеДобавлено: Чт, окт 06 2011, 06:48 
Специалист
Специалист

Зарегистрирован:
Пн, дек 21 2009, 11:07
Сообщения: 167
Просто мне нужно запускать эту транзакцию в диалоговом режиме... но в тот же момент передать туда номер документа


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CALL TRANSACTION 'ME51N' USING lt_bdcdata OPTIONS FROM ls_opt MESSAGES INTO lt_msg.
СообщениеДобавлено: Чт, окт 06 2011, 08:38 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Для запуска диалога из ME51N можно использовать ФМ MEGUI_MAINTAIN

_________________
С уважением,
Удав.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: CALL TRANSACTION 'ME51N' USING lt_bdcdata OPTIONS FROM ls_opt MESSAGES INTO lt_msg.  Тема решена
СообщениеДобавлено: Чт, окт 06 2011, 08:38 
Специалист
Специалист

Зарегистрирован:
Пн, дек 21 2009, 11:07
Сообщения: 167
кому интересно решил хитрым способом, насколько правильно вам судить.

в методе ZCREATE запускаю ФМ
код ниже
Code:
  CALL TRANSACTION 'ME51N'.
  DATA: l_banfn TYPE banfn.

  WAIT UP TO 1 SECONDS.
  GET PARAMETER ID 'BAN' FIELD l_banfn. " Номер заявки
  SET PARAMETER ID 'BAN' FIELD space. " Очищаем память на всякий случай
  IF l_banfn IS INITIAL.
    RAISE error.
  ENDIF.

  DO 10 TIMES.
    SELECT COUNT( * ) INTO sy-tfill
      UP TO 1 ROWS
      FROM eban
      WHERE banfn = l_banfn.
    IF sy-tfill = 1.
      c_banfn = l_banfn.
      EXIT.
    ENDIF.
  ENDDO.

  IF c_banfn IS INITIAL.
    RAISE error.
  ENDIF.



БАДИ ME_PROCESS_REQ_CUST->IF_EX_ME_PROCESS_REQ_CUST~OPEN
Присвоение номера
Code:
  CHECK im_header->c_objtyp = 'BUS2105'.

  DATA: m_tcode  TYPE sy-tcode
      , ml_data    TYPE mereq_header
      , ml_datax TYPE   mereq_headerx
      , m_banfn  TYPE banfn
      .

  CALL METHOD im_header->get_transaction_state
    IMPORTING
      ex_tcode = m_tcode.

  IF m_tcode = 'ME51N' OR m_tcode = 'ME51'.
     CALL METHOD im_header->get_data
      RECEIVING
        re_data = ml_data.

    IF ml_data-banfn_ext IS INITIAL.
      SET PARAMETER ID 'BAN' FIELD space. " Очищаем память на всякий случай

      DATA: m_parid TYPE tpara-paramid VALUE 'TEST'.

      GET PARAMETER ID m_parid FIELD m_banfn.
      SET PARAMETER ID m_parid FIELD space.
      IF m_banfn IS INITIAL.
        RETURN.
      ENDIF.

      ml_data-banfn_ext = m_banfn.

      CALL METHOD im_header->set_data
        EXPORTING
          im_data = ml_data.

      CALL METHOD im_header->get_datax
        RECEIVING
          re_datax = ml_datax.

      ml_datax-banfn_ext = if_srm=>true.
      CALL METHOD im_header->set_datax
        EXPORTING
          im_datax = ml_datax.


    ENDIF.

  ENDIF.


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

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


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

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


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

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