кому цікаво, то один з прикладів опису тех. специфікації в MD з вкористанням gitlab-githab issue. Звичайно - лінки не працюють, але набір методів форматування можна в режимі зміни побачити. В принципі, було б що писати. А форматування не складне. за день можна вивчити і потім користуватися на автоматі. Ну, лінки змінені - тому не працюють. Але крос-лінки працюють
Довідник зберігається в таблиці qpf.QPF$NIIS_D_ACBAL, VIEW для читання QPF.QPF_NIIS_D_ACBAL_MBR_SHW, VIEW для модифікації QPF.QPF_NIIS_D_ACBAL_MBR_MDF
1. Метод для отримання масиву всіх записів довідника, або структури одного запису, Read.
Опис методу
Повертає масив всіх записів довідника qpf.QPF$NIIS_D_ACBAL
Реалізує метод HTTP-GET
path: /balacc
Вхідні параметри
Параметри запиту:
mode - вибирає режим роботи методу: 'ALL' - масив всіх записів довідника, 'ONE' - Один запис довідника
bal_id - ідентифікатор запису в довіднику. Допускається тільки у випадку, коли mode приймає значення 'ONE'. Відповідає полю acc_bal_id в таблиці qpf.QPF$NIIS_D_ACBAL
Обов'язкові http заголовки
Content-Type: application/json
Accept: application/json
app_username: <user login>
CallID: <ідентифікатор запиту, giud>
SystemID: <Найменування системи, що виконує запит>
DtRequest: <Дата та час виконання запиту в UTC>
Якщо mode не переданий або не заповнений, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.NULL_PARAMS" та текстом : "Не вказан параметр mode."
Якщо в mode передано щось відмінне від значень ALL, One , повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.RNG_PARAMS" та текстом : "Невірне значення параметру mode. Має бути: ALL або ONE."
Якщо в mode передано ALL та передано параметр bal_id, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом IIB.UNRELATION_PARAMS та текстом: "Параметр bal_id не може бути вказанний для mode = ALL."
Якщо в mode передано ONE та не переданоbal_id, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом IIB.NOT_ENOUGH_PARAMS та текстом: 'Не вказан параметр bal_id.'
Якщо не вказано http-заголовок app_username, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.NOT_DEFINED_APP_USERNAME" та текстом : "Не передано заголовок app_username".
Якщо не вказано http-заголовок app_requestid, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.NOT_DEFINED_APP_REQUESTID" та текстом : "Не передано заголовок app_requestid".
Обробка запиту, якщо передоно параметр mode='ALL'
Вибираються запитом всі поля та записи в VIEW: QPF.QPF_NIIS_D_ACBAL_MBR_SHW
Орієнтовний приклад запиту та результуюча множина даних:
select t.* FROM QPF.QPF_NIIS_D_ACBAL_MBR_SHW t
Метод повертає масив, кожний елемент якого є структура з таким набором реквізитів:
acc_bal_id Ідентифікатор зпису в довіднику, первинний ключ для таблиці
Тип Integer, відповідає полю БД ACC_BAL_ID
acc_bal Номер балансового рахунку
Тип: String, відповідає полю БД ACC_BAL
acc_status
Тип: "String", відповідає пол. БД ACC_STATUS
acc_status_name Найменування (розшифровка) статусу
У випадку, якщо не вибрано жодного запису, повертається помилка з HTTP-StatusCode=404, мнемонічним кодом помилки "IIB.NOT_FOUND" та текстом : "Даних не знайдено".
Обробка запиту, якщо передоно параметр mode='ONE'
Вибираються запитом всі поля з VIEW: QPF.QPF_NIIS_D_ACBAL_MBR_SHW для якого значення парамету bal_id дорівнює значенню в полі БД ACC_BAL_ID.
У випадку, якщо не вибрано жодного запису, повертається помилка з HTTP-StatusCode=404, мнемонічним кодом помилки "IIB.NOT_FOUND" та текстом : "Даних не знайдено".
Додає запис масив в довідник QPF.QPF$NIIS_D_ACBAL-Довідник балансових рахунків для відбору в систему через VIEW QPF.QPF_NIIS_D_ACBAL_MBR_MDF
Реалізує метод HTTP-PUT
path: /balacc
Вхідні параметри
Тіло запиту запиту
В запиті передаються наступні реквізити:
- acc_bal номер балансового рахунку, обов'язковий до заповнення
- acc_status статус рахунку, обов'язковий до заповнення. Допустимі значення: "A" - Активний, "С" - Анульований
Приклад тіла запиту:
{
"acc_bal": "2620",
"acc_status": "A"
}
Обов'язкові http заголовки
Content-Type: application/json
Accept: application/json
app_username: <user login>
CallID: <ідентифікатор запиту, giud>
SystemID: <Найменування системи, що виконує запит>
DtRequest: <Дата та час виконання запиту в UTC>
Якщо "acc_bal" не переданий або не заповнений, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.NULL_PARAMS" та текстом : "Не задані вхідні параметри: Балансовий номер (acc_bal)".
Якщо "acc_status" не переданий або не заповнений, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.NULL_PARAMS" та текстом : "Не задані вхідні параметри: Статус запису (acc_status)".
Обробка запиту
Виконується вставка запису в VIEW QPF.QPF_NIIS_D_ACBAL_MBR_MDF.
2.1. Поле БД QPF.QPF_NIIS_D_ACBAL_MBR_MDF.ACC_BAL_ID заповнюється автоматично з SEQUENCE QPF.QPF_NIIS_D_IDR.
2.2. Поле БД QPF.QPF_NIIS_D_ACBAL_MBR_MDF.ACC_BAL запвонюється реквізитим acc_bal з вхідного запиту.
2.3. Поле БД QPF.QPF_NIIS_D_ACBAL_MBR_MDF.ACC_STATUS заповнюється реквізитим acc_status з вхідного запиту.
set ls_sql = 'insert into QPF.QPF_NIIS_D_ACBAL_MBR_MDF(PF.QPF_NIIS_D_ACBAL_MBR_MDF, acc_bal, acc_status)'||
'values( ?, ?, ? )'
У випадку успішної обороки запиту метод повертає HTTP-StatusCode=200 та відповідть у вигляді JSON об'єкта:
acc_bal_id заповнюється ідентифікаторм запису, що був розрахований для поля БД: QPF.QPF_NIIS_D_ACBAL_MBR_MDF.ACC_BAL_ID.
3. Метод видалення запису з довідника, Delete
Опис методу
Видаляє запис з довідника qpf.QPF$NIIS_D_ACBAL
Реалізує метод HTTP-DELETE
path: /balacc
Вхідні параметри
Параметри запиту:
bal_id - ідентифікатор запису в довіднику. Відповідає полю acc_bal_id в таблиці qpf.QPF$NIIS_D_ACBAL.
Обов'язкові http заголовки
Content-Type: application/json
Accept: application/json
app_username: <user login>
CallID: <ідентифікатор запиту, giud>
SystemID: <Найменування системи, що виконує запит>
DtRequest: <Дата та час виконання запиту в UTC>
Якщо "bal_id" не переданий або не заповнений, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.NULL_PARAMS" та текстом : "Не задані вхідні параметри: ідентифікатор запиту (bal_id)".
Обробка запиту
Виконується видалення запису з довідника QPF.QPF_NIIS_D_ACBAL_MBR_MDF використовуючи VIEW: QPF.QPF_NIIS_D_ACBAL_MBR_MDF.
Приклад запиту показано далі.
delete from QPF.QPF_NIIS_D_ACBAL_MBR_MDF t where t.ACC_BAL_ID=:bal_id;
:bal_id - параметр, що передано в запиті
Якщо видалення пройшло успішно, то метод повертая json об'єкт:
4. Метод активаці/деактивації запису в довіднику, Update
Змінює статус запису в довіднику QPF.QPF$NIIS_D_ACBAL-Довідник балансових рахунків для відбору в систему через VIEW QPF.QPF_NIIS_D_ACBAL_MBR_MDF, поле: ACC_STATUS.
Реалізує метод HTTP-POST
path: /balacc
Вхідні параметри
Тіло запиту запиту
В запиті передаються наступні реквізити:
- acc_bal_id ідентифікатор запису, який потрібно оновити, integer, обов'язковий до заповнення;
- acc_status статус рахунку, обов'язковий до заповнення. Допустимі значення: "A" - Активний, "С" - Анульований.
Приклад тіла запиту:
{
"acc_bal_id": 12345678,
"acc_status": "A"
}
Обов'язкові http заголовки
Content-Type: application/json
Accept: application/json
app_username: <user login>
CallID: <ідентифікатор запиту, giud>
SystemID: <Найменування системи, що виконує запит>
DtRequest: <Дата та час виконання запиту в UTC>
Якщо "acc_bal_id" не переданий або не заповнений, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.NULL_PARAMS" та текстом : "Не задані вхідні параметри: ідентифікатор запиту (acc_bal_id)".
Якщо "acc_status" не переданий або не заповнений, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.NULL_PARAMS" та текстом : "Не задані вхідні параметри: Статус запису (acc_status)".
Обробка запиту
Виконується оновленння поля ACC_STATUS в довіднику QPF.QPF_NIIS_D_ACBAL_MBR_MDF по ідентифікатору запису ACC_BAL_ID використовуючи VIEW: QPF.QPF_NIIS_D_ACBAL_MBR_MDF.
Приклад оновлення показано далі.
UPDATE QPF.QPF_NIIS_D_ACBAL_MBR_MDF t SET ACC_STATUS=:acc_status where t.ACC_BAL_ID=:acc_bal_id;
:acc_bal_id - параметр, що передано в тілі запиту;
:acc_status - параметр, що передано в тілі запиту.
Якщо видалення пройшло успішно, то метод повертая json об'єкт:
кому цікаво, то один з прикладів опису тех. специфікації в MD з вкористанням gitlab-githab issue. Звичайно - лінки не працюють, але набір методів форматування можна в режимі зміни побачити. В принципі, було б що писати. А форматування не складне. за день можна вивчити і потім користуватися на автоматі. Ну, лінки змінені - тому не працюють. Але крос-лінки працюють
Розміщення проекту:
Розробка ведеться в ASWP_SRVC_UI
Розробка методів для Меню: Довідник балансових рахунків для відбору в систему
Для розробки екранних форм ведення довідника Меню: Довідник балансових рахунків для відбору в систему потрібно розробити набір методів для взаємодії UI з базою даних CRUD OPERATION.
Довідник зберігається в таблиці qpf.QPF$NIIS_D_ACBAL, VIEW для читання QPF.QPF_NIIS_D_ACBAL_MBR_SHW, VIEW для модифікації QPF.QPF_NIIS_D_ACBAL_MBR_MDF
1. Метод для отримання масиву всіх записів довідника, або структури одного запису, Read.
Опис методу
Повертає масив всіх записів довідника qpf.QPF$NIIS_D_ACBAL
Реалізує метод HTTP-GET
path: /balacc
Вхідні параметри
Параметри запиту:
Обов'язкові http заголовки
Детально читати за лінком: IIB.RestAPI.Перелік службових HTTP загловків та пояснення по їх заповненню.
Контроль вхідних параметриів
Якщо mode не переданий або не заповнений, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.NULL_PARAMS" та текстом : "Не вказан параметр mode."
Якщо в mode передано щось відмінне від значень ALL, One , повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.RNG_PARAMS" та текстом : "Невірне значення параметру mode. Має бути: ALL або ONE."
Якщо в mode передано ALL та передано параметр bal_id, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом IIB.UNRELATION_PARAMS та текстом: "Параметр bal_id не може бути вказанний для mode = ALL."
Якщо в mode передано ONE та не передано bal_id, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом IIB.NOT_ENOUGH_PARAMS та текстом: 'Не вказан параметр bal_id.'
Якщо не вказано http-заголовок app_username, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.NOT_DEFINED_APP_USERNAME" та текстом : "Не передано заголовок app_username".
Якщо не вказано http-заголовок app_requestid, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.NOT_DEFINED_APP_REQUESTID" та текстом : "Не передано заголовок app_requestid".
Обробка запиту, якщо передоно параметр mode='ALL'
Вибираються запитом всі поля та записи в VIEW: QPF.QPF_NIIS_D_ACBAL_MBR_SHW
Орієнтовний приклад запиту та результуюча множина даних:
Метод повертає масив, кожний елемент якого є структура з таким набором реквізитів:
acc_bal_id Ідентифікатор зпису в довіднику, первинний ключ для таблиці Тип Integer, відповідає полю БД ACC_BAL_ID
acc_bal Номер балансового рахунку
Тип: String, відповідає полю БД ACC_BAL
Тип: "String", відповідає пол. БД ACC_STATUS
Тип: String, Відповідає полю БД ACC_STATUS_NAME
Далі показаний приклад відповіді
У випадку, якщо не вибрано жодного запису, повертається помилка з HTTP-StatusCode=404, мнемонічним кодом помилки "IIB.NOT_FOUND" та текстом : "Даних не знайдено".
Обробка запиту, якщо передоно параметр mode='ONE'
Вибираються запитом всі поля з VIEW: QPF.QPF_NIIS_D_ACBAL_MBR_SHW для якого значення парамету bal_id дорівнює значенню в полі БД ACC_BAL_ID.
Приклад відповіді:
У випадку, якщо не вибрано жодного запису, повертається помилка з HTTP-StatusCode=404, мнемонічним кодом помилки "IIB.NOT_FOUND" та текстом : "Даних не знайдено".
Приклад відповіді
2. Метод додаванння запису в довідник, Create
Додає запис масив в довідник QPF.QPF$NIIS_D_ACBAL-Довідник балансових рахунків для відбору в систему через VIEW QPF.QPF_NIIS_D_ACBAL_MBR_MDF
Реалізує метод HTTP-PUT
path: /balacc
Вхідні параметри
В запиті передаються наступні реквізити:
Приклад тіла запиту:
Обов'язкові http заголовки
Правила заповнення описані за лінком: IIB.RestAPI.Перелік службових HTTP загловків та пояснення по їх заповненню
Контроль вхідних параметриів
Якщо "acc_bal" не переданий або не заповнений, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.NULL_PARAMS" та текстом : "Не задані вхідні параметри: Балансовий номер (acc_bal)".
Якщо "acc_status" не переданий або не заповнений, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.NULL_PARAMS" та текстом : "Не задані вхідні параметри: Статус запису (acc_status)".
Обробка запиту
Виконується вставка запису в VIEW QPF.QPF_NIIS_D_ACBAL_MBR_MDF.
2.1. Поле БД QPF.QPF_NIIS_D_ACBAL_MBR_MDF.ACC_BAL_ID заповнюється автоматично з SEQUENCE QPF.QPF_NIIS_D_IDR. 2.2. Поле БД QPF.QPF_NIIS_D_ACBAL_MBR_MDF.ACC_BAL запвонюється реквізитим acc_bal з вхідного запиту. 2.3. Поле БД QPF.QPF_NIIS_D_ACBAL_MBR_MDF.ACC_STATUS заповнюється реквізитим acc_status з вхідного запиту.
set ls_sql = 'insert into QPF.QPF_NIIS_D_ACBAL_MBR_MDF(PF.QPF_NIIS_D_ACBAL_MBR_MDF, acc_bal, acc_status)'|| 'values( ?, ?, ? )'
У випадку успішної обороки запиту метод повертає HTTP-StatusCode=200 та відповідть у вигляді JSON об'єкта:
де
3. Метод видалення запису з довідника, Delete
Опис методу
Видаляє запис з довідника qpf.QPF$NIIS_D_ACBAL
Вхідні параметри
Параметри запиту:
Обов'язкові http заголовки
Правила заповнення описані за лінком: IIB.RestAPI.Перелік службових HTTP загловків та пояснення по їх заповненню
Контроль вхідних параметриів
Якщо "bal_id" не переданий або не заповнений, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.NULL_PARAMS" та текстом : "Не задані вхідні параметри: ідентифікатор запиту (bal_id)".
Обробка запиту
Виконується видалення запису з довідника QPF.QPF_NIIS_D_ACBAL_MBR_MDF використовуючи VIEW: QPF.QPF_NIIS_D_ACBAL_MBR_MDF. Приклад запиту показано далі.
:bal_id - параметр, що передано в запиті
Якщо видалення пройшло успішно, то метод повертая json об'єкт:
4. Метод активаці/деактивації запису в довіднику, Update
Змінює статус запису в довіднику QPF.QPF$NIIS_D_ACBAL-Довідник балансових рахунків для відбору в систему через VIEW QPF.QPF_NIIS_D_ACBAL_MBR_MDF, поле: ACC_STATUS.
Реалізує метод HTTP-POST
path: /balacc
Вхідні параметри
В запиті передаються наступні реквізити:
Приклад тіла запиту:
Обов'язкові http заголовки
Правила заповнення описані за лінком: IIB.RestAPI.Перелік службових HTTP загловків та пояснення по їх заповненню
Контроль вхідних параметриів
Якщо "acc_bal_id" не переданий або не заповнений, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.NULL_PARAMS" та текстом : "Не задані вхідні параметри: ідентифікатор запиту (acc_bal_id)".
Якщо "acc_status" не переданий або не заповнений, повертається помилка з HTTP-StatusCode=422, мнемонічним кодом помилки "IIB.NULL_PARAMS" та текстом : "Не задані вхідні параметри: Статус запису (acc_status)".
Обробка запиту
Виконується оновленння поля ACC_STATUS в довіднику QPF.QPF_NIIS_D_ACBAL_MBR_MDF по ідентифікатору запису ACC_BAL_ID використовуючи VIEW: QPF.QPF_NIIS_D_ACBAL_MBR_MDF. Приклад оновлення показано далі.
:acc_bal_id - параметр, що передано в тілі запиту; :acc_status - параметр, що передано в тілі запиту.
Якщо видалення пройшло успішно, то метод повертая json об'єкт:
5. Відповідь методів у випадку помилки
У випадку помилки структура відповіді описана за лінком IIB.RestAPI.Об'єкт помилки.Cтруктура відповіді з помилкою