Passa al contenuto principale

L19.4 - Gestione eCOMMERCE


4.1 - Configurazione dei parametri e Attività Propedeutiche

4.1.1 - Tabella Procedurale ECO: Parametri eCOMMERCE

EE0 1.1 7

Percorso: BE0 \ 1.1 Parametri base \ 7 Tabelle procedurali

image.png

La tabella procedurale ECO deve essere preventivamente censita e valorizzata per ogni Ditta per definire le direttive fondamentali di interscambio e le specifiche di connessione verso le piattaforme esterne. All'interno di questa tabella sono configurabili i seguenti campi:

  • Codice Portale: Identifica il codice del Portale dedicato all'eCOMMERCE. Il Portale deve essere preventivamente codificato all'interno della Tabella procedurale `PRT - Portale`.
  • Upload flussi: Check-box da attivare per abilitare il caricamento automatico dei flussi generati direttamente sul server web dedicato all'eCOMMERCE.
  • Nome flussi: Questo indicatore determina la codifica e la nomenclatura dei file generati per l'Export flussi. Può assumere i seguenti valori:
  • `0` = Nome file strutturato come `<data>+<nometavola>` (Formato: `AAMMDDHHMMSS<nometavola>.csv`).
  • `1` = Nome file strutturato come solo `<nometavola>.csv`.
  • Nota di controllo bloccante: Se l'indicatore è impostato sul valore `1`, si attiva un controllo automatico di sicurezza per il quale la procedura di Export viene eseguita **solo se** le cartelle di interscambio del server locale e le cartelle di interscambio del portale web risultano completamente vuote.
  • Genera zip: Indicatore booleano per stabilire se i flussi generati debbano essere compressi in un unico archivio in formato `.zip` prima della trasmissione.
  • Download flussi: Check-box per indicare al sistema se effettuare il download dei flussi dal portale web per le successive attività di importazione dati (es. Ordini).
  • Formato Export: Questo campo determina la tecnologia di output dei flussi di sincronizzazione ed è strettamente legato all'architettura del database di destinazione. Può assumere i seguenti valori numerici:

`0` – File (Formato standard CSV/XML salvato in locale o su server FTP).

`1` – Database MySQL.

`2` – Database SQL Server.

`3` – Database Oracle.

  • Gruppo DB: Campo alfanumerico in cui inserire il gruppo identificativo del database esterno a cui connettersi. L'inserimento è modificabile ed è **obbligatorio se e solo se** il campo *Formato Export* è stato impostato su un valore diverso da `0` (quindi `1`, `2` o `3`).
  • Gestione Storico e Nr. Gg.: Flag attivabile dall'utente che abilita un campo numerico aggiuntivo. Consente di definire il numero esatto di giorni di dati storici da conservare e mantenere all'interno del database durante le operazioni di export flussi.
  • Export per Fascia oraria: Flag che permette di decidere se limitare e pianificare l'esecuzione dell'export dei dati esclusivamente all'interno di determinati intervalli orari giornalieri.
  • Fascia 1 e Fascia 2: Campi in cui l'utente digita gli orari limite (Inizio/Fine) per l'esecuzione dei processi.

Nota di attenzione: Le fasce orarie sono sempre digitabili a terminale, ma verranno elaborate e considerate dall'applicativo "se e solo se" l'utente ha preventivamente selezionato e attivato il flag *Export per Fascia oraria*.

4.1.2 - Manutenzione XRTB

EE0 1.20 3

La tabella tecnica di manutenzione **XRTB** sovrintende ai criteri di sincronizzazione delle singole tavole dati del gestionale. Per abilitare il corretto funzionamento dell'eCOMMERCE è necessario impostare i seguenti campi di controllo:

  • Ditta sincronizzazione: Indica il codice della Ditta per la quale eseguire i processi di allineamento. È un parametro obbligatorio: in sua assenza il sistema blocca qualsiasi tentativo di sincronizzazione.
  • Sincronizzazione WEB: Indicatore numerico fondamentale per l'attivazione della sincronizzazione verso il portale eCOMMERCE. Determina il comportamento del motore di sincronizzazione:
  • Valore `1` = Configura la sincronizzazione incrementale standard. Vengono intercettate ed esportate unicamente le singole righe della tavola che hanno subito inserimenti, modifiche o cancellazioni dall'ultimo invio.
  • Valore `9` (*Refresh ever*) = Forza il sistema ad eseguire sempre un refresh completo e totale della tavola ad ogni ciclo, anche durante le sessioni di sincronizzazione ordinaria.
  • Sincronizzazione TEST: Indicatore per attivare le routine di sincronizzazione e disallineamento in ambiente di Test.
4.1.2.1 - Classificazione delle tavole in base agli indicatori XRTB

A seconda delle esigenze operative, le tavole di eSIGEA si dividono nei due macro-gruppi gestiti dalla manutenzione:

  1. Tavole interessate dalla Sincronizzazione WEB (eCOMMERCE core):
AAT2 Condizioni di pagamento

AAT7

Porti
AATC Categoria Clienti

AATM

Voci Complementari (Tariffario Spese di Trasporto)
AAT5 Gruppi/Sottogruppi Articoli
AETF Classificazione Articoli (ECR)

AETA

ECR - Reparti
AETB ECR - Settori
AETC ECR - Famiglie
AETD ECR - Sub-famiglie
AETE ECR - Gruppi

ASCP

Tabella Sconti
AACC Anagrafica Clienti
AAMG Anagrafica Articoli di Magazzino
ACMG Contabile Articoli di Magazzino (Generale o del Deposito specifico indicato nel file `.fio`)
AABR Anagrafica Codici EAN Articoli

AALV

Listino Prezzi Articoli
MCPB Relazioni Campagne promozionali/Clienti (Promozioni/Volantini: Beneficiari)
MCPP Relazioni Campagne promozionali/Articoli (Promozioni/Volantini: Articoli)

2. Tavole abilitate per la Sincronizzazione TEST:

ABTF

Filiali
AATD Depositi

ATBL

Tabelle procedurali
AACC Anagrafica Conti Clienti
AACF Anagrafica Conti Fornitori

AACG

Anagrafica Conti Generali
ARCC Relazione Rapporti Contabili
AATG Conti Standard
ATO Agenti

AATQ

Zone
AAT4 Centri di Costo/Ricavo
AAMG Anagrafica Articoli di Magazzino
AAME Dati aggiuntivi Articoli
AAT5 Gruppi/Sottogruppi

ABTL

Brand e Sub-brand
AETF Classificazione Articoli (ECR)
AETA ECR - Reparti
AETB ECR - Settori
AETC ECR - Famiglie
AETD ECR - Sub-famiglie
AETE ECR - Gruppi

4.2 - Architettura di interscambio dati e modalità di integrazione

eSIGEA supporta due differenti architetture tecniche di integrazione con il portale eCOMMERCE, configurabili a livello di Ditta tramite la tabella procedurale ECO.

La modalità operativa è determinata dal parametro Formato Export, che definisce il meccanismo fisico di trasporto, sincronizzazione e acquisizione dei dati tra il gestionale e la piattaforma esterna.

