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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: *
СообщениеДобавлено: Вт, янв 18 2005, 09:21 
Гость
p.s. сорри, хотел в отдельную тему вопрос про фильтры вынести (не туда запостил)

Вчера ввод глючил - сегодня работает (х.з. так и не понял почему) :(

вот настроечная часть ALV-вызова

*---------------------------------------------------------------------*
* FORM ShowGrid *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
*отображение на экране списка платежек, упорядоченных по номеру ПП
form ShowGrid.
data: str1(29) type c.
data: gset type LVC_S_GLAY.

* каталог полей экранного представления
CLEAR: fieldcat, fieldcat[].

perform TypeOf(ZRX_FORMPOOL)
using grid changing gridtype. "имя типа (структуры)

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = gridtype
I_BYPASSING_BUFFER = 'X' "иначе лепит горбатого :(
CHANGING
ct_fieldcat = fieldcat[]
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.

* закрепляем первые 4 колонки
do 5 times.
READ TABLE fieldcat INDEX sy-index.
fieldcat-key = 'X'. "закрепление колонки
MODIFY fieldcat INDEX sy-index.
enddo.

layout-colwidth_optimize = 'X'. "подгонять ширину столбцов

loop at fieldcat.
concatenate '[' fieldcat-fieldname ']' into str1.

* в text-024 перечислены имена редактируемых полей
search text-024 for str1.
if ( sy-subrc = 0 ).
fieldcat-edit = 'X'.
fieldcat-input = 'X'.
MODIFY fieldcat.
endif.

* в text-023 перечислены имена полей с итогами
search text-023 for str1.
if ( sy-subrc = 0 ).
fieldcat-do_sum = 'X'.
MODIFY fieldcat.
endif.

* в text-022 перечислены имена полей с выбором
search text-022 for str1.
if ( sy-subrc = 0 ).
fieldcat-hotspot = 'X'. "select
MODIFY fieldcat.
endif.
endloop.

* если задан краткий реестр, скрываем лишние столбцы
if ( pr_short = 'X' ).
loop at fieldcat.
concatenate '[' fieldcat-fieldname ']' into str1.
* в text-021 перечислены имена ВИДИМЫХ полей в []
search text-021 for str1.
if ( sy-subrc <> 0 ).
fieldcat-no_out = 'X'. "hidden
MODIFY fieldcat.
endif.
endloop.
endif.

*доп.параметры
gset-EDT_CLL_CB = 'X'.

* стандартная сортировка по номеру ПП
clear: hsort,gsort,gsort[].
hsort-SPOS = 1.
hsort-FIELDNAME = 'F1'.
hsort-TABNAME = 1.
hsort-UP = 'X'. "по возрастанию
hsort-COMP = 'X'.
append hsort to gsort[].

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = fieldcat[]
i_save = ' '
i_callback_program = self
i_callback_pf_status_set = 'SET_STATUS'
i_callback_user_command = 'USER_COMMAND'
IS_LAYOUT = layout
I_BYPASSING_BUFFER = 'X' "иначе лепит горбатого :(
I_GRID_TITLE = text-020
I_GRID_SETTINGS = gset
* IT_FILTER = gfilt[]
IT_SORT = gsort[]
TABLES
t_outtab = grid
EXCEPTIONS
program_error = 1
OTHERS = 2.
endform.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, янв 18 2005, 09:59 
Специалист
Специалист

Зарегистрирован:
Чт, авг 19 2004, 07:31
Сообщения: 234
Откуда: Нижнекамск
fieldcat-edit = 'X'. я бы все таки убрал

у меня в 4.6С так написано в объявлении этого поля
types: begin of slis_fieldcat_alv_spec,
key_sel(1) type c, " field not obligatory
no_sum(1) type c, " do not sum up
sp_group(4) type c, " group specification
reprep(1) type c, " selection for rep/rep
input(1) type c, " input
edit(1) type c, " internal use only
hotspot(1) type c, " hotspot
end of slis_fieldcat_alv_spec.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: редактирование ячейки
СообщениеДобавлено: Ср, янв 19 2005, 12:30 
Начинающий
Начинающий

Зарегистрирован:
Чт, сен 30 2004, 10:57
Сообщения: 16
Откуда: Москва
Пол: Мужской
для того чтобы значение сохранлось необходимо
использовать структуру

I_GRID_SETTINGS в вызове REUSE

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = repid
I_CALLBACK_PF_STATUS_SET = 'ALV_STATUS_SET'
I_CALLBACK_USER_COMMAND = 'ALV_USER_COMMAND'
I_CALLBACK_TOP_OF_PAGE = 'ALV_TOP_PAGE'
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
I_GRID_SETTINGS = strGridSets

......

MOVE : 'X' TO strGridSets-EDT_CLL_CB.
это поле включает обработчик и значения автоматически переносятся во внутреннюю таблицу


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: *
СообщениеДобавлено: Ср, янв 19 2005, 12:45 
Гость
дык оно у меня и проставлено (см.выше, где комментарий *доп.параметры)


Принять этот ответ
Вернуться к началу
  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 19 ]  На страницу Пред.  1, 2

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


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

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


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

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