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

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


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

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


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

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