Текущее время: Чт, июл 31 2025, 01:49

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: selection-screen и gui-status
СообщениеДобавлено: Пт, фев 29 2008, 11:21 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Вт, дек 04 2007, 12:22
Сообщения: 32
Как через кнопку созданная в gui-status вызвать selection-screen???
У меня 3 селкционных экрана один вылазиет после запуска программы второй и третий должен вылазить после вывода данных и обязательно после нажатия соответствующей кнопки.

_________________
В начале был бит, потом байт, и только потом появилось слово...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: selection-screen и gui-status
СообщениеДобавлено: Пт, фев 29 2008, 11:33 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Артур написал(а):
Как через кнопку созданная в gui-status вызвать selection-screen???
У меня 3 селкционных экрана один вылазиет после запуска программы второй и третий должен вылазить после вывода данных и обязательно после нажатия соответствующей кнопки.
Ручками: at selection-screen+call selection-screen. Ну и теорию изучить (экраны и пр.)

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, фев 29 2008, 11:34 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Code:
at selection-screen.
if sy-ucomm = {код кнопки}.
   call selection-screen {номер экрана}.
endif.

Не очень себе только представляю ситуацию, когда экраны выбора надо вызывать именно по своей кнопке, а не , скажем, последовательно по стандартной кнопке выполнить.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, фев 29 2008, 11:42 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Rokhay написал:
Code:
at selection-screen.
if sy-ucomm = {код кнопки}.
   call selection-screen {номер экрана}.
endif.


Здесь ещё неплохо было-бы проверять а каком экране происхотид дело, ведь at selection-screen один на все экраны выбора.
Цитата:
Не очень себе только представляю ситуацию, когда экраны выбора надо вызывать именно по своей кнопке, а не , скажем, последовательно по стандартной кнопке выполнить.

Вполне стандартная ситуация для случая когда есть некий блок параметров, которыми 1) не хочется загромождать основной экран выбора и возиться с ткрытием\скрытием параметров на экране 2) хочется иметь возможнсть изменять эти параметры в дальнейшем в процессе работы.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, фев 29 2008, 11:47 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Цитата:
Вполне стандартная ситуация для случая


Действительно, легко представил.
Мне, почему то пока такие случаи не предоставлялись.)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, фев 29 2008, 12:34 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Вт, дек 04 2007, 12:22
Сообщения: 32
sy-uname написал(а):
Rokhay написал:
Code:
at selection-screen.
if sy-ucomm = {код кнопки}.
   call selection-screen {номер экрана}.
endif.


Здесь ещё неплохо было-бы проверять а каком экране происхотид дело, ведь at selection-screen один на все экраны выбора.
Цитата:

Не очень себе только представляю ситуацию, когда экраны выбора надо вызывать именно по своей кнопке, а не , скажем, последовательно по стандартной кнопке выполнить.
[/quote]
В том то и дело что at selection-screen один на все экраны выбора. В начале я тоже пытался таким методом решить свою задачу.

_________________
В начале был бит, потом байт, и только потом появилось слово...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, фев 29 2008, 17:13 
Начинающий
Начинающий

Зарегистрирован:
Чт, фев 14 2008, 12:31
Сообщения: 8
если я правильно понял,
я вроде писал такой демо програм
попробуй так :
в ПФ статусе надо создать эту соответствующую кнопку создать потом

я тут тебе дам весь код посмотри работает вроде

Code:
REPORT  ZTESTPROG                          .



data g_ok_code type sy-ucomm.
parameter: pa_zavod TYPE werks_d.
data g_zavod type werks.
data g_flag.



initialization.

* Relevant for report

AT SELECTION-SCREEN OUTPUT. " ~PBO

"* Relevant for each selection screen in the program

AT SELECTION-SCREEN on VALUE-REQUEST FOR pa_zavod.

* Relevant for each field pa_zavod
  g_flag = space.
    call SCREEN '0100'.

at SELECTION-SCREEN. "~PAI

* Releant for each selection screen in the program
IF pa_zavod = space.

MESSAGE 'Field is Empty'(001) TYPE 'S'.

ENDIF.



START-OF-SELECTION.

* Relevant for report

  g_flag = 'X'.
  WRITE 'start of selection'.




*&---------------------------------------------------------------------*
*&      Module  init_list_100  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
MODULE init_list_100 OUTPUT.

  set PF-STATUS 'LIST'.
  leave TO LIST-PROCESSING and RETURN TO SCREEN 0.
  SUPPRESS DIALOG.

* only sceleton ... to do
  select werks into g_zavod from t001w.
    write: / g_zavod.
    hide g_zavod.
  endselect.

ENDMODULE.                 " init_list_100  OUTPUT


at LINE-SELECTION.

* Relevant for list-screen
  check g_flag ne 'X'.
  pa_zavod = g_zavod.
  leave LIST-PROCESSING.

at USER-COMMAND.

  case sy-ucomm.
    when 'QQQQ'.
      call SCREEN '0200'.
  ENDCASE.

* Relevant for list-screen
*&---------------------------------------------------------------------*
*&      Module  USER_COMMAND_0200  INPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
module USER_COMMAND_0200 input.

  if g_ok_code = 'SPAT'.
    set screen 0.
  endif.

endmodule.                 " USER_COMMAND_0200  INPUT
*&---------------------------------------------------------------------*
*&      Module  STATUS_0200  OUTPUT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
module STATUS_0200 output.
  clear g_ok_code.
  SET PF-STATUS '0200'.
  SET TITLEBAR '001'.
endmodule.                 " STATUS_0200  OUTPUT




тут в PF-STATUS 'LIST'. создана кнопка ;)


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

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


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

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


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

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