> For the complete documentation index, see [llms.txt](https://help.besmart.software/erpc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.besmart.software/erpc/cz-erp-connector/datove-rozhrani-referencni-manual/export-dat-z-vaultu/cteni-dat-z-datoveho-rozhrani/ukazka-pracovniho-postupu.md).

# Ukázka pracovního postupu

zde je základní ukázka, jak zpracovat data a nahlásit zpracování zpět do datového rozhraní:

```plsql
-- proměnná pro uložení hromadného ID, které váš systém právě zpracovává DECLARE
 @BulkId INT = -1;
 
-- proměnná pro uložení EcENTITY.id nejvyšší entity v rámci aktuálního hromadného ID 
DECLARE @EntId BIGINT = -1;

-- získáte další čekající hromadné ID (data čekající na zpracování systémem):
SET @BulkId = (SELECT TOP 1 bulk_id FROM EcENTITY WHERE comm_dir=0 AND comm_status=0 ORDER BY id)

-- update comm_status - hromadné zpracování bylo zahájeno
UPDATE EcENTITY SET comm_status = 1, processed1=GETDATE() WHERE bulk_id = @BulkId

-- získáte horní entitu hromadné struktury
SET @EntId = (SELECT TOP 1 id FROM EcENTITY WHERE bulk_id=@BulkId AND EcENTITY. id NOT IN (SELECT
EcASSOC. ent_id_child FROM EcASSOC))

-- získejte seznam asociací pro nejvyšší entitu - asociace první úrovně SELECT * 
FROM EcASSOC WHERE ent_id_parent=@EntId;
-- získejte seznam odkazů pro nejvyšší entitu SELECT * 
FROM EcLINK WHERE ent_id=@EntId;
-- získá seznam podřízených entit v první úrovni
SELECT * FROM EcENTITY WHERE EcENTITY. id IN (SELECT ent_id_child FROM EcASSOC WHERE
ent_id_parent=@EntId);

-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-- zapisovat data do systému
-- XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
-- nahlásit, že váš systém úspěšně zpracoval hromadné zásilky.

UPDATE EcENTITY SET comm_status = 7, processed2=GETDATE() WHERE bulk_id = @BulkId

-- nebo nahlásit chybu
INSERT INTO EcLOG (ent_id, level, message) VALUES (@EntId, 1, 'unknown Unit of Measure') 
UPDATE EcENTITY SET comm_status = 9, processed2=GETDATE() WHERE bulk_id = @BulkId
```

#### Další vzorky

```sql
//výběr všech entit v rámci hromadného výběru - sloupec bulk_top (BIT) je přidán k identifikaci nejvyšší entity v
 hromadném výběru.
SELECT CAST(CASE WHEN EXISTS(SELECT * FROM EcASSOC WHERE EcENTITY. id=EcASSOC. ent_id_child) THEN 0
ELSE 1 END AS BIT) AS bulk_top, * FROM EcENTITY WHERE bulk_id=@BulkId ORDER BY id DESC

//všechny záznamy asociace EcASSOC spojené s atributy podřízené entity (všechny hromadné asociace)
SELECT EcENTITY.*, EcASSOC.* FROM EcASSOC LEFT JOIN EcENTITY ON EcASSOC. ent_id_child=EcENTITY. id
WHERE (EcENTITY.bulk_id=@BulkId)
```

{% hint style="warning" %} <mark style="color:orange;">**Varování**</mark>

nikdy neaktualizujte (neměňte) hodnotu EcENTITY.comm\_dir v hromadném souboru ! celý hromadný soubor musí mít jedinou hodnotu EcENTITY.comm\_dir !
{% endhint %}