Valore

Modalità

Tecnologia

0

Interscambio tramite File

File CSV/XML su cartelle di spool o portale web

1

Database MySQL

Connessione diretta DB

2

Database SQL Server

Connessione diretta DB

3

Database Oracle

Connessione diretta DB

Le due architetture condividono le medesime logiche funzionali di sincronizzazione delle tavole gestionali, ma differiscono completamente nella modalità tecnica di scambio dati.


4.2.1 - Interscambio tramite File (CSV/XML)

La modalità File rappresenta il modello standard di integrazione basato sulla generazione e acquisizione di flussi fisici memorizzati nelle cartelle di interscambio del server eSIGEA o trasferiti da/verso il portale web.

Questa architettura viene attivata impostando:

Formato Export = 0 (File)

Principio di funzionamento

L'integrazione avviene attraverso due processi distinti:

Export dati verso il portale

eSIGEA genera file in formato CSV, contenenti le tavole anagrafiche e commerciali abilitate alla sincronizzazione WEB tramite configurazione XRTB.

I file vengono inizialmente prodotti nella cartella temporanea:

SPOOL/EXCH/<codiceditta>/WEB0/EXP/TMP

e successivamente trasferiti nella cartella di elaborazione:

SPOOL/EXCH/<codiceditta>/WEB0/EXP/ELA

Qualora nella tabella ECO sia attivo il parametro Upload flussi, i file vengono automaticamente pubblicati sul server del portale web e rimossi dalle directory locali dopo il completamento del trasferimento.

La nomenclatura dei file è governata dal parametro Nome flussi:

  • 0 → AAAAMMGGHHMMSS<nometavola>.csv
  • 1 → <nometavola>.csv

Import dati dal portale

L'acquisizione dei dati provenienti dall'eCOMMERCE avviene mediante lettura di file strutturati, normalmente in formato XML.

La principale implementazione standard riguarda l'importazione degli Ordini Clienti Web, tramite file XML depositati nella directory:

SPOOL/EXCH/<codiceditta>/WEB0/IMP/ORDC/ELA

In alternativa, qualora configurato il parametro Download flussi nella tabella ECO, il sistema può eseguire automaticamente il recupero dei file dal portale remoto.

Regole di mapping e trasformazione

Nella modalità file, la struttura dei tracciati non è determinata dal database, ma da specifici file di configurazione tecnica.

Per il corretto funzionamento dell’interscambio devono essere presenti nella directory:

$PROCLIB/fio

i seguenti file:

Export CSV

WEB0_EXPO_<nometavola>.fio

Tali file definiscono:

  • mapping dei campi esportati;
  • regole di estrazione;
  • attributi di filtro;
  • parametri specifici di tavola.

Esempi:

ACMG
richiede l'attributo:

code-depo

per determinare il deposito utilizzato nel calcolo delle giacenze esportate.

AABR
può utilizzare:

tipc--ean

per filtrare la tipologia di codici EAN da esportare.

Import XML Ordini

WEB0_IMPO_ORDC.fio

WEB0_IMPO_ORDC.xsl

Il file .fio governa la mappatura tecnica dei campi, mentre il foglio di stile .xsl esegue:

  • trasformazione del tracciato XML;
  • normalizzazione dei dati;
  • validazione formale del file;
  • conversione verso il formato interno eSIGEA.

Nel file .fio è inoltre possibile valorizzare il parametro:

CODE_DEPO

per forzare il deposito di intestazione dell’ordine cliente generato.


4.2.2 - Interscambio tramite Database di Frontiera

La modalità Database di Frontiera realizza una sincronizzazione diretta tra eSIGEA e il database del portale eCOMMERCE, eliminando la necessità di generare file intermedi di interscambio.

L’integrazione viene attivata impostando il parametro:

Formato Export = 1, 2 oppure 3

in funzione del motore database utilizzato dal cliente:

  • 1 = MySQL
  • 2 = SQL Server
  • 3 = Oracle

In tale scenario il campo Gruppo DB della tabella ECO diventa obbligatorio e identifica la connessione tecnica verso il database remoto.

Principio di funzionamento

In questa architettura:

  • non vengono generati file CSV di interscambio;
  • non vengono utilizzate cartelle spool per la sincronizzazione dati;
  • il trasferimento delle informazioni avviene tramite connessione diretta al database remoto.

Il motore di sincronizzazione aggiorna esclusivamente le tavole abilitate nella manutenzione XRTB, filtrando i record con:

Sincronizzazione WEB > 0

La logica di export rimane invariata:

  • sincronizzazione incrementale standard (1);
  • refresh completo (9 - Refresh ever).

Inizializzazione del database di frontiera

Prima dell’attivazione della sincronizzazione è necessario creare la struttura fisica del database remoto.

A tale scopo deve essere utilizzata la funzione:

B31 (3109) → 2.23 eCommerce → 10 Manutenzione e assestamento → 1 Agg.to DB frontiera

La procedura esegue i seguenti passaggi:

1. Verifica parametri ECO

Il sistema controlla la presenza della tabella procedurale ECO.

Se assente:

"Parametri eCOMMERCE non presenti"

la procedura viene bloccata.

Se il parametro Formato Export risulta uguale a 0 (File), l’elaborazione viene ugualmente interrotta poiché la funzione è disponibile esclusivamente in modalità database.

2. Apertura connessione DB

La procedura utilizza le credenziali definite nel Gruppo DB per collegarsi al database remoto.

3. Analisi tavole sincronizzabili

Il sistema legge la manutenzione XRTB ed individua le sole tavole aventi:

Sincronizzazione WEB > 0

4. Generazione struttura fisica

Alla conferma dell’utente vengono eseguiti automaticamente gli script SQL di creazione tabelle, memorizzati nella directory:

../H02/comn

L’esito viene rappresentato graficamente:

  • Verde → tabella creata correttamente;
  • Rosso/Giallo → errore o tabella già presente.

Eccezioni tecniche automatiche

Generazione automatica MPMG

La creazione della tabella:

MMMG

produce automaticamente anche la generazione della tabella logistica:

MPMG

Creazione tabella SEMAFORO

Contestualmente all’inizializzazione del database di frontiera, il sistema genera automaticamente la tabella tecnica:

SEMAFORO

utilizzata per il controllo anticoncorrenziale dei processi di sincronizzazione.

4.3 - Gestione dei flussi ed esecuzione delle fasi operative

La trasmissione e la ricezione dei dati tra eSIGEA e il portale eCOMMERCE possono avvenire secondo due differenti modalità tecniche:

  • tramite file (CSV/XML), utilizzando cartelle di interscambio;
  • tramite database di frontiera, utilizzando connessione diretta al DB remoto.

Le procedure operative descritte nei paragrafi successivi si applicano in funzione della modalità di integrazione configurata nella tabella ECO.

4.3.1 - Scambio Dati e Logica dei Semafori Anticoncorrenziali

