Создать объект динамически из строки в Peoplecode

Я работаю над проектом Peoplesoft, и я борюсь с Peoplecode. Я хочу создать объект с динамическим именем класса в Peoplecode. Вроде как в Java. Это будет выглядеть примерно так:

&my_object = create My_Application_Package : Class_string_name()
&my_object.commonMethodCall();

где "Class_string_name" будет динамическим. Это возможно? И нужно ли мне обязательно создавать интерфейс для всех заинтересованных классов?

Любая помощь или совет приветствуется

Спасибо

1 ответ

Решение

Наконец, это довольно просто.

Я просто использовал функцию CreateObject:

CreateObject (str_class_name, create_par,...)

Где str_class_name либо:

- идентифицирует класс по имени класса

- определяет класс объекта OLE Automation в форме:

app_name.object_name

Описание

Используйте функцию CreateObject, чтобы вернуть экземпляр класса. Эту функцию можно использовать для доступа к классу приложения, встроенному объекту PeopleCode (например, диаграмме) или объекту автоматизации OLE.

Если создаваемый вами класс требует передачи значений, используйте параметры create_par для их предоставления или используйте функцию CreateObjectArray.

Соображения об использовании классов приложений

Вы можете использовать функцию CreateObject для доступа к классу приложения. Возможно, вы захотите сделать это, когда вы программируете на высоком уровне, когда вы можете не знать имя класса, к которому вы хотите получить доступ, до времени выполнения. Вы должны указать полное имя класса. Кроме того, имя класса чувствительно к регистру.

Возвращаемый объект имеет тип класса, который вы указали.

Другие вопросы по тегам