Текущее время: Сб, июл 19 2025, 14:24

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


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

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


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

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