PeopleCode
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Парадигма | мультипарадигмальность : объектно-ориентированная , императивная |
---|---|
Разработчик | Корпорация Oracle |
PeopleCode — это собственный объектно-ориентированный язык программирования, используемый для выражения бизнес-логики приложений PeopleSoft . Синтаксически PeopleCode похож на другие языки программирования и может быть найден как в свободно типизированной, так и в строго типизированной форме. PeopleCode и его среда выполнения являются частью более крупной структуры PeopleTools . PeopleCode со временем развивался, и его реализация через приложения PeopleSoft не является последовательной. PeopleCode предлагает некоторую совместимость с языком программирования Java. Например, ссылки на имена определений позволяют ссылаться на определения PeopleTools, такие как определения записей или страницы, без использования жестко запрограммированных строковых литералов . [1] Другие функции языка, такие как типы данных PeopleCode и метастроки , отражают тесное взаимодействие PeopleTools и языка структурированных запросов (SQL). Нотация через точку , классы и методы в PeopleCode аналогичны другим объектно-ориентированным языкам, таким как Java . Синтаксис объектов был важной особенностью PeopleTools 8. [2]
Особенности языка
[ редактировать ]Поддерживаемые функции
[ редактировать ]PeopleCode поддерживает следующие типы функций: [3]
- Встроенный: стандартный набор функций PeopleCode. Их можно вызывать без объявления.
- Внутренние: функции, определенные (с помощью оператора Function) в программе PeopleCode, в которой они вызываются.
- Внешний PeopleCode: функции PeopleCode, определенные вне вызывающей программы. Обычно они содержатся в определениях записей, которые служат библиотеками функций.
- Внешний код, отличный от PeopleCode: функции, хранящиеся во внешних (вызываемых на языке C) библиотеках.
Кроме того, PeopleCode поддерживает методы. Основные различия между встроенной функцией и методом:
- Встроенная функция находится на отдельной строке и (как правило) не имеет никаких зависимостей.
- Функцию можно использовать перед созданием экземпляра объекта.
- Метод может быть выполнен только объектом (с использованием точечной записи).
- Сначала необходимо создать экземпляр объекта.
Описание структуры классов приложения
[ редактировать ]- Импортируйте любые классы, которые будут использоваться классом, включая суперкласс, расширяемый этим классом.
Import PackageName:Superclassname;
- Класс определяется с помощью конструкции Class.
Class Classname [Extends SuperClassname] [Method_declarations] [Property_declarations] [Private [Method_declaration] [Instance_decalarion] [[Constant declaration]] End-class;
- Первый набор объявлений — это свойства и методы, являющиеся частью общедоступного внешнего интерфейса.
Property datatype PropertyName [get][set]; Method MethodName ([parameter_list])
- Переменные, константы и методы частного экземпляра объявляются после ключевого слова
Private
.
Private Instance DataType &InstanceName; Constant &Constant = {Number | String | True | False | Null };
- Ключевое слово
end-class
следует за объявлениями свойств, методов, экземпляров и констант. - После
end-class
ключевое слово и передget
иset
определения или определения методов, объявляйте любые переменные и функции, которые будут использоваться методами. - Методы Get и Set соответствуют свойствам, объявленным с помощью ключевых слов get и set.
- Используйте
get
определение метода для выполнения PeopleCode, который вернет значение.
get Propertyname Return &Value; end-get;
- Используйте
set
определение метода для выполнения PeopleCode, который изменит значение.
set PropertyName end-set;
- Определения методов аналогичны определениям функций.
method Methodname statements; end-method;
- Особым случаем определения метода является
constructor
. - Конструктор имеет то же имя, что и класс, и всегда будет запускаться при создании экземпляра класса.
- Класс, который не расширяет какой-либо другой класс, не нуждается в конструкторе.
- Класс, который расширяет другой класс, должен иметь конструктор, и в конструкторе он должен инициализировать свой суперкласс.
Выполнение SQL в PeopleCode
[ редактировать ]- Где
SQLExec
(встроенная функция) доставляет только одну строку, используяSQL
class вы можете получить и обработать несколько строк. - Создайте экземпляр объекта SQL с помощью
CreateSQL
встроенная функция.- Использовать
CreateSQL("SQLString")
чтобы передать текстовую строку в ваш объект SQL. - Использовать
GetSQL(SQL.sqlname)
чтобы получить SQL из определения SQL.
- Использовать
&SQL = CreateSQL("SQL Statement",[bind values]);
Значения переменных связывания можно опустить и указать позже. Для команд «Вставить», «Обновить» или «Удалить» эти значения будут предоставлены с помощью Execute
метод.
(Если предоставлены все необходимые входные значения, SQL выполняется немедленно.)
&SQL = CreateSQL("SQL Statement"); &SQL.Execute([bind_values]);
- Для объекта SQL, содержащего оператор Select,
Fetch
Метод используется для извлечения следующей строки из курсора.
Функции PeopleCode , получено 14 декабря 2008 г.
См. также
[ редактировать ]Внешние ссылки
[ редактировать ]- Для получения дополнительной документации по PeopleCode
- http://download.oracle.com/docs/cd/E05317_01/psft/html/docset.html (версия 8.49)
- http://download-east.oracle.com/docs/cd/B31274_01/psft/html/docset.html [ постоянная мертвая ссылка ] (Версия 8.48)
Ссылки
[ редактировать ]- ^ ДеЛиа, Тони и др. (2001). Основное руководство по разработке и настройке Peoplesoft. Manning Publications Co. стр.260
- ^ ДеЛиа, Тони и др. (2001). Основное руководство по разработке и настройке Peoplesoft. Manning Publications Co. стр.417
- ^ ДеЛиа, Тони и др. (2001). Основное руководство по разработке и настройке Peoplesoft. стр.375