Per impedire fenomeni distruttivi di sovrascrittura dei dati, conflitti di accesso alla rete o letture parziali delle righe durante le fasi di aggiornamento, l'architettura tecnica prevede un blocco a semaforo gestito tramite l'omonima tabella `"SEMAFORO"` creata sul database di frontiera.

Algoritmo di Controllo del Semaforo nell'Export

[Avvio Procedura Export]

         

         

[Verifica Stato Tabella SEMAFORO]

         

          ── Se Stato = "ACCESO" (In corso) ── [Blocco Procedura] ── Notifica Errore a Terminale

         

          └── Se Stato = "SPENTO" (Libero)

                     

                     

               [Accensione Semaforo]

                     

                     

          [Esecuzione Export Tabelle]

         (Sincronizzazione Web > 0)

                     

                     

               [Scrittura Dati]

                     

                     

               [Spegnimento Semaforo]

                     

                     

               [Fine Processo]

4.3.1.1 Funzioni di Forzatura per l'Assistenza Tecnica

In caso di arresti anomali del server, cadute di connessione o necessità di sblocco manuale da parte dell'assistenza tecnica, sono state predisposte due voci di menù dedicate al ripristino forzato degli stati interni del semaforo sul database:

* Percorso: `B31 (3109)\2.23 eCommerce\10 Manutenzione e assestamento\2 Ripristina stato "ESPORTARE"`

* Percorso: `B31 (3109)\2.23 eCommerce\10 Manutenzione e assestamento\3 Ripristina stato "AGGIORNARE"`

4.3.2 - Procedura di Export Files

E29 2.23 1

Percorso di menù: E29 \ 2.23 \ 1

La funzione genera i flussi estratti dalle tavole gestionali per allineare il Portale Web. Prevede due modalità esecutive distinte richiamabili da menù:

1. **Export Ordinario:** Esporta selettivamente solo le righe inserite, modificate o rimosse, a meno che sulla Manutenzione XRTB non sia impostato il valore `9` (*refresh ever*) su una specifica tavola, inducendo l'esportazione totale della stessa.

2. **Prima installazione / Refresh:** Forza l'estrazione e l'esportazione integrale e massiva di tutte le tabelle censite con indicatore maggiore di zero.

4.3.2.1 Regole di Mappatura tramite file di configurazione (.fio)

Per la corretta formattazione e mappatura delle colonne, la procedura richiede il caricamento nella cartella di sistema `$PROCLIB/fio` di file di configurazione dedicati per ciascuna tavola, rinominati tassativamente secondo la regola: `WEB0_EXPO_<nometavola>.fio`.

All'interno di questi file `.fio` devono essere valorizzati alcuni attributi strutturali specifici per le seguenti tavole:

  • Tavola `ACMG` (Contabile Articoli): Deve obbligatoriamente contenere l'attributo `code-depo` per specificare al motore di estrazione il codice del Deposito da cui attingere per calcolare la giacenza corretta da esportare.
  • Tavola `AABR` (EAN Articoli): Deve contenere l'attributo `tipc--ean` per filtrare la tipologia di codice a barre:
  • Valore `0` = Esporta esclusivamente i codici EAN legati al singolo Prodotto.
  • Valore `1` = Esporta esclusivamente i codici EAN legati alla Confezione.
  • Attributo assente/vuoto = Vengono esportati tutti i codici EAN presenti in anagrafica, senza alcuna distinzione.
  • Tavola `MCPB` (Beneficiari Campagne): Deve contenere l'attributo `rige-ccom` per indicare al sistema se rigenerare completamente le relazioni delle campagne promozionali prima di avviare il processo di export dei record.
4.3.2.2 Denominazione, Percorsi di Spool e Tracciamento Log
  • Nomenclatura: I file assumono la forma `YYYYMMDDHHMMSS<nometavola>.csv` (oppure solo `<nometavola>.csv` in base al parametro *Nome flussi* della tabella ECO). L'identificativo `<nometavola>` deve essere rigorosamente composto da 4 caratteri.
  • Ciclo dei percorsi sul server: I file vengono inizialmente generati nella directory temporanea `SPOOL/EXCH/<codiceditta>/WEB0/EXP/TMP`. Terminata la scrittura del singolo file, questo viene trasferito nella cartella di elaborazione `SPOOL/EXCH/<codiceditta>/WEB0/EXP/ELA`. Se nella tabella ECO è attivo l'Upload flussi, il file viene pubblicato sul portale esterno e successivamente rimosso dalle cartelle locali del server.
  • Tracciabilità: Tutte le sessioni di sincronizzazione vengono registrate nei file log di sistema e sono consultabili liberamente dagli utenti attraverso la funzione aziendale **Inquiry log documentale**, impostando il filtro *Tipo documento* sul valore `WEB0`.

4.3.3 - Procedura di Import Ordini Vendita

E29 2.23 4 1

Percorso di menù: E29 \ 2.23 \ 4 \ 1

Questa funzione automatizza la ricezione e la conversione dei flussi acquisti generati dal portale web in Ordini Clienti standard all'interno di eSIGEA.

4.3.3.1 Requisiti strutturali del file e mappatura d'ingresso
  • Formato e Nome: I file provenienti dal portale web devono essere tassativamente in formato **XML**. La denominazione del file è libera.
  • Directory di Input: I file XML devono essere depositati nella cartella server `SPOOL/EXCH/<codiceditta>/WEB0/IMP/ORDC/ELA` (oppure scaricati direttamente dal portale via connessione se previsto nei parametri ECO).
  • File di Mappatura e Trasformazione: Per elaborare il flusso, l'assistenza deve allocare nella cartella `$PROCLIB/fio` il file di configurazione `WEB0_IMPO_ORDC.fio` e il foglio di stile `WEB0_IMPO_ORDC.xsl`, deputato alla trasformazione e alla validazione formale dei dati del file XML. Nel file `.fio` è possibile impostare l'attributo `code_depo` per forzare l'intestazione dell'ordine a un determinato Deposito aziendale.
4.3.3.2 Tracciato Record Obbligatorio del flusso XML di Import

Il file XML deve presentare una struttura gerarchica divisa in due blocchi informativi, contenenti i seguenti campi:

1. **Dati di Testata dell'Ordine:**

* Codice Cliente (Codifica interna del gestionale eSIGEA)

* Data dell'Ordine

* Numero identificativo dell'Ordine

* Data di Consegna richiesta (*Opzionale*)

* Codice della condizione di pagamento (*Opzionale*)

2. **Dati di Corpo dell'Ordine (Righe ripetitive):**

* Tipo Riga: Campo numerico fisso. Vale `0` per riga Articolo standard; vale `1` per riga addebiti spese di trasporto.

* Codice Articolo (Codifica interna eSIGEA)

* Quantità ordinata

* Prezzo unitario applicato dal portale

* Percentuali di Sconto: Campi opzionali che mappano dallo Sconto 1 allo Sconto 5.

4.3.3.3 Regole di archiviazione esiti e logica di svincolo

