SAPфорум.RU
https://sapboard.ru/forum/

Выход из программы
https://sapboard.ru/forum/viewtopic.php?f=13&t=95472
Страница 1 из 2

Автор:  Kuranov.Dmitry [ Вт, сен 19 2017, 11:01 ]
Заголовок сообщения:  Выход из программы

Есть Z-программа (без селекционника).
Она вызывается из другой программы через SUBMIT.
Code:
...
SUBMIT ZMyProg AND RETURN.
...


В программе ZMyProg есть экран.
Как реализовать работу кнопок выхода. Красную и зеленую без проблем реализовал через LEAVE PROGRAM. программа выходит обратно в программу-родителя. Но как выйти насовсем по желтой кнопке?
Править программу-родителя нельзя :(.

пока что придумал такой финт:
Code:
CASE sy-ucomm.
    WHEN 'BACK' or 'RW' . LEAVE PROGRAM.
    WHEN '%EX'. LEAVE TO TRANSACTION 'SESSION_MANAGER'.
.

работает, но вот как-то LEAVE TO TRANSACTION смущает...

Автор:  Bimit [ Вт, сен 19 2017, 11:32 ]
Заголовок сообщения:  Re: Выход из программы

как выход обрабатывается через метод с AT EXIT-COMMAND?

Автор:  Bimit [ Вт, сен 19 2017, 11:38 ]
Заголовок сообщения:  Re: Выход из программы

З.Ы. через оператор LEAVE SCREEN. не выходит?

Автор:  Kuranov.Dmitry [ Вт, сен 19 2017, 11:38 ]
Заголовок сообщения:  Re: Выход из программы

В родительской?
там нет экранов, сразу после селекционника идет обработка и вызов моей программы в END-OF-SELECTION.

Автор:  Kuranov.Dmitry [ Вт, сен 19 2017, 11:39 ]
Заголовок сообщения:  Re: Выход из программы

Bimit написал(а):
З.Ы. через оператор LEAVE SCREEN. не выходит?

выходит, но так как вызывается череp SUBMIT AND RETURN, он выходит обратно в программу родитель. Она завершается, и выдает свой селекционник

Автор:  Sam Stone [ Вт, сен 19 2017, 12:52 ]
Заголовок сообщения:  Re: Выход из программы

А на желтую кнопку нельзя повесить LEAVE PROGRAM? По крайней мере с логикой, что если программа засабмичена, то ливать, а если нет - делать ее текущее действие.

Автор:  Kuranov.Dmitry [ Вт, сен 19 2017, 13:57 ]
Заголовок сообщения:  Re: Выход из программы

Sam Stone написал(а):
А на желтую кнопку нельзя повесить LEAVE PROGRAM? По крайней мере с логикой, что если программа засабмичена, то ливать, а если нет - делать ее текущее действие.

в том то и проблема, что LEAVE PROGRAM выходит из засабмиченной программы в ту, что её засабмитила. А мне хотелось бы весь стек вызовов прервать.

Автор:  Bimit [ Вт, сен 19 2017, 14:12 ]
Заголовок сообщения:  Re: Выход из программы

может сообщением это сделать? :roll:

Автор:  Daw [ Вт, сен 19 2017, 14:13 ]
Заголовок сообщения:  Re: Выход из программы

В ZMyProg сохранять в память параметр при выходе.
В основной программе по этому параметру тоже делать LEAVE PROGRAM.

Автор:  Bimit [ Вт, сен 19 2017, 14:29 ]
Заголовок сообщения:  Re: Выход из программы

Kuranov.Dmitry написал(а):
Править программу-родителя нельзя :(.


Вот это только мешает как я понял :wink:

Автор:  Удав [ Вт, сен 19 2017, 14:48 ]
Заголовок сообщения:  Re: Выход из программы

Kuranov.Dmitry написал(а):
А мне хотелось бы весь стек вызовов прервать.

message A :roll:

Автор:  Kuranov.Dmitry [ Вт, сен 19 2017, 16:22 ]
Заголовок сообщения:  Re: Выход из программы

Удав написал(а):
Kuranov.Dmitry написал(а):
А мне хотелось бы весь стек вызовов прервать.

message A :roll:


Пользователь напугается))

Автор:  Kuranov.Dmitry [ Вт, сен 19 2017, 16:35 ]
Заголовок сообщения:  Re: Выход из программы

Bimit написал(а):
Kuranov.Dmitry написал(а):
Править программу-родителя нельзя :(.


Вот это только мешает как я понял :wink:

организационные вопросы, согласования с хозяином той программы.

Моя программа была раньше что-то типа юзер-эксзита, без интерфейса, отрабатывала молча и все, а теперь у меня появился экран и интерфейс

Автор:  Bimit [ Ср, сен 20 2017, 06:02 ]
Заголовок сообщения:  Re: Выход из программы

Kuranov.Dmitry написал(а):

Пользователь напугается))


добавить DISPLAY LIKE 'I". :)

Автор:  Sam Stone [ Ср, сен 20 2017, 07:39 ]
Заголовок сообщения:  Re: Выход из программы

Создать новую пустую программу с транзакцией. По желтой кнопке делать leave to transaction, а в пустой программе - leave program. Так вроде должно отработать (лень тестировать, если честно :roll: ).

Страница 1 из 2 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/