Текущее время: Вт, июл 15 2025, 07:46

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Группа типов и ABAP класс
СообщениеДобавлено: Пн, сен 21 2009, 12:48 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, ноя 02 2006, 18:56
Сообщения: 78
Приветствую, ситуация следующая
Есть некий глобальный ABAP класс - ZCL_TESTIK, в нем добавлена группа типов ZTST
В группе типов есть обявление следующего типа
Code:
*** CLASS zcl_testik DEFINITION LOAD."<--без коммента синт.ошибка!
TYPES: BEGIN OF ztst_s_smth,
         dat1 type char1,"
         dat2 type char2,"
"...
         otest TYPE REF TO zcl_testik,
       END OF ztst_s_smth,
       ztst_i_smth TYPE STANDARD TABLE OF ztst_s_smth WITH NON-UNIQUE DEFAULT KEY.

В классе ZCL_TESTIK есть атрибут следующего вида
Code:
PUBLIC SECTION.
  TYPE-POOLS: ztst.
  CLASS-DATA: mi_smth TYPE ztst_i_smth READ-ONLY.

Все без ошибок нормально активируется
Далее, допустим я добавлю в программу ZR_TEST группу типов ZTST, то при активации иногда выдает, иногда не выдает, но при запуске всегда падает и указывает на ошибку тип ZTSR_I_SMTH не найден!
Я так понимаю, это из-за очереди загрузки класса и группы типов.
Вопрос: можно как-нибудь это обойти БЕЗ переноса типов с элементом ссылающимся на класс в словарь?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Группа типов и ABAP класс
СообщениеДобавлено: Пн, сен 21 2009, 12:54 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
kastaliec написал(а):
Приветствую, ситуация следующая
Есть некий глобальный ABAP класс - ZCL_TESTIK, в нем добавлена группа типов ZTST
В группе типов есть обявление следующего типа
Code:
*** CLASS zcl_testik DEFINITION LOAD."<--без коммента синт.ошибка!
TYPES: BEGIN OF ztst_s_smth,
         dat1 type char1,"
         dat2 type char2,"
"...
         otest TYPE REF TO zcl_testik,
       END OF ztst_s_smth,
       ztst_i_smth TYPE STANDARD TABLE OF ztst_s_smth WITH NON-UNIQUE DEFAULT KEY.

В классе ZCL_TESTIK есть атрибут следующего вида
Code:
PUBLIC SECTION.
  TYPE-POOLS: ztst.
  CLASS-DATA: mi_smth TYPE ztst_i_smth READ-ONLY.

Все без ошибок нормально активируется
Далее, допустим я добавлю в программу ZR_TEST группу типов ZTST, то при активации иногда выдает, иногда не выдает, но при запуске всегда падает и указывает на ошибку тип ZTSR_I_SMTH не найден!
Я так понимаю, это из-за очереди загрузки класса и группы типов.
Вопрос: можно как-нибудь это обойти БЕЗ переноса типов с элементом ссылающимся на класс в словарь?

Где и как падает? Что именно в дампе? Что у Вас объявлено в программе? группа типов ZTST активирована?

_________________
"После" - не значит "вследствие"


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Группа типов и ABAP класс
СообщениеДобавлено: Пн, сен 21 2009, 13:09 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, ноя 02 2006, 18:56
Сообщения: 78
вот что пишут в DUMP:
Цитата:
The following syntax error occurred in the program %_CZTST :
"The type "ZTST_I_SMTH" is unknown."
Error in ABAP application program.

The current ABAP program "ZCL_TESTIK====================CP" had to be
terminated because one of the
statements could not be executed.

This is probably due to an error in the ABAP program.

конечно все активировано
посмотрел в se38 - %_CZTST - это просто группа типов
в общем-то переносом структуры и типа таблицы в словарь проблему решил, но просто интересно чисто академически


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Группа типов и ABAP класс  Тема решена
СообщениеДобавлено: Пн, сен 21 2009, 13:29 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
kastaliec написал(а):
вот что пишут в DUMP:
Цитата:
The following syntax error occurred in the program %_CZTST :
"The type "ZTST_I_SMTH" is unknown."
Error in ABAP application program.

The current ABAP program "ZCL_TESTIK====================CP" had to be
terminated because one of the
statements could not be executed.

This is probably due to an error in the ABAP program.

конечно все активировано
посмотрел в se38 - %_CZTST - это просто группа типов
в общем-то переносом структуры и типа таблицы в словарь проблему решил, но просто интересно чисто академически


CLASS zcl_testik DEFINITION DEFERRED PUBLIC.

_________________
"После" - не значит "вследствие"


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Группа типов и ABAP класс
СообщениеДобавлено: Пн, сен 21 2009, 14:07 
Младший специалист
Младший специалист

Зарегистрирован:
Чт, ноя 02 2006, 18:56
Сообщения: 78
Хм, круто. В документации нет варианта ... DEFFERED PUBLIC
Но работает черт возьми :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Группа типов и ABAP класс
СообщениеДобавлено: Пн, сен 21 2009, 14:59 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Документация - она у всех сильно разная, видимо ;)

Цитата:
CLASS class DEFINITION { DEFERRED [PUBLIC]} | LOAD.

Extras:
1. ... DEFERRED [PUBLIC]
2. ... LOAD

Effect
These two variants of the CLASS statement are used to make the class class known, regardless of the location of the actual definition of the class in the program. These variants do not introduce a declaration part and must not be enclosed using ENDCLASS.


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

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


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

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


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

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