Terminata l'elaborazione del file XML, il sistema sposta il file in base all'esito del parsing e della validazione:

  • Esito Positivo (Successo): Il file viene spostato nella cartella storica `SPOOL/EXCH/<codiceditta>/WEB0/IMP/ORDC/SAV`.
  • Esito Negativo (Errore/Scarto): Il file viene isolato nella cartella di revisione `SPOOL/EXCH/<codiceditta>/WEB0/IMP/ORDC/REV`.
  • Stato di Evadibilità dell'Ordine: Una volta inseriti a sistema, gli ordini possono essere marcati direttamente come "Evadibili" o bloccati in uno stato sospeso da sottoporre a *Check Ordini*. Il comportamento è regolato dal parametro **Check Evadibilità** configurato a livello di ditta in eSIGEA.


4.3.4 - Export Ordinario - Aggiornamento frequente

EE0 1.20 20 21

Schedulazione: EE0 \ 1.20 \ 20 \ 21

Questa variante della procedura di export è attivabile **esclusivamente** tramite lo schedulatore dei processi batch in background. Consente di estrarre un sottoinsieme di tavole critiche con una frequenza temporale molto più ravvicinata (es. allineamento giacenze ogni ora) rispetto al ciclo di export ordinario globale.

Configurazione: All'interno dei parametri della stringa di comando dello schedulatore, il tecnico deve valorizzare il campo **Stringa 1** inserendo i codici delle sole tavole da sottoporre ad aggiornamento frequente, separandoli rigidamente con il carattere punto e virgola `;` (Esempio: `ACMG;AABR`).

4.3.5 - Funzione Pubblica files

E29 2.23 10 1

Percorso: E29 \ 2.23 \ 10 \ 1

Consente all'operatore di forzare manualmente la trasmissione verso il portale web dei file CSV di export precedentemente generati e rimasti parcheggiati sul server. Questa opzione è adoperata come soluzione di ripiego in caso di guasti temporanei della rete durante l'export automatico.

Condizione vincolante: La funzione esegue l'invio **solo se** verifica che la cartella remota di interscambio del portale WEB risulta completamente vuota.

4.3.6 - Funzione Inquiry Ordini Importati

E29 2.23 6 1

Percorso: E29 \ 2.23 \ 6 \ 1

Interfaccia grafica di consultazione a video di tutti gli ordini elettronici transitati dal portale eCOMMERCE verso i registri interni di eSIGEA. La maschera mette a disposizione dell'utente una serie di filtri di ricerca:

  • Conto Cliente (Digitando l'intero codice, inserendo solo il Mastro di riferimento per un'estrazione cumulativa, o lasciando a zero per includere tutti i conti).
  • Deposito di destinazione.
  • Stato dell'Ordine.
  • Giro logistico.
  • Categoria Clienti / Zona Clienti / Agente commerciale / Spedizioniere.
  • Data Ordine (Filtro da data... a data) / Numero Ordine (Da numero... a numero) / Data Consegna (Da data... a data).
  • Filtro Condizioni Commerciali: Flag specifico che, se attivato, isola e mostra a video esclusivamente gli ordini importati che presentano discrepanze o anomalie tra i prezzi/sconti applicati dal portale web e le condizioni economiche ufficiali censite nel gestionale alla data dell'ordine.
  • Ordinamento: Indicatore per scegliere il criterio di ordinamento e visualizzazione delle righe nella griglia a video.

4.4 - Specifiche tecniche e sintassi dei flussi export

4.4.1 - Standard Formattazione File CSV

I file estratti da eSIGEA e inviati verso il database o le cartelle di frontiera rispettano le seguenti specifiche sintattiche di formattazione:

  • Delimitatore di colonna: Carattere `Tab` (Tabulazione hardware).
  • Separatore dei decimali: Tassativamente il carattere **virgola ( , )**.
  • Separatore delle migliaia: Non utilizzato (i numeri vengono esportati come stringa continua).
  • Campi fissi di testa per riga: Ogni riga di qualsiasi file CSV esportato deve aprirsi obbligatoriamente con due colonne fisse:
  1. `AZIO_TABE`: Indica l'azione di tipo DML da eseguire sul database del portale web.
  2. `TABL_ID`: Contiene il codice numerico univoco progressivo (ID) della riga della tabella.

Tabella di decodifica del campo AZIO_TABE

 Valore 

 Azione 

 5 

 Inserimento/Modifica riga nella tavola 

 8 

 Cancellazione riga della tavola 

 80 

 Svuotamento completo della tavola (in caso di refresh tavole) 

4.4.2 - Struttura Dettagliata dei Tracciati Record delle Tabelle Esportate

I formati dei campi seguono la legenda: `N` = Numerico intero, `ND` = Numerico decimale (es. `N8D6` indica 8 cifre intere e 6 decimali), `X` = Alfanumerico/Stringa.

4.4.2.1 - TAVOLA `AAT2`: Tabella Condizioni di pagamento

Raccoglie i codici di pagamento. Si relaziona alla tabella clienti `AACC` tramite la colonna comune `CODE_PAGA`.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione tabella 

 N2 

 TABL_ID 

 ID tabella 

 N12 

 CODE_PAGA 

 Codice Pagamento 

 N5 

 DESC_PAGA 

 Descrizione Pagamento 

 X50 

4.4.2.2 - TAVOLA `AAT7`: Tabella Porti

Contiene la codifica dei porti di resa merci. Si relaziona alla tabella clienti `AACC` tramite la colonna comune `CODE_PORT`.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione tabella 

 N2 

 TABL_ID 

 ID tabella 

 N12 

 CODE_PORT 

 Codice Porto 

 N5 

 DESC_PORT 

 Descrizione Porto 

 X50 

4.4.2.3 - TAVOLA `AATC`: Tabella Categoria Clienti

Fornisce la segmentazione commerciale dei clienti. Si relaziona alla tabella `AACC` tramite la colonna `CODE_CATG`.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione tabella 

 N2 

 TABL_ID 

 ID tabella 

 N12 

 CODE_CATG 

 Codice Categoria 

 N5 

 DESC_CATG 

 Descrizione Categoria 

 X50 

4.4.2.4 - TAVOLA `AAT5`: Tabella Gruppi/Sottogruppi Articoli

Definisce l'albero della classificazione merceologica standard degli articoli.

Logica gerarchica di riga: Se il campo `CODE_SGRU` è **uguale a 0**, la riga descrive un Gruppo principale. Se il campo `CODE_SGRU` è **maggiore di 0**, la riga rappresenta un Sottogruppo analitico.

Si relaziona all'Anagrafica Articoli `AAMG` tramite l'accoppiata dei campi `CODE_SETT` e `CODE_SGRU`.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione tabella 

 N2 

 TABL_ID 

 ID tabella 

 N12 

 CODE_SETT 

 Codice Gruppo Articoli 

 N4 

 CODE_SGRU 

 Codice Sottogruppo Articoli 

 N4 

 DESC_CATG 

 Descrizione Gruppo/Sottogruppo Articoli 

 X50 

4.4.2.5 - TAVOLA `AETA`: ECR - Reparti

