Текущее время: Ср, апр 24 2024, 11:41

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


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

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


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

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