Текущее время: Вс, май 12 2024, 10:26

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


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

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


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

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