Contiene la codifica dei Reparti secondo lo standard di classificazione ECR. Si relaziona alle tabelle gerarchiche `AETF` e `AETB` tramite il campo `TABL_ID`.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione tabella 

 N2 

 TABL_ID 

 ID tabella 

 N12 

 CODE_REPR 

 Codice Reparto 

 N2 

 DESC_REPR 

 Descrizione Reparto 

 X50 

4.4.2.6 - TAVOLA `AETB`: ECR - Settori

Rappresenta i Settori ECR. Si collega a monte ad `AETA` tramite il campo `AETA_ID` (corrispondente al `TABL_ID` della tabella `AETA`) e a valle alle Famiglie `AETC` tramite il proprio `TABL_ID`.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CODE_SETT 

 Codice Settore 

 N2 

 DESC_SETT 

 Descrizione Settore 

 X50 

 AETA_ID 

 ID Reparti ECR (AETA). Relazionata a TABL_ID di AETA. 

 N12 

4.4.2.7 - TAVOLA `AETC`: ECR - Famiglie

Identifica le Famiglie ECR. Si collega a monte ad `AETB` tramite il campo `AETB_ID` e a valle alle Sub-famiglie `AETD` tramite il proprio `TABL_ID`.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CODE_FAMI 

 Codice Famiglia 

 N2 

 DESC_FAMI 

 Descrizione Famiglia 

 X50 

 AETB_ID 

 ID Settori ECR (AETB). Relazionata a TABL_ID di AETB. 

 N12 

4.4.2.8 - TAVOLA `AETD`: ECR - Sub-famiglie

Identifica le Sub-famiglie ECR. Si collega a monte ad `AETC` tramite il campo `AETC_ID` e a valle ai Gruppi ECR `AETE` tramite il proprio `TABL_ID`.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CODE_SUBF 

 Codice Sub-famiglia 

 N2 

 DESC_SUBF 

 Descrizione Sub-famiglia 

 X50 

 AETC_ID 

 ID Famiglie ECR (AETC). Relazionata a TABL_ID di AETC. 

 N12 

4.4.2.9 - TAVOLA `AETE`: ECR - Gruppi

Rappresenta l'ultimo livello di scomposizione della classificazione. Si relaziona a monte alla Sub-famiglia tramite l'attributo `AETD_ID`.

 Colonna 

 Descrizione 

 AZIO_TABE 

 Azione Tabella 

 TABL_ID 

 ID Tabella 

 CODE_GRUP 

 Codice Gruppo 

 DESC_GRUP 

 Descrizione Gruppo 

 AETD_ID 

 ID Sub-famiglie ECR (AETC). Relazionata a TABL_ID di AETD. 

4.4.2.10 - TAVOLA `AETF`: Classificazione Articoli (ECR)

Tavola di sintesi che mappa la stringa ECR completa da associare ai prodotti. Si collega all'Anagrafica Articoli `AAMG` tramite la colonna chiave `CODE__ECR`. Contiene i puntatori diretti a tutta la gerarchia ECR precedentemente descritta.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CODE__ECR 

 Codice ECR 

 N10 

 DESC_GRUP 

 Descrizione ECR 

 X50 

 AETA_ID 

 ID Reparti ECR (AETA). Relazionata a TABL_ID di AETA. 

 N12 

 AETB_ID 

 ID Reparti ECR (AETB). Relazionata a TABL_ID di AETB. 

 N12 

 AETC_ID 

 ID Reparti ECR (AETC). Relazionata a TABL_ID di AETC. 

 N12 

 AETD_ID 

 ID Reparti ECR (AETD). Relazionata a TABL_ID di AETD. 

 N12 

 AETE_ID 

 ID Reparti ECR (AETE). Relazionata a TABL_ID di AETE. 

 N12 

4.4.2.11 - TAVOLA `AATM`: Voci Complementari (Tariffario Spese di Trasporto)

Contiene le matrici numeriche e i parametri adoperati dall'algoritmo di calcolo per determinare le spese di spedizione degli ordini web. Si collega all'Anagrafica Clienti `AACC` tramite il campo `CODE_VOCC`.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CODE_VOCC 

 Codice Tabella Tariffario Trasporto 

 N5 

 DESC_VOCC 

 Descrizione Tariffario Trasporto 

 X50 

 SPES_FISS 

 Importo Costo Trasporto 

 N6D4 

 SPES_PERC 

 % da applicare sul Valore Ordine per calcolo Trasporto 

 N3D2 

 MAXI_SC01 

 1° massimale Valore Ordine per calcolo Trasporto 

 N9D2 

 VALO_SC01 

 1° importo Costo Trasporto in base al massimale 

 N7D5 

 MAXI_SC02 

 2° massimale Valore Ordine per calcolo Trasporto 

 N9D2 

 VALO_SC02 

 2° importo Costo Trasporto in base al massimale 

 N7D5 

 MAXI_SC03 

 3° massimale Valore Ordine per calcolo Trasporto 

 N9D2 

 VALO_SC03 

 3° importo Costo Trasporto in base al massimale 

 N7D5 

 MAXI_SC04 

 4° massimale Valore Ordine per calcolo trasporto 

 N9D2 

 VALO_SC04 

 4° importo Costo Trasporto in base al massimale 

 N7D5 

 MAXI_SC05 

 5° massimale Valore Ordine per calcolo trasporto 

 N9D2 

 VALO_SC05 

 5° importo Costo Trasporto in base al massimale 

 N7D5 

 MAXI_SC06 

 6° massimale Valore Ordine per calcolo trasporto 

 N9D2 

 VALO_SC06 

 6° importo Costo Trasporto in base al massimale 

 N7D5 

 MAXI_SC07 

 7° massimale Valore Ordine per calcolo trasporto 

 N9D2 

 VALO_SC07 

 7° importo Costo Trasporto in base al massimale 

 N7D5 

 MAXI_SC08 

 8° massimale Valore Ordine per calcolo trasporto 

 N9D2 

 VALO_SC08 

 8° importo Costo Trasporto in base al massimale 

 N7D5 

 MAXI_SC09 

 9° massimale Valore Ordine per calcolo trasporto 

 N9D2 

 VALO_SC09 

 9° importo Costo Trasporto in base al massimale 

 N7D5 

4.4.2.12 - TAVOLA `AACC`: Anagrafica Clienti

