Текущее время: Сб, апр 20 2024, 06:16

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: "Чайник" о REUSE_ALV_GRID_DISPLAY!
СообщениеДобавлено: Вт, окт 19 2004, 07:58 
Гость
Всем привет! "Чайник" потихонечку развивается - сейчас осваиваю функцию "REUSE_ALV_GRID_DISPLAY". Возник вопрос - в определении структуры используется табличная структура (I_STRUCTURE_NAME = 'ZCO_MAR_ZATR_STRUK'), но если писать сотню отчетов, придется в словаре создавать и сохранять сотню описаний структур. А нельзя как-нить использовать динамическую структуру, без сохранения в словаре? И второй вопрос - куда мне бечь, чтобы организовать промежуточные суммы в моем отчетике?
Спасибо всем за просветительскую деятельность!


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: ...
СообщениеДобавлено: Вт, окт 19 2004, 08:05 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, авг 26 2004, 05:04
Сообщения: 922
Откуда: Челябинск
Пол: Мужской
Лучше использовать структуры.

Но можно и через

...
it_fieldcat = g_t_fieldcat
...

а там простейшее заполнение

add 1 to l_cnt_colpos.
l_f_fieldcat-col_pos = l_cnt_colpos.
l_f_fieldcat-key = 'X'.
l_f_fieldcat-fieldname = 'FISTL'.
l_f_fieldcat-ref_tabname = 'BSEG'.
l_f_fieldcat-seltext_l = ' '.
l_f_fieldcat-seltext_m = 'ПФМ'.
l_f_fieldcat-seltext_s = ' '.
append l_f_fieldcat to c_t_fieldcat.

_________________
Все будет хорошо...
http://sap-blog.ru/


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, окт 19 2004, 08:29 
Гость
Смотри REUSE_ALV_FIELDCATALOG_MERGE


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: *
СообщениеДобавлено: Ср, окт 20 2004, 07:08 
Гость
добавлю - а чтобы имя типа (структуры) не хранить в текстовках, можно пользовать RTTI

form ShowGrid
tables grid. "без указания типа
CLEAR: fieldcat, fieldcat[].

data:
gridtype like DD02L-TABNAME,
fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,

perform TypeOf(ZRX_FORMPOOL)
using grid2 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.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
TABLES
t_outtab = grid
...

тут я в модулёк ZRX_FORMPOOL вынес RTTI-примитивы

*через RTTI определяет имя типа данных ================================
form TypeOf
using
Field
changing
FieldType
.
data:
descr_ref TYPE ref to cl_abap_typedescr. "класс для вызовов RTTI

descr_ref = cl_abap_typedescr=>describe_by_data( Field ).
FieldType = descr_ref->absolute_name+6.
* WRITE: / 'Typename:', descr_ref->absolute_name.
* WRITE: / 'Kind :', descr_ref->type_kind.
* WRITE: / 'Length :', descr_ref->length.
* WRITE: / 'Decimals:', descr_ref->decimals.
endform.



form TypeOfEx
using
Field
changing
FieldType
TypeLen "размер типа
TypeDec "число десятичных знаков
.
data:
descr_ref TYPE ref to cl_abap_typedescr. "класс для вызовов RTTI

descr_ref = cl_abap_typedescr=>describe_by_data( Field ).
FieldType = descr_ref->absolute_name+6.
TypeLen = descr_ref->length.
TypeDec = descr_ref->decimals.
endform.

...

так удобнее получается - не нужно думать, где какой тип данных, можно запросить его у системы через TypeOf, и потом клепать универсальные процедуры обработки


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 20 2004, 17:57 
Гость
а я вот так делаю :-)

data: begin of log occurs 0,
id,
mess(64),
cnt type i,
sel,
end of log.
data slog like line of log.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = 'ZMY_PROG'
I_INTERNAL_TABNAME = 'LOG'
I_INCLNAME = 'ZMY_PROG_TY1'
CHANGING
CT_FIELDCAT = fc
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3.

только типы подтаскивать придется и названия :-)


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 20 2004, 17:58 
Гость
а я вот так делаю :-)

data: begin of log occurs 0,
id,
mess(64),
cnt type i,
sel,
end of log.
data slog like line of log.

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = 'ZMY_PROG'
I_INTERNAL_TABNAME = 'LOG'
I_INCLNAME = 'ZMY_PROG_TY1'
CHANGING
CT_FIELDCAT = fc
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3.

только типы подтаскивать придется и названия :-)


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, окт 22 2004, 07:08 
Гость
Всем большое спасибо за инфу! Буду разбираться. :shock:


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

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


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

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


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

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