Vai al contenuto

Interfacce di scambio dati (Ocmis)

Panoramica

Questa pagina descrive l'architettura di cooperazione fra i software coinvolti nella verticalizzazione Ocmis e le interfacce di scambio dati fra di essi. I sistemi principali sono:

  • Ocmis — ambiente cliente che ospita la VM di integrazione
  • Irriverso (IPD) — piattaforma Eurosystem di Irrigation Data Server
  • SAP — ERP cliente
  • PLM — Product Lifecycle Management cliente
  • CE (Component Engine) — motore di configurazione prodotto

Architettura di cooperazione

Virtual machine di integrazione

All'interno di Ocmis e' stata predisposta una VM denominata E2k-p-csv-01.ocmis.priv che fa da ponte fra i sistemi. Il nome e' vincolato da una convenzione di naming imposta da Ocmis: una sua modifica richiederebbe l'aggiornamento del record DNS interno.

Caratteristica Valore
Hostname E2k-p-csv-01.ocmis.priv
CPU 2 vCPU
RAM 4 GB
Disco 80 GB HDD
Sistema operativo AlmaLinux 9.x (LTS)
Utente di servizio service
VPN obbligatoria Watchguard

La scelta di AlmaLinux deriva dalla necessita' di una distribuzione LTS, configurazione predefinita supportata dall'ambiente Ocmis. La policy aziendale prevede l'applicazione delle nuove minor release non appena disponibili.

Connettivita' della VM

La VM e' configurata per:

  1. Connettersi al server SAP e consumare le API REST pubbliche (HTTP 80 e HTTPS 443).
  2. Collegarsi al web service del PLM (HTTPS 443).

Ingressi abilitati

Porta Sorgente Scopo
SSH Solo IP aziendale via VPN Watchguard Amministrazione

Nessun'altra connessione in ingresso e' ammessa.

Uscite abilitate

Porta Destinazione Scopo
80/443 TCP Qualsiasi Traffico HTTP/HTTPS verso SAP e PLM
10051 TCP zabbix01.es2000.it Monitoraggio (Zabbix Agent attivo)
1516 TCP syslog01.es2000.it Invio log di sistema

Interfaccia CE - Irriverso

Interfaccia fra Component Engine e Irriverso, con SAP come fonte dati primaria per alcuni flussi.

Nome IF Direzione Endpoint Driver
Clienti SAP -> Irriverso POST /v1/interlocutore cliente, destinazione, contatto
Sconti SAP -> Irriverso (da definire) (da definire)

Endpoint di riferimento:

  • API Irriverso: https://api-alpha.irrigation-dataserver.com
  • API SAP: /sap/opu/odata/SAP/API_BUSINESS_PARTNER

Task ClickUp collegati (riservati):

  • TASK-103, TASK-104 (Clienti)
  • TASK-270 (Sconti)

Interfaccia PLM - Irriverso

Interfaccia fra il sistema PLM del cliente e Irriverso. I flussi sono in fase di definizione.

Nome IF Direzione Endpoint Driver
(da definire)

Interfaccia SAP - Irriverso

Interfaccia diretta fra SAP e Irriverso, distinta da quella mediata tramite CE. I flussi sono in fase di definizione.

Nome IF Direzione Endpoint Driver
(da definire)

Acquisizione condizioni prezzi/sconti

Nota (24/11/2025): dopo confronto con CE, questa interfaccia non e' piu' necessaria. La sezione e' conservata a scopo di tracciabilita'.

La logica di acquisizione di prezzi e sconti da SAP e' fortemente condizionata dalla struttura della API SAP. Poiche' lo scopo dell'acquisizione era il semplice passaggio a Component Engine, si era optato per acquisire le informazioni in una struttura dati speculare a quella SAP, tramite due tabelle su Irriverso:

Tabella Contenuto
pricing_sap_testata Valori (prezzo, sconto, ecc.)
pricing_sap_condizioni Attributi e periodi di validita' associati al valore

Un singolo valore (es. "Sconto 10%") poteva essere associato ad un insieme eterogeneo di condizioni non necessariamente correlate tra loro.

Nome IF Direzione Endpoint
Sconti SAP -> Irriverso POST /v1/

Endpoint di riferimento:

  • API Irriverso: https://api-alpha.irrigation-dataserver.com
  • API SAP: /sap/opu/odata/SAP/API_BUSINESS_PARTNER

Stati ordine SAP -> IPD

Su IPD (Irriverso) sono presenti alcune tabelle che contengono gli ordini mostrati nell'apposita schermata di consultazione:

Tabella Stato
ordini_tes_erp In uso
ordini_det_erp In uso
ordini_all_erp Non ancora popolata

E' prevista la realizzazione di un nuovo driver di connessione fra le interfacce SAP e l'API di acquisizione ordini; questa interfaccia sostituira' quella attualmente presente, che riceve gli ordini con stato da BMS.

Descrizione interfaccia

Nome IF Direzione Endpoint
Sconti SAP -> Irriverso POST /v1/

Endpoint di riferimento:

  • API Irriverso: https://api-alpha.irrigation-dataserver.com
  • API SAP: /sap/opu/odata/SAP/API_BUSINESS_PARTNER

Mappatura campi SAP -> Irriverso

Relazione fra i campi dell'interfaccia SAP e quelli da acquisire sulla API Irriverso.

Testata

Campo SAP Campo Irriverso
(da definire) Codice ordine
Cliente codice_cliente
Data documento OCMIS data_ordine
Data creazione (VBAK-ERDAT) Ignorata
Riferimento cliente (VBKD-BSTKD) num_documento
Data rif. cliente (VBKD-BSTDK) data_doc_cliente (nuovo campo)
Riferimento interno / numero ticket (QMEL-...) rif_interno

Elementi di riga

Campo SAP Campo Irriverso
Posizione dell'ordine di vendita (VBAP-POSNR) righe.riga
Data consegna concordata di posizione (VBEP-EDATU) righe.data_prevista_cons
(da definire) righe.merce.codice
(da definire) righe.merce.descrizione
Quantita' posizione (VBAP-KWMENG) righe.qta
Unita' di misura (VBAP-VRKME) righe.merce.unita_misura
Stato della posizione ordine di vendita (custom ZSTAT) righe.stato
righe.data_prevista_prod (da rimuovere)
righe.data_prevista_sped (da rimuovere)

Stima: 20 ore.


Note tecniche interne

Logica di ricerca

SAP non fornisce una data di aggiornamento su questa interfaccia. Per ottimizzare il giro di ricerca si considerera':

  • Tutti gli ordini con data >= 6 mesi rispetto alla data odierna.
  • Tutti gli ordini recuperati dall'API che hanno almeno una riga con stato diverso da "fatturato" e "annullato", anche con data < 6 mesi dalla data odierna: questi devono essere nuovamente acquisiti.
  • Tutte le righe ordine vanno acquisite ex-novo (valutare se puo' essere migliorata l'API nel metodo POST /v1/ordine/codice_ordine/riga).

Modifiche previste su Irriverso

  • Nascondere i campi non piu' previsti (es. data_prevista_prod, data_prevista_sped).
  • Aggiungere descrizioni per i nuovi stati ordine previsti.