Raccoglie i record anagrafici, fiscali e le regole di configurazione commerciale per ogni singolo cliente abilitato.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CODE_CONT 

 Codice Conto Cliente 

 N9 

 DESC_CONT 

 Denominazione Cliente 

 X90 

 STAT_RECO 

 Stato del Cliente. Può assumere i seguenti valori: 

  • A = Attivo
  • C = Cessato (in via di estinzione)
  • D = Disattivo

 X1 

 INDR_DOFI 

 Indirizzo domicilio fiscale 

 X90 

 CITT_DOFI 

 Città domicilio fiscale 

 X90 

 CAP__DOFI 

 C.a.p. domicilio fiscale 

 N5 

 PROV_DOFI 

 Sigla Provincia domicilio fiscale 

 X2 

 CODE_FISC 

 Codice fiscale 

 X16 

 PART_IVAC 

 Partita IVA 

 X14 

 LISP_FATT 

 Numero Listino fatturazione (assume valori da 1 a 8) 

 N2 

 LISP_PUBL 

 Numero Listino al pubblico (assume valori da 1 a 8) 

 N2 

 CODE_CATG 

 Codice Categoria Clienti. Relazionata a CODE_CATG di AATC. 

 N5 

 CODE_PAGA 

 Codice Condizione pagamento. Relazionata a CODE_PAGA di AAT2. 

 N5 

 CODE_PORT 

 Codice Porto. Relazionata a CODE_PAGA di AAT7. 

 N5 

 VOCC_TRAS 

 Codice tariffario trasporti. Relazionata a CODE_VOCC di AATM. 

 N5 

 CODE_SCON 

 Codice tabella sconti. Relazionata a CODE_SCON di ASCP. 

 N5 

 PERC_SCON 

 % Sconto da applicare su ciascuna riga dell'Ordine 

 N3D2 

 NOTE_CLIE 

 Annotazione Cliente 

 X30 

 NOTE_AGGV 

 Ulteriore annotazione Cliente 

 X250 

 RSOC_DIVE 

 Ragione sociale diversa destinazione merce 

 X90 

 INDR_DIVE 

 Indirizzo diverso destinazione merce 

 X90 

 CITT_DIVE 

 Città diversa destinazione merce 

 X90 

 CAP__DIVE 

 C.a.p. diverso destinazione merce 

 N5 

 PROV_DIVE 

 Sigla Provincia diversa destinazione merce 

 X2 

 CODE_RCON 

 Codice Rapporto Contabile 

 N9 

 DESC_RCON 

 Ragione sociale Rapporto Contabile 

 X90 

4.4.2.13 - AAMG: Anagrafica Articoli

In questa tavola è presente l'Anagrafica degli Articoli.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CODE_ARTK 

 Codice Articolo 

 X18 

 DESC_ARTK 

 Descrizione Articolo 

 X40 

 STAT_RECO 

 Stato dell'Articolo. Può assumere i seguenti valori: 

  • A = Attivo
  • B = Attivo per rete commerciale
  • D = Disattivo

 X1 

 CODE_SETT 

 Codice Settore. Relazionata a CODE_SETT di AAT5. 

 N5 

 CODE_SGRU 

 Codice Sottogruppo. Relazionata a CODE_SGRU di AAT5. 

 N5 

 CODE__ECR 

 Codice ECR. Relazionata a CODE__ECR di AETF. 

 N10 

 COAR_SOST 

 1° Codice Articolo sostitutivo/alternativo 

 X18 

 COAR_SOS2 

 2° Codice Articolo sostitutivo/alternativo 

 X18 

 COAR_SOS3 

 3° Codice Articolo sostitutivo/alternativo 

 X18 

 DESC_UMIS 

 Unità di misura 

 X2 

 GIOR_VALI 

 Giorni shelf-life 

 N4 

 GIOR_VAL2 

 Giorni di logistica 

 N4 

 PEZZ_CONF 

 Pezzi per confezione 

 N4 

 PESN_UNPZ 

 Peso netto per pezzo, espresso in kg 

 N4D6 

 PESL_UNPZ 

 Peso lordo per pezzo, espresso in kg 

 N4D6 

 VOLM_UNPZ 

 Volume per pezzo, espresso in cm³ 

 N5D3 

 VOLM_UNCO 

 Volume per confezione, espresso in cm³ 

 N5D3 

 NCON_STRA 

 Numero colli per strato 

 N2 

 NUMR_STRA 

 Numero strati per pallet 

 N2 

 IDEN_TRAF 

 Identificativo trafila 

 X4 

 GRUP_SCON 

 Gruppo Sconti. Utile per determinare le % di sconto. 

 N2 

 QESI_ACTL 

 Giacenza dell'Articolo espressa nell'unità di misura. 

 N8D3 

 UMIN_VEND 

 Unità minima di vendita (se 10 o 15 può accettare anche input qtà) 

 N2 

4.4.2.14 - TAVOLA `AABR`: Anagrafica Codici EAN Articoli

Associa i codici a barre ai prodotti. Il campo `DATE_VALI` determina l'inizio della validità temporale del codice.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CODE_ARTK 

 Codice Articolo. Relazionata a CODE_ARTK di AAMG. 

 X18 

 CODE__EAN 

 Codice EAN 

 N14 

 DATE_VALI 

 Data Inizio Validità Codice EAN (nel formato AAAAMMGG) 

 N8 

4.4.2.15 - TAVOLA `AALV`: Listino Prezzi Articoli

Contiene i prezzi monetari lordi. I campi `DATE_INIZ` e `DATE_FINE` circoscrivono il range temporale di validità del listino.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CODE_ARTK 

 Codice Articolo. Relazionata a CODE_ARTK di AAMG 

 X18 

 DATE_INIZ 

 Data inizio validità listino (espressa nel formato AAAAMMGG) 

 N8 

 DATE_FINE 

 Data fine validità listino (espressa nel formato AAAAMMGG) 

 N8 

 PREZ_LIS1 

 1° Prezzo del Listino 

 N8D6 

 PREZ_LIS2 

 2° Prezzo del Listino 

 N8D6 

 PREZ_LIS3 

 3° Prezzo del Listino 

 N8D6 

 PREZ_LIS4 

 4° Prezzo del Listino 

 N8D6 

 PREZ_LIS5 

 5° Prezzo del Listino 

 N8D6 

 PREZ_LIS6 

 6° Prezzo del Listino 

 N8D6 

 PREZ_LIS7 

 7° Prezzo del Listino 

 N8D6 

 PREZ_LIS8 

 8° Prezzo del Listino 

 N8D6 

4.4.2.16 - TAVOLA `ASCP`: Tabella Sconti

Rappresenta la matrice bidimensionale per il calcolo delle catene di sconti. L'accesso avviene incrociando il codice sconto del cliente con il gruppo sconto del prodotto.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CODE_SCON 

 Codice Tabella Sconti 

 N5 

 GRUP_SCON 

 Gruppo Sconti 

 N2 

 PERC_SCO1 

 1° percentuale sconto 

 N3D2 

 PERC_SCO2 

 2° percentuale sconto 

 N3D2 

 PERC_SCO3 

 3° percentuale sconto 

 N3D2 

 PERC_SCO4 

 4° percentuale sconto 

 N3D2 

 PERC_SCO5 

 5° percentuale sconto 

 N3D2 

4.4.2.17 - TAVOLA `MCPB`: Promozioni/Volantini - Beneficiari

