L19.4 - Gestione eCOMMERCE
4.1 - Configurazione dei parametri e Attività Propedeutiche
4.1.1 - Tabella Procedurale ECO: Parametri eCOMMERCE |
|
|||||||
Percorso: BE0 \ 1.1 Parametri base \ 7 Tabelle procedurali
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 |
|
|||||||
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:
- 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:
- MySQL
- SQL Server
- 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 |
|
|||||||
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 |
|
||||||||
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 |
|
||||||||
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 |
|
||||||||
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 |
|
||||||||
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:
- `AZIO_TABE`: Indica l'azione di tipo DML da eseguire sul database del portale web.
- `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:
|
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:
|
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:
|
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:
|
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 |