Текущее время: Вс, июн 22 2025, 19:53

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


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

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


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

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