Contiene l'anagrafica dei clienti inclusi in contratti promozionali.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CCOM_ID 

 Identificativo campagna promozionale 

 N12 

 TIPO_CCOM 

 Tipologia campagna promozionale. Può assumere i seguenti valori: 

  •  5 = promozione
  •  7 = canvass
  • 10 = volantino
  • 50 = listino dedicato per cliente

 N2 

 CODE_CONT 

 Codice Cliente Beneficiario. Relazionata a CODE_CONT di AACC. 

 N9 

 DATE_SLII 

 Data d'inizio sell-in (nel formato AAAAMMGG) 

 N8 

 DATE_SLIF 

 Data di fine sell-in (nel formato AAAAMMGG) 

 N8 

 DATE_SLOI 

 Data d'inizio sell-out (nel formato AAAAMMGG) 

 N8 

 DATE_SLOF 

 Data di fine sell-out (nel formato AAAAMMGG) 

 N8 

Logica di visualizzazione Banner Volantini sul Portale Web: Per stabilire se attivare e mostrare a schermo il banner grafico dei prodotti in offerta a un determinato utente, l'applicazione web deve interrogare in tempo reale la tavola `MCPB` inserendo come chiavi di ricerca la data corrente dell'ordine (o della consegna) ed il codice del cliente loggato.

Se il cliente viene intercettato in una riga in cui l'attributo `TIPO_CCOM` è uguale al valore `10` (Volantino), la piattaforma estrae i prodotti in offerta associati dalla tabella correlata `MCPP` e visualizza il banner.

Se per quel determinato codice cliente non viene trovata alcuna corrispondenza attiva per la data indicata, la visualizzazione del banner sul portale eCOMMERCE deve rimanere tassativamente **disattivata**.

4.4.2.18 - TAVOLA `MCPP`: Promozioni/Volantini - Articoli

Contiene l'elenco degli articoli in offerta agganciati alle campagne contrattualizzate nella tabella `MCPB`.

 Colonna 

 Descrizione 

 Formato 

 AZIO_TABE 

 Azione Tabella 

 N2 

 TABL_ID 

 ID Tabella 

 N12 

 CCOM_ID 

 Identificativo campagna promozionale 

 N12 

 CODE_ARTK 

 Codice Articolo. Relazionata a CODE_ARTK di AAMG. 

 X18 

 APPL_PRIO 

 Livello priorità 

 N2 

 TIPO_BENF 

 Tipo beneficio. Può assumere i seguenti valori:

  • 1 = Prezzo lordo
  • 2 = Sconto integrativo
  • 3 = Sconto sostitutivo
  • 4 = Prezzo netto

 N2 

 PREZ_CCOM 

 Prezzo. Valido solo in caso di TIPO_BENF uguale a 1 o 4.

 N8D6 

 SCON_CCOM 

 % Sconto. Valido solo in caso di TIPO_BENF uguale a 2 o 3.

 N3D2 

4.5 - Logiche di calcolo delle condizioni commerciali

L'applicazione corretta delle condizioni economiche sul portale eCOMMERCE deve combinare in modo deterministico i dati estratti dalle anagrafiche, dai listini standard e dalle tabelle promozionali attive alla data dell'ordine.

4.5.1 - Algoritmo Sequenziale a Cascata per la Determinazione del Prezzo di Vendita

Il motore di calcolo esegue un controllo rigorosamente sequenziale (a cascata), basato sulla data dell'operazione, incrociando il Codice Cliente ed il Codice Articolo all'interno delle tabelle `MCPB` e `MCPP` per verificare la presenza di benefici di tipo "Prezzo Lordo" (valore `1`) o "Prezzo Netto" (valore `4`). La gerarchia dei controlli segue questo ordine fisso:

[Inizio Calcolo Prezzo]

         

         

[1. Cerca Volantino in MCPB/MCPP (TIPO_CCOM = 10)] ── Trovato ── [Preleva Prezzo da MCPP]

         

       Assente

         

[2. Cerca Promozione in MCPB/MCPP (TIPO_CCOM = 5)] ── Trovato ── [Preleva Prezzo da MCPP]

         

       Assente

         

[3. Cerca Canvass in MCPB/MCPP (TIPO_CCOM = 7)] ─── Trovato ── [Preleva Prezzo da MCPP]

         

       Assente

         

[4. Cerca Listino Dedicato in MCPB/MCPP (TIPO_CCOM = 50)] ─ Trovato ─ [Preleva Prezzo da MCPP]

         

       Assente

         

[5. Applica Listino Standard da AALV]

  ┌────────────────────────────────────────────────────────────────────────┐

  │ 1. Legge il campo LISP_FATT nell'Anagrafica Cliente (AACC).            

  │ 2. Estrae il prezzo dalla colonna di AALV corrispondente all'indice.   

      (Es: Se LISP_FATT = 3 ── Legge AALV.PREZ_LIS3)                      

  │ 3. Valida la corrispondenza temporale con DATE_INIZ e DATE_FINE.       

  └─────────────────────────────────────────────────────────────────────────┘

4.5.2 - Iter di Determinazione delle Percentuali di Sconto di Riga

Il sistema eSIGEA prevede l'applicazione in cascata aritmetica di un numero **massimo di 5 percentuali di sconto** sulla medesima riga d'ordine.

Regola di esclusione totale: Qualora l'algoritmo al punto precedente (Fase 5.1) abbia intercettato una condizione promozionale con beneficio impostato su **"Prezzo Netto"** (`TIPO_BENF` = 4), tutte le percentuali di sconto di riga vengono azzerate e non viene applicato nessuno sconto.

In caso contrario, la catena dei 5 sconti viene valorizzata seguendo la seguente sequenza logica:

1. **Estrazione Sconti Standard Matrice:** Il sistema interroga la tabella sconti `ASCP` estraendo la riga che presenta la combinazione tra il codice sconto del cliente (`AACC.CODE_SCON`) ed il gruppo sconti dell'articolo (`AAMG.GRUP_SCON`). Le percentuali valorizzate si posizionano in sequenza sulle prime colonne di sconto (dallo Sconto 1 a salire).

2. **Iniezione Sconti Promozionali:** Si verifica la presenza in `MCPB` di una Promozione attiva (`TIPO_CCOM` = 5) che contenga un beneficio di tipo Sconto.

* Se il beneficio è un **"Sconto sostitutivo"** (`TIPO_BENF` = 3): La percentuale promozionale `MCPP.SCON_CCOM` cancella e sostituisce interamente tutti gli sconti precedentemente estratti dalla matrice standard.

* Se il beneficio è un **"Sconto integrativo"** (`TIPO_BENF` = 2): La percentuale promozionale si inietta e si posiziona sulla prima colonna di sconto rimasta vuota ed inutilizzata nella catena dei 5 sconti standard.

* *Esempio di integrazione A:* Se la matrice standard occupava solo le prime 2 colonne di sconto, lo sconto promozionale si posiziona come 3° sconto della riga.

* *Esempio di integrazione B (Saturazione):* Nel caso in cui la matrice standard della tabella `ASCP` avesse già occupato tutte e 5 le colonne di sconto disponibili, lo sconto promozionale si somma matematicamente al valore numerico già presente nella quinta colonna di sconto.

