Текущее время: Вс, июл 20 2025, 03:37

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: АЛВ оптимальная ширина.
СообщениеДобавлено: Чт, сен 28 2006, 11:50 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
На правую кнопку в АЛВ естьменю оптимальная ширина.
который работает хорошо.

Нужно сделать это программнм способом!

как?

gs_layout-CWIDTH_OPT = 'X'.
это работает немного не так как нужно. Обрезаются строки.



Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 28 2006, 13:15 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Вроде все нормально работает. 4.7

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 28 2006, 13:39 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
Удав написал(а):
Вроде все нормально работает. 4.7


можешь привести пример кода.

имеется в виду не саму строчку этой команды аесь пример вызова.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 28 2006, 14:01 
Гость
Code:
PROGRAM CH.

TYPE-POOLS: SLIS.

DATA: T_T001 TYPE STANDARD TABLE OF T001.
DATA: I_LAY TYPE  SLIS_LAYOUT_ALV.

START-OF-SELECTION.

  SELECT * FROM T001 APPENDING TABLE T_T001.

  I_LAY-COLWIDTH_OPTIMIZE  = 'X'.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM = SY-REPID
      I_STRUCTURE_NAME   = 'T001'
      IS_LAYOUT          = I_LAY
    TABLES
      T_OUTTAB           = T_T001[].


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 28 2006, 14:45 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
без проблем :)
Какое поле у тебя обрезается?

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 28 2006, 14:52 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
РМщик написал(а):
Code:
PROGRAM CH.

TYPE-POOLS: SLIS.

DATA: T_T001 TYPE STANDARD TABLE OF T001.
DATA: I_LAY TYPE  SLIS_LAYOUT_ALV.

START-OF-SELECTION.

  SELECT * FROM T001 APPENDING TABLE T_T001.

  I_LAY-COLWIDTH_OPTIMIZE  = 'X'.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_PROGRAM = SY-REPID
      I_STRUCTURE_NAME   = 'T001'
      IS_LAYOUT          = I_LAY
    TABLES
      T_OUTTAB           = T_T001[].


хм.

а как это сделать с АЛВ который нарисован в форм дизайнере и имеет определенное имя.

данный пример создает свой грид. а мне нужно указать в каком алв это сделать


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 28 2006, 14:54 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 01 2005, 13:23
Сообщения: 303
Откуда: Питер
Пол: Мужской
Hermitap написал(а):


а как это сделать с АЛВ который нарисован в форм дизайнере и имеет определенное имя.

данный пример создает свой грид. а мне нужно указать в каком алв это сделать


Чего, чего? Где у тебя грид нарисован? В каком дизайнере?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 28 2006, 15:03 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, июн 16 2005, 10:29
Сообщения: 336
Откуда: Минск->Москва
Пол: Мужской
Ну если вам есть куда передавать layout то, наверное, можете и экземпляр объекта алв получить :wink:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 28 2006, 15:08 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
Code:
    ....
    wa_layout-CWIDTH_OPT = 'X'.
    CALL METHOD alv->set_table_for_first_display
      EXPORTING
        is_layout        = wa_layout
        i_save           = 'A'
        is_variant       = wa_variant
      CHANGING
        it_outtab        = it_dokmat
        it_fieldcatalog  = it_fcat.
    ....

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 28 2006, 15:08 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
Он написал:
Ну если вам есть куда передавать layout то, наверное, можете и экземпляр объекта алв получить :wink:


да. в какой параметр функции REUSE_ALV_GRID_DISPLAY
передать экземпляр обьекта. (алв.)

сорри за чайниовские вопросы. я недавно в сапе :oops:


приведу свой пример.
подправьте если что. (Пример писался с доки по АЛВ)

Функция

Code:
FORM  INITIALIZE_ALV
   USING
     RTableName
     Title
     gr_alvgrid TYPE REF TO cl_gui_alv_grid
     gc_custom_control_name TYPE scrfname
     gr_container TYPE REF TO cl_gui_custom_container
     gt_fieldcat TYPE lvc_t_fcat
     gs_layout TYPE lvc_s_layo
     TableName  TYPE TABLE
     .


CREATE OBJECT  gr_container
       EXPORTING
         container_name =  gc_custom_control_name
       EXCEPTIONS
          cntl_error         =    1
          cntl_system_error  =    2
          create_error       =    3
          lifetime_error     =    4
          lifetime_dynpro_dynpro_link = 5
          others             =     6 .

CREATE OBJECT  gr_alvgrid
      EXPORTING
          i_parent =  gr_container
      EXCEPTIONS
          error_cntl_create    =  1
          error_cntl_init      =  2
          error_cntl_link      =  3
          error_dp_create      =  4
          others               =  5 .

CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
     EXPORTING
     i_structure_name = RTableName
CHANGING
     ct_fieldcat =  gt_fieldcat[] .

* layout
  gs_layout-zebra = 'X'.
  gs_layout-CWIDTH_OPT = 'X'.
* gs_layout-SEL_MODE = 'A'.
  gs_layout-grid_title = Title.
  gs_layout-smalltitle = 'X'.

CALL METHOD  gr_alvgrid->set_table_for_first_display
       EXPORTING
           is_layout       =  gs_layout
           i_save          = 'A'
       CHANGING
           it_fieldcatalog =  gt_fieldcat
           it_outtab       = TableName[].

ENDFORM.






вызов функции


Code:
* Структура на ALV
DATA  200gr_alvgrid TYPE REF TO cl_gui_alv_grid.
DATA  200gc_custom_control_name TYPE scrfname VALUE 'ALV_0200'.
DATA  200gr_container TYPE REF TO cl_gui_custom_container.
DATA  200gt_fieldcat TYPE lvc_t_fcat.
DATA  200gs_layout TYPE lvc_s_layo.
DATA  STBL type LVC_S_STBL.


          PERFORM  INITIALIZE_ALV
             USING
               'ZPGSMT_STRUCT'
               'Справочник Материалов'
               200gr_alvgrid
               200gc_custom_control_name
               200gr_container
               200gt_fieldcat
               200gs_layout
               TBL0200[].


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 28 2006, 15:17 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Чт, июн 16 2005, 10:29
Сообщения: 336
Откуда: Минск->Москва
Пол: Мужской
Вы же делаете через классы, вам функция никакая не нужна! Выше народ уже описал все варианты с выставлением оптимизации по ширене


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 28 2006, 15:41 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
Он написал:
Вы же делаете через классы, вам функция никакая не нужна! Выше народ уже описал все варианты с выставлением оптимизации по ширене


в том то и дело что оптимизация полностью и неработает.

да колонки она сужает. но всеаврно обрезает поля.

мне надо выравниание по максимальной длине значения в колонке.

Выравнивание происходит прекрасно если в алв по правой кнопки мыши на алв выбрать меню ОПТИМАЛЬНАЯ ШИРИНА


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, сен 28 2006, 16:01 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, сен 20 2006, 16:47
Сообщения: 78
Откуда: Москва
Code:
  field-symbols:
    <fs> type lvc_s_fcat.

  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    EXPORTING
      i_structure_name = tab
    CHANGING
      ct_fieldcat      = gt_fieldcat.
  loop at gt_fieldcat assigning <fs>.
    <fs>-col_opt = 'X'.
  endloop.


если нужен конкретный столбец вставь case <fs>-fieldname...


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

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


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

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


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

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