Задание 4: модули и файлы приложения-примера
В этой части вы рассмотрите приложение-пример CustomerOrderApp. Приложение содержит файлы процедур и файлы классов. В следующих разделах тренинга вы узнаете, как представить эти ABL-операции в качестве REST-операций.
Приложение пример содержит два проекта: CustomerOrderApp и ClientCustomerOrderApp.
Проект CustomerOrderApp содержит бизнес-логику и код, выполняющий CRUD (Create, Read, Update и Delete) операций.
Проект ClientCustomerOrderApp содержит код ABL-клиента для доступа к CustomerOrderApp.
Для просмотра кода проекта CustomerOrderApp:
- Разверните проект CustomerOrderApp в Project Explorer. Вы увидите внутри три каталога: Procedure Libraries, bin и src.
- Щёлкните по каталогу src чтобы развернуть его.
Внутри находятся каталоги AppServer и ABLServiceInterfaces:
Каталог AppServer содержит файл процедуры и включаемый файл: CreateCustomer.p и Customer.i. - Также в каталоге AppServer содержится подкаталог crm, который содержит два файла классов и один процедурный файл: Customer.cls, CustomerOrder.cls и Proc_Customer.p.
Двойным щелчком мыши откройте файл CreateCustomer.p. Этот файл является внешней процедурой, которая принимает клиентскую запись в качестве входящего параметра и создаёт новую запись в таблице Customer.
Раскройте подкаталог crm и двойным щелчком мыши откройте файл Customer.cls. Этот файл представляет собой ABL-класс, который содержит пять методов: Create, Delete1, Read1, ReadAll и Update1. Эти методы реализуют CRUD-операции в таблице Customer базы данных testdb.
- Метод Create: получает клиентскую запись в качестве входящего параметра и создаёт новую запись в таблице Customer.
- Метод Delete1: получает клиентский идентификатор в качестве входящего параметра. Выполняет поиск клиентской записи в таблице Customer и, если запись найдена, то удаляет её.
- Метод Read1: получает клиентский идентификатор в качестве входящего параметра. Выполняется поиск по номеру клиента в таблице Customer и, если запись найдена, то возвращает информацию об этом клиенте.
- Метод ReadAll: возвращает список имён всех клиентов из таблицы Customer.
- Метод Update1: получает клиентский идентификатор и информацию о клиенте в качестве входящих параметров. На основе полученного идентификатора если такой клиент существует, то обновляет клиентскую запись в базе данных.
В каталоге crm двойным щелчком мыши откройте файл CustomerOrders.cls. Это ABL-класс содержит два метода: Read1 и ReadAll
- Метод Read1: получает клиентский идентификатор и номер заказа. Выполняет поиск и возвращает клиентскую запись из таблицы Customer, а также информацию о заказе из таблицы Order.
- Метод ReadAll: получает клиентский идентификатор в качестве входящего параметра и выполняет поиск всех заказов клиента с возвращением результата.
Двойным щелчком мыши откройте файл Proc_Customer.p. Это внешний процедурный файл, который содержит внутренние процедуры, выполняющие CRUD-операции для таблицы Customer. Эти внутренние процедуры работают аналогично методам класса, описанного ранее.
- UpdateCustomer
- CreateCustomer
- DeleteCustomer
- ReadCustomer