3. **Applicazione Sconto Anagrafica Cliente:** Qualora non vi siano promozioni attive sulla riga, l'algoritmo verifica il campo `AACC.PERC_SCON` nell'Anagrafica del Cliente. Se superiore a zero, questa percentuale viene applicata come valore integrativo inserendosi sulla prima colonna di sconto libera della catena o sommandosi al quinto sconto in caso di totale saturazione.

4.5.3 - Calcolo Matematico del Netto Riga

Ottenuti il Prezzo Lordo e la catena delle percentuali di sconto, il calcolo del valore netto di riga si articola in due passi:

1. **Determinazione del Prezzo Netto Unitario:** Si applicano in successione aritmetica le percentuali di sconto determinate sul valore del Prezzo Lordo. Il formato del prezzo netto prevede un massimo di **6 decimali**. Durante i passaggi di calcolo intermedi delle percentuali, il valore risultante **non deve subire alcun arrotondamento** al sesto decimale, bensì viene applicato un **troncamento** netto alla sesta cifra decimale.

2. **Calcolo del Netto di Riga Complessivo:** Si moltiplica il Prezzo Netto Unitario troncato per la Quantità di prodotto inserita nell'ordine. Il valore monetario del Netto Riga finale viene espresso con **2 decimali**, applicando l'**arrotondamento** standard in conformità alle direttive legislative europee.

4.5.4 - Algoritmo per il Calcolo delle Spese di Trasporto

Le spese di spedizione da imputare in riga (Tipo riga = 1) all'interno dell'ordine vengono calcolate estraendo i parametri dal tariffario `AATM` secondo i seguenti passaggi:

1. Il sistema legge il valore contenuto nel campo `AACC.VOCC_TRAS` dall'Anagrafica Cliente per individuare la riga corrispondente nella tabella del tariffario trasporti `AATM`.

2. Se il codice `AACC.VOCC_TRAS` è **maggiore di zero**, l'algoritmo preleva la quota fissa espressa nel campo `AATM.SPES_FISS` e la imposta come base di partenza del costo.

3. Alle spese fisse viene sommata la componente variabile, calcolata applicando l'aliquota percentuale contenuta nel campo `AATM.SPES_PERC` sul valore imponibile complessivo dell'ordine web.

4. Infine, il sistema analizza il valore totale dell'ordine e lo confronta sequenzialmente con gli scaglioni di massimale censiti nei campi da `AATM.MAXI_SC01` a `AATM.MAXI_SC09`. Al superamento di uno scaglione, viene estratto il corrispondente valore di costo inserito nei campi da `AATM.VALO_SC01` a `AATM.VALO_SC09` e sommato al totale delle spese di trasporto dell'ordine.

4.6 - NOTE TECNICHE PER L'ASSISTENZA: TRACCIATO NUOVI CAMPI

A corredo dell'integrazione nativa delle logiche commerciali per i canali B2B e B2C aziendali, all'interno delle tabelle del database di eSIGEA sono stati inseriti i seguenti campi integrativi che devono essere mappati nei flussi.

4.6.1 - Campi Aggiuntivi su Tabella `AACC` (Anagrafica Clienti)

INDR__PEC

Stringa alfanumerica contenente l'indirizzo PEC (Posta Elettronica Certificata) aziendale principale del cliente
UAMM__PEC Indirizzo PEC specifico adibito alle comunicazioni dell'ufficio amministrativo
UFIN__PEC Indirizzo PEC specifico per le comunicazioni dell'ufficio finanza e tesoreria
UCOM__PEC Indirizzo PEC specifico per le comunicazioni dell'ufficio commerciale

CODE__SDI

Codice alfanumerico di 7 caratteri che identifica l'indirizzo telematico univoco (SDI) per l'invio della fatturazione elettronica
TIPG_CONT Campo di classificazione per determinare la tipologia di conto aziendale utilizzato, distinguendo gli account abilitati alla *Fatturazione* dagli account logistici abilitati alla sola *Consegna*
VALR_COLL Campo numerico decimale che definisce il valore minimo in Euro richiesto per ogni singolo collo d'ordine in fase di checkout sul portale

VALM_ORDN

Valore monetario imponibile minimo complessivo richiesto come soglia per permettere al cliente la convalida e l'invio dell'ordine dal web
COLM_ORDN Quantità numerica minima di colli totali obbligatori da inserire all'interno del carrello per validare l'ordine
CLPN_CTRA Valore numerico indicante il costo specifico fisso associato alla gestione del trasporto merci per il cliente
TIPG_CTRA Codice identificativo della regola e della tipologia di applicazione economica del costo di trasporto (es. tariffazione calcolata a singolo collo o a pedana intera)

4.6.2 - Campi Aggiuntivi su Tabella `AAMG` (Anagrafica Articoli)

 

CODE_BRAN

Codice identificativo univoco del Brand/Marchio associato al prodotto
DESC_BRAN Descrizione testuale estesa del Brand/Marchio dell'articolo da esporre sul portale web
DATE_ASSI Campo data indicante il giorno di inizio dell'inserimento dell'articolo nell'assortimento commerciale ordinabile
DATE_SOSI Data di inizio del periodo di sospensione temporanea della visibilità e dell'ordinabilità del prodotto sul portale web

DATE_SOSF

Data di fine del periodo di sospensione temporanea del prodotto sul web
IDEN_TRAF Codice identificativo interno della trafila tecnica associata all'articolo
DESC_TRAF Descrizione estesa e specifiche tecniche della trafila del prodotto
CODE_SSUP Codice identificativo del tipo di supporto logistico o di imballaggio protettivo utilizzato per l'articolo

DATE_LIMI

Data di inizio del periodo entro cui si applicano specifiche restrizioni o limitazioni di vendita sul portale
DATE_LIMF Data di fine del periodo delle limitazioni di vendita
NCOL__MAX Numero massimo di colli ordinabili sul portale per singolo ordine o singolo utente
QUAN__MAX Quantità massima complessiva di unità di prodotto ordinabili dal portale web per singolo utente

FLAG_EXPO

Flag utilizzato per definire se lo specifico articolo è abilitato o meno all'esportazione e alla pubblicazione sulla piattaforma web eCOMMERCE
QSAL_ORDF Quantità residua totale dei saldi d'ordine in corso ancora da ricevere lato Fornitori per l'articolo
QSAL_ORDC Quantità residua totale dei saldi d'ordine in corso ordinati e ancora da evadere lato Clienti

ALTZ_CONF

Misura dell'Altezza fisica della confezione del prodotto espressa in unità di misura logistica
LARG_CONF Misura della Larghezza fisica della confezione del prodotto
PROF_CONF Misura della Profondità fisica della confezione del prodotto
PESO_COLL Peso lordo complessivo del collo d'imballaggio espresso in unità di misura
NCON_USTR Numero di colli totali posizionabili e stivabili per l'ultimo strato superiore del pallet logistico
NCOL_PALL Numero di colli totali necessari per completare un pallet logistico standard del prodotto
VOLM_STRA Volume complessivo espresso in unità logistica occupato da un singolo strato completo di merci sul pallet