Вызов локального класса в модуле PAI

У меня есть программа с 4 включениями. Один топ-include (глобальные данные), один для pai-модулей, один для pbo-модулей и один для локального вспомогательного класса.

Я поместил определение и реализацию моего локального класса в include «локальный вспомогательный класс». Теперь я хочу получить доступ к экземпляру этого класса внутри модуля pai после пользовательской команды с

lcl_class=>get_instance( )

Я использовал шаблон singleton.

Но когда я хочу активировать модуль PAI, возникает ошибка «Тип lcl_class неизвестен». Даже когда я устанавливаю переменную в своем топ-включении, та же ошибка возникает после того, как я пытаюсь активировать программу.

Кто-нибудь знает, как это решить?

Спасибо и наилучшими пожеланиями

Тимур

РЕШЕНО

Я решил эту проблему. Пришлось поместить PAI-Include после Local-Class-Helper-Include. Итак, теперь это похоже на:

INCLUDE Z_TEST_TOP             .    " global Data
INCLUDE Z_TEST_PBO.                 " PBO
INCLUDE Z_TEST_HELPER.              " Local Helper Class
INCLUDE Z_TEST_PAI.                 " PAI

Перед этой последовательностью «Включить для локального вспомогательного класса» было последним.


person Timur    schedule 01.03.2018    source источник


Ответы (1)


Нужна была просто правильная сортировка ВКЛЮЧЕНИЙ в основной программе.

person VXLozano    schedule 01.03.2018
comment
Спасибо! Решил проблему и отредактировал свой вопрос :-) - person Timur; 01.03.2018
comment
Приятно быть полезным, хотя мой ответ был неправильным. Но я по-прежнему считаю, что использовать в Include переменную, не входящую в нее, - плохая идея. Это кажется довольно опасным. - person VXLozano; 01.03.2018
comment
Да вы совершенно правы! Главное, если вы хотите использовать локальный вспомогательный класс в своей программе, вы должны поместить определение в свой top-include, а свою реализацию - в свой local-helper-class-include. Итак, PAI-Module знает ваш вспомогательный класс, потому что сначала идет top-include ... На всякий случай, если вам интересно :) - person Timur; 01.03.2018