Текущее время: Пн, июн 23 2025, 02:21

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: атрибуты SCREEN
СообщениеДобавлено: Чт, июн 09 2005, 16:34 
Директор
Директор

Зарегистрирован:
Чт, май 12 2005, 11:10
Сообщения: 1038
Пол: Мужской
Сделал свой скрин, на нём TableView. В этом самом TV лежать записи.

Мне нужно чтобы - по условию - в отдельных записях были закрыты поля, которые по умолчанию открыты для ввода.

пробовал сбрасывать input и active в цикле по SREEN.
пробовал тоже самое сбрасывать в table_control-cols-screen
пробовал даже какойто ФМ вызывать, который dynpro вроде как обновляет...

хрен! :evil:

чего не так? или точнее было бы спросить - а как это можно сделать?

10х


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: атрибуты SCREEN
СообщениеДобавлено: Чт, июн 09 2005, 17:48 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 14:35
Сообщения: 1519
Откуда: В ВЕЧНОМ БАНЕ
Egal написал:
Мне нужно чтобы - по условию - в отдельных записях были закрыты поля, которые по умолчанию открыты для ввода.

В логике экрана пишет что-то типа:

Code:
  LOOP AT i_screen_425 WITH CONTROL grid425 CURSOR ftopix.
    MODULE update_grid425_pbo.
  ENDLOOP.


А в самом модульке, ну у меня там подсвечивались строки с ошибкой:

Code:

  LOOP AT SCREEN.
    IF l_error = true.
      screen-intensified = '1'.
    ELSE.
      screen-intensified = '0'.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.



А вот если ты хочешь отдельные колонки таблицы вообще скрыть или показать тогда в PBO-логике вызов модулька делаешь в котором пишешь что-то типа (только в цикле его вызывать не надо):

Code:
DATA: grid_view_row TYPE cxtab_column.

LOOP AT grid425-cols INTO grid_view_row.
      IF grid_view_row-screen-group1 = 'LFA'.
        grid_view_row-invisible = '1'.
      ELSEIF grid_view_row-screen-group1 = 'PLA'.
        grid_view_row-invisible = '0'.
      ENDIF.
    MODIFY grid425-cols INDEX sy-tabix FROM grid_view_row.
  ENDLOOP.

Ну короче где-то так :wink:


Последний раз редактировалось Uukrul Чт, июн 09 2005, 17:49, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июн 09 2005, 17:49 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
вставь обработку в
LOOP AT... WITH CONTROL..
...
ENDLOOP.

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

Пример (создана таблица к T001 визардом):
Code:
  LOOP AT   G_ITAB_ITAB
       INTO G_ITAB_WA
       WITH CONTROL ITAB
       CURSOR ITAB-CURRENT_LINE.
*   MODULE ITAB_CHANGE_FIELD_ATTR
    MODULE ITAB_MOVE.
    MODULE ITAB_GET_LINES.
    MODULE HIDE.                                <- это он
  ENDLOOP.


Code:
MODULE HIDE OUTPUT.
  if t001-bukrs = '1000'.
    loop at screen.
      screen-input = 0.
      modify screen.
    endloop.
  endif.
ENDMODULE.                 " HIDE  OUTPUT


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: атрибуты SCREEN
СообщениеДобавлено: Чт, июн 09 2005, 21:13 
Гость
Uukrul написал(а):
Egal написал:
Мне нужно чтобы - по условию - в отдельных записях были закрыты поля, которые по умолчанию открыты для ввода.

В логике экрана пишет что-то типа:

Code:
  LOOP AT i_screen_425 WITH CONTROL grid425 CURSOR ftopix.
    MODULE update_grid425_pbo.
  ENDLOOP.


А в самом модульке, ну у меня там подсвечивались строки с ошибкой:

Code:

  LOOP AT SCREEN.
    IF l_error = true.
      screen-intensified = '1'.
    ELSE.
      screen-intensified = '0'.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.



А вот если ты хочешь отдельные колонки таблицы вообще скрыть или показать тогда в PBO-логике вызов модулька делаешь в котором пишешь что-то типа (только в цикле его вызывать не надо):

Code:
DATA: grid_view_row TYPE cxtab_column.

LOOP AT grid425-cols INTO grid_view_row.
      IF grid_view_row-screen-group1 = 'LFA'.
        grid_view_row-invisible = '1'.
      ELSEIF grid_view_row-screen-group1 = 'PLA'.
        grid_view_row-invisible = '0'.
      ENDIF.
    MODIFY grid425-cols INDEX sy-tabix FROM grid_view_row.
  ENDLOOP.

Ну короче где-то так :wink:



ааааа фааак! виз контрол же тьфу ты! вот болван.
спасибо!
:D


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: атрибуты SCREEN
СообщениеДобавлено: Чт, июн 09 2005, 21:14 
Гость
Uukrul написал(а):
Egal написал:
Мне нужно чтобы - по условию - в отдельных записях были закрыты поля, которые по умолчанию открыты для ввода.

В логике экрана пишет что-то типа:

Code:
  LOOP AT i_screen_425 WITH CONTROL grid425 CURSOR ftopix.
    MODULE update_grid425_pbo.
  ENDLOOP.


А в самом модульке, ну у меня там подсвечивались строки с ошибкой:

Code:

  LOOP AT SCREEN.
    IF l_error = true.
      screen-intensified = '1'.
    ELSE.
      screen-intensified = '0'.
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.



А вот если ты хочешь отдельные колонки таблицы вообще скрыть или показать тогда в PBO-логике вызов модулька делаешь в котором пишешь что-то типа (только в цикле его вызывать не надо):

Code:
DATA: grid_view_row TYPE cxtab_column.

LOOP AT grid425-cols INTO grid_view_row.
      IF grid_view_row-screen-group1 = 'LFA'.
        grid_view_row-invisible = '1'.
      ELSEIF grid_view_row-screen-group1 = 'PLA'.
        grid_view_row-invisible = '0'.
      ENDIF.
    MODIFY grid425-cols INDEX sy-tabix FROM grid_view_row.
  ENDLOOP.

Ну короче где-то так :wink:



ааааа фааак! виз контрол же тьфу ты! вот болван.
спасибо!
:D


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

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


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

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


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

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