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

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


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

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


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

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