Текущее время: Ср, авг 13 2025, 17:20

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


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

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


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

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