Текущее время: Сб, авг 23 2025, 21:01

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Динамически спрятать и показать блок на селекционный экран
СообщениеДобавлено: Пт, дек 10 2010, 17:49 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, ноя 26 2010, 20:07
Сообщения: 240
Пол: Мужской
Вопрос по ABAP/4: Исходные данные: 1) Селекционный экран 2) Параметр (типа CHECKBOX) 3) Блок дополнительных параметров. Вопрос: Можно ли спрятать, по событию нажатия на checkbox, блок параметров (то есть, если checked - то блок дополнительных параметров появляется на селекционный экран, если not checked то прячем блок параметров). В идеале хотелось бы посмотреть на рабочий код.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Динамически спрятать и показать блок на селекционный экран
СообщениеДобавлено: Вс, дек 12 2010, 11:08 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, ноя 01 2004, 12:17
Сообщения: 298
Пол: Мужской
Что ж Вы вопрос по ABAP задаете в форуме по BI?


погуглите AT SELECTION-SCREEN OUTPUT :

Code:
selection-screen :begin of block test with frame title text-001.
parameters:p_rad1 radiobutton group one user-command test,
                 p_rad2 radiobutton group one.
selection-screen:end of block test.
selection-screen:begin of block test2 with frame title text-002.
parameters:p_file(10) TYPE C MODIF ID TL,
                 p_file1(10) TYPE C MODIF ID TT.
selection-screen:end of block test2.
   
AT SELECTION-SCREEN OUTPUT.
  IF P_RAD1 = 'X'.
      LOOP AT SCREEN.
          CHECK SCREEN-GROUP1 = 'TT'.
          SCREEN-INPUT = '0'.
          MODIFY SCREEN.
      ENDLOOP.
  ENDIF.

  IF P_RAD2 = 'X'.
      LOOP AT SCREEN.
         CHECK SCREEN-GROUP1 = 'TL'.
         SCREEN-INPUT = '0'.
         MODIFY SCREEN.
      ENDLOOP.
  ENDIF.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамически спрятать и показать блок на селекционный экран
СообщениеДобавлено: Пн, дек 13 2010, 09:27 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, ноя 26 2010, 20:07
Сообщения: 240
Пол: Мужской
Меня интересует можно ли динамически спрятать сам блок параметров, а не сделать недоступным для редактирования одного из полей. Но за ответ спасибо...


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Динамически спрятать и показать блок на селекционный экран
СообщениеДобавлено: Пн, дек 13 2010, 09:44 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, апр 10 2009, 11:13
Сообщения: 1308
открытие скрытие по нажатию кнопки:
Code:
*-------------------------------------------------------------------*
AT SELECTION-SCREEN OUTPUT.
*-------------------------------------------------------------------*
* если скрытые параметры заполнены, то параметры открываем.
  IF hp_BUKRS[] IS NOT INITIAL OR
     hp_GSBER[] IS NOT INITIAL OR
     hp_AUFEX[] IS NOT INITIAL .
    gd_hide_f = 'X'.
    CONCATENATE ICON_COLLAPSE 'Дополнительные параметры'
      INTO sscrfields-functxt_01.
  ENDIF.

  LOOP AT SCREEN.
*   динамические ограничения
    IF screen-NAME CP '*HP_*' AND gd_hide_f = 'X'.
      screen-INVISIBLE = '0'.
      screen-active = '1'.
      MODIFY SCREEN.
    ELSEIF screen-NAME CP '*HP_*' AND gd_hide_f = space.
      screen-INVISIBLE = '1'.
      screen-active = '0'.
      MODIFY SCREEN.    ENDIF.
  ENDLOOP.


ну и дополнительно к этому...
Code:
*&---------------------------------------------------------------------*
   AT SELECTION-SCREEN.
*&---------------------------------------------------------------------*
  CASE sscrfields-ucomm.
    WHEN 'FC01'.
      IF gd_hide_f IS INITIAL.
        gd_hide_f = 'X'.
        CONCATENATE ICON_COLLAPSE 'Дополнительные параметры'
          INTO sscrfields-functxt_01.

      ELSE.
        CLEAR: gd_hide_f,
              hp_BUKRS,hp_BUKRS[],
              hp_GSBER,hp_GSBER[],
              hp_AUFEX,hp_AUFEX[].
        CONCATENATE ICON_EXPAND 'Дополнительные параметры'
          INTO sscrfields-functxt_01.
      ENDIF.
.....
  ENDCASE.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Динамически спрятать и показать блок на селекционный экран  Тема решена
СообщениеДобавлено: Пн, дек 13 2010, 14:47 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, ноя 26 2010, 20:07
Сообщения: 240
Пол: Мужской
Спасибо за ответы, проблема решена, если кому интересно мне нужно было именно вот это (P.S. Извиняюсь, за то что запостил тему не в соответствующем разделе, действительно содержимое не коим образом не относиться к модулю BI ). Итак код:

REPORT ZTESTETSET.


SELECTION-SCREEN BEGIN of BLOCK screen1 WITH FRAME TITLE title1.
PARAMETERS: Show RADIOBUTTON GROUP opt USER-COMMAND aaa DEFAULT 'X',
Hide RADIOBUTTON GROUP opt .
SELECTION-SCREEN END OF BLOCK screen1.



SELECTION-SCREEN BEGIN of BLOCK screen2 WITH FRAME TITLE title2.
PARAMETER CONNID like spfli-connid.
SELECTION-SCREEN END OF BLOCK screen2.

AT SELECTION-SCREEN OUTPUT.
PERFORM modify_screen.

START-OF-SELECTION.

FORM modify_screen .
LOOP AT SCREEN.
IF Show NE 'X'.
IF screen-name CS 'CONNID'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.

"Give the selection block a title.
INITIALIZATION.

title1 = 'Show/Hide Option'.


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

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


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

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


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

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