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

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


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

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


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

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