Interogare date prin Nexus API
Funcțiile customizate de tipul "Interogare date prin Nexus API" sunt de două tipuri: STANDARD și INLINE și au rolul de a extinde posibilitățile oferite de metodele de citire ale Nexus API, dincolo de apelurile oferite și documentate. Practic, orice informație din baza de date poate fi accesată prin crearea unei astfel de funcții, având control deplin asupra structurii, filtrelor și ordonării setului de date returnat.
Apelul către serviciul API este de forma: http://{ip}:{port}/api/v3/read/customfn
Acesta primește un text în format JSON de forma:
{
"id_functie": 37118,
"parametri": {
"pl_client": 1,
"id_client": 271659
}
}
Structură | Tip | Descriere |
---|---|---|
id_functie | NUMERIC(18,0) | ID-ul funcției customizate (OBLIGATORIU) |
parametri | NVARCHAR(MAX) | Lista parametrilor care se doresc a fi folosiți ca informație de intrare în codul funcției |
Exemplu de funcție customizată STANDARD pentru citirea facturilor aflate în sold la data curentă, pentru un anumit client primit ca parametru (partenerul cu ID = 271659).
DECLARE @pl_client SMALLINT, @id_client BIGINT
SELECT @pl_client = pl_client,
@id_client = id_client
FROM OPENJSON(@parametri)
WITH (
[pl_client] BIGINT '$.pl_client',
[id_client] BIGINT '$.id_client'
) AS jsonParams
INSERT INTO @ret_table(numar_factura, data_factura, data_scadenta, sold_factura)
SELECT numar_document, data_document, data_lim, sold
FROM [accesex_facturi_clienti]
WHERE _pl_411 = @pl_client AND _id_411 = @id_client AND validare = 1 AND anulare = 0 AND sold != 0 AND data_lim < GETDATE()
ORDER BY data_lim ASC