Текущее время: Пн, июл 28 2025, 12:50

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: SUBMIT в новой сессии и возврат
СообщениеДобавлено: Ср, июн 05 2013, 22:24 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 07 2006, 16:32
Сообщения: 131
Откуда: Украина, Мариуполь
Пол: Мужской
здравствуйте уважаемые коллеги.
из программы требуется запустить стандартный отчет заполнив поля его экрана выбора в новой сессии. ничего лучше не придумал как завернуть запуск в собственный фм вида:
Code:
CALL FUNCTION 'ZSUBMIT' STARTING NEW TASK 'NEW'
DESTINATION 'NONE'
      EXPORTING
        iv_repid  = lv_repid
      TABLES
        it_selopt = lt_selopt.

отчет запускается в новой сессии пропуская экран выбора как и ожидалось. но после того как пользователь нажимает кнопку возврата на его экран выбора, он как и полагается на него возвращается. как сделать так чтобы при таком действии пользователя сессия закрывалась. ну как при CALL TRANSACTION AND SKIP FIRS SCREEN. и вообще возможно ли это? :shock:

_________________
я в пути и нет у меня никаких тревог и забот. одинокая лодка моя рассекая волну плывет...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SUBMIT в новой сессии и возврат
СообщениеДобавлено: Чт, июн 06 2013, 07:55 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
submit выполняете с дополнением and return? Покажите код

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SUBMIT в новой сессии и возврат
СообщениеДобавлено: Чт, июн 06 2013, 09:55 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 07:32
Сообщения: 777
Откуда: Москва
Пол: Мужской
Прикольная задачка :) Не спрашиваю, для чего это нужно :)
Шаги такие:
1) В вызываемом отчете делаем так:
Code:
DATA: x_first TYPE c.

INITIALIZATION.
  GET PARAMETER ID 'TMP' FIELD x_first.
  IF x_first = 'X'.
    SET PARAMETER ID 'TMP' FIELD space.
    LEAVE PROGRAM.
  ELSE.
    SET PARAMETER ID 'TMP' FIELD 'X'.
  ENDIF.

2) В RFC-модуле делаем так:
Code:
submit <report>
  VIA SELECTION-SCREEN AND RETURN.

  CALL FUNCTION 'SAPGUI_SET_FUNCTIONCODE'
   EXPORTING
     FUNCTIONCODE                 = '=I'
   EXCEPTIONS
     FUNCTION_NOT_SUPPORTED       = 1
     OTHERS                       = 2.
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.

3) Ну, и в вызывающей программе так:
Code:
  CALL FUNCTION 'Z_SUBMIT' STARTING NEW TASK 'SUB' destination 'NONE'.


Детали с передачей параметров опустил :) Режим закрывает :)

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: SUBMIT в новой сессии и возврат
СообщениеДобавлено: Чт, июн 06 2013, 11:27 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 07 2006, 16:32
Сообщения: 131
Откуда: Украина, Мариуполь
Пол: Мужской
Да конечно RETURN там есть. Вот код
Code:
SUBMIT (iv_repid) WITH SELECTION-TABLE it_selopt AND RETURN.

Запускаю отчет RFTS6500 там AVL-list после селекционного экрана. Видимо отчет построен так что при нажатии на кнопку "Выход" программа закрывается совсем, а когда "Назад" или "Отмена", то происходит возврат на экран выбора.
Есть ли какой-то вариант сделать так чтобы всегда был выход из программы? По идее тогда и сессия тоже должна закрыться...

_________________
я в пути и нет у меня никаких тревог и забот. одинокая лодка моя рассекая волну плывет...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SUBMIT в новой сессии и возврат  Тема решена
СообщениеДобавлено: Чт, июн 06 2013, 11:59 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
r00xus написал:
Да конечно RETURN там есть. Вот код
Code:
SUBMIT (iv_repid) WITH SELECTION-TABLE it_selopt AND RETURN.

Запускаю отчет RFTS6500 там AVL-list после селекционного экрана. Видимо отчет построен так что при нажатии на кнопку "Выход" программа закрывается совсем, а когда "Назад" или "Отмена", то происходит возврат на экран выбора.
Есть ли какой-то вариант сделать так чтобы всегда был выход из программы? По идее тогда и сессия тоже должна закрыться...

Тут вероятно придется расширять RFTS6500, чтоб слегка доработать - селекционный экран там явно вызывается (perform submit_ff65_via)
Самое простое - неявное расширение в подпрограмме submit_ff65_via, где вместо submit'a будет leave program (например по флагу в памяти)

Code:
    if g_exit_caused_by_caller = xtrue.
*     forced Exit by calling program
      leave.
    else.
*     User left list via F3, F12 or F15
      if gs_exit_caused_by_user-back   = xtrue              "F3
      or gs_exit_caused_by_user-cancel = xtrue.             "F12
        if sy-tcode = 'FF70'
        or sy-tcode = 'FF71'           "see RFTS7099
        or sy-tcode = 'FF72'.
*         called via cash management/cash forecast
          leave.
        else.
          perform submit_ff65_via.     "-> show selection screen
        endif.
      else.
        if gs_exit_caused_by_user-exit = xtrue.             "F15
          leave.
        else.
*         should not occur!
          leave.
        endif.
      endif.
    endif.

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: SUBMIT в новой сессии и возврат
СообщениеДобавлено: Пн, июн 10 2013, 13:26 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, дек 07 2006, 16:32
Сообщения: 131
Откуда: Украина, Мариуполь
Пол: Мужской
Если пользователей не утроит жать желтенький "Выход" для выхода, то видимо придется расширять RFTS6500... Спасибо.

_________________
я в пути и нет у меня никаких тревог и забот. одинокая лодка моя рассекая волну плывет...


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

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


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

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


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

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